<?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>109075</bug_id>
          
          <creation_ts>2013-02-06 11:28:12 -0800</creation_ts>
          <short_desc>Adds failing WebGL Conformance Tests.</short_desc>
          <delta_ts>2013-07-15 18:02:42 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>94643</blocked>
    
    <blocked>109081</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gregg Tavares">gman</reporter>
          <assigned_to name="Gregg Tavares">gman</assigned_to>
          <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>falken</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>kbr</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>826587</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 11:28:12 -0800</bug_when>
    <thetext>Adds failing WebGL Conformance Tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826589</commentid>
    <comment_count>1</comment_count>
      <attachid>186882</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 11:29:05 -0800</bug_when>
    <thetext>Created attachment 186882
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826605</commentid>
    <comment_count>2</comment_count>
      <attachid>186882</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-06 11:39:36 -0800</bug_when>
    <thetext>Comment on attachment 186882
Patch

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

Looks good. A couple of tiny issues in the TestExpectations.

&gt; LayoutTests/platform/chromium/TestExpectations:1476
&gt; +crbug.com/174666 webgl/conformance/context/context-creation-and-destruction.html [ Skip ]

Wrong bug ID on this line.

&gt; LayoutTests/platform/mac/TestExpectations:971
&gt; +# https://bugs.webkit.org/show_bug.cgi?id=?????

Need a bug ID here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826617</commentid>
    <comment_count>3</comment_count>
      <attachid>186889</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 11:53:33 -0800</bug_when>
    <thetext>Created attachment 186889
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826695</commentid>
    <comment_count>4</comment_count>
      <attachid>186889</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-06 13:18:55 -0800</bug_when>
    <thetext>Comment on attachment 186889
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826722</commentid>
    <comment_count>5</comment_count>
      <attachid>186889</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-06 13:44:34 -0800</bug_when>
    <thetext>Comment on attachment 186889
Patch

Attachment 186889 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16400250</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826867</commentid>
    <comment_count>6</comment_count>
      <attachid>186942</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 16:32:40 -0800</bug_when>
    <thetext>Created attachment 186942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826919</commentid>
    <comment_count>7</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-06 17:38:30 -0800</bug_when>
    <thetext>Committed r142058: &lt;http://trac.webkit.org/changeset/142058&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827026</commentid>
    <comment_count>8</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-02-06 20:26:44 -0800</bug_when>
    <thetext>These two tests are timing out:
webgl/conformance/ogles/GL/control_flow/control_flow_001_to_008.html
webgl/conformance/uniforms/uniform-default-values.html

Should we just mark webgl/conformance as Slow?

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=webgl%2Fconformance%2Fogles%2FGL%2Fcontrol_flow%2Fcontrol_flow_001_to_008.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827041</commentid>
    <comment_count>9</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-02-06 21:08:02 -0800</bug_when>
    <thetext>I noticed many other tests in the directory are timing out. I&apos;ll mark it Slow and see if it helps.

However there are also two crashes. I&apos;m not sure if these are expected:

webgl/conformance/more/conformance/quickCheckAPI-A.html
http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.6/builds/5823/steps/webkit_tests/logs/stdio
19:38:51.545 1269 worker/2 webgl/conformance/more/conformance/quickCheckAPI-A.html crashed, (stderr lines):
19:38:51.545 1269   #EOF
19:38:51.545 1269   Received signal 11 SEGV_MAPERR 0000ff00ff04

webgl/conformance/uniforms/gl-uniform-arrays.html
http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20(dbg)/builds/5505/steps/webkit_tests/logs/stdio
crash log for DumpRenderTree (pid 7324):
STDOUT: &lt;empty&gt;
STDERR: [7324:7324:7872596071827:ERROR:gles2_cmd_decoder.cc(5486)] .WebGLRenderingContext: GL ERROR :GL_INVALID_OPERATION : glUniform2fv: wrong uniform function for type
STDERR: [7324:7324:7872596193041:ERROR:gles2_cmd_decoder.cc(5486)] .WebGLRenderingContext: GL ERROR :GL_INVALID_OPERATION : glUniform1fv: wrong uniform function for type
STDERR: [7324:7324:7872596309095:ERROR:gles2_cmd_decoder.cc(5486)] .WebGLRenderingContext: GL ERROR :GL_INVALID_OPERATION : glUniform1fv: wrong uniform function for type
STDERR: [7324:7324:7872596428275:ERROR:gles2_cmd_decoder.cc(5486)] .WebGLRenderingContext: GL ERROR :GL_INVALID_OPERATION : glUniform1fv: wrong uniform function for type
STDERR: DumpRenderTree: ../../third_party/mesa/MesaLib/src/mesa/program/ir_to_mesa.cpp:2218: prog_src_register mesa_src_reg_from_ir_src_reg(ir_to_mesa_src_reg): Assertion `reg.index &lt; (1 &lt;&lt; 10) - 1&apos; failed.
STDERR: Received signal 6
STDERR:  [0x7ff1af8b967c] base::debug::StackTrace::StackTrace()
STDERR:  [0x7ff1af8b8f26] base::debug::(anonymous namespace)::StackDumpSignalHandler()
STDERR:  [0x7ff1a4dce8f0] &lt;unknown&gt;
STDERR:  [0x7ff1a4a6ea75] gsignal
STDERR:  [0x7ff1a4a725c0] abort
STDERR:  [0x7ff1a4a67941] __assert_fail
STDERR:  [0x7ff19cab531b] mesa_src_reg_from_ir_src_reg()
STDERR:  [0x7ff19cab6818] get_mesa_program()
STDERR:  [0x7ff19cab6f68] _mesa_ir_link_shader
STDERR:  [0x7ff19cab756c] _mesa_glsl_link_shader
STDERR:  [0x7ff19ca71f70] link_program
STDERR:  [0x7ff19ca72d23] _mesa_LinkProgramARB
STDERR:  [0x7ff19cbc3ce9] glLinkProgram
STDERR:  [0x7ff1b1f4aee9] gfx::GLApiBase::glLinkProgramFn()
STDERR:  [0x7ff1a47236a6] gpu::gles2::ProgramManager::ProgramInfo::Link()
STDERR:  [0x7ff1a46e3b17] gpu::gles2::GLES2DecoderImpl::DoLinkProgram()
STDERR:  [0x7ff1a46faf46] gpu::gles2::GLES2DecoderImpl::HandleLinkProgram()
STDERR:  [0x7ff1a46dca22] gpu::gles2::GLES2DecoderImpl::DoCommand()
STDERR:  [0x7ff1a46b0942] gpu::CommandParser::ProcessCommand()
STDERR:  [0x7ff1a470fb4b] gpu::GpuScheduler::PutChanged()
STDERR:  [0x7ff1b1fcb432] webkit::gpu::GLInProcessContext::PumpCommands()
STDERR:  [0x7ff1b1fd73e5] base::internal::RunnableAdapter&lt;&gt;::Run()
STDERR:  [0x7ff1b1fd6cb6] base::internal::InvokeHelper&lt;&gt;::MakeItSo()
STDERR:  [0x7ff1b1fd5f76] base::internal::Invoker&lt;&gt;::Run()
STDERR:  [0x7ff1a46b1e99] base::Callback&lt;&gt;::Run()
STDERR:  [0x7ff1a46b12e3] gpu::CommandBufferService::FlushSync()
STDERR:  [0x7ff1a469e944] gpu::CommandBufferHelper::FlushSync()
STDERR:  [0x7ff1a469eb12] gpu::CommandBufferHelper::Finish()
STDERR:  [0x7ff1a49a8130] gpu::gles2::GLES2Implementation::WaitForCmd()
STDERR:  [0x7ff1a49a8cc4] gpu::gles2::GLES2Implementation::GetBucketContents()
STDERR:  [0x7ff1a49b7ee4] gpu::gles2::GLES2Implementation::GetProgramInfoCHROMIUMHelper()
STDERR:  [0x7ff1a49ea36d] gpu::gles2::CachedProgramInfoManager::ProgramInfo::Update()
STDERR:  [0x7ff1a49eaaa2] gpu::gles2::CachedProgramInfoManager::GetProgramInfo()
STDERR:  [0x7ff1a49eac7a] gpu::gles2::CachedProgramInfoManager::GetProgramiv()
STDERR:  [0x7ff1a49ace75] gpu::gles2::GLES2Implementation::GetProgramivHelper()
STDERR:  [0x7ff1a49c2e46] gpu::gles2::GLES2Implementation::GetProgramiv()
STDERR:  [0x7ff1b1fcf24b] webkit::gpu::WebGraphicsContext3DInProcessCommandBufferImpl::getProgramiv()
STDERR:  [0x7ff1ab6f16f2] WebCore::GraphicsContext3D::getProgramiv()
STDERR:  [0x7ff1acf2c2f7] WebCore::WebGLProgram::cacheInfoIfNeeded()
STDERR:  [0x7ff1acf2bec6] WebCore::WebGLProgram::getLinkStatus()
STDERR:  [0x7ff1acf394d7] WebCore::WebGLRenderingContext::getProgramParameter()
STDERR:  [0x7ff1ac8311f6] WebCore::V8WebGLRenderingContext::getProgramParameterCallback()
STDERR:  [0x234c55a2f297] &lt;unknown&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827044</commentid>
    <comment_count>10</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-02-06 21:24:22 -0800</bug_when>
    <thetext>Marked as slow. For more details, the additional timed out tests were:

webgl/conformance/more/conformance/quickCheckAPI-A.html
webgl/conformance/more/conformance/quickCheckAPI-B1.html
webgl/conformance/more/conformance/quickCheckAPI-B2.html
webgl/conformance/more/conformance/quickCheckAPI-B3.html
webgl/conformance/more/conformance/quickCheckAPI-B4.html
webgl/conformance/more/conformance/quickCheckAPI-C.html
webgl/conformance/more/conformance/quickCheckAPI-D_G.html
webgl/conformance/more/conformance/quickCheckAPI-G_I.html
webgl/conformance/more/conformance/quickCheckAPI-L_S.html
webgl/conformance/more/conformance/quickCheckAPI-S_V.html
webgl/conformance/more/functions/bufferDataBadArgs.html
webgl/conformance/more/functions/copyTexImage2D.html
webgl/conformance/more/functions/copyTexImage2DBadArgs.html
webgl/conformance/more/functions/copyTexSubImage2D.html
webgl/conformance/more/functions/copyTexSubImage2DBadArgs.html
webgl/conformance/more/functions/deleteBufferBadArgs.html
webgl/conformance/more/functions/drawArrays.html
webgl/conformance/more/functions/drawArraysOutOfBounds.html
webgl/conformance/more/functions/drawElements.html
webgl/conformance/more/functions/drawElementsBadArgs.html
webgl/conformance/more/functions/readPixelsBadArgs.html
webgl/conformance/more/functions/texImage2DBadArgs.html
webgl/conformance/more/functions/texImage2DHTML.html
webgl/conformance/more/functions/texSubImage2DBadArgs.html
webgl/conformance/more/functions/texSubImage2DHTML.html
webgl/conformance/ogles/GL/smoothstep/smoothstep_001_to_006.html
webgl/conformance/state/gl-object-get-calls.html
webgl/conformance/textures/texture-size-limit.html
webgl/conformance/textures/texture-size.html
webgl/conformance/uniforms/gl-uniform-arrays.html
webgl/conformance/uniforms/uniform-samplers-test.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827125</commentid>
    <comment_count>11</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-02-07 00:48:12 -0800</bug_when>
    <thetext>I think I have to revert. Some of the tests are also crashing on AppleMac, e.g.:

http://build.webkit.org/builders/Apple%20Lion%20Debug%20WK2%20%28Tests%29/builds/7198/steps/layout-test/logs/stdio

and the Slow modifier on Chromium did not help completely (TestExpectations may not work this way anyway).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827131</commentid>
    <comment_count>12</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-07 00:58:22 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; I think I have to revert. Some of the tests are also crashing on AppleMac, e.g.:
&gt; 
&gt; http://build.webkit.org/builders/Apple%20Lion%20Debug%20WK2%20%28Tests%29/builds/7198/steps/layout-test/logs/stdio
&gt; 
&gt; and the Slow modifier on Chromium did not help completely (TestExpectations may not work this way anyway).

can you mark them as skip?

If not go ahead and revert.

It&apos;s frustrating that these all ran on EWS and locally in 3 different configurations :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827172</commentid>
    <comment_count>13</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-02-07 01:28:32 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; I think I have to revert. Some of the tests are also crashing on AppleMac, e.g.:
&gt; &gt; 
&gt; &gt; http://build.webkit.org/builders/Apple%20Lion%20Debug%20WK2%20%28Tests%29/builds/7198/steps/layout-test/logs/stdio
&gt; &gt; 
&gt; &gt; and the Slow modifier on Chromium did not help completely (TestExpectations may not work this way anyway).
&gt; 
&gt; can you mark them as skip?
&gt; 
&gt; If not go ahead and revert.
&gt; 
&gt; It&apos;s frustrating that these all ran on EWS and locally in 3 different configurations :-(

Ah sorry I saw this too late. I think it would have required adding to Skip on each platform&apos;s TestExpectations and reverting seemed to make more sense.

Yeah it seems like a major pain :-(
Let me know if I can help by providing more links to failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827579</commentid>
    <comment_count>14</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-07 08:54:39 -0800</bug_when>
    <thetext>I&apos;ll mark all these tests as skip for now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827687</commentid>
    <comment_count>15</comment_count>
      <attachid>187134</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-07 10:49:18 -0800</bug_when>
    <thetext>Created attachment 187134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827778</commentid>
    <comment_count>16</comment_count>
      <attachid>187134</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-07 12:08:04 -0800</bug_when>
    <thetext>Comment on attachment 187134
Patch

Attachment 187134 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16435292

New failing tests:
webgl/conformance/ogles/GL/control_flow/control_flow_001_to_008.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827837</commentid>
    <comment_count>17</comment_count>
      <attachid>187134</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-07 13:16:30 -0800</bug_when>
    <thetext>Comment on attachment 187134
Patch

Attachment 187134 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16428337

New failing tests:
webgl/conformance/ogles/GL/control_flow/control_flow_001_to_008.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827853</commentid>
    <comment_count>18</comment_count>
      <attachid>187165</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-07 13:25:29 -0800</bug_when>
    <thetext>Created attachment 187165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828887</commentid>
    <comment_count>19</comment_count>
      <attachid>187399</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-08 19:14:12 -0800</bug_when>
    <thetext>Created attachment 187399
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829012</commentid>
    <comment_count>20</comment_count>
      <attachid>187399</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-09 06:34:53 -0800</bug_when>
    <thetext>Comment on attachment 187399
Patch

Attachment 187399 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16476332

New failing tests:
compositing/checkerboard.html
accessibility/anchor-linked-anonymous-block-crash.html
compositing/absolute-inside-out-of-view-fixed.html
animations/3d/matrix-transform-type-animation.html
http/tests/cache/cancel-multiple-post-xhrs.html
animations/3d/state-at-end-event-transform.html
animations/animation-add-events-in-handler.html
animations/additive-transform-animations.html
animations/3d/replace-filling-transform.html
http/tests/cache/history-only-cached-subresource-loads.html
compositing/bounds-in-flipped-writing-mode.html
accessibility/accessibility-node-reparent.html
animations/animation-border-overflow.html
accessibility/accessibility-object-detached.html
accessibility/anonymous-render-block-in-continuation-causes-crash.html
animations/animation-controller-drt-api.html
compositing/absolute-position-changed-with-composited-parent-layer.html
compositing/absolute-position-changed-in-composited-layer.html
http/tests/cache/iframe-304-crash.html
animations/3d/transform-perspective.html
http/tests/cache/cancel-during-failure-crash.html
canvas/philip/tests/2d.canvas.reference.html
canvas/philip/tests/2d.clearRect+fillRect.alpha0.5.html
canvas/philip/tests/2d.clearRect.basic.html
animations/3d/transform-origin-vs-functions.html
accessibility/accessibility-node-memory-management.html
animations/animation-css-rule-types.html
canvas/philip/tests/2d.clearRect+fillRect.basic.html
canvas/philip/tests/2d.clearRect+fillRect.alpha0.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829807</commentid>
    <comment_count>21</comment_count>
      <attachid>187602</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-11 09:48:41 -0800</bug_when>
    <thetext>Created attachment 187602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831146</commentid>
    <comment_count>22</comment_count>
      <attachid>187602</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 12:11:21 -0800</bug_when>
    <thetext>Comment on attachment 187602
Patch

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

New failing tests:
webgl/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgb565.html
webgl/conformance/more/functions/deleteBufferBadArgs.html
webgl/conformance/more/conformance/quickCheckAPI-S_V.html
webgl/conformance/more/functions/texImage2DBadArgs.html
webgl/conformance/more/conformance/quickCheckAPI-A.html
webgl/conformance/more/conformance/quickCheckAPI-C.html
webgl/conformance/more/functions/copyTexImage2D.html
webgl/conformance/more/conformance/quickCheckAPI-L_S.html
webgl/conformance/more/functions/texSubImage2DBadArgs.html
webgl/conformance/more/conformance/quickCheckAPI-G_I.html
webgl/conformance/more/conformance/quickCheckAPI-B4.html
webgl/conformance/more/functions/drawArraysOutOfBounds.html
webgl/conformance/more/functions/copyTexSubImage2D.html
webgl/conformance/more/functions/copyTexSubImage2DBadArgs.html
webgl/conformance/more/conformance/quickCheckAPI-B2.html
webgl/conformance/textures/tex-image-and-sub-image-2d-with-canvas.html
webgl/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgba5551.html
webgl/conformance/more/functions/drawArrays.html
webgl/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgba4444.html
webgl/conformance/more/conformance/quickCheckAPI-D_G.html
webgl/conformance/more/conformance/quickCheckAPI-B1.html
webgl/conformance/more/functions/drawElementsBadArgs.html
webgl/conformance/more/conformance/quickCheckAPI-B3.html
webgl/conformance/more/functions/copyTexImage2DBadArgs.html
webgl/conformance/more/functions/drawElements.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831239</commentid>
    <comment_count>23</comment_count>
      <attachid>187931</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-12 14:07:12 -0800</bug_when>
    <thetext>Created attachment 187931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832722</commentid>
    <comment_count>24</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-13 21:51:07 -0800</bug_when>
    <thetext>Committed r142847: &lt;http://trac.webkit.org/changeset/142847&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844995</commentid>
    <comment_count>25</comment_count>
      <attachid>187931</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-01 02:53:13 -0800</bug_when>
    <thetext>Comment on attachment 187931
Patch

Cleared review? from attachment 187931 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908609</commentid>
    <comment_count>26</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-07-15 18:02:42 -0700</bug_when>
    <thetext>Why did this patch disable ALL webgl tests on Mac?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186882</attachid>
            <date>2013-02-06 11:29:05 -0800</date>
            <delta_ts>2013-02-06 11:53:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109075-20130206112541.patch</filename>
            <type>text/plain</type>
            <size>709931</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDExCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTY1MDg5ODQwZGJkOThjYTAxNWVi
ZmEyNDNjNjgxYWRjYjk5NDAxOC4uODliZjQ4YTkyOGI2YjlkMDdkNjVkZDRiYzI0NzdmZjQ2OGZk
OWQ5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2NCBAQAogMjAxMy0wMi0wNiAgR3JlZ2cgVGF2YXJlcyAg
PGdtYW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIEFkZHMgZmFpbGluZyBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwOTA3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9j
YW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZl
LXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9j
YW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3Qu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEt
dXJsLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVm
ZmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29u
dGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24t
YW5kLWRlc3RydWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1
bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3Rl
cC1nZW50eXBlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11
bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVz
dHJpY3Rpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWlu
Zy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5n
LWFycmF5cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRo
LWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13
b3Jkcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1
aXRpbmctb3BlcmF0b3JzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3Jz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxh
ci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZh
cnlpbmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFy
aWFibGVzL2dsLXBvaW50Y29vcmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1BLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUIxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1CMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUI0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1DLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1HX0kuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1M
X1MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLVNfVi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVy
RGF0YUJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2NvcHlUZXhJbWFnZTJELmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJ
bWFnZTJEQmFkQXJncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJE
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJn
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kZWxldGVCdWZmZXJCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJy
YXlzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdF
bGVtZW50c0JhZEFyZ3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRB
cmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhJbWFnZTJEQmFkQXJncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eFN1YkltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1h
Z2UyREhUTUwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3Mv
YWNvc18wMDFfdG9fMDA2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFu
XzAwMV90b18wMDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAw
MV90b18wMDgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9f
MDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2ds
ZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90
b18wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wv
c21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBf
MDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9wcm9n
cmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0
dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMt
dGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Jl
YWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVy
cy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3It
dGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
bW9yZS10aGFuLTY1NTM2LWluZGljZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxl
LWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXpl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVj
dC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5
LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNv
bmZvcm1hbmNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdi
NTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1j
YW52YXMtcmdiYTU1NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1y
Z2JhNTU1MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1y
Z2I1NjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2Jh
NTU1MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtdmlkZW8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2
NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiYTU1NTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUx
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1hY3RpdmUtYmluZC0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlw
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtbWlwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXpl
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1zaXplLWxpbWl0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFy
cmF5cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Vu
aWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1
bHQtdmFsdWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3VuaWZv
cm1zL3VuaWZvcm0tbG9jYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1z
L3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVl
bi10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVy
bC10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJh
d2luZy1idWZmZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0
cnVjdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRh
aW5pbmctYXJyYXlzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFy
aWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNo
b3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
cnMtd2l0aC12YXJ5aW5ncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3Jk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUIzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1C
NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUxfUy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktU19WLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9j
b3B5VGV4U3ViSW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1h
Z2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJn
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3RWxlbWVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFk
QXJncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJ
bWFnZTJEQmFkQXJncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRN
TC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0
YW5fMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9m
bG93XzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVz
L0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1z
L2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9n
cmFtcy9wcm9ncmFtLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
bW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxl
LWNvcnJ1cHRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
c3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1p
bWFnZS0yZC1mb3JtYXRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdi
YTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1jYW52YXMtcmdiYTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1y
Z2I1NjUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC12aWRlby1yZ2JhNDQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1hY3RpdmUtYmluZC0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eHR1cmUtbnBvdC12aWRlby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2ds
LXVuaWZvcm0tYXJyYXlzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1
ZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbDogQWRkZWQuCisKKzIwMTMtMDItMDYgIEdy
ZWdnIFRhdmFyZXMgIDxnbWFuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBBZGRzIHRoZSBXZWJH
TCBDb25mb3JtYW5jZSBUZXN0IG9nbGVzIHN1cHBvcnQgZmlsZXMuCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkwNjMKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWQwYzAyN2UzOWY0ODIx
ZDM1N2UwMTQ0YWU0YjM2YjIwN2UwNmM4Ni4uNTQ1N2E5ZDE1YzBmNWM4ZmFkZDNlZWE3NTJjOTQ4
MDJhNTFiNTUwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0xNDM0LDcgKzE0MzQsNDYgQEAgd2Via2l0Lm9yZy9iLzc1Mjc2IFsgQW5k
cm9pZCBdIGZhc3QvcmVwYWludC9zaGFkb3ctbXVsdGlwbGUtc3RyaWN0LXZlcnRpY2FsLmh0bWwK
ICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KICMgV2ViR0wgVGVzdHMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2NyYnVnLmNvbS8xNzQyNjgg
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1s
IFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0
MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sIFsgRmFpbHVy
ZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZv
cm0tYXJyYXlzLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9y
bWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sIFsgRmFpbHVyZSBdCitj
cmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRp
b24uaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29t
LzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sIFsgRmFp
bHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0
aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wv
Y29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwgWyBTa2lwIF0KK2NyYnVn
LmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5o
dG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRl
cmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbCBbIEZhaWx1cmUgXQog
Y3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRy
aWItemVyby1pc3N1ZXMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5o
dG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIFsgRmFpbHVyZSBd
CitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwgWyBGYWlsdXJlIF0KK2Ny
YnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWds
b2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbCBbIEZhaWx1cmUgXQorY3JidWcu
Y29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxh
ci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQyNjgg
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIFsg
RmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFi
bGVzL2dsLXBvaW50Y29vcmQuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIFsgVGltZW91
dCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNp
bl8wMDFfdG9fMDA2Lmh0bWwgWyBUaW1lb3V0IF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbCBbIFRpbWVvdXQgXQor
Y3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90
b18wMDguaHRtbCBbIFRpbWVvdXQgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sIFsgVGltZW91dCBdCitjcmJ1Zy5j
b20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9s
X2Zsb3dfMDAxX3RvXzAwOC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQyNjgg
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18w
MDYuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIFsg
RmFpbHVyZSBUaW1lb3V0IENyYXNoIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sIFsgRmFpbHVy
ZSBUaW1lb3V0IF0KKworY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2xp
dGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0
NDY2IHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0
bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3
NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1s
IFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQ0
NjYgd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sIFsg
RmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0NjY2IHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZm
ZXItcHJlc2VydmUtdGVzdC5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmds
L2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwgWyBDcmFzaCBdCitjcmJ1
Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUt
cHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDY2
NiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0
aW9uLmh0bWwgWyBTa2lwIF0KIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBPdGhlciBmYWlsdXJlcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmY2ZiNWY1MDM2YzQzNTQ0
MDI2ODFjMGEzMmFkNzgxMmU2YzdjZTNmLi40ZjQxMDlhYzU5M2EyOWEyMmJmYTUxOGMyMjJiOGNh
MmYzNGNkN2Y1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtOTY4LDYgKzk2OCw3MiBAQCBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtZ2xvYmFsLXNlbGVj
dGlvbi5odG1sCiAjIEN1cnJlbnRseSBmYWlsaW5nIFdlYkdMIHRlc3RzIDxyZGFyOi8vcHJvYmxl
bS85MzU1NDYwPgogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby5odG1sCiAKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPT8/Pz8/Cit3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0
bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1
dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCit3ZWJnbC9j
b25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwg
WyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24t
c21vb3Roc3RlcC1nZW50eXBlLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2ds
c2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5o
dG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlp
bmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0
Y2guaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13
aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbCBbIEZhaWx1cmUgXQor
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIFsg
RmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktQjEuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbCBbIFNraXAg
XQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRt
bCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLURfRy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktR19JLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sIFsgU2tpcCBdCit3
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sIFsg
U2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5o
dG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1h
Z2UyREJhZEFyZ3MuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvY29weVRleFN1YkltYWdlMkQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbCBbIFNr
aXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sIFsg
U2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZC
b3VuZHMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0VsZW1lbnRzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCBbIFNraXAgXQord2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCBbIFNraXAg
XQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3Mu
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1h
Z2UyREhUTUwuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmlu
ZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmds
L2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sIFsgRmFpbHVyZSBdCit3ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50
Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29y
LXRlc3QuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUt
dGhhbi02NTUzNi1pbmRpY2VzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3Jl
bmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZv
cm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sIFsgRmFpbHVy
ZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQu
aHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbCBbIEZhaWx1cmUgXQord2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1j
YW52YXMuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbCBbIEZhaWx1cmUgXQor
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1pbWFnZS1yZ2JhNDQ0NC5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwg
WyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRt
bCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbCBbIEZhaWx1cmUgXQord2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwgWyBGYWls
dXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQuaHRt
bCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZp
ZGVvLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUt
c2l6ZS1saW1pdC5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLXNpemUuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwgWyBGYWlsdXJlIF0KKwogIyBTZW5kaW5nIHRoZSBt
b3VzZSBkb3duIGV2ZW50IHRvIHRoZSBzY3JvbGxiYXIgc3RhcnRzIGEgbmVzdGVkIHJ1biBsb29w
IHdoaWNoIGNhdXNlcyBhIGhhbmcuCiBmYXN0L2V2ZW50cy9tb3VzZWRvd24taW4tc3ViZnJhbWUt
c2Nyb2xsYmFyLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zZjAzNWI3YjIxMzY5MTY2MGUxNDI1NzY4ODZkYWY5NWI2NGVhNzBk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFz
L2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZm
ZXItb2Zmc2NyZWVuLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2Nh
bnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzdkNTFhNmM5Zjg5
ZjQzZDZlMjU0MGM3NzgwOGY0MWYwZTI2ZDJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3Jt
YW5jZSBUZXN0IFdyYXBwZXIgZm9yIGJ1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10
ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXIt
cHJlc2VydmUtdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTU1YzVjYjg1ZThhNWZjNjAw
NGI4Y2FmMjQ4NWI2OTVkZDFjZThlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVz
ZXJ2ZS10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZDIyYzAyMmYxNjUwOGU0ZmQ1YWJjZmQwMTlmN2UwNzI5NTM4N2I3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVz
ZXJ2ZS10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgYnVmZmVyLXByZXNlcnZlLXRl
c3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1s
Ij4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVm
ZmVyLXByZXNlcnZlLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVm
ZmVyLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2Fu
dmFzL2RyYXdpbmdidWZmZXItdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWMzYzYwNDI0
YWIxOThjYjczNDNiMzdmMWU2MTg1ODdjOWRjN2E3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6
IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3
aW5nYnVmZmVyLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTliN2FjNWE1OGQyNTY5YmUwZmRhOTNkMzI1MjI1MmFkNjAzODY1MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVm
ZmVyLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBkcmF3aW5nYnVmZmVyLXRlc3Qu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbCI+Li4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdi
dWZmZXItdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9Imlm
cmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWln
aHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRh
LXVybC10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTRhYjljY2I5MzIwN2M4NGY0YzU3
ZDVhY2ViNTNjNjRkYTQ0YWMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2Fu
dmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGNkMDRkMjgwOGNhZjVj
NGRlMDVkZjZkYWI4OTg2MzRhNmQ5ODliOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgdG8tZGF0YS11cmwtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2Fu
dmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10
ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0
cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NjUzZjQ0YWM2ZTg3ZGUyZDQ1ZTJmOTg4ZDFiNjA0ZmE3N2M4ZTBkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0
ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1k
cmF3aW5nLWJ1ZmZlci5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1i
dWZmZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4
dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kY2M0
ZDA3ZTI0MmVkN2VhYTc2MjQ2MGZlYzIwNTk2ZTk1MDFmNTBmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1w
cmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvbnRl
eHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitU
ZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29u
dGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRy
aWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRl
c3RydWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2Nv
bnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFlNDQ5ZmY2NGU1Mjg4OGE2OGY5MzBmNTFlOGNhNGU5OGRkYjYyNGQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQt
Y3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0
aW9uLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0
cnVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjMjJiODllMGVlNTk4OTgxNDdjMjk1OWQ3OTU4NjA5
OTEwYmVmZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbDwvdGl0
bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9j
b250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFu
ZC1kZXN0cnVjdGlvbi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rp
b25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xNGUzMzA2NDQ3YjY1N2Y5MWExYzU1OGYzYWExMmZiMjRlZTM2ZDAwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xz
bC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24t
c21vb3Roc3RlcC1nZW50eXBlLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVw
LWdlbnR5cGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rp
b25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZi
YzA3NGE2Nzg3MDEyOGU1Njk2ZGY4ZThlMzhmNjkzMTZkNDc1NAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rp
b24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2xzbC1m
dW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwiPi4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rp
b25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNs
LWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJh
bHMvZmxvYXRfbGl0ZXJhbC52ZXJ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjgxNGI0Njgz
ODU5YTJkNjNhNzhmMWYxYzljZDc5NjQyYTk3MTk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFs
LnZlcnQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMv
ZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI1YWNkNDljYjM5OTJlYWIwYTZj
YTE3MGIyMDk4MTNlY2QzZmMwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIj4uLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zs
b2F0X2xpdGVyYWwudmVydC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCIg
d2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmct
cmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZTBlOGUwZWRmZjM0ODUzMzdh
ZGViYjcyMDcyNTMzYjE0MjAxYzI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rp
b25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0
aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmMjM1MGEyNWI3MDFiOTJlNzkwMjI4ZmJmMTUzZDAxMTUx
MjVkOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBzaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tp
bmctcmVzdHJpY3Rpb25zLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJl
c3RyaWN0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDc0MzM5ZTZjNTkzNGJlNzE0Y2Q1
YjY4NWJhNDYzYzkyYzMwYjA1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9u
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlv
bnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xNmFjYjBmYWNkNTU3M2M4YmQ1OWY1MWQyMmI0ZGI2N2RiOTM3
NDFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3Igc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5n
LXJlc3RyaWN0aW9ucy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMu
aHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlm
cmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJh
eS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
Yzg4YzI5YWFjYjQwNDk5ZGRlNDAzM2MxNzczNjNhZTFiMzkzMDNmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFy
cmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJh
eS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5
LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5p
bmctYXJyYXlzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBhMTBjOTA5ZWQ5MjQzZGM2YzZhNGE2Y2QyODE3
OGY5YTA4MWY1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJy
YXlzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3Ry
dWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRt
bCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbDwv
YT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRo
LWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYzZDEzZDU5Yzg1NGEzM2JiYTA2ODY4YTE2YTI4MTJhZTgwODhmMzEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRo
LWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
Z2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVj
aXNpb24tbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YWJlYTQwOTNhMzQ0YzQwZWIwZjUyYTBh
OTA3MjI4ZTM2ZWFmNDY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24t
bWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXItd2l0aC1nbG9iYWwt
dmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRj
aC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2gu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2
ZWQtd29yZHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlMjBjNGIyNDIzZmE1ZGEzZmI2Yjhj
N2NjNGRhMDY4MTE5NmM3M2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0
OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5v
bi1yZXNlcnZlZC13b3Jkcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJh
Mjk5ZWZjYTYxY2VlMjFhZTc5MmVlNjVkYWY2NzdiYTgxZjE2MWIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9u
LXJlc2VydmVkLXdvcmRzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVyLXdpdGgt
bm9uLXJlc2VydmVkLXdvcmRzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24t
cmVzZXJ2ZWQtd29yZHMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNo
b3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmE3Y2I2
YTE0MDliOTI3ZGZhZmVkZjMxMmU1Y2EzYzY4ZmU1NDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNp
cmN1aXRpbmctb3BlcmF0b3JzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1v
cGVyYXRvcnMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5YWQzODc1ODBh
MmIxMDFmYjk0ODNjYzNhNDQ4MjVmNmU4YzNlOWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3Vp
dGluZy1vcGVyYXRvcnMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXItd2l0aC1z
aG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWwiPi4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13
aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXIt
dW5pZm9ybS1hcnJheS1uYW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzczM2E4NGEyYzAwNDQ0OGEyYTk4YzczODc5M2Qx
NDk0NTU0MTNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJy
YXktbmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2I1ODhjOWQzOTRlZDE5ZDQ5OGU3MTdjOGFjZjg2
ZWY5NWIzZTBhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJh
eS1uYW1lcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13
aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxh
ci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlm
b3JtLWFycmF5LW5hbWVzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZh
cnlpbmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNzc3MzUyZTg2ZmRjMDMzNDE0Y2FhNjM3
ZjM1MjQ5NDJjMTMyODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMt
d2l0aC12YXJ5aW5ncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3Mu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zMTkzYjQ1YzMwMWYzYzgzZDY2Njg5YzZlZDY0NmFiYmI3OWRlMjdm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNo
YWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxl
cy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDQzMDNhNTc4ZWYxYmE3
NWViNjkwNWRkYzYxMTZjZTZlMDAzOWFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJs
ZXMvZ2wtcG9pbnRjb29yZC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wNTZmNmEwODJkY2Y1MTdlNmE2MjJkMjJlMmJlZjg0NGNkYjIwZGU0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJp
YWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJ
VCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXBvaW50
Y29vcmQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBv
aW50Y29vcmQuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9p
bnRjb29yZC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1B
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjNhY2JmNjJlYWJjMTBiOWUyZWY2MDgwZmY4Mjlh
NDdlYzY4ODkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1BLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjQ3YjE5NjNlZjE2MmJiYjU5ODRlZTVlN2M4MzgzYTE5YTg4M2ZjNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVp
Y2tDaGVja0FQSS1BLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAi
PjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUIxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzFkMmMyZWE4
NDczNDE2MmY4MGI0OTNiM2Y3MDhkMzg3YjI1MDg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIx
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzMjJkNDFhMjc1M2NjZGQ4
M2U0NjIyNmJiZWUzZmZlNzRmOWJmYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUIxLmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbCI+Li4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45MmY0NWEzYmU4Yjk3MTlkOTBmYzYyMThkZWI5NGJjZGNjZTQy
NzViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg3MWE4NmFkZjk5MGFmNzNlNjczNWZhNGZiNDQyZTljMzM0ODU4NjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlj
a0NoZWNrQVBJLUIyLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmZkMTc0
NzI1ZGZhZmYwYjYwZDg2ZDQxMWFlMzY0NTk4NDUxOThiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQjMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzMTA2NDNiYzA1ZDA1
NWQzMWZjNmU1NDJhZWE4NDlmYzIwZjM5MjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUIzLmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbCI+
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzZkNGU4NzFiOTM3ZGJjMTEyNTlmYmE1NjkwYTM4YzU1
NTEzNTI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM4YmVhZTRhM2Q4NTY1OGY1MDEyZDBiMTc1NmMyYjA3MzY2NDEwNzQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBx
dWlja0NoZWNrQVBJLUI0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGNjYWJk
NGNhNzRjNjkyZTQ1MTMyNWJlZWJhNGVhNGRhODgzYjYxNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1DLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1DLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlM2Q2YmU2NmNjYTQ4YTY4
N2ZmNTI1MzdlMzU2MDQ0ZjQzNjFjNjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3Jt
YW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQy5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbCI+Li4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNjBjNWNlZDA5OTU2YTI0ODk2MWRkYzc5OTQxNjJlOWRmMjgyZWFj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LURfRy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40MzVkZTNiMDU3NzAwMDVhMzZiYjg2ZTdhMGVlOGNjMjgyZmI0MTkzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1
aWNrQ2hlY2tBUEktRF9HLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cu
aHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlm
cmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktR19JLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ4ZDJlOWFiYjg3YWNjMjE4Y2FmOGIwOTAyMjkwZjgzNTUxM2NhOGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktR19JLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdm
NWRjMWExMzZiNGVjZjMyNzAyNTk0OTlhNjFmYzIxMDc5MWQwNmQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktR19JLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1HX0ku
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1HX0kuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJh
bWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUxfUy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2ViNjE4ZTkwYzBkNzc4
YTY5MGU3YTE5ZjYyNTExZjkxMDVmYTFmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktTF9TLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM0ODA4ZGY2M2YzZTM1MTgx
NGIyNWFjNDZiODVlNWJmZjhmMjI0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUxfUy5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sIj4u
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
TF9TLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19W
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmU4MTI3NDlmNWFlZjU2NzQ0N2I5YjFlNmQ0MzQ3
MTQ3Mzk3MjZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLVNfVi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1TX1YuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Nzk5ODc4ZDhjNzg2YmY1MjkyY2M2NDRmZTBiMzlkNWZj
MDRmOWVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIHF1aWNrQ2hlY2tBUEktU19WLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1TX1YuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9i
dWZmZXJEYXRhQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2E1YjBkNzc5OGU2ZTgxNzVjOTExYzQ2YTBjZDQyM2Q0YWRlYzI4OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1
ZmZlckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlNzYw
ODEwMmNkZWMzYjExYTZlZDE4MmRjMmMzZWIwNzBkMzk2MmYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFk
QXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGJ1ZmZlckRhdGFCYWRBcmdzLmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10
ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJn
cy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0
YUJhZEFyZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMxMDRmMmMwNDc1YmUzMzRjMjlhOGU3YTFlZGRjMGUwN2Zj
N2Y4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlh
ZWNmZTgxMTQwZWQ0MzY4ODg1MjRiZmZiZTdkMTBlMzM3ZGJmNjIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1h
Z2UyRC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvcHlUZXhJbWFnZTJELmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1s
Ij4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
KzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTI1NjNkOWE5YzMzZTFkZDBhYjkyYzJkYTNkMzYxNjBh
YmVlNDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
SW1hZ2UyREJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFn
ZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4OTMzZTQ4OTI3MjZkZGI5ZmIzMDc5MDJlMmZj
OThjYjE0OWQ5MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBjb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sIj4uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFk
QXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kN2IyNTJjYjAwZmUwOTI2M2VkMWI0MDg3MmY2YjFhYzU3
ZDJkYmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJ
bWFnZTJELmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWIxZTAzOTQ1ZGQyNGNkNzMyNmIwNjEzYjMyNTZiNTFiNjQ4YWNhNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29weVRl
eFN1YkltYWdlMkQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2NvcHlUZXhTdWJJbWFnZTJELmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFk
QXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmIyMmFmYWFmNGUxMDIwZmNiMzUwYWQ0MTY4YmRhNWQzODU2MzU1ZjgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGUyOGM3N2QzODRlYjdjMzdkMTQzNzI4NzA2YjdhMjE0OGY1ZDE1
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIGNvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwiPi4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdl
MkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJC
YWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2ZhMTk4MmI3MGIzMjgxNDlmNTI5Njhk
ODMxM2QxYWRmN2VkYzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1
ZmZlckJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGMzZDQyMzU1YmIyMzEzMThlZmM5MzliNWY2
ZjAwZWE2MzhlMDZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIGRlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVs
ZXRlQnVmZmVyQmFkQXJncy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdBcnJheXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWRjOTg1OTU0ZTY0Y2E0YjhjZTVhYjFlNzAzOGFmMmIxYWU5NjI3MwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJh
eXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDAyZGY1OTcxZTQ0OGI3M2M0NDVjZjhiZTUxY2U3YmM1ODY4ZTli
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBkcmF3QXJy
YXlzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJy
YXlzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjRkZWFkNDUyZjM5ZTBlNWFmZDAyM2JjZmEzZmMxYTZh
Y2ZjMzA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJy
YXlzT3V0T2ZCb3VuZHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNP
dXRPZkJvdW5kcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0OWMwZGFjYmQwMmQyZjg0ZmIzMGIyNzY1YTYx
NWI4ZjM5YjFiYjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBkcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sIj4uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJv
dW5kcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE4MTNjMzVkZDMxNTI0ZTI4MDU2M2Y1ZDg5YmI1YzlhMjJmNGVkMWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9kcmF3RWxlbWVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdFbGVtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGEzN2NmNzE0OGM1MDQxMjhk
NDZkNjVhY2VkY2E3NWFhMTIyMjcwZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIGRyYXdFbGVtZW50cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJn
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjU3ZGMx
NmM3YTNmZDc5MThkZWM0MTU4MGExYjVjZDkzMDE4MmE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFk
QXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdF
bGVtZW50c0JhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDE2ZDExOGUy
NzVmY2Y5MGFkOWNjNTQ2N2M2YzZkZDY5YTgyOTA5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJn
cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFy
Z3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0Vs
ZW1lbnRzQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNC
YWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDM5Nzk4ZDU5NWZiYzEwMzgwMTY5NWU1
MjgwN2Q4ZWY0OGUwMTAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Jl
YWRQaXhlbHNCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRB
cmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEwYmMwZWI5ZGFhOGY1YTFmMWE0MmRhNzNlNDk0MjMyNWVj
YjcyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdz
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWln
aHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRC
YWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjMy
OGY2MWU1ZmE0M2NiZDFjNTU5ZTRiNDEyZmFjZGMwMzdjNDRkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJh
ZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1h
Z2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWYyYTk5MWQwNTQxMDBl
OWIyOWQ1M2YyNjdjMmE2YjVkZGU5MmJmMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwiPi4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5o
dG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45NjgxMjdiYThjY2QyZTI3Mzk0M2M2OTBkMTgzYmViZGZhZjNiODUwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvdGV4SW1hZ2UyREhUTUwuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE5MTQzNjUyZTNm
ZjM4ZjNjZmY1MDYwZWM3ZGQ5YTk4NzFmZjczNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4SW1hZ2UyREhUTUwuaHRtbDwvdGl0bGU+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwiPi4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eEltYWdlMkRIVE1MLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eFN1YkltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40NTYyNjU5ZWMyYmM2NzEwZmY5OTI2MjE2YWRlMTVhYTZiNTdkMzQxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdz
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOGI5YjEzYWVkYjg3MTZhMDFmNDIyNjZlYTc5MDEzMjM0Y2JlZmMxZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4
U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRB
cmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1
YkltYWdlMkRIVE1MLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lZTAzM2UzODE5MDYzNzk4MzljNDZmNzgyZGI5NmU1Y2JkNTdjODhlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3Vi
SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4U3ViSW1hZ2UyREhUTUwuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWVmYjljNmEz
NjZmNWEzOWJjMDViOGM4MmYyN2EzMTdjN2I0NmNmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1M
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDwvdGl0
bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0
bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJE
SFRNTC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wOGZkNzIwZmE0NDU3Y2Q2OWI1OTQ4ZmZkZjZiNDdiMWQ0NDlkNWNh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2ds
ZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmEz
YzNkZmY1OGEwYzMxYmRiYjNiNzg4MDY4YzY2MmYxYWM2NTJiZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9f
MDA2Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgYWNvc18wMDFfdG9fMDA2Lmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3Rv
XzAwNi5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29z
XzAwMV90b18wMDYuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNmMjBjY2U0Y2U1NzI0NjgzNzQ4ZjQxNzUwZmMwMDgx
ZWIxODg5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3Rv
XzAwNi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRmNTlhMDAyNWFkZGZjYjgyNmRiMWVhNDc5MzUwZmViNmJmYjU2YmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5f
MDAxX3RvXzAwNi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGFzaW5fMDAxX3RvXzAwNi5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2lu
XzAwMV90b18wMDYuaHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fz
aW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFt
ZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90
b18wMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1M2IzNTZjNDRlMmM3Y2ZhMTRkODY5Mjlk
MDJlMzFkZTYxZTZkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFu
XzAwMV90b18wMDguaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wODEyMzg0ODhiODU4MDEyMWNkNDA0ZmZiMTNjMzVjN2MwYmE3MjdmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRh
bi9hdGFuXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBhdGFuXzAwMV90
b18wMDguaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0
YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwiPi4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3df
MDAxX3RvXzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjA4Yzc1NTM1ZDIxOTU5MjEwNWQ3Nzc5YmQ1MmMyMTIwNjhjZDRmYjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9j
b250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxv
dy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zs
b3dfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzA2ODJhYTAyZjk5NzMyNDBhY2UyYmQxNDJjOTg2Y2M5MjQ0NzliNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9j
b250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvbnRy
b2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbCI+Li4v
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wv
Y29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9s
X2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xv
Z18wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNWFkZDExMzk1MTVhOGY3MDg1
ZGEzZGMyZWY3NGQyYzBmZWE5NWFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cv
bG9nXzAwMV90b18wMDguaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmZkNGI5OTllN2M2ODUzMTY3NWJjYzYzZjY3ZWViYTliMjlhYzdiNWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cv
bG9nXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBsb2dfMDAxX3RvXzAw
OC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xv
Z18wMDFfdG9fMDA4Lmh0bWwiPi4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9n
L2xvZ18wMDFfdG9fMDA4Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18w
MDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4MGVhNWMzYzU0ZmM5NDc3YmQ2MzdhMDdlNTBk
ODE0YjQwMTJhZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAw
MV90b18wMDguaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mNWVhODcxYWFjMGMzODgxNGQ5NTg2OGQ3MWViM2RkMTljODUzMzJjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9s
b2cyXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBsb2cyXzAwMV90b18w
MDguaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIv
bG9nMl8wMDFfdG9fMDA4Lmh0bWwiPi4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWw8L2E+Cis8
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9f
MDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41MmUxZjY1ZTJhN2ZhODUwYzkzNTIxMDFmZDUyYTlkMjAxM2NmZTE3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9z
bW9vdGhzdGVwXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFf
dG9fMDA2Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3Rl
cF8wMDFfdG9fMDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM1M2NhODAyNDdkY2U1Y2NhNDZlODZhMjcy
MzQwZTQyYjc3NWZkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3Igc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBf
MDAxX3RvXzAwNi5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbCIgd2lkdGg9Ijgw
MCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0
dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1u
YW1lcy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGE0ZDgyN2E1MWQ2NTNhYzkyNDQ1
ODZjYTA4OGZkZmE3MTJiMWJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10
ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9w
cm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9n
bC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmct
bmFtZXMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMTA4ZjQ4NTg3MGEzYmI4ODE4NTY0NzU2Y2U2
ZmQzNWJiM2M0MGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5h
bWVzLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0
LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxv
Y2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5h
bWVzLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5o
dG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dy
YW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1MjJj
YjMyMGFlZDBiNDAzY2RlMWNiOWIyN2QwZGIwOWNkM2FmMDkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6
IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3By
b2dyYW0tdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODBhODBi
YzJlZmY1M2YyNWU3MjU5OGY2NjVkODIxOTcxNzk5NzI2MwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3Jt
YW5jZSBUZXN0IFdyYXBwZXIgZm9yIHByb2dyYW0tdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0
Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVh
ZGluZy9yZWFkLXBpeGVscy10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTRkZWI5OTRhM2E2NDljZjU5YjEyODEwZTcwNzdhMTBlOTBiMDM2NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMt
dGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NjIxZmU5MWRhYjk5NjMxMjRmM2NmYjhiMWM1NzU4MGViMGRlNDcxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9y
ZWFkLXBpeGVscy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcmVhZC1waXhlbHMt
dGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVh
ZC1waXhlbHMtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9
ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZl
ci1vYmplY3QtYXR0YWNobWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNjc4Mjg3MWFmNTVhOTQzMWIwYmJiMzljMzE4OGE4YWM1OTll
OWUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVu
ZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1
ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0
dGFjaG1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTRhM2Ri
OWQ2MGEzNDUwZjEyMWY1NWUwN2UyZjMwZDQ1NzI2OWMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmpl
Y3QtYXR0YWNobWVudC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGZyYW1lYnVmZmVyLW9i
amVjdC1hdHRhY2htZW50Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1l
YnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFj
aG1lbnQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wt
c2Npc3Nvci10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiOGQ5
OTlkODdiYWYzMTdkZGI3NGFlODQxYWU5MTNmNjgyNWZmZjAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjMxM2MzMDQwZDk1YzYyNjZhZWJkYWU3OWEyMWI2ZmVjNzg3YWIzYzAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wt
c2Npc3Nvci10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0
by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wtc2Npc3Nvci10ZXN0
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10
ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwiPi4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1z
Y2lzc29yLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJp
ZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2
LWluZGljZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVu
ZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
M2U0MzBmMmQ5NTQzOGU5ZGI4ZTJhNTc0ZTlhMWRiYmI5Njg1MmJkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUz
Ni1pbmRpY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFu
LTY1NTM2LWluZGljZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRl
cmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ODQ0NWUzM2I0
YThmOWY5NWYwZTg5NDEyYWRkYjg4ZDRmMjFlNDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBi
eSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
Q29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBtb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9t
b3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
KzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhhOGZmZmY1NGU5Zjk4OGU2YzY5MDMxMDU1NzI0NTUzZWE1MTI2NGUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40NDc1NDJkNzcyMTJjODRmZDI3NjA3MjlmN2UzZWM4YTU1ZDU1YjE0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxl
LWNvcnJ1cHRpb24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBtdWx0aXNhbXBsZS1jb3Jy
dXB0aW9uLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVw
dGlvbi5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1
cHRpb24uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmMwOWJlZGMxMGM2YWM3NDhhODQ4NGY2OGEzNWEwN2U3OWI0YmFiOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvcG9pbnQtc2l6ZS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1ZWE3
NjcxNDI5ODQ0MDI4YzNhNzg4MTFkYjVkOTlmZmJmYzQ0ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3Jt
YW5jZSBUZXN0IFdyYXBwZXIgZm9yIHBvaW50LXNpemUuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
bmRlcmluZy9wb2ludC1zaXplLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2ds
LW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTkxMDYyODcyYThhZWY0ZDIyNmZjOWRlZDY5YTQxMDYzMWQ2MWM0YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2Fs
bHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0
YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDM0YWY4OWY5ZTUwMDQ4MGY5NGJkZjM3YjljNTg1NTI4ZTM3ZTNkZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2ds
LW9iamVjdC1nZXQtY2FsbHMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC1vYmplY3Qt
Z2V0LWNhbGxzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxz
Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRl
L2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8
ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRl
eC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ3ZDM5NzBhNTU4MjViNDY4MWZhZDFkNDU5NmIyMTQyNGZhYjZiNDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5
LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU2OGM2ZTBlYTgwZTU3MThhZGExOTY4ZDg5YmQwOWFkYjlkMTdjMzcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1p
bWFnZS0yZC1mb3JtYXRzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29weS10ZXgtaW1h
Z2UtMmQtZm9ybWF0cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1h
Z2UtMmQtZm9ybWF0cy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRl
eC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFt
ZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMyNzUwOWRiMGJmMTdkNmM1NzIwNzkzNTFkYTA4NTA3MTJiZDc3
OGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0
b3JlaS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4
ZWxzdG9yZWkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YmI3YjZlNTk0OGY1MGUyZWVjZDFkOTM4MTQ1ZmE1
NWVlNzE5ZjZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBn
bC1waXhlbHN0b3JlaS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9y
ZWkuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8
ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNs
ZWFuLWNvbmZvcm1hbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzVkZTIxNjNlNjExYmIzNmM5NWQwOWNkYzA2NmU3NDI1MjczZTQzOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1j
bGVhbi1jb25mb3JtYW5jZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3Jp
Z2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Yjli
OWJkYTVjNmI5YmI0ZDFlMDgyMjFlZWU5YTcyMjc5NmY0ZWI5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZv
cm1hbmNlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igb3JpZ2luLWNsZWFuLWNvbmZvcm1h
bmNlLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFu
Y2UuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9y
bWFuY2UuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDli
OTYyOTQ0MGJiZmVkOGM5NjEyYmI2ZmE1YjIwM2Q2ODdmNjE0YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YjU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZhZDVkZmE1ZjFmY2EwMjNjMGQ2YWE1NmUxZDU1YWEwOTE2ZDJhNWIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1jYW52YXMtcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTExYmNkNjc4NThkMjYxNTBhY2IzNmZj
NjliODM2NGViMWI5ZjNlZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwiPi4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1jYW52YXMtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxNTAwYjc5YzI4YmNm
MDJhOWJkYzUzMWRhZjNjNWUzNTE4MjA1MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1j
YW52YXMtcmdiYTQ0NDQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNh
bnZhcy1yZ2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jN2YwNzQ2ZTZjZWNmNzA1ODQ2NDk5MDc1NTJjZjc3OWViNWMxNTNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1y
Z2JhNDQ0NC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQt
d2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1jYW52YXMtcmdiYTU1NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdi
YTU1NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzMjk0MDIzNmU1M2VkMWU5OTA1YTY5Zjgw
MjQzMTZjMzU1OGZhNDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1y
Z2JhNTU1MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1
NTEuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1
MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
NDIwNTQ2Mzk4NzUyODIxZjdkMTJkOTRjNDM0YTc5MDFiZTdiYjE2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1jYW52YXMtcmdiYTU1NTEuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtcmdiYTU1NTEuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJp
ZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYmE1NTUxLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODBmNzgwYjU2ZTdmOTUz
Yjc2MTgwMGZmYzI1NjNlYTdmZGQ5NjA4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtY2FudmFzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I0
ZGEyN2I0M2ZlNGVlYmUwMTAzZDc4NzJkYTMyNjYxMzk2NzJhYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODRhMmVkZThlYmRiZTEwNDZlMmMwMjY5YmRjNDU0MDMxMzYxY2I2OQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdl
LXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiZDJmZWE1OTg0ZGU0YWU3NDlhMDkxMGJjYjRlNTNk
ODA0MDI4ODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBD
b25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiNTY1Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sIj4uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWltYWdlLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0
NDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwMTJlZjA2ZTkxNzNjZThmZDJlYTk0NzZlZTJk
ODI0MjQ0Nzg5MDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0
NDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViNGZmZmI4
MDdhMmU5YzNkNTkxMDNkODVjNDc3ZmQ5ZDliN2JkZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1y
Z2JhNDQ0NC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yY2IzYjQ0OTVjMjhmYjg1MzJkNzkzNGYxZjg2MGVmMTY5MmViNTExCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOGFkYzQ5YzY5Njc1Y2ZmZmJjN2ZhNjBiZGY2MzQx
ODMxOWIxNzNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1
MS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbCI+Li4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZmY3NWU3MmYwMWRmNzM3NzI2MjI3NjE0N2NlMTVjMmNlNjk3MzM5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBE
TyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9y
IHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbDwvdGl0bGU+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCI+
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMWRiMTgzYTUzMjJkZjFjMWNmOGQxYzJhZmMyOTg2MjE3NGY1NWY1MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYjU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2
NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNThiYTVmMzA0NzY3NDZjMTllMTYxMTczNjJjZTBh
OGRjNTQ2NTc1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlZDE2NjFlNDIwN2Q4YzA4
NjkxZWE4MDk5ODY5NmZmNjQ2MWY3YTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LXZpZGVvLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sIj4u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTQ0NDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzYWNjN2RjM2RjOGJj
MWU0NWVmMjY3ZGY4NjZhZjgwMjAxMDIxMDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLXJnYmE0NDQ0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRl
by1yZ2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI1NjQ1ZGEyYjIzNTRlMTJmYWY1MGZmMGE0ZWQxZWVjNmNlYzUyYWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0
NC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LXZpZGVvLXJnYmE0NDQ0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLXJnYmE0NDQ0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1y
Z2JhNTU1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45MDE4YjA0YmJmNTY2MTJmM2M0NGY4Y2NhZTdiMGRkOWFkYzFl
M2MxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOWQyOGI1Zjk1MmM2OGE1
ZWNhN2I1NzRhOWE4OWNmNWZhMWQzZmNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC12aWRlby1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEu
aHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlk
ZW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NDc0OGE4NDQ5ZjU2NTBkZDVhODUyZjUyNTMxYWM3ZmM2Njc4
Zjg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8uaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZl
LWJpbmQtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxNjg4
NWJlZGVjZjY0Y2UxZjRmNDk3M2Q2ZGUwOGU2NDZkYmU1MDMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5k
LTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQt
Mi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1h
Y3RpdmUtYmluZC0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdkMGU2NmEyZmZkNjI2YWE0ZDk1ZDBkZmQx
YmVkMmZlN2VkZTAxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRl
c3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdy
YXBwZXIgZm9yIHRleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFj
dGl2ZS1iaW5kLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYWY1ZDQzZDM4ZmY4MTIxODk4NWMz
NzliNTJhZGU3ZjA5M2QxMTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3Rp
dmUtYmluZC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zNjlhMTMyNjY1NDU1NGUxNjE4ZTA1Y2ViOTJhOWUwODcxZWU5MjBlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1h
Y3RpdmUtYmluZC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleHR1cmUtYWN0aXZlLWJp
bmQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQuaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1hY3RpdmUtYmluZC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtbWlwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW1pcHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MmNhMGE5MDFhYTJj
NTlmMmMzMGFmYzU4NzhkOGU5NWQ1NGU1YWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlw
cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjA5Njk1YTM5MjY4ZTgw
YmQxYzNmYjIzZDY3NDJiYmNmYWEwMGQwNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIHRleHR1cmUtbWlwcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1taXBzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzM3NTQ3ZTk1ODQzMjcwNWZjYjM3MDA4NmJmNTYxMzE4OGMxY2Q0NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12
aWRlby1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3Qt
dmlkZW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjEyM2NmYTFjNmJmNDUzNzkyM2Y5OTY1YTMyN2NhMzY4
ZmUzOTA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
dGV4dHVyZS1ucG90LXZpZGVvLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LW5wb3QtdmlkZW8uaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3Qtdmlk
ZW8uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
YzM0YjFhY2YzYzdhYTIxZjY4OGI3YjJjNGIzMWNhY2UwM2I1OWNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLXNpemUuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTgwMzkzZjg2YjYyYzYyOWE0ZDU2NzNkZmY0MzJi
ZTcyZDQ3ZDBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwZDk4Zjky
NDFmYTE4MTQ4ZmM1YWZlNWUzYTlhM2RhNGMwOTU1N2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXh0dXJlLXNpemUtbGltaXQuaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sIj4uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGlt
aXQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDE2MTUxYjdlNTQzOGE0N2QzN2Q3YmU4MzdjZTc5YTZmODAxMGFhZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtc2l6ZS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleHR1cmUtc2l6ZS5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwiPi4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1zaXplLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2YmE3YjIxZDYyYzNiZWNkYzZmY2FkMjQwMzlkMWFiMTZl
ZGZhZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9n
bC11bmlmb3JtLWFycmF5cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODhkMGQzMGQ5ZGY1OGUw
MTJlM2FiYzQ2NzQyNmM4MDkyMmNjNjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBnbC11bmlmb3JtLWFycmF5cy5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbDwvYT4K
KzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2ds
LXVuaWZvcm0tYXJyYXlzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQt
dmFsdWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTU0Y2JjM2RiNzllYjBhY2FmYTljZmIw
ODQ0YzhjZTRhYzczZmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZh
dWx0LXZhbHVlcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kYjJiMmZlNmUxZGU3Yjg1OTljZDAwYzQ0NTBjYzk2YmM5YTE2MDc0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHVuaWZv
cm0tZGVmYXVsdC12YWx1ZXMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0t
ZGVmYXVsdC12YWx1ZXMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1k
ZWZhdWx0LXZhbHVlcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTc5Y2UzNDk3YmJjZjBlMjhmMTQyNzIxMGU2Y2IxZDRlN2M0MjFl
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZv
cm1zL3VuaWZvcm0tbG9jYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbAorUEFTUworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3Jt
LWxvY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91
bmlmb3JtLWxvY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmU0MzIxYWMzZmU0MjUzMGM1MTEzMzFj
NDVkZDdkZDNkMDAwMTU4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0
cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFw
cGVyIGZvciB1bmlmb3JtLWxvY2F0aW9uLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91
bmlmb3JtLWxvY2F0aW9uLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRp
b24uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40ZmNlYTIyMjA0MTU0NDcyODg4MmE4NmM5ODBkOWEyY2MxNjg0Y2U3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9y
bXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkNDIw
ZDY3NmZhNTA0ZDE2Mjg2OGZhMjAxNjI2Nzk1ZTNiNzNmZDMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRl
c3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB1bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sIj4u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlm
b3JtLXNhbXBsZXJzLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9i
dWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNDQ2MWQ5YmI0MWU4ODJmYTg3
MmJmNTZhNjQ5ZjU4ZjZkYzA2N2RjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1v
ZmZzY3JlZW4tdGVzdC5odG1sCkBAIC0wLDAgKzEsMTE3IEBACis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgcmVxdWlyZWQgYnVmZmVyIGNsZWFyIGJl
aGF2aW91ciB0ZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9k
eSB7CisgICAgaGVpZ2h0OiAzMDAwcHg7Cit9Cis8L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgorCit2YXIgaXRlciA9IDA7Cit2YXIgZ2wxOwordmFyIGdsMjsKKwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCitmdW5jdGlvbiB0aW1lcigpIHsKKyAgICBpZiAoaXRl
ciA9PSAwKSB7CisgICAgICAgIC8vIHNvbWUgcmFuZG9tIGhhY2t5IHN0dWZmIHRvIG1ha2Ugc3Vy
ZSB0aGF0IHdlIGdldCBhIGNvbXBvc2l0aW5nIHN0ZXAKKyAgICAgICAgd2luZG93LnNjcm9sbEJ5
KDAsIDEwKTsKKyAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIC0xMCk7CisgICAgICAgIGl0ZXIr
KzsKKworICAgICAgICBzZXRUaW1lb3V0KHRpbWVyLCA1MDApOworICAgIH0gZWxzZSBpZiAoaXRl
ciA9PSAxKSB7CisgICAgICAgIGZ1bmN0aW9uIGNsZWFyKGdsKSB7CisgICAgICAgICAgICAvLyBz
Y2lzc29yIHdhcyBzZXQgZWFybGllcgorICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAx
LCAxKTsKKyAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgICAg
ICB9CisgICAgICAgIGNsZWFyKGdsMSk7CisgICAgICAgIGNsZWFyKGdsMik7CisKKyAgICAgICAg
ZGVidWcoImNoZWNrIG9uIHNjcmVlbiBjYW52YXMiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFz
UmVjdChnbDEsIDAsIDEwLCAxMCwgMTAsIFswLCAwLCAyNTUsIDI1NV0sICJjbGVhcmVkIGNvcm5l
ciBzaG91bGQgYmUgYmx1ZSwgc3RlbmNpbCBzaG91bGQgYmUgcHJlc2VydmVkIik7CisgICAgICAg
IHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wxLCAwLCAwLCAxMCwgMTAsIFswLCAwLCAwLCAwXSwgInJl
bWFpbmRlciBvZiBidWZmZXIgc2hvdWxkIGJlIGNsZWFyZWQiKTsKKyAgICAgICAgZGVidWcoImNo
ZWNrIG9mZiBzY3JlZW4gY2FudmFzIik7CisgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wy
LCAwLCAxMCwgMTAsIDEwLCBbMCwgMCwgMjU1LCAyNTVdLCAiY2xlYXJlZCBjb3JuZXIgc2hvdWxk
IGJlIGJsdWUsIHN0ZW5jaWwgc2hvdWxkIGJlIHByZXNlcnZlZCIpOworICAgICAgICB3dHUuY2hl
Y2tDYW52YXNSZWN0KGdsMiwgMCwgMCwgMTAsIDEwLCBbMjU1LCAwLCAwLCAyNTVdLCAicmVtYWlu
ZGVyIG9mIGJ1ZmZlciBzaG91bGQgYmUgdW4tY2xlYXJlZCByZWQiKTsKKworICAgICAgICBmaW5p
c2hUZXN0KCk7CisgICAgfQorfQorCitmdW5jdGlvbiBnbygpIHsKKyAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25zIGNvcnJlY3RseSBjbGVhciB0
aGUgZHJhd2luZyBidWZmZXIgb24gY29tcG9zaXRlIGlmIHByZXNlcnZlRHJhd2luZ0J1ZmZlciBp
cyBmYWxzZS4iKTsKKworICAgIGRlYnVnKCIiKTsKKworICAgIGdsMSA9IHd0dS5jcmVhdGUzRENv
bnRleHQoImMiKTsKKyAgICBnbDIgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7CisgICAgc2hvdWxk
QmVUcnVlKCJnbDEgIT0gbnVsbCIpOworICAgIHNob3VsZEJlVHJ1ZSgiZ2wyICE9IG51bGwiKTsK
KworICAgIHNob3VsZEJlVHJ1ZSgnZ2wxLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlc2VydmVE
cmF3aW5nQnVmZmVyID09IGZhbHNlJyk7CisgICAgc2hvdWxkQmVUcnVlKCdnbDIuZ2V0Q29udGV4
dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgPT0gZmFsc2UnKTsKKworICAgIGZ1
bmN0aW9uIGluaXQoZ2wpIHsKKyAgICAgICAgZ2wuY2xlYXJDb2xvcigxLCAwLCAwLCAxKTsKKyAg
ICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQg
fCBnbC5TVEVOQ0lMX0JVRkZFUl9CSVQpOworCisgICAgICAgIC8vIGVuYWJsZSBzY2lzc29yIGhl
cmUsIGJlZm9yZSBjb21wb3NpdGluZywgdG8gbWFrZSBzdXJlIGl0J3MgY29ycmVjdGx5CisgICAg
ICAgIC8vIGlnbm9yZWQgYW5kIHJlc3RvcmVkCisgICAgICAgIGdsLnNjaXNzb3IoMCwgMTAsIDEw
LCAxMCk7CisgICAgICAgIGdsLmVuYWJsZShnbC5TQ0lTU09SX1RFU1QpOworICAgIH0KKworICAg
IGluaXQoZ2wxKTsKKyAgICBpbml0KGdsMik7CisKKyAgICBzZXRUaW1lb3V0KHRpbWVyLCA1MDAp
OworfQorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGdvLCBmYWxzZSk7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxjYW52YXMgd2lkdGg9IjIwIiBoZWlnaHQ9
IjIwIiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmx1ZTsiIGlkPSJjIj48L2NhbnZhcz4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9j
YW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUt
dGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjMThkMWIzYmNjMWQzOGM2NDlkMTg4NDY5MDA1NTc1Y2U5
ZWY1NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRt
bApAQCAtMCwwICsxLDExMiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIHJlcXVpcmVkIGJ1ZmZlciBjbGVhciBiZWhhdmlvdXIgdGVzdDwvdGl0
bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
IDwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeworICAgIGhlaWdodDog
MzAwMHB4OworfQorPC9zdHlsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKwor
dmFyIGl0ZXIgPSAwOwordmFyIGdsMTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCitm
dW5jdGlvbiB0aW1lcigpIHsKKyAgICBpZiAoaXRlciA9PSAwKSB7CisgICAgICBmdW5jdGlvbiBp
bml0KGdsKSB7CisgICAgICAgICAgZ2wuY2xlYXJDb2xvcigxLCAwLCAwLCAxKTsKKyAgICAgICAg
ICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCB8IGds
LlNURU5DSUxfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgICAvLyBlbmFibGUgc2Npc3NvciBoZXJl
LCBiZWZvcmUgY29tcG9zaXRpbmcsIHRvIG1ha2Ugc3VyZSBpdCdzIGNvcnJlY3RseQorICAgICAg
ICAgIC8vIGlnbm9yZWQgYW5kIHJlc3RvcmVkCisgICAgICAgICAgZ2wuc2Npc3NvcigwLCAxMCwg
MTAsIDEwKTsKKyAgICAgICAgICBnbC5lbmFibGUoZ2wuU0NJU1NPUl9URVNUKTsKKyAgICAgIH0K
KyAgICAgIGluaXQoZ2wxKTsKKyAgICB9IGVsc2UgaWYgKGl0ZXIgPT0gMSkgeworICAgICAgICAv
LyBzb21lIHJhbmRvbSBoYWNreSBzdHVmZiB0byBtYWtlIHN1cmUgdGhhdCB3ZSBnZXQgYSBjb21w
b3NpdGluZyBzdGVwCisgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCAxMCk7CisgICAgICAgIHdp
bmRvdy5zY3JvbGxCeSgwLCAtMTApOworICAgIH0gZWxzZSBpZiAoaXRlciA9PSAyKSB7CisgICAg
ICAgIGZ1bmN0aW9uIGNsZWFyKGdsKSB7CisgICAgICAgICAgICAvLyBzY2lzc29yIHdhcyBzZXQg
ZWFybGllcgorICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAxLCAxKTsKKyAgICAgICAg
ICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisgICAgICAgICAgICB3dHUuY2hl
Y2tDYW52YXNSZWN0KGdsLCAwLCAxMCwgMTAsIDEwLCBbMCwgMCwgMjU1LCAyNTVdLCAiY2xlYXJl
ZCBjb3JuZXIgc2hvdWxkIGJlIGJsdWUsIHN0ZW5jaWwgc2hvdWxkIGJlIHByZXNlcnZlZCIpOwor
ICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgMTAsIDEwLCBbMCwgMCwg
MCwgMF0sICJyZW1haW5kZXIgb2YgYnVmZmVyIHNob3VsZCBiZSBjbGVhcmVkIik7CisgICAgICAg
IH0KKyAgICAgICAgY2xlYXIoZ2wxKTsKKworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpdGVyKys7CisgICAgc2V0VGltZW91dCh0aW1lciwgNTAw
KTsKK30KKworZnVuY3Rpb24gZ28oKSB7CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1
cmVzIFdlYkdMIGltcGxlbWVudGF0aW9ucyBjb3JyZWN0bHkgY2xlYXIgdGhlIGRyYXdpbmcgYnVm
ZmVyIG9uIGNvbXBvc2l0ZSBpZiBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIgaXMgZmFsc2UuIik7CisK
KyAgICBkZWJ1ZygiIik7CisKKyAgICBnbDEgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjIik7Cisg
ICAgaWYgKCFnbDEpIHsKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgc2hvdWxkQmVUcnVlKCJnbDEgIT0gbnVsbCIpOworICAgIHNob3VsZEJlVHJ1
ZSgnZ2wxLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlc2VydmVEcmF3aW5nQnVmZmVyID09IGZh
bHNlJyk7CisKKyAgICBzZXRUaW1lb3V0KHRpbWVyLCA1MDApOworfQorCit3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIGdvLCBmYWxzZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwhLS0gSW1wb3J0YW50IHRvIHB1
dCB0aGUgY2FudmFzIGF0IHRoZSB0b3Agc28gdGhhdCBpdCdzIGFsd2F5cyB2aXNpYmxlIGV2ZW4g
aW4gdGhlIHRlc3Qgc3VpdGUgcnVubmVyLgorICAgICBPdGhlcndpc2UgaXQganVzdCBkb2Vzbid0
IGdldCBjb21wb3NpdGVkIGluIEZpcmVmb3guIC0tPgorPGNhbnZhcyB3aWR0aD0iMjAiIGhlaWdo
dD0iMjAiIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibHVlOyIgaWQ9ImMiPjwvY2FudmFzPgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTYzNzljNmFm
YTgxNDNjODU0NDkzNzk1MTU1MzczZmNjYjA0ZWMyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZh
cy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbApAQCAtMCwwICsxLDEzOSBAQAorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ2FudmFzLmRyYXdpbmdC
dWZmZXJXaWR0aCxkcmF3aW5nQnVmZmVySGVpZ2h0IENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlv
bigpOworZGVidWcoIiIpOworCit2YXIgZ2w7Cit2YXIgb2xkVmlld3BvcnQ7CisKK2Z1bmN0aW9u
IGdldE1heFZpZXdwb3J0RGltZW5zaW9ucygpIHsKKyAgLy8gY3JlYXRlIGEgZnJlc2ggY2FudmFz
LiBUaGlzIGNhbnZhcyB3aWxsIGJlIGRpc2NhcmRlZAorICAvLyBhZnRlciBleGl0aW5nIHRoaXMg
ZnVuY3Rpb24uCisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMi
KTsKKyAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywge2FudGlhbGlhczogZmFsc2V9
KTsKKyAgaWYgKCFnbCkgeworICAgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3Qi
KTsKKyAgICByZXR1cm4gWzAsIDBdOworICB9IGVsc2UgeworICAgIHRlc3RQYXNzZWQoImNvbnRl
eHQgZXhpc3RzIik7CisKKyAgICAvLyBGb3IgYSBkZWZhdWx0IHNpemUgY2FudmFzIHRoZXNlIHNo
b3VsZCBiZSBlcXVhbC4KKyAgICAvLyBXZWJHTCBjb250ZXh0cyBhcmUgbm90IGFsbG93ZWQgdG8g
Y2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkcmF3aW5nQnVmZmVyCisgICAgLy8gZm9yIHRoaW5ncyBs
aWtlIGhpLXJlcyBkaXNwbGF5cy4KKyAgICBzaG91bGRCZSgnZ2wuZHJhd2luZ0J1ZmZlcldpZHRo
JywgJ2dsLmNhbnZhcy53aWR0aCcpOworICAgIHNob3VsZEJlKCdnbC5kcmF3aW5nQnVmZmVySGVp
Z2h0JywgJ2dsLmNhbnZhcy5oZWlnaHQnKTsKKyAgICByZXR1cm4gZ2wuZ2V0UGFyYW1ldGVyKGds
Lk1BWF9WSUVXUE9SVF9ESU1TKTsKKyAgfQorfQorCitmdW5jdGlvbiB0ZXN0KGRlc2lyZWRXaWR0
aCwgZGVzaXJlZEhlaWdodCkgeworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJ0ZXN0aW5nIGNhbnZh
cyB3aWR0aCA9ICIgKyBkZXNpcmVkV2lkdGggKyAiLCBoZWlnaHQgPSAiICsgZGVzaXJlZEhlaWdo
dCk7CisKKyAgLy8gTWFrZSBhIGZyZXNoIGNhbnZhcy4KKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICBjYW52YXMud2lkdGggPSBkZXNpcmVkV2lkdGg7
CisgIGNhbnZhcy5oZWlnaHQgPSBkZXNpcmVkSGVpZ2h0OworCisgIC8vIFRoaXMgJ2dsJyBtdXN0
IGJlIGdsb2JhbCBmb3Igc2hvdWxkQmUgdG8gd29yay4KKyAgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KGNhbnZhcywge2FudGlhbGlhczogZmFsc2V9KTsKKyAgaWYgKCFnbCkgeworICAgIHRlc3RG
YWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKKyAgfSBlbHNlIHsKKyAgICB0ZXN0UGFz
c2VkKCJjb250ZXh0IGV4aXN0cyIpOworCisgICAgLy8gVmVyaWZ5IHRoZXNlIHN0YXRzIGRpZG4n
dCBjaGFuZ2Ugc2luY2UgdGhleSBjb21lIGZyb20gYSBkaWZmZXJlbnQKKyAgICAvLyBjb250ZXh0
LgorICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZJRVdQT1JUX0RJTVMpWzBd
JywgJ21heFNpemVbMF0nKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9W
SUVXUE9SVF9ESU1TKVsxXScsICdtYXhTaXplWzFdJyk7CisKKyAgICAvLyBjaGVjayB0aGUgaW5p
dGlhbCB2aWV3cG9ydCBtYXRjaGVzIHRoZSBkcmF3aW5nQnVmZmVyV2lkdGggYW5kIGRyYXdpbmdC
dWZmZXJIZWlnaHQKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsw
XScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbMV0n
LCAnMCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzJdJywg
J2dsLmRyYXdpbmdCdWZmZXJXaWR0aCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIo
Z2wuVklFV1BPUlQpWzNdJywgJ2dsLmRyYXdpbmdCdWZmZXJIZWlnaHQnKTsKKworICAgIGRlYnVn
KCIiKTsKKyAgICBkZWJ1ZygidGVzdGluZyByZXNpemluZyBjYW52YXMgdG8gd2lkdGggPSAiICsg
ZGVzaXJlZFdpZHRoICsgIiwgaGVpZ2h0ID0gIiArIGRlc2lyZWRIZWlnaHQpOworCisgICAgb2xk
Vmlld3BvcnQgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpOworCisgICAgLy8gZmxpcCB3
aWR0aCBhbmQgaGVpZ2h0CisgICAgY2FudmFzLndpZHRoID0gZGVzaXJlZEhlaWdodDsKKyAgICBj
YW52YXMuaGVpZ2h0ID0gZGVzaXJlZFdpZHRoOworCisgICAgLy8gVmVyaWZ5IHRoZSB2aWV3cG9y
dCBkaWRuJ3QgY2hhbmdlLgorICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BP
UlQpWzBdJywgJ29sZFZpZXdwb3J0WzBdJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRl
cihnbC5WSUVXUE9SVClbMV0nLCAnb2xkVmlld3BvcnRbMV0nKTsKKyAgICBzaG91bGRCZSgnZ2wu
Z2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsyXScsICdvbGRWaWV3cG9ydFsyXScpOworICAgIHNo
b3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzNdJywgJ29sZFZpZXdwb3J0WzNd
Jyk7CisKKyAgICAvLyBmaXggdGhlIHZpZXdwb3J0CisvLyAgICBnbC52aWV3cG9ydCgwLCAwLCBn
bC5kcmF3aW5nQnVmZmVyV2lkdGgsIGdsLmRyYXdpbmdCdWZmZXJIZWlnaHQpOworCisgICAgc2hv
dWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9fRVJST1InKTsKKyAgfQorfQorCit2YXIgd3R1
ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgbWF4U2l6ZSA9IGdldE1heFZpZXdwb3J0RGltZW5zaW9u
cygpOworZGVidWcoIk1BWF9WSUVXUE9SVF9ESU1TOiAiICsgbWF4U2l6ZVswXSArICIsICIgKyBt
YXhTaXplWzFdKTsKKworc2hvdWxkQmVUcnVlKCdtYXhTaXplWzBdID4gMCcpOworc2hvdWxkQmVU
cnVlKCdtYXhTaXplWzFdID4gMCcpOworCisvLyB0ZXN0IGEgc21hbGwgc2l6ZSB0byBtYWtlIHN1
cmUgaXQgd29ya3MgYXQgYWxsLgordGVzdCgxNiwgMzIpOworCisvLyBNYWtlIGEgY2FudmFzIHNs
aWdodGx5IGxhcmdlciB0aGFuIHRoZSBtYXggc2l6ZSBXZWJHTCBjYW4gaGFuZGxlLgorLy8gRnJv
bSBzZWN0aW9uIDIuMiBvZiB0aGUgc3BlYyB0aGUgV2ViR0wgaW1wbGVtZW50YXRpb24gc2hvdWxk
IGFsbG93IHRoaXMgdG8gd29yay4KKworLy8gdGVzdCBhIHNpemUgbGFyZ2VyIHRoYW4gTUFYX1ZJ
RVdQT1JUX0RJTVMgaW4gYm90aCBkaW1lbnNpb25zCit0ZXN0KG1heFNpemVbMF0gKyAzMiwgOCk7
CisKK2RlYnVnKCIiKQordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmZThkZmYxYTg5
MWU1OTM5Mjc1OTNiZWJjNzllM2IyMzljYWJiODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMv
dG8tZGF0YS11cmwtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTMwIEBACis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdG9EYXRhVVJMIHRlc3Q8L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyB3aWR0aD0iMjAiIGhlaWdodD0iMjAi
IHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibGFjazsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZw
eCIgaWQ9ImMzZCI+PC9jYW52YXM+Cis8Y2FudmFzIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgc3R5
bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4IiBp
ZD0iYzJkIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgordmFyIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIG51bVRlc3RzID0gMTA7Cit2YXIgZ2w7Cit2YXIgY3R4
OworCit2YXIgbWFpbiA9IGZ1bmN0aW9uKCkgeworICBkZXNjcmlwdGlvbigpOworICBjdHggPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYzJkIikuZ2V0Q29udGV4dCgiMmQiKTsKKyAgZ2wgPSB3
dHUuY3JlYXRlM0RDb250ZXh0KCJjM2QiKTsKKworICBpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxl
ZCgiY2FuJ3QgY3JlYXRlIDNkIGNvbnRleHQiKTsKKyAgICByZXR1cm47CisgIH0KKworICB2YXIg
Y2xlYXJSZWN0ID0gZnVuY3Rpb24oZ2wsIHgsIHksIHdpZHRoLCBoZWlnaHQsIGNvbG9yKSB7Cisg
ICAgZ2wuY2xlYXJDb2xvcihjb2xvclswXSAvIDI1NSwgY29sb3JbMV0gLyAyNTUsIGNvbG9yWzJd
IC8gMjU1LCBjb2xvclszXSAvIDI1NSk7CisgICAgZ2wuc2Npc3Nvcih4LCB5LCB3aWR0aCwgaGVp
Z2h0KTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgfTsKKworICB2YXIg
dGVzdFNpemUgPSBmdW5jdGlvbihnbCwgd2lkdGgsIGhlaWdodCwgY2FsbGJhY2spIHsKKyAgICBk
ZWJ1ZygidGVzdGluZyAiICsgd2lkdGggKyAiIGJ5ICIgKyBoZWlnaHQpOworICAgIGdsLmNhbnZh
cy53aWR0aCA9IHdpZHRoOworICAgIGdsLmNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CisgICAgZ2wu
dmlld3BvcnQoMCwgMCwgd2lkdGgsIGhlaWdodCk7CisgICAgZ2wuZW5hYmxlKGdsLlNDSVNTT1Jf
VEVTVCk7CisKKyAgICB2YXIgYm90dG9tQ29sb3IgPSBbMjU1LCAwLCAwLCAyNTVdOworICAgIHZh
ciB0b3BDb2xvciA9IFswLCAyNTUsIDAsIDI1NV07CisgICAgdmFyIHJpZ2h0Q29sb3IgPSBbMCwg
MCwgMjU1LCAyNTVdOworICAgIHZhciBoYWxmSGVpZ2h0ID0gTWF0aC5mbG9vcihoZWlnaHQgLyAy
KTsKKyAgICB2YXIgdG9wSGVpZ2h0ID0gaGVpZ2h0IC0gaGFsZkhlaWdodDsKKyAgICB2YXIgY2Fu
dmFzVG9wSGVpZ2h0ID0gaGVpZ2h0IC0gdG9wSGVpZ2h0OworICAgIGNsZWFyUmVjdChnbCwgMCwg
MCwgd2lkdGgsIGhhbGZIZWlnaHQsIGJvdHRvbUNvbG9yKTsKKyAgICBjbGVhclJlY3QoZ2wsIDAs
IGhhbGZIZWlnaHQsIHdpZHRoLCB0b3BIZWlnaHQsIHRvcENvbG9yKTsKKyAgICBjbGVhclJlY3Qo
Z2wsIHdpZHRoIC0gMSwgMCwgMSwgaGVpZ2h0LCByaWdodENvbG9yKTsKKworICAgIHZhciBpbWcg
PSBuZXcgSW1hZ2UoKTsKKyAgICBpbWcub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICBjdHgu
Y2FudmFzLndpZHRoID0gd2lkdGg7CisgICAgICBjdHguY2FudmFzLmhlaWdodCA9IGhlaWdodDsK
KyAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsKKyAgICAgIHd0dS5jaGVja0NhbnZhc1Jl
Y3QoY3R4LCAwLCAwLCB3aWR0aCAtIDEsIHRvcEhlaWdodCwgdG9wQ29sb3IpOworICAgICAgd3R1
LmNoZWNrQ2FudmFzUmVjdChjdHgsIDAsIHRvcEhlaWdodCwgd2lkdGggLSAxLCBoYWxmSGVpZ2h0
LCBib3R0b21Db2xvcik7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwgd2lkdGggLSAx
LCAwLCAxLCBoZWlnaHQsIHJpZ2h0Q29sb3IpOworICAgICAgZGVidWcoIiIpOworICAgICAgY2Fs
bGJhY2soKTsKKyAgICB9OworICAgIGltZy5zcmMgPSBnbC5jYW52YXMudG9EYXRhVVJMKCk7Cisg
IH07CisKKyAgdmFyIHRlc3RzID0gWworICAgIHsgd2lkdGg6ICAxNiAgICAsIGhlaWdodDogIDE2
ICAgICwgfSwKKyAgICB7IHdpZHRoOiAgMTYgLSAxLCBoZWlnaHQ6ICAxNiAgICAsIH0sCisgICAg
eyB3aWR0aDogIDE2IC0gMSwgaGVpZ2h0OiAgMTYgLSAxLCB9LAorICAgIHsgd2lkdGg6ICAxNiAr
IDEsIGhlaWdodDogIDE2IC0gMSwgfSwKKyAgICB7IHdpZHRoOiAgMTYgLSAxLCBoZWlnaHQ6ICAx
NiArIDEsIH0sCisgICAgeyB3aWR0aDogMjU2ICAgICwgaGVpZ2h0OiAyNTYgICAgLCB9LAorICAg
IHsgd2lkdGg6IDI1NiAtIDEsIGhlaWdodDogMjU2ICAgICwgfSwKKyAgICB7IHdpZHRoOiAyNTYg
LSAxLCBoZWlnaHQ6IDI1NiAtIDEsIH0sCisgICAgeyB3aWR0aDogMjU2ICsgMSwgaGVpZ2h0OiAy
NTYgLSAxLCB9LAorICAgIHsgd2lkdGg6IDI1NiAtIDEsIGhlaWdodDogMjU2ICsgMSwgfSwKKyAg
ICB7IHdpZHRoOiA1MTIgICAgLCBoZWlnaHQ6IDUxMiAgICAsIH0sCisgICAgeyB3aWR0aDogNTEy
IC0gMSwgaGVpZ2h0OiA1MTIgICAgLCB9LAorICAgIHsgd2lkdGg6IDUxMiAtIDEsIGhlaWdodDog
NTEyIC0gMSwgfSwKKyAgICB7IHdpZHRoOiA1MTIgKyAxLCBoZWlnaHQ6IDUxMiAtIDEsIH0sCisg
ICAgeyB3aWR0aDogNTEyIC0gMSwgaGVpZ2h0OiA1MTIgKyAxLCB9LAorICBdOworICB2YXIgdGVz
dEluZGV4ID0gMDsKKyAgdmFyIHJ1bk5leHRUZXN0ID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKHRl
c3RJbmRleCA9PSB0ZXN0cy5sZW5ndGgpIHsKKyAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgIHJl
dHVybjsKKyAgICB9CisgICAgdmFyIHRlc3QgPSB0ZXN0c1t0ZXN0SW5kZXgrK107CisgICAgdGVz
dFNpemUoZ2wsIHRlc3Qud2lkdGgsIHRlc3QuaGVpZ2h0LCBmdW5jdGlvbigpIHsKKyAgICAgIHNl
dFRpbWVvdXQocnVuTmV4dFRlc3QsIDEwMCk7CisgICAgfSkKKyAgfTsKKyAgcnVuTmV4dFRlc3Qo
KTsKK307CittYWluKCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmli
dXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmli
dXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDE4YzA2YWQ0ZWFi
NWVmYTk2NjY1M2NmYTgyNTlhZWI5YTkyZGZjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQv
Y29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbApAQCAtMCwwICsx
LDEyMiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBjYW52YXMgeworICAgICAgICAgICAgICAgIHdpZHRoOjUwcHg7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OjUwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAuc3F1
YXJlIHsKKyAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKKyAgICAgICAgICAg
ICAgICB3aWR0aDo1MHB4OworICAgICAgICAgICAgICAgIGhlaWdodDo1MHB4OworICAgICAgICAg
ICAgICAgIGJhY2tncm91bmQtY29sb3I6cmVkOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAg
ICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgICAgICAgICAgZnVuY3Rpb24gY2hl
Y2tSZXN1bHQoY3R4MSwgY3R4MiwgcHJlc2VydmUpIHsKKyAgICAgICAgICAgICAgICB2YXIgaW1n
RGF0YTEgPSBjdHgxLmdldEltYWdlRGF0YSgwLDAsMSwxKTsKKyAgICAgICAgICAgICAgICB2YXIg
aW1nRGF0YTIgPSBjdHgyLmdldEltYWdlRGF0YSgwLDAsMSwxKTsKKyAgICAgICAgICAgICAgICB2
YXIgY29ycmVjdDEgPSBbMjU1LDAsMCwyNTVdOworICAgICAgICAgICAgICAgIHZhciBjb3JyZWN0
MiA9IHByZXNlcnZlID8gWzI1NSwwLDAsMjU1XSA6IFswLDAsMCwyNTVdOworICAgICAgICAgICAg
ICAgIHZhciBvazEgPSB0cnVlOworICAgICAgICAgICAgICAgIHZhciBvazIgPSB0cnVlOworICAg
ICAgICAgICAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgNDsgKytwKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChpbWdEYXRhMS5kYXRhW3BdICE9IGNvcnJlY3QxW3BdKQorICAgICAgICAgICAg
ICAgICAgICAgICAgb2sxID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGlmIChpbWdEYXRh
Mi5kYXRhW3BdICE9IGNvcnJlY3QyW3BdKQorICAgICAgICAgICAgICAgICAgICAgICAgb2syID0g
ZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChvazEgJiYgb2sy
KQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdSZW5kZXJlZCBvayB3aXRoIHByZXNl
cnZlRHJhd2luZ0J1ZmZlciAnICsgcHJlc2VydmUgKycuJyk7CisgICAgICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdEaWQgbm90IHJlbmRlciBvayB3aXRo
IHByZXNlcnZlRHJhd2luZ0J1ZmZlciAnICsgcHJlc2VydmUgKyAnLicpOworICAgICAgICAgICAg
ICAgIGlmIChwcmVzZXJ2ZSkgeworICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCkKKyAg
ICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBydW5UZXN0KHRydWUp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24gcnVuVGVzdChwcmVzZXJ2ZSkgeworICAgICAgICAgICAgICAgIHZhciBjMSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdjJyArIChwcmVzZXJ2ZSAqIDMgKyAxKSk7CisgICAgICAgICAgICAg
ICAgdmFyIGMyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnICsgKHByZXNlcnZlICogMyAr
IDIpKTsKKyAgICAgICAgICAgICAgICB2YXIgYzMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
YycgKyAocHJlc2VydmUgKiAzICsgMykpOworICAgICAgICAgICAgICAgIHZhciBjdHgxID0gYzEu
Z2V0Q29udGV4dCgnMmQnKTsKKyAgICAgICAgICAgICAgICB2YXIgY3R4MiA9IGMyLmdldENvbnRl
eHQoJzJkJyk7CisgICAgICAgICAgICAgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChj
MywgeyBhbHBoYTpmYWxzZSwgcHJlc2VydmVEcmF3aW5nQnVmZmVyOnByZXNlcnZlIH0pOworICAg
ICAgICAgICAgICAgIGdsLmNsZWFyQ29sb3IoMSwgMCwgMCwgMSk7CisgICAgICAgICAgICAgICAg
Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgICAgICAgICAgICAgY3R4MS5kcmF3
SW1hZ2UoYzMsIDAsIDApOworICAgICAgICAgICAgICAgIHd0dS53YWl0Rm9yQ29tcG9zaXRlKGds
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgY3R4Mi5kcmF3SW1hZ2UoYzMsIDAs
IDApOworICAgICAgICAgICAgICAgICAgICBjaGVja1Jlc3VsdChjdHgxLCBjdHgyLCBwcmVzZXJ2
ZSk7CisgICAgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAg
PGNhbnZhcyBpZD0nYzEnPjwvY2FudmFzPgorICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzInPjwv
Y2FudmFzPgorICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzMnPjwvY2FudmFzPgorICAgICAgICAg
ICAgPHNwYW4+c2hvdWxkIGxvb2sgYXMgcmlnaHQgcGF0dGVybjwvc3Bhbj4KKyAgICAgICAgICAg
IDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSdzcXVh
cmUnIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrJz48L2Rpdj4KKyAgICAgICAgICAgIDxk
aXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2Pgor
ICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzQnPjwvY2FudmFzPgorICAgICAgICAgICAgPGNhbnZh
cyBpZD0nYzUnPjwvY2FudmFzPgorICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzYnPjwvY2FudmFz
PgorICAgICAgICAgICAgPHNwYW4+c2hvdWxkIGxvb2sgYXMgcmlnaHQgcGF0dGVybjwvc3Bhbj4K
KyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+CisgICAgICAgICAgICA8ZGl2
IGNsYXNzPSdzcXVhcmUnPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nc3F1YXJlJz48
L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgICAgIDxzY3JpcHQ+Cisg
ICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgICAgICBkZXNjcmlwdGlvbignVmVyaWZ5
IHRoYXQgcHJlc2VydmVEcmF3aW5nQnVmZmVyIGF0dHJpYnV0ZSBpcyBob25vcmVkLicpOworICAg
ICAgICAgICAgcnVuVGVzdChmYWxzZSk7CisgICAgICAgICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgic3VjY2Vzc2Z1bGx5UGFyc2Vk
Iik7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQv
Y29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDhmYzM5
MTM0MGFhN2U4ZWM5YzA3ODZhYmY3NTA3YjRmZDYxNWFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29u
dGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sCkBAIC0wLDAgKzEsODQg
QEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3Qg
dGhhdCBjb250ZXh0cyBhcmUgZnJlZWQgYW5kIGdhcmJhZ2UgY29sbGVjdGVkIHJlYXNvbmFibHk8
L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
Ij4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
dmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIHRhcmdldCA9IDUwMDsKK3ZhciBjb3VudCA9
IDA7CisKK2Rlc2NyaXB0aW9uKCk7Citkb05leHRUZXN0KCk7CisKKy8vIENyZWF0ZXMgYSBjYW52
YXMgYW5kIGEgdGV4dHVyZSB0aGVuIGV4aXRzLiBUaGVyZSBhcmUKKy8vIG5vIHJlZmVyZW5jZXMg
dG8gZWl0aGVyIHNvIGJvdGggc2hvdWxkIGJlIGdhcmJhZ2UgY29sbGVjdGVkLgorZnVuY3Rpb24g
dGVzdCgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIp
OworICAvLyBUaGlzIGlzIHNhZmUgZm9yIGFueSBkZXZpY2UuIFNlZSBkcmF3aW5nQnVmZmVyV2lk
dGggaW4gc3BlYy4KKyAgY2FudmFzLndpZHRoID0gMjA0ODsKKyAgY2FudmFzLmhlaWdodCA9IDIw
NDg7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKyAgdmFyIG1heFRl
eHR1cmVTaXplID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9URVhUVVJFX1NJWkUpOworICB2YXIg
c2l6ZSA9IE1hdGgubWluKDEwMjQsIG1heFRleHR1cmVTaXplKTsKKyAgdmFyIHRleCA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAg
Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBzaXplLCBzaXplLCAwLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgICAgICAgIG5ldyBVaW50OEFycmF5
KHNpemUgKiBzaXplICogNCkpOworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBiZSBubyBlcnJvcnMiKTsK
K30KKworZnVuY3Rpb24gZG9OZXh0VGVzdCgpIHsKKyAgKytjb3VudDsKKyAgZGVidWcoInRlc3Qg
IiArIGNvdW50ICsgIiBvZiAiICsgdGFyZ2V0KTsKKyAgdGVzdCgpOworICBpZiAoY291bnQgPCB0
YXJnZXQpIHsKKyAgICBzZXRUaW1lb3V0KGRvTmV4dFRlc3QsIDEwMCk7CisgIH0gZWxzZSB7Cisg
ICAgZmluaXNoVGVzdCgpOworICB9Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5j
dGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rp
b25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQw
ZDBhMjliMDZjMGM2YmZjMzU2NjRhOWE5YjIzNjM4ZWQxMWE5ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwKQEAg
LTAsMCArMSw4MCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cisg
IDx0aXRsZT5HTFNMIHNtb290aHN0ZXAtZ2VudHlwZSBmdW5jdGlvbiB0ZXN0PC90aXRsZT4KKyAg
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2dsc2wtZ2VuZXJhdG9yLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKworCitHTFNMR2VuZXJhdG9yLnJ1bkZlYXR1
cmVUZXN0KHsKKyAgZmVhdHVyZTogInNtb290aHN0ZXAiLAorICBhcmdzOiAiJCh0eXBlKSBlZGdl
MCwgJCh0eXBlKSBlZGdlMSwgJCh0eXBlKSB2YWx1ZSIsCisgIGJhc2VBcmdzOiAiZWRnZTAkKGZp
ZWxkKSwgZWRnZTEkKGZpZWxkKSwgdmFsdWUkKGZpZWxkKSIsCisgIHRlc3RGdW5jOiAiJChmdW5j
KSgkKHR5cGUpLCAkKHR5cGUpLCAkKHR5cGUpKSIsCisgIGVtdUZ1bmM6IFsiZmxvYXQgJChmdW5j
KV9iYXNlKGZsb2F0IGVkZ2UwLCBmbG9hdCBlZGdlMSwgZmxvYXQgdmFsdWUpIHsiLAorICAgICAg
ICAgICAgIiAgZmxvYXQgdCA9IGNsYW1wKCh2YWx1ZSAtIGVkZ2UwKSAvIChlZGdlMSAtIGVkZ2Uw
KSwgMC4wLCAxLjApOyIsCisgICAgICAgICAgICAiICByZXR1cm4gdCAqIHQgKiAoMy4wIC0gMi4w
ICogdCk7IiwKKyAgICAgICAgICAgICJ9Il0uam9pbigiXG4iKSwKKyAgZ3JpZFJlczogOCwKKyAg
dG9sZXJhbmNlOiAxLAorICB0ZXN0czogWworICAgIFsiJChvdXRwdXQpID0gdmVjNCgiLAorICAg
ICAiICAgICQoZnVuYykoMC4zLCAwLjcsICQoaW5wdXQpLngpLCIsCisgICAgICIgICAgJChmdW5j
KSgwLjIsIDAuOCwgJChpbnB1dCkueSksIiwKKyAgICAgIiAgICAwLCIsCisgICAgICIgICAgMSk7
Il0uam9pbigiXG4iKSwKKyAgICBbIiQob3V0cHV0KSA9IHZlYzQoIiwKKyAgICAgIiAgICAkKGZ1
bmMpKHZlYzIoMC40LCAwLjYpLCB2ZWMyKDAuOCwgMC45KSwgJChpbnB1dCkueHkpLCIsCisgICAg
ICIgICAgMCwgMSk7Il0uam9pbigiXG4iKSwKKyAgICBbIiQob3V0cHV0KSA9IHZlYzQoIiwKKyAg
ICAgIiAgICAkKGZ1bmMpKHZlYzMoMC4zLCAwLjUsIDAuNyksIHZlYzMoMC43LCAwLjksIDEuMCks
ICQoaW5wdXQpLnh5eiksIiwKKyAgICAgIiAgICAxKTsiXS5qb2luKCJcbiIpLAorICAgIFsiJChv
dXRwdXQpID0gIiwKKyAgICAgIiAgICAkKGZ1bmMpKHZlYzQoMC4zLCAwLjQsIDAuNSwgMC4yKSwg
IiwKKyAgICAgIiAgICAgICAgICAgIHZlYzQoMC43LCAwLjYsIDAuOSwgMC44KSwgIiwKKyAgICAg
IiAgICAgICAgICAgICQoaW5wdXQpKTsiXS5qb2luKCJcbiIpCisgIF0KK30pOwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0
ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzg4ZTRlMWRhNmU4ZTU3
ZDQ1MDViYTM3N2U4NjI5Y2IyNTRjMDEzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJh
bHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBDb25mb3JtYW5j
ZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlciIgdHlwZT0idGV4dC9z
b21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorCisvLyBwYXJzaW5nIGZsb2F0aW5nIHBvaW50IGxp
dGVyYWxzIHNob3VsZCBzdWNjZWVkCit2b2lkIG1haW4oKSB7CisgIGZsb2F0IHplcm8gPSAwLjA7
CisgIGZsb2F0IGZyYWN0aW9uYWxDb25zdGFudCA9IDEuMDsKKyAgZmxvYXQgZnJhY3Rpb25hbENv
bnN0YW50RXhwb25lbnQgPSAxLjBlMTsKKyAgZmxvYXQgZnJhY3Rpb25hbENvbnN0YW50UG9zRXhw
b25lbnQgPSAxLjBlKzE7CisgIGZsb2F0IGZyYWN0aW9uYWxDb25zdGFudE5lZ0V4cG9uZW50ID0g
MS4wZS0xOworICBmbG9hdCBkaWdpdFNlcXVlbmNlRXhwb25lbnQgPSAxZTE7CisgIGZsb2F0IGRp
Z2l0U2VxdWVuY2VQb3NFeHBvbmVudCA9IDFlKzE7CisgIGZsb2F0IGRpZ2l0U2VxdWVuY2VOZWdF
eHBvbmVudCA9IDFlLTE7CisgIGZsb2F0IHBvaW50RGlnaXQgPSAuMTsKKyAgZmxvYXQgZGlnaXRQ
b2ludD0gMS47CisgIGZsb2F0IHVwcGVyQ2FzZUV4cG9uZW50ID0gMS4wRTE7CisgIGhpZ2hwIGZs
b2F0IHBvc0luUmFuZ2UgPSA0NjExNjg2MDE4NDI3Mzg3OTAzLjsgIC8vIDJeNjIgLSAxCisgIGhp
Z2hwIGZsb2F0IHBvc091dFJhbmdlID0gNDYxMTY4NjAxODQyNzM4NzkwNS47ICAvLyAyXjYyICsg
MQorICBoaWdocCBmbG9hdCBwb3NIdWdlID0gMUUxMDA7CisgIGhpZ2hwIGZsb2F0IG5lZ0luUmFu
Z2UgPSAtNDYxMTY4NjAxODQyNzM4NzkwMy47CisgIGhpZ2hwIGZsb2F0IG5lZ091dFJhbmdlID0g
LTQ2MTE2ODYwMTg0MjczODc5MDUuOworICBoaWdocCBmbG9hdCBuZWdIdWdlID0gMUUxMDA7Cit9
Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitHTFNMQ29uZm9ybWFuY2VUZXN0
ZXIucnVuVGVzdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZv
cm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1w
YWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwOGM3ZTdiNjJiMWIwMDU2NWM3
ZWE3Y2JjYWE2YWUyOTcyZTBjZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbApAQCAtMCwwICsxLDI2OCBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdW5pZm9y
bSBwYWNraW5nIHJlc3RyY3Rpb25zIENvbmZvcm1hbmNlIFRlc3Q8L3RpdGxlPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVh
dHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZ2xz
bC1jb25mb3JtYW5jZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFz
IGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0IGlk
PSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgYXR0cmlidXRlIHZlYzQg
YV9wb3NpdGlvbjsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9zaXRpb24g
PSBhX3Bvc2l0aW9uOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAg
IHZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAg
IGdsX0ZyYWdDb2xvciA9IHZfdmFyeWluZzsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
InZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1
dGUgdmVjNCBhX3Bvc2l0aW9uOworICAgIHZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisgICAgdW5p
Zm9ybSAkKHR5cGUpIHVfdW5pZm9ybVskKG51bVRlc3RUeXBlKV07CisgICAgdm9pZCBtYWluKCkK
KyAgICB7CisgICAgICAgIHZfdmFyeWluZyA9ICQoY29kZSk7CisgICAgICAgIGdsX1Bvc2l0aW9u
ID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJBcnJh
eVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1w
IGZsb2F0OworICAgIHVuaWZvcm0gJCh0eXBlKSB1X3VuaWZvcm1bJChudW1UZXN0VHlwZSldOwor
ICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSAkKGNvZGUpOwor
ICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlclVuaWZvcm1UZXN0IiB0eXBlPSJ4
LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworICAg
IHZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CiskKHVuaWZvcm1zKQorICAgIHZvaWQgbWFpbigpCisg
ICAgeworICAgICAgICB2X3ZhcnlpbmcgPSAkKGNvZGUpOworICAgICAgICBnbF9Qb3NpdGlvbiA9
IGFfcG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyVW5pZm9y
bVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1w
IGZsb2F0OworJCh1bmlmb3JtcykKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xf
RnJhZ0NvbG9yID0gJChjb2RlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0
cmljdCI7CitkZXNjcmlwdGlvbigpOworZGVidWcoIiIpOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0
aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworCit2YXIgdW5p
Zm9ybVR5cGVzID0gWworICB7IHR5cGU6ICJib29sIiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6
IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDAsIDAp
IiwgfSwKKyAgeyB0eXBlOiAiZmxvYXQiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiAxLCByb3dz
OiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwLCAwLCAwKSIsIH0sCisg
IHsgdHlwZTogImludCIsICAgICAgICAgY29tcG9uZW50c1BlclJvdzogMSwgcm93czogMSwgY29k
ZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCwgMCwgMCkiLCB9LAorICB7IHR5cGU6
ICJ2ZWMyIiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDIsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0
KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAiaXZlYzIiLCAg
ICAgICBjb21wb25lbnRzUGVyUm93OiAyLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0k
KGlkKSQoaW5kZXgpLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogImJ2ZWMyIiwgICAgICAgY29tcG9u
ZW50c1BlclJvdzogMiwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4
KSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWMzIiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6
IDMsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDApIiwgfSwK
KyAgeyB0eXBlOiAiaXZlYzMiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiAzLCByb3dzOiAxLCBj
b2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwKSIsIH0sCisgIHsgdHlwZTogImJ2
ZWMzIiwgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czogMSwgY29kZTogInZlYzQodV91
bmlmb3JtJChpZCkkKGluZGV4KSwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWM0IiwgICAgICAgIGNv
bXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChp
bmRleCkpIiwgfSwKKyAgeyB0eXBlOiAiaXZlYzQiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiA0
LCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpKSIsIH0sCisgIHsg
dHlwZTogImJ2ZWM0IiwgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czogMSwgY29kZTog
InZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSkiLCB9LAorLy8gWWVzLCB0aGUgc3BlYyBzYXlz
IG1hdDIgdGFrZXMgNCBjb2x1bW5zLCAyIHJvd3MuCisgIHsgdHlwZTogIm1hdDIiLCAgICAgICAg
Y29tcG9uZW50c1BlclJvdzogNCwgcm93czogMiwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkk
KGluZGV4KVswXSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJtYXQzIiwgICAgICAgIGNvbXBvbmVu
dHNQZXJSb3c6IDMsIHJvd3M6IDMsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleClb
MF0sIDApIiwgfSwKKyAgeyB0eXBlOiAibWF0NCIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0
LCByb3dzOiA0LCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpWzBdKSIsIH0sCisv
LyBTYW1wbGVycyBnZW5lcmFsbHkgaGF2ZSBtb3JlIHJlc3RpY3RpdmUgbGltaXRzLgorLy8gIHsg
dHlwZTogInNhbXBsZXIyRCIsICAgY29tcG9uZW50c1BlclJvdzogMSwgcm93czogMSwgY29kZTog
InZlYzQodGV4dHVyZTJEKHVfdW5pZm9ybVskKGluZGV4KV0sIHZlYzIoMCwgMCkpKSIsIH0sCisv
LyAgeyB0eXBlOiAic2FtcGxlckN1YmUiLCBjb21wb25lbnRzUGVyUm93OiAxLCByb3dzOiAxLCBj
b2RlOiAidmVjNCh0ZXh0dXJlQ3ViZSh1X3VuaWZvcm1bJChpbmRleCldLCB2ZWMzKDAsIDAsIDAp
KSkiLCB9LAorXTsKKwordmFyIHZCYXNlU291cmNlID0gd3R1LmdldFNjcmlwdCgidnNoYWRlciIp
OwordmFyIGZCYXNlU291cmNlID0gd3R1LmdldFNjcmlwdCgiZnNoYWRlciIpOwordmFyIHZBcnJh
eVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyQXJyYXlUZXN0Iik7Cit2YXIgZkFy
cmF5VGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXJBcnJheVRlc3QiKTsKK3ZhciB2
VW5pZm9ybVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyVW5pZm9ybVRlc3QiKTsK
K3ZhciBmVW5pZm9ybVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyVW5pZm9ybVRl
c3QiKTsKKwordmFyIHRlc3RzID0gW107Cit2YXIgc2hhZGVyVHlwZXMgPSBbCisgIHsgdHlwZTog
InZlcnRleCIsCisgICAgLy8gRm9yIHRlc3RzIHRoYXQgZXhwZWN0IGZhaWx1cmUgd2hpY2ggc2hh
ZGVyIG1pZ2h0IGZhaWwuCisgICAgdmVydEV4cGVjdGF0aW9uOiBmYWxzZSwKKyAgICBmcmFnRXhw
ZWN0YXRpb246IHRydWUsCisgICAgdmVydEFycmF5VGVzdDogdkFycmF5VGVzdFNvdXJjZSwKKyAg
ICBmcmFnQXJyYXlUZXN0OiBmQmFzZVNvdXJjZSwKKyAgICB2ZXJ0VW5pZm9ybVRlc3Q6IHZVbmlm
b3JtVGVzdFNvdXJjZSwKKyAgICBmcmFnVW5pZm9ybVRlc3Q6IGZCYXNlU291cmNlLAorICAgIG1h
eFZlY3RvcnM6IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVkVSVEVYX1VOSUZPUk1fVkVDVE9SUyks
CisgICAgbWluVmVjdG9yczogMTI4LCAgLy8gR0xTTCBFUyAxLjAuMTcgQXBwZW5kaXggQS43LAor
ICB9LAorICB7IHR5cGU6ICJmcmFnbWVudCIsCisgICAgLy8gRm9yIHRlc3RzIHRoYXQgZXhwZWN0
IGZhaWx1cmUgd2hpY2ggc2hhZGVyIG1pZ2h0IGZhaWwuCisgICAgdmVydEV4cGVjdGF0aW9uOiB0
cnVlLAorICAgIGZyYWdFeHBlY3RhdGlvbjogZmFsc2UsCisgICAgdmVydEFycmF5VGVzdDogdkJh
c2VTb3VyY2UsCisgICAgZnJhZ0FycmF5VGVzdDogZkFycmF5VGVzdFNvdXJjZSwKKyAgICB2ZXJ0
VW5pZm9ybVRlc3Q6IHZCYXNlU291cmNlLAorICAgIGZyYWdVbmlmb3JtVGVzdDogZlVuaWZvcm1U
ZXN0U291cmNlLAorICAgIG1heFZlY3RvcnM6IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfRlJBR01F
TlRfVU5JRk9STV9WRUNUT1JTKSwKKyAgICBtaW5WZWN0b3JzOiAxNiwgIC8vIEdMU0wgRVMgMS4w
LjE3IEFwcGVuZGl4IEEuNywKKyAgfSwKK107Citmb3IgKHZhciBzcyA9IDA7IHNzIDwgc2hhZGVy
VHlwZXMubGVuZ3RoOyArK3NzKSB7CisgIHZhciBzaGFkZXJUeXBlID0gc2hhZGVyVHlwZXNbc3Nd
OworICBkZWJ1ZygibWF4ICIgKyBzaGFkZXJUeXBlLnR5cGUgKyAiOiAiICsgc2hhZGVyVHlwZS5t
YXhWZWN0b3JzKTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHVuaWZvcm1UeXBlcy5sZW5ndGg7
ICsraWkpIHsKKyAgICB2YXIgaW5mbyA9IHVuaWZvcm1UeXBlc1tpaV07CisgICAgd3R1LmxvZygi
Y2hlY2tpbmc6ICIgKyBpbmZvLnR5cGUpOworICAgIC8vIENvbXB1dGUgdGhlIG1heGltdW0gYW1v
dW50IG9mIHRoaXMgdHlwZSBhbGxvd2VkIGluIGEgc2luZ2xlIGFycmF5LgorICAgIHZhciBudW1W
YXJzID0gTWF0aC5mbG9vcihzaGFkZXJUeXBlLm1heFZlY3RvcnMgLyBpbmZvLnJvd3MpOworICAg
IC8vIENvbXB1dGUgdGhlIG1pbmltdW0gcmVxdWlyZWQgdG8gd29yayBpbiBhIHNpbmdsZSBhcnJh
eS4KKyAgICB2YXIgbWluVmFycyA9IE1hdGguZmxvb3Ioc2hhZGVyVHlwZS5taW5WZWN0b3JzIC8g
aW5mby5yb3dzKTsKKyAgICAvLyBUZXN0IGFycmF5WzFdIG9mIHRoZSB0eXBlCisgICAgdmFyIGNv
ZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0p
OworICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJh
bXMoc2hhZGVyVHlwZS52ZXJ0QXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IDEsIGNvZGU6IGNvZGV9
LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgZlNoYWRlclNvdXJj
ZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5
cGU6IDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAor
ICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUg
KyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAx
IGVsZW1lbnQgc2hvdWxkIHN1Y2NlZWQiLAorICAgIH0pOworICAgIC8vIFRlc3QgYXJyYXlbbWF4
XSBvZiB0aGUgdHlwZQorICAgIC8vIE5vdGU6IFdlIGNhbid0IHRlc3QgdGhpcyBhcyBhY3R1YWwg
R0wgZHJpdmVycyBhcmUgb25seSByZXF1aXJlZCB0byBiZSBhYmxlIHRvCisgICAgLy8gZG8gdGhl
IG1pbmltdW0gbnVtYmVyLiBBZnRlciB0aGF0IGl0IGNhbiBmYWlsIGZvciBhbnkgcmVhc29uLgor
ICAgIGlmIChmYWxzZSkgeworICAgICAgdmFyIGNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZv
LmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyAobnVtVmFycyAtIDEpICsgIl0ifSk7CisgICAg
ICB0ZXN0cy5wdXNoKHsKKyAgICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMo
c2hhZGVyVHlwZS52ZXJ0QXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51bVZhcnMsIGNvZGU6IGNv
ZGV9LCBpbmZvKSwKKyAgICAgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICAgIGZTaGFk
ZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ0FycmF5VGVzdCwge251
bVRlc3RUeXBlOiBudW1WYXJzLCBjb2RlOiBjb2RlfSwgaW5mbyksCisgICAgICAgIGZTaGFkZXJT
dWNjZXNzOiB0cnVlLAorICAgICAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICAgICAgcGFzc01z
Zzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCB1bmlmb3JtIGFycmF5IG9mICIgKyBp
bmZvLnR5cGUgKyAiIHdpdGggIiArIG51bVZhcnMgKyAiIGVsZW1lbnRzICh0aGUgbWF4aW11bSkg
c2hvdWxkIHN1Y2NlZWQiLAorICAgICAgfSk7CisgICAgfQorCisgICAgLy8gVGVzdCByZXF1aXJl
ZCBudW1iZXIgb2YgdW5pZm9ybXMKKyAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGlu
Zm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChtaW5WYXJzIC0gMSkgKyAiXSJ9KTsKKyAg
ICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNo
YWRlclR5cGUudmVydEFycmF5VGVzdCwge251bVRlc3RUeXBlOiBtaW5WYXJzLCBjb2RlOiBjb2Rl
fSwgaW5mbyksCisgICAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGZTaGFkZXJTb3Vy
Y2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ0FycmF5VGVzdCwge251bVRlc3RU
eXBlOiBtaW5WYXJzLCBjb2RlOiBjb2RlfSwgaW5mbyksCisgICAgICBmU2hhZGVyU3VjY2Vzczog
dHJ1ZSwKKyAgICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgICAgcGFzc01zZzogc2hhZGVyVHlw
ZS50eXBlICsgIiBzaGFkZXIgd2l0aCB1bmlmb3JtIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAi
IHdpdGggIiArIG1pblZhcnMgKyAiIGVsZW1lbnRzICh0aGUgbWluaW11bSByZXF1aXJlZCkgc2hv
dWxkIHN1Y2NlZWQiLAorICAgIH0pOworCisgICAgLy8gVGVzdCBhcnJheVttYXggKyAxXSBhY2Nl
c3NpbmcgbGFzdCBlbGVtZW50LiBXZWJHTCByZXF1aXJlcyB0aGlzIHRvIGZhaWwuCisgICAgdmFy
IGNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIg
KyBudW1WYXJzICsgIl0ifSk7CisgICAgdGVzdHMucHVzaCh7CisgICAgICB2U2hhZGVyU291cmNl
OiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRBcnJheVRlc3QsIHtudW1UZXN0VHlw
ZTogbnVtVmFycyArIDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNz
OiBzaGFkZXJUeXBlLnZlcnRFeHBlY3RhdGlvbiwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5y
ZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ0FycmF5VGVzdCwge251bVRlc3RUeXBlOiBudW1W
YXJzICsgMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHNoYWRl
clR5cGUuZnJhZ0V4cGVjdGF0aW9uLAorICAgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICAgICAg
cGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCB1bmlmb3JtIGFycmF5IG9m
ICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIGVsZW1lbnRzIChv
bmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3NpbmcgbGFzdCBlbGVtZW50IHNob3VsZCBmYWlsIiwKKyAg
ICB9KTsKKworICAgIC8vIFRlc3QgYXJyYXlbbWF4ICsgMV0gYWNjZXNzaW5nIGZpcnN0IGVsZW1l
bnQuIFdlYkdMIHJlcXVpcmVzIHRoaXMgdG8gZmFpbCBidXQgRVMgYWxsb3dzIHRydW5jYXRpbmcg
YXJyYXkuCisgICAgdmFyIGNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUsIHtpZDog
IiIsIGluZGV4OiAiWzBdIn0pOworICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJj
ZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0QXJyYXlUZXN0LCB7bnVtVGVzdFR5
cGU6IG51bVZhcnMgKyAxLCBjb2RlOiBjb2RlfSwgaW5mbyksCisgICAgICB2U2hhZGVyU3VjY2Vz
czogc2hhZGVyVHlwZS52ZXJ0RXhwZWN0YXRpb24sCisgICAgICBmU2hhZGVyU291cmNlOiB3dHUu
cmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogbnVt
VmFycyArIDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNzOiBzaGFk
ZXJUeXBlLmZyYWdFeHBlY3RhdGlvbiwKKyAgICAgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgICAg
IHBhc3NNc2c6IHNoYWRlclR5cGUudHlwZSArICIgc2hhZGVyIHdpdGggdW5pZm9ybSBhcnJheSBv
ZiAiICsgaW5mby50eXBlICsgIiB3aXRoICIgKyAobnVtVmFycyArIDEpICsgIiBlbGVtZW50cyAo
b25lIHBhc3QgbWF4aW11bSkgYWNjZXNzaW5nIGZpcnN0IGVsZW1lbnQgc2hvdWxkIGZhaWwiLAor
ICAgIH0pOworCisgICAgLy8gVGVzdCBtYXggdW5pZm9ybXMgb2YgdHlwZS4KKyAgICAvLyBOb3Rl
OiBXZSBjYW4ndCB0ZXN0IHRoaXMgYXMgYWN0dWFsIEdMIGRyaXZlcnMgYXJlIG9ubHkgcmVxdWly
ZWQgdG8gYmUgYWJsZSB0bworICAgIC8vIGRvIHRoZSBtaW5pbXVtIG51bWJlci4gQWZ0ZXIgdGhh
dCBpdCBjYW4gZmFpbCBmb3IgYW55IHJlYXNvbi4KKyAgICBpZiAoZmFsc2UpIHsKKyAgICB9CisK
KyAgICB2YXIgZ2VuZXJhdGVDb2RlID0gZnVuY3Rpb24obnVtVmFycykgeworICAgICAgdmFyIHVu
aWZvcm1zID0gW107CisgICAgICB2YXIgY29kZXMgPSBbXTsKKyAgICAgIGZvciAodmFyIHV1ID0g
MDsgdXUgPCBudW1WYXJzOyArK3V1KSB7CisgICAgICAgIHVuaWZvcm1zLnB1c2goIiAgICB1bmlm
b3JtICIgKyBpbmZvLnR5cGUgKyAiIHVfdW5pZm9ybSIgKyB1dSArICI7Iik7CisgICAgICAgIGNv
ZGVzLnB1c2god3R1LnJlcGxhY2VQYXJhbXMoaW5mby5jb2RlLCB7aWQ6IHV1LCBpbmRleDogIiJ9
KSk7CisgICAgICB9CisgICAgICByZXR1cm4geworICAgICAgICB1bmlmb3JtczogdW5pZm9ybXMu
am9pbigiXG4iKSwKKyAgICAgICAgY29kZTogY29kZXMuam9pbigiICsgXG4gICAgICAgICAgICAi
KSwKKyAgICAgIH07CisgICAgfTsKKworICAgIC8vIFRlc3QgbWF4KzEgdW5pZm9ybXMgb2YgdHlw
ZS4KKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFy
YW1zKHNoYWRlclR5cGUudmVydFVuaWZvcm1UZXN0LCBnZW5lcmF0ZUNvZGUobnVtVmFycyArIDEp
LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLnZlcnRFeHBlY3RhdGlv
biwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJh
Z1VuaWZvcm1UZXN0LCBnZW5lcmF0ZUNvZGUobnVtVmFycyArIDEpLCBpbmZvKSwKKyAgICAgIGZT
aGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLmZyYWdFeHBlY3RhdGlvbiwKKyAgICAgIGxpbmtTdWNj
ZXNzOiBmYWxzZSwKKyAgICAgIHBhc3NNc2c6IHNoYWRlclR5cGUudHlwZSArICIgc2hhZGVyIHdp
dGggIiArIChudW1WYXJzICsgMSkgKyAiIHVuaWZvcm1zIG9mICIgKyBpbmZvLnR5cGUgKyAiIChv
bmUgcGFzdCBtYXhpbXVtKSBzaG91bGQgZmFpbCIsCisgICAgfSk7CisKKyAgICAvLyBUZXN0IHJl
cXVpcmVkIHVuaWZvcm1zIG9mIHR5cGUuCisgICAgdGVzdHMucHVzaCh7CisgICAgICB2U2hhZGVy
U291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRVbmlmb3JtVGVzdCwgZ2Vu
ZXJhdGVDb2RlKG1pblZhcnMpLCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAor
ICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnVW5p
Zm9ybVRlc3QsIGdlbmVyYXRlQ29kZShtaW5WYXJzKSwgaW5mbyksCisgICAgICBmU2hhZGVyU3Vj
Y2VzczogdHJ1ZSwKKyAgICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgICAgcGFzc01zZzogc2hh
ZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCAiICsgbWluVmFycyArICIgdW5pZm9ybXMgb2Yg
IiArIGluZm8udHlwZSArICIgKHRoZSBtaW5pbXVtIHJlcXVpcmVkKSBzaG91bGQgc3VjY2VlZCIs
CisgICAgfSk7CisgIH0KK30KK0dMU0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0cyh0ZXN0cyk7
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0
cmljdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0
aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3MzY0MjMyNmY2MTQ4MjZkYzA0YzE0ZTA4NmVkNDMyNTQ2
M2FkM2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2lu
Zy1yZXN0cmljdGlvbnMuaHRtbApAQCAtMCwwICsxLDIyMCBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdmFyeWluZyBwYWNraW5nIHJlc3Ry
Y3Rpb25zIENvbmZvcm1hbmNlIFRlc3Q8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3Mi
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10
ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3
aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyQXJyYXlU
ZXN0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9u
OwordmFyeWluZyAkKHR5cGUpIHZfdmFyeWluZ1skKG51bVRlc3RUeXBlKV07Cit2b2lkIG1haW4o
KQoreworICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICAkKHZjb2RlKQorfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyQXJyYXlUZXN0IiB0eXBlPSJ4LXNoYWRlci94LWZy
YWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICB2YXJ5aW5nICQodHlw
ZSkgdl92YXJ5aW5nWyQobnVtVGVzdFR5cGUpXTsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAg
ICAgICAgZ2xfRnJhZ0NvbG9yID0gJChmY29kZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJ2c2hhZGVyVmFyeWluZ1Rlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorYXR0
cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKyQodmFyeWluZ3MpCisgICAgdm9pZCBtYWluKCkKKyAg
ICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICAgICAgJCh2Y29kZSkK
KyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJWYXJ5aW5nVGVzdCIgdHlwZT0i
eC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CiskKHZh
cnlpbmdzKQorICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSAk
KGZjb2RlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNj
cmlwdGlvbigpOworZGVidWcoIiIpOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworCit2YXIgdmFyeWluZ1R5cGVzID0g
WworICB7IHR5cGU6ICJmbG9hdCIsICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDEsIHJvd3M6IDEs
IHZjb2RlOiAidl92YXJ5aW5nJChpZCkkKGluZGV4KSA9IDEuMDsiLCAgICAgICAgICAgICAgZmNv
ZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleCksIDAsIDAsIDApIiwgfSwKKyAgeyB0eXBl
OiAidmVjMiIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiAyLCByb3dzOiAxLCB2Y29kZTogInZf
dmFyeWluZyQoaWQpJChpbmRleCkgPSB2ZWMyKDAsIDApOyIsICAgICAgIGZjb2RlOiAidmVjNCh2
X3ZhcnlpbmckKGlkKSQoaW5kZXgpLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzMiLCAgICAg
ICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czogMSwgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQo
aW5kZXgpID0gdmVjMygwLCAwLCAwKTsiLCAgICBmY29kZTogInZlYzQodl92YXJ5aW5nJChpZCkk
KGluZGV4KSwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWM0IiwgICAgICAgIGNvbXBvbmVudHNQZXJS
b3c6IDQsIHJvd3M6IDEsIHZjb2RlOiAidl92YXJ5aW5nJChpZCkkKGluZGV4KSA9IHZlYzQoMCwg
MCwgMCwgMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleCkpIiwgfSwKKy8v
IFllcywgdGhlIHNwZWMgc2F5cyBtYXQyIHRha2VzIDQgY29sdW1ucywgMiByb3dzLiAgICB2Y29k
ZTogIiIsCisgIHsgdHlwZTogIm1hdDIiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93
czogMiwgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gbWF0MigxLjApOyIsIGZjb2Rl
OiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpWzBdLCAwLCAwKSIsIH0sCisgIHsgdHlwZTog
Im1hdDMiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czogMywgdmNvZGU6ICJ2X3Zh
cnlpbmckKGlkKSQoaW5kZXgpID0gbWF0MygxLjApOyIsIGZjb2RlOiAidmVjNCh2X3Zhcnlpbmck
KGlkKSQoaW5kZXgpWzBdLCAwKSIsIH0sCisgIHsgdHlwZTogIm1hdDQiLCAgICAgICAgY29tcG9u
ZW50c1BlclJvdzogNCwgcm93czogNCwgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0g
bWF0NCgxLjApOyIsIGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpWzBdKSIsIH0s
CitdOworCit2YXIgdkFycmF5VGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoInZzaGFkZXJBcnJh
eVRlc3QiKTsKK3ZhciBmQXJyYXlUZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgiZnNoYWRlckFy
cmF5VGVzdCIpOwordmFyIHZWYXJ5aW5nVGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoInZzaGFk
ZXJWYXJ5aW5nVGVzdCIpOwordmFyIGZWYXJ5aW5nVGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQo
ImZzaGFkZXJWYXJ5aW5nVGVzdCIpOworCit2YXIgbWluVmFyeWluZ1ZlY3RvcnMgPSA4OwordmFy
IG1heFZhcnlpbmdWZWN0b3JzID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WQVJZSU5HX1ZFQ1RP
UlMpOwordmFyIHRlc3RzID0gW107CisKK2ZvciAodmFyIGlpID0gMDsgaWkgPCB2YXJ5aW5nVHlw
ZXMubGVuZ3RoOyArK2lpKSB7CisgIHZhciBpbmZvID0gdmFyeWluZ1R5cGVzW2lpXTsKKyAgd3R1
LmxvZygiY2hlY2tpbmc6ICIgKyBpbmZvLnR5cGUpOworICAvLyBDb21wdXRlIHRoZSBtYXhpbXVt
IGFtb3VudCBvZiB0aGlzIHR5cGUgYWxsb3dlZCBpbiBhIHNpbmdsZSBhcnJheS4KKyAgdmFyIG51
bVZhcnMgPSBNYXRoLmZsb29yKG1heFZhcnlpbmdWZWN0b3JzIC8gaW5mby5yb3dzKTsKKyAgLy8g
Q29tcHV0ZSB0aGUgbWluaW11bSByZXF1aXJlZCB0byB3b3JrIGluIGEgc2luZ2xlIGFycmF5Lgor
ICB2YXIgbWluVmFycyA9IE1hdGguZmxvb3IobWluVmFyeWluZ1ZlY3RvcnMgLyBpbmZvLnJvd3Mp
OworICAvLyBUZXN0IGFycmF5WzFdIG9mIHRoZSB0eXBlCisgIHZhciB2Y29kZSA9IHd0dS5yZXBs
YWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0pOworICB2YXIgZmNv
ZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlswXSJ9
KTsKKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMo
dkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiAxLCB2Y29kZTogdmNvZGV9LCBpbmZvKSwK
KyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFj
ZVBhcmFtcyhmQXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IDEsIGZjb2RlOiBmY29kZX0s
IGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVl
LAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggdmFyeWluZyBhcnJheSBvZiAiICsgaW5mby50
eXBlICsgIiB3aXRoIDEgZWxlbWVudCBzaG91bGQgc3VjY2VlZCIsCisgIH0pOworICAvLyBkbyB0
aGUgbWluaW11bSBudW1iZXIuIEFmdGVyIHRoYXQgaXQgY2FuIGZhaWwgZm9yIGFueSByZWFzb24u
CisgIGlmIChmYWxzZSkgeworICAgIHZhciB2Y29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8u
dmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyAobnVtVmFycyAtIDEpICsgIl0ifSk7CisgICAg
dmFyIGZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby5mY29kZSwge2lkOiAiIiwgaW5kZXg6
ICJbIiArIChudW1WYXJzIC0gMSkgKyAiXSJ9KTsKKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZT
aGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0
VHlwZTogbnVtVmFycywgdmNvZGU6IHZjb2RlfSwgaW5mbyksCisgICAgICB2U2hhZGVyU3VjY2Vz
czogdHJ1ZSwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRl
c3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbnVtVmFycywgZmNvZGU6IGZjb2RlfSwgaW5mbyksCisg
ICAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAg
ICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBpbmZvLnR5cGUg
KyAiIHdpdGggIiArIG51bVZhcnMgKyAiIGVsZW1lbnRzICh0aGUgbWF4aW11bSkgc2hvdWxkIHN1
Y2NlZWQiLAorICAgIH0pOworICB9CisKKyAgLy8gVGVzdCByZXF1aXJlZCBudW1iZXIgb2YgdW5p
Zm9ybXMKKyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiAi
IiwgaW5kZXg6ICJbIiArIChtaW5WYXJzIC0gMSkgKyAiXSJ9KTsKKyAgdmFyIGZjb2RlID0gd3R1
LnJlcGxhY2VQYXJhbXMoaW5mby5mY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChtaW5WYXJz
IC0gMSkgKyAiXSJ9KTsKKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1LnJl
cGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBtaW5WYXJzLCB2Y29k
ZTogdmNvZGV9LCBpbmZvKSwKKyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBmU2hhZGVy
U291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmQXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6
IG1pblZhcnMsIGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVl
LAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggdmFy
eWluZyBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRoICIgKyBtaW5WYXJzICsgIiBlbGVt
ZW50cyAodGhlIG1pbmltdW0gcmVxdWlyZWQpIHNob3VsZCBzdWNjZWVkIiwKKyAgfSk7CisKKyAg
Ly8gVGVzdCBhcnJheVttYXggKyAxXSBhY2Nlc3NpbmcgbGFzdCBlbGVtZW50LiBXZWJHTCByZXF1
aXJlcyB0aGlzIHRvIGZhaWwuCisgIHZhciB2Y29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8u
dmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyBudW1WYXJzICsgIl0ifSk7CisgIHZhciBmY29k
ZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyBu
dW1WYXJzICsgIl0ifSk7CisgIHRlc3RzLnB1c2goeworICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5y
ZXBsYWNlUGFyYW1zKHZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEs
IHZjb2RlOiB2Y29kZX0sIGluZm8pLAorICAgIHZTaGFkZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBm
U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmQXJyYXlUZXN0U291cmNlLCB7bnVtVGVz
dFR5cGU6IG51bVZhcnMgKyAxLCBmY29kZTogZmNvZGV9LCBpbmZvKSwKKyAgICBmU2hhZGVyU3Vj
Y2VzczogZmFsc2UsCisgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICAgIHBhc3NNc2c6ICJzaGFk
ZXJzIHdpdGggdmFyeWluZyBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRoICIgKyAobnVt
VmFycyArIDEpICsgIiBlbGVtZW50cyAob25lIHBhc3QgbWF4aW11bSkgYWNjZXNzaW5nIGxhc3Qg
ZWxlbWVudCBzaG91bGQgZmFpbCIsCisgIH0pOworCisgIC8vIFRlc3QgYXJyYXlbbWF4ICsgMV0g
YWNjZXNzaW5nIGZpcnN0IGVsZW1lbnQuIFdlYkdMIHJlcXVpcmVzIHRoaXMgdG8gZmFpbCBidXQg
RVMgYWxsb3dzIHRydW5jYXRpbmcgYXJyYXkuCisgIHZhciB2Y29kZSA9IHd0dS5yZXBsYWNlUGFy
YW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0pOworICB2YXIgZmNvZGUgPSB3
dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlswXSJ9KTsKKyAg
dGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXModkFycmF5
VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgdmNvZGU6IHZjb2RlfSwgaW5m
byksCisgICAgdlNoYWRlclN1Y2Nlc3M6IGZhbHNlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5y
ZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEs
IGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBs
aW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFy
cmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIGVsZW1l
bnRzIChvbmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3NpbmcgZmlyc3QgZWxlbWVudCBzaG91bGQgZmFp
bCIsCisgIH0pOworCisgIC8vIFRlc3QgbWF4IHVuaWZvcm1zIG9mIHR5cGUuCisgIC8vIE5vdGU6
IFdlIGNhbid0IHRlc3QgdGhpcyBhcyBhY3R1YWwgR0wgZHJpdmVycyBhcmUgb25seSByZXF1aXJl
ZCB0byBiZSBhYmxlIHRvCisgIC8vIGRvIHRoZSBtaW5pbXVtIG51bWJlci4gQWZ0ZXIgdGhhdCBp
dCBjYW4gZmFpbCBmb3IgYW55IHJlYXNvbi4KKyAgaWYgKGZhbHNlKSB7CisgIH0KKworICB2YXIg
Z2VuZXJhdGVDb2RlID0gZnVuY3Rpb24obnVtVmFycykgeworICAgIHZhciB2YXJ5aW5ncyA9IFtd
OworICAgIHZhciB2Y29kZXMgPSBbXTsKKyAgICB2YXIgZmNvZGVzID0gW107CisgICAgZm9yICh2
YXIgdXUgPSAwOyB1dSA8IG51bVZhcnM7ICsrdXUpIHsKKyAgICAgIHZhcnlpbmdzLnB1c2goIiAg
ICB2YXJ5aW5nICIgKyBpbmZvLnR5cGUgKyAiIHZfdmFyeWluZyIgKyB1dSArICI7Iik7CisgICAg
ICB2Y29kZXMucHVzaCh3dHUucmVwbGFjZVBhcmFtcyhpbmZvLnZjb2RlLCB7aWQ6IHV1LCBpbmRl
eDogIiJ9KSk7CisgICAgICBmY29kZXMucHVzaCh3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2Rl
LCB7aWQ6IHV1LCBpbmRleDogIiJ9KSk7CisgICAgfQorICAgIHJldHVybiB7CisgICAgICB2YXJ5
aW5nczogdmFyeWluZ3Muam9pbigiXG4iKSwKKyAgICAgIHZjb2RlOiB2Y29kZXMuam9pbigiXG4g
ICAgICAgICAgICAiKSwKKyAgICAgIGZjb2RlOiBmY29kZXMuam9pbigiICsgXG4gICAgICAgICAg
ICAiKSwKKyAgICB9OworICB9OworCisgIC8vIFRlc3QgbWF4KzEgdmFyeWluZ3Mgb2YgdHlwZS4K
KyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXModlZh
cnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNvZGUobnVtVmFycyArIDEpLCBpbmZvKSwKKyAgICB2
U2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJh
bXMoZlZhcnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNvZGUobnVtVmFycyArIDEpLCBpbmZvKSwK
KyAgICBmU2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICAg
IHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIHZhcnlpbmdzIG9m
ICIgKyBpbmZvLnR5cGUgKyAiIChvbmUgcGFzdCBtYXhpbXVtKSBzaG91bGQgZmFpbCIsCisgIH0p
OworCisgIC8vIFRlc3QgcmVxdWlyZWQgdmFyeWluZ3Mgb2YgdHlwZS4KKyAgdGVzdHMucHVzaCh7
CisgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXModlZhcnlpbmdUZXN0U291cmNl
LCBnZW5lcmF0ZUNvZGUobWluVmFycyksIGluZm8pLAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVl
LAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZWYXJ5aW5nVGVzdFNvdXJj
ZSwgZ2VuZXJhdGVDb2RlKG1pblZhcnMpLCBpbmZvKSwKKyAgICBmU2hhZGVyU3VjY2VzczogdHJ1
ZSwKKyAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICBwYXNzTXNnOiAic2hhZGVycyB3aXRoICIg
KyBtaW5WYXJzICsgIiB2YXJ5aW5ncyBvZiAiICsgaW5mby50eXBlICsgIiAodGhlIG1pbmltdW0g
cmVxdWlyZWQpIHNob3VsZCBzdWNjZWVkIiwKKyAgfSk7Cit9CisKK0dMU0xDb25mb3JtYW5jZVRl
c3Rlci5ydW5UZXN0cyh0ZXN0cyk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kZGM2OGE5NDJkNjQ0ZjdmMGZmM2U2ZmY1YTIxZGEyMWJhZmE3NzFkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFp
bmluZy1hcnJheXMuaHRtbApAQCAtMCwwICsxLDE1NyBAQAorCis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5HTFNMIEFycmF5IG9mIFN0cnVjdHMgQ29udGFp
bmluZyBBcnJheXM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKwor
PHNjcmlwdCBpZD0idnNoYWRlciIsIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0
ZSB2ZWM0IGFfcG9zaXRpb247Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX1Bvc2l0aW9uID0g
YV9wb3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjAiLCB0eXBlPSJ4
LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Oworc3RydWN0IG15
X3N0cnVjdCB7CisgIHZlYzQgY29sb3JbMl07Cit9OwordW5pZm9ybSBteV9zdHJ1Y3QgdV9jb2xv
cnNbMl07Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfY29sb3JzWzBd
LmNvbG9yWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMSIsIHR5cGU9Ingt
c2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CitzdHJ1Y3QgbXlf
c3RydWN0IHsKKyAgdmVjNCBjb2xvclsyXTsKK307Cit1bmlmb3JtIG15X3N0cnVjdCB1X2NvbG9y
c1syXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9jb2xvcnNbMF0u
Y29sb3JbMV07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXItd2l0aC1vbmUtZWxl
bWVudC1hcnJheXMiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRp
dW1wIGZsb2F0Oworc3RydWN0IG15X3N0cnVjdCB7CisgIHZlYzQgY29sb3JbMV07Cit9OwordW5p
Zm9ybSBteV9zdHJ1Y3QgdV9jb2xvcnNbMV07Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX0Zy
YWdDb2xvciA9IHVfY29sb3JzWzBdLmNvbG9yWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSJmc2hhZGVyMyIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7CitzdHJ1Y3QgbXlfc3RydWN0IHsKKyAgdmVjNCBjb2xvcjFbMl07CisgIHZlYzQg
Y29sb3IyWzJdOworfTsKK3VuaWZvcm0gbXlfc3RydWN0IHVfY29sb3JzWzJdOwordm9pZCBtYWlu
KHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X2NvbG9yc1swXS5jb2xvcjFbMF0gKyB1X2Nv
bG9yc1swXS5jb2xvcjJbMF0gKyB1X2NvbG9yc1sxXS5jb2xvcjFbMV0gK3VfY29sb3JzWzFdLmNv
bG9yMlsxXTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJjYW52
YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmlj
dCI7CitkZXNjcmlwdGlvbigpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wg
PSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjYW52YXMiKTsKK3d0dS5zZXR1cFVuaXRRdWFkKGdsKTsK
KworZm9yICh2YXIgaWkgPSAwOyBpaSA8IDI7ICsraWkpIHsKKyAgdmFyIHByb2dyYW0gPSB3dHUu
c2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlciIgKyBpaV0sIFsiYV9wb3NpdGlv
biJdKTsKKyAgdmFyIHJlZF9sb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVf
Y29sb3JzWzBdLmNvbG9yWyIgKyBpaSAgKyAiXSIpOworICB2YXIgZ3JlZW5fbG9jID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1swXS5jb2xvclsiICsgKDEgLSBpaSkg
KyAiXSIpOworICBnbC51bmlmb3JtNGZ2KHJlZF9sb2MsIFsxLCAwLCAwLCAxXSk7CisgIGdsLnVu
aWZvcm00ZnYoZ3JlZW5fbG9jLCBbMCwgMSwgMCwgMV0pOworICB3dHUuZHJhd1F1YWQoZ2wpOwor
ICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0sICJTaG91bGQgYmUgcmVkIik7
Cit9CisKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZz
aGFkZXItd2l0aC1vbmUtZWxlbWVudC1hcnJheXMiXSwgWyJhX3Bvc2l0aW9uIl0pOwordmFyIGdy
ZWVuX2xvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMF0uY29s
b3JbMF0iKTsKK2dsLnVuaWZvcm00ZnYoZ3JlZW5fbG9jLCBbMCwgMSwgMCwgMV0pOword3R1LmRy
YXdRdWFkKGdsKTsKK3d0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgIlNob3Vs
ZCBiZSBncmVlbiIpOworCit2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNo
YWRlciIsICJmc2hhZGVyMyJdLCBbImFfcG9zaXRpb24iXSk7Cit2YXIgbnVtVW5pZm9ybXMgPSBn
bC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkFDVElWRV9VTklGT1JNUyk7CitzaG91
bGRCZSgibnVtVW5pZm9ybXMiLCAiNCIpOwordmFyIHVuaWZvcm1zID0gW10KK2ZvciAodmFyIGlp
ID0gMDsgaWkgPCBudW1Vbmlmb3JtczsgKytpaSkgeworICB1bmlmb3Jtcy5wdXNoKGdsLmdldEFj
dGl2ZVVuaWZvcm0ocHJvZ3JhbSwgaWkpLm5hbWUpOworfQordW5pZm9ybXMuc29ydCgpOworc2hv
dWxkQmUoInVuaWZvcm1zWzBdIiwgJyJ1X2NvbG9yc1swXS5jb2xvcjFbMF0iJyk7CitzaG91bGRC
ZSgidW5pZm9ybXNbMV0iLCAnInVfY29sb3JzWzBdLmNvbG9yMlswXSInKTsKK3Nob3VsZEJlKCJ1
bmlmb3Jtc1syXSIsICcidV9jb2xvcnNbMV0uY29sb3IxWzBdIicpOworc2hvdWxkQmUoInVuaWZv
cm1zWzNdIiwgJyJ1X2NvbG9yc1sxXS5jb2xvcjJbMF0iJyk7Cit2YXIgbG9jMDAgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzBdLmNvbG9yMSIpOwordmFyIGxvYzAx
ID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1swXS5jb2xvcjIiKTsK
K3ZhciBsb2MxMCA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMV0u
Y29sb3IxIik7Cit2YXIgbG9jMTEgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVf
Y29sb3JzWzFdLmNvbG9yMiIpOworc2hvdWxkQmVUcnVlKCJsb2MwMCAhPSB1bmRlZmluZWQiKTsK
K3Nob3VsZEJlVHJ1ZSgibG9jMDEgIT0gdW5kZWZpbmVkIik7CitzaG91bGRCZVRydWUoImxvYzEw
ICE9IHVuZGVmaW5lZCIpOworc2hvdWxkQmVUcnVlKCJsb2MxMSAhPSB1bmRlZmluZWQiKTsKK2ds
LnVuaWZvcm00ZnYobG9jMDAsIFsxLCAwLCAwLCAwXSk7CitnbC51bmlmb3JtNGZ2KGxvYzAxLCBb
MCwgMSwgMCwgMF0pOworZ2wudW5pZm9ybTRmdihsb2MxMCwgWzAsIDAsIDAsIDAsIDAsIDAsIDEs
IDBdKTsKK2dsLnVuaWZvcm00ZnYobG9jMTEsIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAxXSk7Cit2
YXIgbG9jMTAxID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1sxXS5j
b2xvcjFbMV0iKTsKK3ZhciBsb2MxMTEgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwg
InVfY29sb3JzWzFdLmNvbG9yMlsxXSIpOworc2hvdWxkQmVUcnVlKCJsb2MxMDEgIT0gdW5kZWZp
bmVkIik7CitzaG91bGRCZVRydWUoImxvYzExMSAhPSB1bmRlZmluZWQiKTsKK3d0dS5kcmF3UXVh
ZChnbCwgWzAsIDAsIDAsIDBdKTsKK2dsLnVuaWZvcm00ZnYobG9jMTAxLCBbMCwgMCwgMCwgMF0p
OworZ2wudW5pZm9ybTRmdihsb2MxMTEsIFswLCAwLCAwLCAwXSk7Cit3dHUuZHJhd1F1YWQoZ2ws
IFswLCAwLCAwLCAwXSk7Cit3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDI1NSwgMCwgMF0sICJT
aG91bGQgYmUgeWVsbG93Iik7CisKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0
aGVyZSBzaG91bGQgYmUgbm8gZXJyb3JzIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRj
aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAwODhhY2Y5YWFiZTc5MzNiZTIwODNmNjU1MjUzNmE3ZDc5ZThi
ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlh
YmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMTI0IEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIENvbmZvcm1h
bmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9nbHNsLWNvbmZvcm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgaWQ9ImZzaGFkZXJXaXRoTWVkaXVtcEdsb2JhbCIgdHlwZT0idGV4dC9zb21ldGhpbmct
bm90LWphdmFzY3JpcHQiPgorLy8gVGhlcmUgaXMgbm8gZGVmYXVsdCBwcmVjaXNpb24gaW4gZnJh
Z21lbnQgc2hhZGVycywgc28gc3BlY2lmeSBtZWRpdW1wLgorcHJlY2lzaW9uIG1lZGl1bXAgZmxv
YXQ7CisKK3VuaWZvcm0gdmVjNCBmb287CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0Nv
bG9yID0gZm9vOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyV2l0aE1lZGl1bXBH
bG9iYWxTdHJ1Y3QiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KKy8vIFRo
ZXJlIGlzIG5vIGRlZmF1bHQgcHJlY2lzaW9uIGluIGZyYWdtZW50IHNoYWRlcnMsIHNvIHNwZWNp
ZnkgbWVkaXVtcC4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCitzdHJ1Y3QgZm9vCit7Cisg
ICB2ZWM0IGJhcjsKK307CisKK3VuaWZvcm0gZm9vIGJhejsKKwordm9pZCBtYWluKCkKK3sKKyAg
ICBnbF9GcmFnQ29sb3IgPSBiYXouYmFyOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hh
ZGVyV2l0aEhpZ2hwR2xvYmFsIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisvLyBEZWZhdWx0
IHByZWNpc2lvbiBmb3IgdmVydGV4IHNoYWRlcnMgaXMgaGlnaHAuCit1bmlmb3JtIHZlYzQgZm9v
OworCit2b2lkIG1haW4oKSB7CisgICAgZ2xfUG9zaXRpb24gPSBmb287Cit9Cis8L3NjcmlwdD4K
KzxzY3JpcHQgaWQ9InZzaGFkZXJXaXRoSGlnaHBHbG9iYWxTdHJ1Y3QiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KKy8vIERlZmF1bHQgcHJlY2lzaW9uIGZvciB2ZXJ0ZXggc2hhZGVycyBpcyBo
aWdocC4KK3N0cnVjdCBmb28KK3sKKyAgIHZlYzQgYmFyOworfTsKKwordW5pZm9ybSBmb28gYmF6
OworCit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gYmF6LmJhcjsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJDaGVja3Mgc2hhZGVy
cyB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgYW5kIHByZWNpc2lvbiBxdWFsaWZpZXIgbWlzbWF0Y2gu
Iik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKwordmFyIGdsc2xUZXN0cyA9IFtdOwor
CitnbHNsVGVzdHMucHVzaCh7CisgIHZTaGFkZXJJZDogJ3ZzaGFkZXJXaXRoSGlnaHBHbG9iYWwn
LAorICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgZlNoYWRlcklkOiAnZnNoYWRlcldpdGhNZWRp
dW1wR2xvYmFsJywKKyAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgIGxpbmtTdWNjZXNzOiBmYWxz
ZSwKKyAgcGFzc01zZzogIm1pc21hdGNoaW5nIHByZWNpc2lvbiBmb3IgdW5pZm9ybXMgY2F1c2Vz
IGxpbmsgZXJyb3IgKGFzIGV4cGVjdGVkKSIsCit9KTsKKworZ2xzbFRlc3RzLnB1c2goeworICB2
U2hhZGVySWQ6ICd2c2hhZGVyV2l0aEhpZ2hwR2xvYmFsU3RydWN0JywKKyAgdlNoYWRlclN1Y2Nl
c3M6IHRydWUsCisgIGZTaGFkZXJJZDogJ2ZzaGFkZXJXaXRoTWVkaXVtcEdsb2JhbFN0cnVjdCcs
CisgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICBsaW5rU3VjY2VzczogZmFsc2UsCisgIHBhc3NN
c2c6ICJtaXNtYXRjaGluZyBwcmVjaXNpb24gZm9yIHN0cnVjdHVyZSB1bmlmb3JtcyBjYXVzZXMg
bGluayBlcnJvciAoYXMgZXhwZWN0ZWQpIiwKK30pOworCitHTFNMQ29uZm9ybWFuY2VUZXN0ZXIu
cnVuVGVzdHMoZ2xzbFRlc3RzKTsKKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzhhMTYwZjc1YTVh
MTQwZTQzOGUzOTljYzZkOGUzNDZjOWI0MGZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sCkBAIC0wLDAgKzEsNzI0IEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNM
IENvbmZvcm1hbmNlIFRlc3RzIC0gTm9uIFJlc2VydmVkIFdvcmRzPC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZl
YXR1cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2ds
c2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCBpZD0idmVydGV4U2hhZGVyMCIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQi
Pgorc3RydWN0ICRyZXBsYWNlTWUgeworICB2ZWM0ICRyZXBsYWNlTWU7Cit9Oworc3RydWN0IEZv
byB7CisgICRyZXBsYWNlTWUgJHJlcGxhY2VNZTsKK307CithdHRyaWJ1dGUgdmVjNCBwb3NpdGlv
bjsKK3ZvaWQgbWFpbigpCit7CisgICAgRm9vIGY7CisgICAgZi4kcmVwbGFjZU1lLiRyZXBsYWNl
TWUgPSBwb3NpdGlvbjsKKyAgICBnbF9Qb3NpdGlvbiA9IGYuJHJlcGxhY2VNZS4kcmVwbGFjZU1l
OworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNoYWRlcjAiIHR5cGU9InRleHQv
c29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordmVj
NCAkcmVwbGFjZU1lKCkgeworICAgIHJldHVybiB2ZWM0KDAsMSwwLDEpOworfQordm9pZCBtYWlu
KCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSAkcmVwbGFjZU1lKCk7Cit9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9InZlcnRleFNoYWRlcjEiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2Ny
aXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0ICRyZXBsYWNlTWU7Cit2b2lkIG1haW4oKQoreworICAgIGds
X1Bvc2l0aW9uID0gJHJlcGxhY2VNZTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZ21l
bnRTaGFkZXIxIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CitwcmVjaXNp
b24gbWVkaXVtcCBmbG9hdDsKK3ZlYzQgZm9vKHZlYzQgJHJlcGxhY2VNZSkgeworICByZXR1cm4g
JHJlcGxhY2VNZTsKK30KK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gZm9vKHZl
YzQoMSwwLDEsMSkpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhTaGFkZXIyIiB0
eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+Cit2YXJ5aW5nIHZlYzQgJHJlcGxh
Y2VNZTsKK2F0dHJpYnV0ZSB2ZWM0IHBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Q
b3NpdGlvbiA9IHBvc2l0aW9uOworICAgICRyZXBsYWNlTWUgPSBwb3NpdGlvbjsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXIyIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1u
b3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3ZhcnlpbmcgdmVjNCAk
cmVwbGFjZU1lOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSAkcmVwbGFjZU1l
OworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhTaGFkZXIzIiB0eXBlPSJ0ZXh0L3Nv
bWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CithdHRyaWJ1dGUgdmVjNCBwb3NpdGlvbjsKK3ZvaWQg
bWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSBwb3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNj
cmlwdCBpZD0iZnJhZ21lbnRTaGFkZXIzIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNj
cmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gdmVjNCAkcmVwbGFjZU1l
Owordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSAkcmVwbGFjZU1lOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIERYV29yZHMgPSBbCisgICJCdWZm
ZXIiLAorICAiZG91YmxlIiwKKyAgInVpbnQiLAorICAiaGFsZiIsCisgICJkd29yZCIsCisgICJz
dHJpbmciLAorICAidGV4dHVyZSIsCisgICJwaXhlbHNoYWRlciIsCisgICJ2ZXJ0ZXhzaGFkZXIi
LAorICAic3dpdGNoIiwKKyAgIm1pbjE2ZmxvYXQiLAorICAibWluMTBmbG9hdCIsCisgICJtaW4x
NmludCIsCisgICJtaW4xMmludCIsCisgICJtaW4xNnVpbnQiLAorICAidmVjdG9yIiwKKyAgIm1h
dHJpeCIsCisgICJmbG9hdDIiLAorICAiZmxvYXQzIiwKKyAgImZsb2F0NCIsCisgICJmbG9hdDF4
MSIsCisgICJmbG9hdDF4MiIsCisgICJmbG9hdDF4MyIsCisgICJmbG9hdDF4NCIsCisgICJmbG9h
dDJ4MSIsCisgICJmbG9hdDJ4MiIsCisgICJmbG9hdDJ4MyIsCisgICJmbG9hdDJ4NCIsCisgICJm
bG9hdDN4MSIsCisgICJmbG9hdDN4MiIsCisgICJmbG9hdDN4MyIsCisgICJmbG9hdDN4NCIsCisg
ICJmbG9hdDR4MSIsCisgICJmbG9hdDR4MiIsCisgICJmbG9hdDR4MyIsCisgICJmbG9hdDR4NCIs
CisgICJpbnQxeDEiLAorICAiaW50MXgyIiwKKyAgImludDF4MyIsCisgICJpbnQxeDQiLAorICAi
aW50MngxIiwKKyAgImludDJ4MiIsCisgICJpbnQyeDMiLAorICAiaW50Mng0IiwKKyAgImludDN4
MSIsCisgICJpbnQzeDIiLAorICAiaW50M3gzIiwKKyAgImludDN4NCIsCisgICJpbnQ0eDEiLAor
ICAiaW50NHgyIiwKKyAgImludDR4MyIsCisgICJpbnQ0eDQiLAorICAiZG91YmxlMXgxIiwKKyAg
ImRvdWJsZTF4MiIsCisgICJkb3VibGUxeDMiLAorICAiZG91YmxlMXg0IiwKKyAgImRvdWJsZTJ4
MSIsCisgICJkb3VibGUyeDIiLAorICAiZG91YmxlMngzIiwKKyAgImRvdWJsZTJ4NCIsCisgICJk
b3VibGUzeDEiLAorICAiZG91YmxlM3gyIiwKKyAgImRvdWJsZTN4MyIsCisgICJkb3VibGUzeDQi
LAorICAiZG91YmxlNHgxIiwKKyAgImRvdWJsZTR4MiIsCisgICJkb3VibGU0eDMiLAorICAiZG91
YmxlNHg0IiwKKyAgImFib3J0IiwKKyAgImFicyIsCisgICJhY29zIiwKKyAgImFsbCIsCisgICJB
bGxNZW1vcnlCYXJyaWVyIiwKKyAgIkFsbE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIiwKKyAg
ImFueSIsCisgICJhc2RvdWJsZSIsCisgICJhc2Zsb2F0IiwKKyAgImFzaW4iLAorICAiYXNpbnQi
LAorICAiYXNpbnQiLAorICAiYXN1aW50IiwKKyAgImFzdWludCIsCisgICJhdGFuIiwKKyAgImF0
YW4yIiwKKyAgImNlaWwiLAorICAiY2xhbXAiLAorICAiY2xpcCIsCisgICJjb3MiLAorICAiY29z
aCIsCisgICJjb3VudGJpdHMiLAorICAiY3Jvc3MiLAorICAiRDNEQ09MT1J0b1VCWVRFNCIsCisg
ICJkZHgiLAorICAiZGR4X2NvYXJzZSIsCisgICJkZHhfZmluZSIsCisgICJkZHkiLAorICAiZGR5
X2NvYXJzZSIsCisgICJkZHlfZmluZSIsCisgICJkZWdyZWVzIiwKKyAgImRldGVybWluYW50IiwK
KyAgIkRldmljZU1lbW9yeUJhcnJpZXIiLAorICAiRGV2aWNlTWVtb3J5QmFycmllcldpdGhHcm91
cFN5bmMiLAorICAiZGlzdGFuY2UiLAorICAiZG90IiwKKyAgImRzdCIsCisgICJlcnJvcmYiLAor
ICAiRXZhbHVhdGVBdHRyaWJ1dGVBdENlbnRyb2lkIiwKKyAgIkV2YWx1YXRlQXR0cmlidXRlQXRT
YW1wbGUiLAorICAiRXZhbHVhdGVBdHRyaWJ1dGVTbmFwcGVkIiwKKyAgImV4cCIsCisgICJleHAy
IiwKKyAgImYxNnRvZjMyIiwKKyAgImYzMnRvZjE2IiwKKyAgImZhY2Vmb3J3YXJkIiwKKyAgImZp
cnN0Yml0aGlnaCIsCisgICJmaXJzdGJpdGxvdyIsCisgICJmbG9vciIsCisgICJmbWEiLAorICAi
Zm1vZCIsCisgICJmcmFjIiwKKyAgImZyZXhwIiwKKyAgImZ3aWR0aCIsCisgICJHZXRSZW5kZXJU
YXJnZXRTYW1wbGVDb3VudCIsCisgICJHZXRSZW5kZXJUYXJnZXRTYW1wbGVQb3NpdGlvbiIsCisg
ICJHcm91cE1lbW9yeUJhcnJpZXIiLAorICAiR3JvdXBNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3lu
YyIsCisgICJJbnRlcmxvY2tlZEFkZCIsCisgICJJbnRlcmxvY2tlZEFuZCIsCisgICJJbnRlcmxv
Y2tlZENvbXBhcmVFeGNoYW5nZSIsCisgICJJbnRlcmxvY2tlZENvbXBhcmVTdG9yZSIsCisgICJJ
bnRlcmxvY2tlZEV4Y2hhbmdlIiwKKyAgIkludGVybG9ja2VkTWF4IiwKKyAgIkludGVybG9ja2Vk
TWluIiwKKyAgIkludGVybG9ja2VkT3IiLAorICAiSW50ZXJsb2NrZWRYb3IiLAorICAiaXNmaW5p
dGUiLAorICAiaXNpbmYiLAorICAiaXNuYW4iLAorICAibGRleHAiLAorICAibGVuZ3RoIiwKKyAg
ImxlcnAiLAorICAibGl0IiwKKyAgImxvZyIsCisgICJsb2cxMCIsCisgICJsb2cyIiwKKyAgIm1h
ZCIsCisgICJtYXgiLAorICAibWluIiwKKyAgIm1vZGYiLAorICAibXNhZDQiLAorICAibXVsIiwK
KyAgIm5vaXNlIiwKKyAgIm5vcm1hbGl6ZSIsCisgICJwb3ciLAorICAicHJpbnRmIiwKKyAgIlBy
b2Nlc3MyRFF1YWRUZXNzRmFjdG9yc0F2ZyIsCisgICJQcm9jZXNzMkRRdWFkVGVzc0ZhY3RvcnNN
YXgiLAorICAiUHJvY2VzczJEUXVhZFRlc3NGYWN0b3JzTWluIiwKKyAgIlByb2Nlc3NJc29saW5l
VGVzc0ZhY3RvcnMiLAorICAiUHJvY2Vzc1F1YWRUZXNzRmFjdG9yc0F2ZyIsCisgICJQcm9jZXNz
UXVhZFRlc3NGYWN0b3JzTWF4IiwKKyAgIlByb2Nlc3NRdWFkVGVzc0ZhY3RvcnNNaW4iLAorICAi
UHJvY2Vzc1RyaVRlc3NGYWN0b3JzQXZnIiwKKyAgIlByb2Nlc3NUcmlUZXNzRmFjdG9yc01heCIs
CisgICJQcm9jZXNzVHJpVGVzc0ZhY3RvcnNNaW4iLAorICAicmFkaWFucyIsCisgICJyY3AiLAor
ICAicmVmbGVjdCIsCisgICJyZWZyYWN0IiwKKyAgInJldmVyc2ViaXRzIiwKKyAgInJvdW5kIiwK
KyAgInJzcXJ0IiwKKyAgInNhdHVyYXRlIiwKKyAgInNpZ24iLAorICAic2luIiwKKyAgInNpbmNv
cyIsCisgICJzaW5oIiwKKyAgInNtb290aHN0ZXAiLAorICAic3FydCIsCisgICJzdGVwIiwKKyAg
InRhbiIsCisgICJ0YW5oIiwKKyAgInRleDFEIiwKKyAgInRleDFEIiwKKyAgInRleDFEYmlhcyIs
CisgICJ0ZXgxRGdyYWQiLAorICAidGV4MURsb2QiLAorICAidGV4MURwcm9qIiwKKyAgInRleDJE
IiwKKyAgInRleDJEIiwKKyAgInRleDJEYmlhcyIsCisgICJ0ZXgyRGdyYWQiLAorICAidGV4MkRs
b2QiLAorICAidGV4MkRwcm9qIiwKKyAgInRleDNEIiwKKyAgInRleDNEIiwKKyAgInRleDNEYmlh
cyIsCisgICJ0ZXgzRGdyYWQiLAorICAidGV4M0Rsb2QiLAorICAidGV4M0Rwcm9qIiwKKyAgInRl
eENVQkUiLAorICAidGV4Q1VCRSIsCisgICJ0ZXhDVUJFYmlhcyIsCisgICJ0ZXhDVUJFZ3JhZCIs
CisgICJ0ZXhDVUJFbG9kIiwKKyAgInRleENVQkVwcm9qIiwKKyAgInRyYW5zcG9zZSIsCisgICJ0
cnVuYyIKK107CisKK3ZhciBHTFNMXzRfMjBfMTFfd29yZHMgPSBbCisgICJhdHRyaWJ1dGUiLAor
ICAiY29uc3QiLAorICAidW5pZm9ybSIsCisgICJ2YXJ5aW5nIiwKKyAgImNvaGVyZW50IiwKKyAg
InZvbGF0aWxlIiwKKyAgInJlc3RyaWN0IiwKKyAgInJlYWRvbmx5IiwKKyAgIndyaXRlb25seSIs
CisgICJhdG9taWNfdWludCIsCisgICJsYXlvdXQiLAorICAiY2VudHJvaWQiLAorICAiZmxhdCIs
CisgICJzbW9vdGgiLAorICAibm9wZXJzcGVjdGl2ZSIsCisgICJwYXRjaCIsCisgICJzYW1wbGUi
LAorICAiYnJlYWsiLAorICAiY29udGludWUiLAorICAiZG8iLAorICAiZm9yIiwKKyAgIndoaWxl
IiwKKyAgInN3aXRjaCIsCisgICJjYXNlIiwKKyAgImRlZmF1bHQiLAorICAiaWYiLAorICAiZWxz
ZSIsCisgICJzdWJyb3V0aW5lIiwKKyAgImluIiwKKyAgIm91dCIsCisgICJpbm91dCIsCisgICJm
bG9hdCIsCisgICJkb3VibGUiLAorICAiaW50IiwKKyAgInZvaWQiLAorICAiYm9vbCIsCisgICJ0
cnVlIiwKKyAgImZhbHNlIiwKKyAgImludmFyaWFudCIsCisgICJkaXNjYXJkIiwKKyAgInJldHVy
biIsCisgICJtYXQyIiwKKyAgIm1hdDMiLAorICAibWF0NCIsCisgICJkbWF0MiIsCisgICJkbWF0
MyIsCisgICJkbWF0NCIsCisgICJtYXQyeDIiLAorICAibWF0MngzIiwKKyAgIm1hdDJ4NCIsCisg
ICJkbWF0MngyIiwKKyAgImRtYXQyeDMiLAorICAiZG1hdDJ4NCIsCisgICJtYXQzeDIiLAorICAi
bWF0M3gzIiwKKyAgIm1hdDN4NCIsCisgICJkbWF0M3gyIiwKKyAgImRtYXQzeDMiLAorICAiZG1h
dDN4NCIsCisgICJtYXQ0eDIiLAorICAibWF0NHgzIiwKKyAgIm1hdDR4NCIsCisgICJkbWF0NHgy
IiwKKyAgImRtYXQ0eDMiLAorICAiZG1hdDR4NCIsCisgICJ2ZWMyIiwKKyAgInZlYzMiLAorICAi
dmVjNCIsCisgICJpdmVjMiIsCisgICJpdmVjMyIsCisgICJpdmVjNCIsCisgICJidmVjMiIsCisg
ICJidmVjMyIsCisgICJidmVjNCIsCisgICJkdmVjMiIsCisgICJkdmVjMyIsCisgICJkdmVjNCIs
CisgICJ1aW50IiwKKyAgInV2ZWMyIiwKKyAgInV2ZWMzIiwKKyAgInV2ZWM0IiwKKyAgImxvd3Ai
LAorICAibWVkaXVtcCIsCisgICJoaWdocCIsCisgICJwcmVjaXNpb24iLAorICAic2FtcGxlcjFE
IiwKKyAgInNhbXBsZXIyRCIsCisgICJzYW1wbGVyM0QiLAorICAic2FtcGxlckN1YmUiLAorICAi
c2FtcGxlcjFEU2hhZG93IiwKKyAgInNhbXBsZXIyRFNoYWRvdyIsCisgICJzYW1wbGVyQ3ViZVNo
YWRvdyIsCisgICJzYW1wbGVyMURBcnJheSIsCisgICJzYW1wbGVyMkRBcnJheSIsCisgICJzYW1w
bGVyMURBcnJheVNoYWRvdyIsCisgICJzYW1wbGVyMkRBcnJheVNoYWRvdyIsCisgICJpc2FtcGxl
cjFEIiwKKyAgImlzYW1wbGVyMkQiLAorICAiaXNhbXBsZXIzRCIsCisgICJpc2FtcGxlckN1YmUi
LAorICAiaXNhbXBsZXIxREFycmF5IiwKKyAgImlzYW1wbGVyMkRBcnJheSIsCisgICJ1c2FtcGxl
cjFEIiwKKyAgInVzYW1wbGVyMkQiLAorICAidXNhbXBsZXIzRCIsCisgICJ1c2FtcGxlckN1YmUi
LAorICAidXNhbXBsZXIxREFycmF5IiwKKyAgInVzYW1wbGVyMkRBcnJheSIsCisgICJzYW1wbGVy
MkRSZWN0IiwKKyAgInNhbXBsZXIyRFJlY3RTaGFkb3ciLAorICAiaXNhbXBsZXIyRFJlY3QiLAor
ICAidXNhbXBsZXIyRFJlY3QiLAorICAic2FtcGxlckJ1ZmZlciIsCisgICJpc2FtcGxlckJ1ZmZl
ciIsCisgICJ1c2FtcGxlckJ1ZmZlciIsCisgICJzYW1wbGVyMkRNUyIsCisgICJpc2FtcGxlcjJE
TVMiLAorICAidXNhbXBsZXIyRE1TIiwKKyAgInNhbXBsZXIyRE1TQXJyYXkiLAorICAiaXNhbXBs
ZXIyRE1TQXJyYXkiLAorICAidXNhbXBsZXIyRE1TQXJyYXkiLAorICAic2FtcGxlckN1YmVBcnJh
eSIsCisgICJzYW1wbGVyQ3ViZUFycmF5U2hhZG93IiwKKyAgImlzYW1wbGVyQ3ViZUFycmF5IiwK
KyAgInVzYW1wbGVyQ3ViZUFycmF5IiwKKyAgImltYWdlMUQiLAorICAiaWltYWdlMUQiLAorICAi
dWltYWdlMUQiLAorICAiaW1hZ2UyRCIsCisgICJpaW1hZ2UyRCIsCisgICJ1aW1hZ2UyRCIsCisg
ICJpbWFnZTNEIiwKKyAgImlpbWFnZTNEIiwKKyAgInVpbWFnZTNEIiwKKyAgImltYWdlMkRSZWN0
IiwKKyAgImlpbWFnZTJEUmVjdCIsCisgICJ1aW1hZ2UyRFJlY3QiLAorICAiaW1hZ2VDdWJlIiwK
KyAgImlpbWFnZUN1YmUiLAorICAidWltYWdlQ3ViZSIsCisgICJpbWFnZUJ1ZmZlciIsCisgICJp
aW1hZ2VCdWZmZXIiLAorICAidWltYWdlQnVmZmVyIiwKKyAgImltYWdlMURBcnJheSIsCisgICJp
aW1hZ2UxREFycmF5IiwKKyAgInVpbWFnZTFEQXJyYXkiLAorICAiaW1hZ2UyREFycmF5IiwKKyAg
ImlpbWFnZTJEQXJyYXkiLAorICAidWltYWdlMkRBcnJheSIsCisgICJpbWFnZUN1YmVBcnJheSIs
CisgICJpaW1hZ2VDdWJlQXJyYXkiLAorICAidWltYWdlQ3ViZUFycmF5IiwKKyAgImltYWdlMkRN
UyIsCisgICJpaW1hZ2UyRE1TIiwKKyAgInVpbWFnZTJETVMiLAorICAiaW1hZ2UyRE1TQXJyYXki
LAorICAiaWltYWdlMkRNU0FycmF5IiwKKyAgInVpbWFnZTJETVNBcnJheSIsCisgICJzdHJ1Y3Qi
CitdOworCit2YXIgR0xTTF80XzIwXzExX2Z1dHVyZV93b3JkcyA9IFsKKyAgImNvbW1vbiIsCisg
ICJwYXJ0aXRpb24iLAorICAiYWN0aXZlIiwKKyAgImFzbSIsCisgICJjbGFzcyIsCisgICJ1bmlv
biIsCisgICJlbnVtIiwKKyAgInR5cGVkZWYiLAorICAidGVtcGxhdGUiLAorICAidGhpcyIsCisg
ICJwYWNrZWQiLAorICAicmVzb3VyY2UiLAorICAiZ290byIsCisgICJpbmxpbmUiLAorICAibm9p
bmxpbmUiLAorICAicHVibGljIiwKKyAgInN0YXRpYyIsCisgICJleHRlcm4iLAorICAiZXh0ZXJu
YWwiLAorICAiaW50ZXJmYWNlIiwKKyAgImxvbmciLAorICAic2hvcnQiLAorICAiaGFsZiIsCisg
ICJmaXhlZCIsCisgICJ1bnNpZ25lZCIsCisgICJzdXBlcnAiLAorICAiaW5wdXQiLAorICAib3V0
cHV0IiwKKyAgImh2ZWMyIiwKKyAgImh2ZWMzIiwKKyAgImh2ZWM0IiwKKyAgImZ2ZWMyIiwKKyAg
ImZ2ZWMzIiwKKyAgImZ2ZWM0IiwKKyAgInNhbXBsZXIzRFJlY3QiLAorICAiZmlsdGVyIiwKKyAg
InNpemVvZiIsCisgICJjYXN0IiwKKyAgIm5hbWVzcGFjZSIsCisgICJ1c2luZyIsCisgICJyb3df
bWFqb3IiCitdOworCit2YXIgR0xTTF8xXzBfMTdfd29yZHMgPSBbCisgICJhdHRyaWJ1dGUiLAor
ICAiY29uc3QiLAorICAidW5pZm9ybSIsCisgICJ2YXJ5aW5nIiwKKyAgImJyZWFrIiwKKyAgImNv
bnRpbnVlIiwKKyAgImRvIiwKKyAgImZvciIsCisgICJ3aGlsZSIsCisgICJpZiIsCisgICJlbHNl
IiwKKyAgImluIiwKKyAgIm91dCIsCisgICJpbm91dCIsCisgICJmbG9hdCIsCisgICJpbnQiLAor
ICAidm9pZCIsCisgICJib29sIiwKKyAgInRydWUiLAorICAiZmFsc2UiLAorICAibG93cCIsCisg
ICJtZWRpdW1wIiwKKyAgImhpZ2hwIiwKKyAgInByZWNpc2lvbiIsCisgICJpbnZhcmlhbnQiLAor
ICAiZGlzY2FyZCIsCisgICJyZXR1cm4iLAorICAibWF0MiIsCisgICJtYXQzIiwKKyAgIm1hdDQi
LAorICAidmVjMiIsCisgICJ2ZWMzIiwKKyAgInZlYzQiLAorICAiaXZlYzIiLAorICAiaXZlYzMi
LAorICAiaXZlYzQiLAorICAiYnZlYzIiLAorICAiYnZlYzMiLAorICAiYnZlYzQiLAorICAic2Ft
cGxlcjJEIiwKKyAgInNhbXBsZXJDdWJlIiwKKyAgInN0cnVjdCIKK10KKwordmFyIEdMU0xfMV8w
XzE3X0Z1dHVyZVdvcmRzID0gWworICAiYXNtIiwKKyAgImNsYXNzIiwKKyAgInVuaW9uIiwKKyAg
ImVudW0iLAorICAidHlwZWRlZiIsCisgICJ0ZW1wbGF0ZSIsCisgICJ0aGlzIiwKKyAgInBhY2tl
ZCIsCisgICJnb3RvIiwKKyAgInN3aXRjaCIsCisgICJkZWZhdWx0IiwKKyAgImlubGluZSIsCisg
ICJub2lubGluZSIsCisgICJ2b2xhdGlsZSIsCisgICJwdWJsaWMiLAorICAic3RhdGljIiwKKyAg
ImV4dGVybiIsCisgICJleHRlcm5hbCIsCisgICJpbnRlcmZhY2UiLAorICAiZmxhdCIsCisgICJs
b25nIiwKKyAgInNob3J0IiwKKyAgImRvdWJsZSIsCisgICJoYWxmIiwKKyAgImZpeGVkIiwKKyAg
InVuc2lnbmVkIiwKKyAgInN1cGVycCIsCisgICJpbnB1dCIsCisgICJvdXRwdXQiLAorICAiaHZl
YzIiLAorICAiaHZlYzMiLAorICAiaHZlYzQiLAorICAiZHZlYzIiLAorICAiZHZlYzMiLAorICAi
ZHZlYzQiLAorICAiZnZlYzIiLAorICAiZnZlYzMiLAorICAiZnZlYzQiLAorICAic2FtcGxlcjFE
IiwKKyAgInNhbXBsZXIzRCIsCisgICJzYW1wbGVyMURTaGFkb3ciLAorICAic2FtcGxlcjJEU2hh
ZG93IiwKKyAgInNhbXBsZXIyRFJlY3QiLAorICAic2FtcGxlcjNEUmVjdCIsCisgICJzYW1wbGVy
MkRSZWN0U2hhZG93IiwKKyAgInNpemVvZiIsCisgICJjYXN0IiwKKyAgIm5hbWVzcGFjZSIsCisg
ICJ1c2luZyIKK107CisKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGls
czsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKK3ZhciBjID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKwordmFyIGJhZFdvcmRzID0gWworICB7IHdvcmRzOiBE
WFdvcmRzIH0sCisgIHsgd29yZHM6IEdMU0xfNF8yMF8xMV93b3JkcywgfSwKKyAgeyB3b3Jkczog
R0xTTF80XzIwXzExX2Z1dHVyZV93b3JkcywgfQorXTsKKwordmFyIHJlc2VydmVkV29yZHNMaXN0
cyA9IFsKKyAgR0xTTF8xXzBfMTdfd29yZHMsCisgIEdMU0xfMV8wXzE3X0Z1dHVyZVdvcmRzCitd
OworCit2YXIgcmVzZXJ2ZWRXb3JkcyA9IHsgfTsKK2ZvciAodmFyIGlpID0gMDsgaWkgPCByZXNl
cnZlZFdvcmRzTGlzdHMubGVuZ3RoOyArK2lpKSB7CisgIHZhciBsaXN0ID0gcmVzZXJ2ZWRXb3Jk
c0xpc3RzW2lpXTsKKyAgZm9yICh2YXIgamogPSAwOyBqaiA8IGxpc3QubGVuZ3RoOyArK2pqKSB7
CisgICAgcmVzZXJ2ZWRXb3Jkc1tsaXN0W2pqXV0gPSB0cnVlOworICB9Cit9CisKK3ZhciBjaGVj
a2VkV29yZHMgPSB7fTsKKwordmFyIHNyYyA9IFtdOworZm9yICh2YXIgaWkgPSAwOyBpaSA8IDQ7
ICsraWkpIHsKKyAgdmFyIHZzcmMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmVydGV4U2hh
ZGVyIiArIGlpKS50ZXh0OworICB2YXIgZnNyYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm
cmFnbWVudFNoYWRlciIgKyBpaSkudGV4dDsKKyAgc3JjLnB1c2goe3ZzcmM6IHZzcmMsIGZzcmM6
IGZzcmN9KTsKK30KKwordmFyIGJhZFdvcmROZHggPSAwOwordmFyIGxpc3ROZHggPSAwOworCitm
dW5jdGlvbiB0ZXN0TmV4dFdvcmQoKSB7CisgIHZhciBsaXN0ID0gYmFkV29yZHNbYmFkV29yZE5k
eF0ud29yZHM7CisgIGlmIChsaXN0TmR4ID49IGxpc3QubGVuZ3RoKSB7CisgICAgKytiYWRXb3Jk
TmR4OworICAgIGlmIChiYWRXb3JkTmR4ID49IGJhZFdvcmRzLmxlbmd0aCkgeworICAgICAgZmlu
aXNoVGVzdCgpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgICBsaXN0TmR4ID0gMDsKKyAgICBs
aXN0ID0gYmFkV29yZHNbYmFkV29yZE5keF0ud29yZHM7CisgIH0KKyAgdGVzdFdvcmQobGlzdFts
aXN0TmR4XSk7CisgICsrbGlzdE5keDsKKyAgc2V0VGltZW91dCh0ZXN0TmV4dFdvcmQsMSk7Cit9
Cit0ZXN0TmV4dFdvcmQoKTsKKworZnVuY3Rpb24gdGVzdFdvcmQod29yZCkgeworICBpZiAod29y
ZCBpbiByZXNlcnZlZFdvcmRzIHx8IHdvcmQgaW4gY2hlY2tlZFdvcmRzKSB7CisgICAgcmV0dXJu
OworICB9CisgIGNoZWNrZWRXb3Jkc1t3b3JkXSA9IHRydWU7CisgIGRlYnVnKCIiKTsKKyAgZGVi
dWcoInRlc3Rpbmc6ICIgKyB3b3JkKTsKKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc3JjLmxl
bmd0aDsgKytpaSkgeworICAgIHZhciB2cyA9IHNyY1tpaV0udnNyYy5yZXBsYWNlKC9cJHJlcGxh
Y2VNZS9nLCB3b3JkKTsKKyAgICB2YXIgZnMgPSBzcmNbaWldLmZzcmMucmVwbGFjZSgvXCRyZXBs
YWNlTWUvZywgd29yZCk7CisKKyAgICB3dHUuYWRkU2hhZGVyU291cmNlKGMsICJ2ZXJ0ZXggc2hh
ZGVyIiwgdnMpOworICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywgImZyYWdtZW50IHNoYWRlciIs
IGZzKTsKKworICAgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgICB2YXIgcHJvZ3JhbSA9IHd0dS5s
b2FkUHJvZ3JhbShnbCwgdnMsIGZzLCBmdW5jdGlvbihtc2cpIHsKKyAgICAgIGRlYnVnKG1zZyk7
CisgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgfSk7CisgICAgaWYgKHN1Y2Nlc3MpIHsKKyAg
ICAgIHRlc3RQYXNzZWQoInNoYWRlciB3aXRoOiAnIiArIHdvcmQgKyAiJyBjb21waWxlZCIpOwor
ICAgIH0gZWxzZSB7CisgICAgICB0ZXN0RmFpbGVkKCJzaGFkZXIgd2l0aDogJyIgKyB3b3JkICsg
IicgZmFpbGVkIHRvIGNvbXBpbGUiKTsKKyAgICB9CisgICAgaWYgKHByb2dyYW0pIHsKKyAgICAg
IGdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSk7CisgICAgfQorICAgIHd0dS5nbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIEdMIGVycm9ycyIpOworICB9Cit9CisK
KwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3Vp
dGluZy1vcGVyYXRvcnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0
aW5nLW9wZXJhdG9ycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNzU0OGYzNmM5MmIwZjc2NDI1ZTU0YzI2
ZTdmYjliY2JiODJkNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
c2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbApAQCAtMCwwICsxLDE5MSBAQAorPCEtLQor
CisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisq
KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl
cnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lh
dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGlu
IHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0
IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp
c2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl
IE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlh
bHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl
cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1
YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFM
UyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoq
IEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS
UkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFV
VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBE
QU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB
Q1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O
TkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO
R1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICA8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICA8dGl0bGU+V2Vi
R0wgc2hvcnQtY2lyY3VpdCBldmFsdWF0aW9uPC90aXRsZT4KKyAgICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cisg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRz
LmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8Y2FudmFzIGlkPSJleGFtcGxl
IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+CisKKyAgICA8IS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgV2ViR0wgU2hhZGVycworLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KKyAgICA8IS0tIFBhc3MgdGhyb3VnaCBTaGFkZXJz
IC0tPgorICAgIDxzY3JpcHQgaWQ9InZzaGFkZXIwIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+
CisgICAgICAvKiBQQVNTLVRIUk9VR0ggVkVSVEVYIFNIQURFUiAqLworICAgICAgYXR0cmlidXRl
IHZlYzQgdlBvc2l0aW9uOworCisgICAgICB2b2lkIG1haW4oKQorICAgICAgeworICAgICAgICBn
bF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKworICAgIDxz
Y3JpcHQgaWQ9ImZzaGFkZXIwIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICAgIC8q
IFBBU1MtVEhST1VHSCBGUkFHTUVOVCBTSEFERVIgKi8KKyAgICAgIHByZWNpc2lvbiBtZWRpdW1w
IGZsb2F0OworICAgICAgdmFyeWluZyB2ZWM0IHZQYXNzVGhyb3VnaDsKKworICAgICAgdm9pZCBt
YWluKCkKKyAgICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdlBhc3NUaHJvdWdoOworICAg
ICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPCEtLSBiYXNpYyBjb25kaXRvbmFsIHNob3J0IGNp
cmN1aXQgU2hhZGVycyAtLT4KKyAgICA8c2NyaXB0IGlkPSJ2c2hhZGVyMSIgdHlwZT0ieC1zaGFk
ZXIveC12ZXJ0ZXgiPgorICAgICAgYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworICAgICAgdmFy
eWluZyB2ZWM0IHZQYXNzVGhyb3VnaDsKKworICAgICAgdm9pZCBtYWluKCkKKyAgICAgIHsKKyAg
ICAgICAgaW50IHggPSAxOworICAgICAgICAkKHZhcmlhYmxlcykKKyAgICAgIAorICAgICAgICBp
ZiAoJChjb25kaXRpb24pKQorICAgICAgICB7IC8qZG8gbm90aGluZyovIH0KKworICAgICAgICAv
KiBpZiB4IHdhcyB1bm1vZGlmaWVkIHJldHVybiBncmVlbiwgZWxzZSByZXR1cm4gcmVkICovCisg
ICAgICAgIHZQYXNzVGhyb3VnaCA9ICh4ID09IDEpID8gdmVjNCgwLCAxLCAwLCAxKSA6IHZlYzQo
MSwgMCwgMCwgMSk7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgICAgfQor
ICAgIDwvc2NyaXB0PgorCisgICAgPHNjcmlwdCBpZD0iZnNoYWRlcjEiIHR5cGU9Ingtc2hhZGVy
L3gtZnJhZ21lbnQiPgorICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgICAgIHZv
aWQgbWFpbigpCisgICAgICB7CisgICAgICAgIGludCB4ID0gMTsKKyAgICAgICAgJCh2YXJpYWJs
ZXMpCisgICAgICAgIAorICAgICAgICBpZiAoJChjb25kaXRpb24pKQorICAgICAgICB7IC8qZG8g
bm90aGluZyovIH0KKworICAgICAgICBnbF9GcmFnQ29sb3IgPSAoeCA9PSAxKSA/IHZlYzQoMCwg
MSwgMCwgMSkgOiB2ZWM0KDEsIDAsIDAsIDEpOworICAgICAgfQorICAgIDwvc2NyaXB0PgorCisg
ICAgPCEtLSBNYWluIGJvZHkgb2YgdGhlIFdlYmdsIHByb2dyYW0gLS0+CisgICAgPHNjcmlwdD4K
KyAgICAidXNlIHN0cmljdCI7CisgICAgICBkZXNjcmlwdGlvbigpOworCisgICAgICB2YXIgd3R1
ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7
CisgICAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisKKyAg
ICAgIHd0dS5zZXR1cFVuaXRRdWFkKGdsLCBbMCwgMV0pOworCisgICAgICB2YXIgc2hhZGVyVGVt
cGxhdGVzID0gWworICAgICAgeyB2czogInZzaGFkZXIxIiwgZnM6ICJmc2hhZGVyMCIgfSwgLy8g
YmFzaWMgdmVydGV4IHNob3J0LWNpcmN1aXQgdGVzdAorICAgICAgeyB2czogInZzaGFkZXIwIiwg
ZnM6ICJmc2hhZGVyMSIgfSwgLy8gYmFzaWMgZnJhZ21lbnQgc2hvcnQtY2lyY3VpdCB0ZXN0Cisg
ICAgICBdOworCisgICAgICAvKiByZXBsYWNlIHRoZSBuYW1lcyBvZiB0aGUgc2hhZGVycyBpbiB0
aGUgdGVtcGF0ZSB2YXJpYWJsZXMgd2l0aAorICAgICAgKiB0aGUgc2hhZGVycyB0aGVtc2VsdmVz
ICovCisgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2hhZGVyVGVtcGxhdGVzLmxlbmd0aDsg
KytpaSkgeworICAgICAgICB2YXIgdGVtcGxhdGUgPSBzaGFkZXJUZW1wbGF0ZXNbaWldOworICAg
ICAgICB0ZW1wbGF0ZS52cyA9IHd0dS5nZXRTY3JpcHQodGVtcGxhdGUudnMpOworICAgICAgICB0
ZW1wbGF0ZS5mcyA9IHd0dS5nZXRTY3JpcHQodGVtcGxhdGUuZnMpOworICAgICAgfQorCisgICAg
ICAvKiBkZWZpbmUgdGhlIGNvbmRpdG9uIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSBzaGFkZXJz
LiBJZiBhZGRpdGlvbmFsCisgICAgICAgKiB2YXJpYWJsZXMgYXJlIG5lZWRlZCB0aGF0IGFyZSBu
b3QgcHJlc2VudCBpIHRoZSBzaGFkZXIgdGhleSBteSBiZQorICAgICAgICogZGVmaW5lZCBpbiB0
aGUgdmFyaWFibGVzIHZhcmlhYmxlICovCisgICAgICB2YXIgdGVzdHMgPSBbCisgICAgICAgIHsg
Y29uZGl0aW9uOiAidHJ1ZSB8fCAoeCA9IDApID09IDEiLCB2YXJpYWJsZXM6ICIiIH0sIC8qIHRl
c3QgYmFzaWMgJ29yJyBzaG9ydCBjaXJjdWl0ICovCisgICAgICAgIHsgY29uZGl0aW9uOiAiZmFs
c2UgJiYgKHggPSAwKSA9PSAxIiwgdmFyaWFibGVzOiAiIiB9LCAvKiB0ZXN0IGJhc2ljICdhbmQn
IHNob3J0IGNpcmN1aXQgKi8KKyAgICAgICAgeyBjb25kaXRpb246ICIoaiA9PSAzICYmIGogPT0g
aykgfHwgKGogPiAoeCA9IDApKSIsIHZhcmlhYmxlczogImludCBqID0gMztcbmludCBrID0gMzsi
IH0sIC8qIHRlc3QgYmFzaWMgJ29yJyBzaG9ydCBjaXJjdWl0IHdpdGggYWN0dWFsIGNvbmRpdGlv
biAqLworICAgICAgICB7IGNvbmRpdGlvbjogIihqID09IDMgJiYgaiA9PSBrKSAmJiAoaiA+ICh4
ID0gMCkpIiwgdmFyaWFibGVzOiAiaW50IGogPSAzO1xuaW50IGsgPSA0OyIgfSwgLyogdGVzdCBi
YXNpYyAnYW5kJyBzaG9ydCBjaXJjdWl0IHdpdGggYWN0dWFsIGNvbmRpdGlvbiAqLworICAgICAg
ICB7IGNvbmRpdGlvbjogIihqICsgMyA+IGsgJiYgKChqIDwgMTApIHx8ICh4ICsgNSA+IGogKyAo
eCA9IDApKSkgfHwgKCB4ID0gMCApID09IDcpIiwgdmFyaWFibGVzOiAiaW50IGogPSA1O1xuaW50
IGsgPSAzOyIgfSwgLyogY29tcGxleCB0ZXN0ICovCisgICAgICAgIHsgY29uZGl0aW9uOiAiaiAr
IDEgPT0gNiA/IHggPT0gMSB8fCBqID4gKHggPSAwKSA6ICh4ID0gMCkgPT0gMSAmJiAoeCA9IDAp
IDw9IDEiLCB2YXJpYWJsZXM6ICJpbnQgaiA9IDU7IiB9LCAvKiBuZXN0ZWQgd2l0aCB0ZXJuYXJ5
IG9wZXJhdG9yICovCisgICAgICBdOworCisgICAgICBmdW5jdGlvbiB0ZXN0U2hvcnRDaXJjdWl0
KHRlc3QpIHsKKyAgICAgICAgZGVidWcoIiIpOworICAgICAgICBkZWJ1ZygidGVzdGluZyBzaG9y
dCBjaXJjdWl0IGNvbmRpdGlvbjogIiArIHRlc3QuY29uZGl0aW9uKTsKKworICAgICAgICAvKiBT
ZXR0aW5nIGNsZWFyIGNvbG9yIHRvIGJsdWUgKi8KKyAgICAgICAgZ2wuY2xlYXJDb2xvcigwLjAs
IDAuMCwgMS4wLCAxLjApOworCisgICAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzaGFkZXJU
ZW1wbGF0ZXMubGVuZ3RoOyArK2lpKSB7CisKKyAgICAgICAgICAvKiBjbGVhciB0aGUgc2NyZWVu
IHNvIHRoYXQgc3Vic2VxdWVudCB0ZXN0cyBkb24ndCBjb25mbGljdCAqLworICAgICAgICAgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgICAgICAgIHZhciB0ZW1wbGF0ZSA9IHNo
YWRlclRlbXBsYXRlc1tpaV07CisKKyAgICAgICAgICB2YXIgdnMgPSB3dHUucmVwbGFjZVBhcmFt
cyh0ZW1wbGF0ZS52cywgdGVzdCk7CisgICAgICAgICAgdmFyIGZzID0gd3R1LnJlcGxhY2VQYXJh
bXModGVtcGxhdGUuZnMsIHRlc3QpOworCisgICAgICAgICAgd3R1LmFkZFNoYWRlclNvdXJjZShj
LCAidmVydGV4IHNoYWRlciIsIHZzKTsKKyAgICAgICAgICB3dHUuYWRkU2hhZGVyU291cmNlKGMs
ICJmcmFnbWVudCBzaGFkZXIiLCBmcyk7CisKKyAgICAgICAgICB2YXIgdnMgPSB3dHUubG9hZFNo
YWRlcihnbCwgdnMsIGdsLlZFUlRFWF9TSEFERVIpOworICAgICAgICAgIHZhciBmcyA9IHd0dS5s
b2FkU2hhZGVyKGdsLCBmcywgZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICAgICAgICB2YXIgcHJv
Z3JhbSA9IHd0dS5jcmVhdGVQcm9ncmFtKGdsLCB2cywgZnMpOworCisgICAgICAgICAgZ2wudXNl
UHJvZ3JhbShwcm9ncmFtKTsKKworICAgICAgICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgICAg
ICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVu
IiwgMCk7CisKKyAgICAgICAgICBnbC5kZWxldGVQcm9ncmFtKHByb2dyYW0pOworICAgICAgICAg
IGdsLmRlbGV0ZVNoYWRlcih2cyk7CisgICAgICAgICAgZ2wuZGVsZXRlU2hhZGVyKGZzKTsKKwor
ICAgICAgICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJl
IG5vIEdMIGVycm9ycyIpOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIHZhciB0ZXN0TmR4
ID0gMDsKKyAgICAgIGZ1bmN0aW9uIHJ1bk5leHRUZXN0KCkgeworICAgICAgICAgIHRlc3RTaG9y
dENpcmN1aXQodGVzdHNbdGVzdE5keCsrXSk7CisgICAgICAgICAgaWYgKHRlc3ROZHggPj0gdGVz
dHMubGVuZ3RoKSB7CisgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICBzZXRUaW1lb3V0KHJ1bk5leHRUZXN0LCAxKTsKKyAgICAgICAg
ICB9CisgICAgICB9CisKKyAgICAgIHJ1bk5leHRUZXN0KCk7CisKKyAgICAgIHZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworCisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXkt
bmFtZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXkt
bmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGUwZDQ1NjhmY2E2NzAyMDVmZmVlMmE0ZGUxODQ1NmJk
Mjk1NDhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXIt
dW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCkBAIC0wLDAgKzEsMTMxIEBACis8IS0tCisKKy8qCisq
KiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9j
dW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1h
dGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRh
dGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoq
IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJp
YWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUg
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQ
Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP
UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMg
T1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoq
IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O
IFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU
SEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5HTFNMIHNpbWlsYXIgbmFtZXMgaXNz
dWU8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKworPHNjcmlwdCBp
ZD0idnNoYWRlciIsIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IGFf
cG9zaXRpb247Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlv
bjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjEiLCB0eXBlPSJ4LXNoYWRlci94
LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFt
ZUNvbGxpc2lvblsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb24yWzJdOwordW5pZm9y
bSB2ZWM0IHVfbmFtZVsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0g
dV9uYW1lQ29sbGlzaW9uWzBdICsgdV9uYW1lQ29sbGlzaW9uMlswXSArIHVfbmFtZVswXTsKK30K
Kzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjIiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxp
c2lvbjJbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordW5pZm9ybSB2ZWM0
IHVfbmFtZVsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1l
Q29sbGlzaW9uMlswXSArIHVfbmFtZUNvbGxpc2lvblswXSArIHVfbmFtZVswXTsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjMiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4K
K3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvblsy
XTsKK3VuaWZvcm0gdmVjNCB1X25hbWVbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9u
MlsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1lQ29sbGlz
aW9uWzBdICsgdV9uYW1lWzBdICsgdV9uYW1lQ29sbGlzaW9uMlswXTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlcjQiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit1
bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvblsyXTsK
K3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1lQ29sbGlzaW9uMlsw
XSArIHVfbmFtZVswXSArIHVfbmFtZUNvbGxpc2lvblswXTsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0iZnNoYWRlcjUiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsKK3VuaWZvcm0gdmVjNCB1X25h
bWVDb2xsaXNpb25bMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uMlsyXTsKK3ZvaWQg
bWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1lWzBdICsgdV9uYW1lQ29sbGlz
aW9uWzBdICsgdV9uYW1lQ29sbGlzaW9uMlswXTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0i
ZnNoYWRlcjYiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1w
IGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xs
aXNpb24yWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvblsyXTsKK3ZvaWQgbWFpbih2
b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1lWzBdICsgdV9uYW1lQ29sbGlzaW9uMlsw
XSArIHVfbmFtZUNvbGxpc2lvblswXTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0
VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjYW52YXMiKTsKK3d0dS5zZXR1
cFVuaXRRdWFkKGdsKTsKKworZm9yICh2YXIgaWkgPSAwOyBpaSA8IDY7ICsraWkpIHsKKyAgdmFy
IHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlciIgKyAo
aWkgKyAxKV0sIFsiYV9wb3NpdGlvbiJdKTsKKyAgdmFyIGxvYzEgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgInVfbmFtZVswXSIpOworICB2YXIgbG9jMiA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihwcm9ncmFtLCAidV9uYW1lQ29sbGlzaW9uWzBdIik7CisgIHZhciBsb2MzID0gZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X25hbWVDb2xsaXNpb24yWzBdIik7CisgIGds
LnVuaWZvcm00ZnYobG9jMSwgWzEsIDAsIDAsIDBdKTsKKyAgZ2wudW5pZm9ybTRmdihsb2MyLCBb
MCwgMSwgMCwgMF0pOworICBnbC51bmlmb3JtNGZ2KGxvYzMsIFswLCAwLCAwLCAxXSk7CisgIHd0
dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMjU1LCAwLCAyNTVd
LCAiU2hvdWxkIGJlIHllbGxvdyIpOworfQorCitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9ycyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
cy13aXRoLXZhcnlpbmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIxYmRjMDdjNzIzMGI3ZTkzNmVlNTEx
YzBiY2MwZmJlOWY4OWE4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdp
dGgtdmFyeWluZ3MuaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBDb25mb3JtYW5jZSBUZXN0czwv
dGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlck5vVmFyeWluZyIgdHlwZT0idGV4dC9z
b21ldGhpbmctbm90LWphdmFzY3JpcHQiPgordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlv
biA9IHZlYzQoMCwwLDAsMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRl
clVudXNlZFZhcnlpbmciIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3Zh
cnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24g
PSB2ZWM0KDAsMCwwLDApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNoYWRl
clVudXNlZFZhcnlpbmciIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3By
ZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit2YXJ5aW5nIHZlYzQgdl92YXJ5aW5nOworCit2b2lk
IG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMCwwLDAsMCk7Cit9Cis8L3Njcmlw
dD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyVXNlZFZhcnlpbmciIHR5cGU9InRleHQvc29t
ZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit2YXJ5
aW5nIHZlYzQgdl92YXJ5aW5nOworCit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9
IHZfdmFyeWluZzsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKy8vIEdMU0wgMS4wLjE3IDQuMy41
CisidXNlIHN0cmljdCI7CitHTFNMQ29uZm9ybWFuY2VUZXN0ZXIucnVuVGVzdHMoWworICB7Cisg
ICAgdlNoYWRlcklkOiAidmVydGV4U2hhZGVyTm9WYXJ5aW5nIiwKKyAgICB2U2hhZGVyU3VjY2Vz
czogdHJ1ZSwKKyAgICBmU2hhZGVySWQ6ICJmcmFnbWVudFNoYWRlclVudXNlZFZhcnlpbmciLAor
ICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBh
c3NNc2c6ICJ2ZXJ0ZXggc2hhZGVyIHdpdGggbm8gdmFyeWluZyBhbmQgZnJhZ21lbnQgc2hhZGVy
IHdpdGggdW51c2VkIHZhcnlpbmcgbXVzdCBzdWNjZWVkIiwKKyAgfSwKKyAgeworICAgIHZTaGFk
ZXJJZDogInZlcnRleFNoYWRlck5vVmFyeWluZyIsCisgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUs
CisgICAgZlNoYWRlcklkOiAiZnJhZ21lbnRTaGFkZXJVc2VkVmFyeWluZyIsCisgICAgZlNoYWRl
clN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICAgIHBhc3NNc2c6ICJ2
ZXJ0ZXggc2hhZGVyIHdpdGggbm8gdmFyeWluZyBhbmQgZnJhZ21lbnQgc2hhZGVyIHdpdGggdXNl
ZCB2YXJ5aW5nIG11c3QgZmFpbCIsCisgIH0sCisgIHsKKyAgICB2U2hhZGVySWQ6ICJ2ZXJ0ZXhT
aGFkZXJVbnVzZWRWYXJ5aW5nIiwKKyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBmU2hh
ZGVySWQ6ICJmcmFnbWVudFNoYWRlclVudXNlZFZhcnlpbmciLAorICAgIGZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6ICJ2ZXJ0ZXggc2hh
ZGVyIHdpdGggdW51c2VkIHZhcnlpbmcgYW5kIGZyYWdtZW50IHNoYWRlciB3aXRoIHVudXNlZCB2
YXJ5aW5nIG11c3Qgc3VjY2VlZCIsCisgIH0sCisgIHsKKyAgICB2U2hhZGVySWQ6ICJ2ZXJ0ZXhT
aGFkZXJVbnVzZWRWYXJ5aW5nIiwKKyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBmU2hh
ZGVySWQ6ICJmcmFnbWVudFNoYWRlclVzZWRWYXJ5aW5nIiwKKyAgICBmU2hhZGVyU3VjY2Vzczog
dHJ1ZSwKKyAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICBwYXNzTXNnOiAidmVydGV4IHNoYWRl
ciB3aXRoIHVudXNlZCB2YXJ5aW5nIGFuZCBmcmFnbWVudCBzaGFkZXIgd2l0aCB1c2VkIHZhcnlp
bmcgbXVzdCBzdWNjZWVkIiwKKyAgfSwKK10pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFi
bGVzL2dsLXBvaW50Y29vcmQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43ZWE3NDcxMTE4MDI2NzVjOTQwYjkyNDM2OTFkNzczMWYwOWRlMzczCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sCkBAIC0w
LDAgKzEsMTYzIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAg
PHRpdGxlPmdsLXBvaW50Y29vcmQgVGVzdDwvdGl0bGU+CisgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgIDxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyNTYiIGhl
aWdodD0iMjU2Ij4KKzwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisgIDxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hh
ZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisgICAgdW5pZm9y
bSBmbG9hdCB1UG9pbnRTaXplOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgZ2xfUG9p
bnRTaXplID0gdVBvaW50U2l6ZTsKKyAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAg
IH0KKyAgPC9zY3JpcHQ+CisKKyAgPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIv
eC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdm9pZCBtYWlu
KCkKKyAgICB7CisgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KAorICAgICAgICBnbF9Qb2ludENv
b3JkLngsCisgICAgICAgIGdsX1BvaW50Q29vcmQueSwKKyAgICAgICAgMCwKKyAgICAgICAgMSk7
CisgICAgfQorICA8L3NjcmlwdD4KKworICA8c2NyaXB0PgorICAgICJ1c2Ugc3RyaWN0IjsKKyAg
ICBkZXNjcmlwdGlvbigiQ2hlY2tzIGdsX1BvaW50Q29vcmQgYW5kIGdsX1BvaW50U2l6ZSIpOwor
ICAgIGRlYnVnKCIiKTsKKworICAgIC8vIE5PVEU6IEknbSBub3QgMTAwJSBjb25maWRlbnQgaW4g
dGhpcyB0ZXN0LiBJIHRoaW5rIGl0IGlzIGNvcnJlY3QuCisKKyAgICB2YXIgd3R1ID0gV2ViR0xU
ZXN0VXRpbHM7CisgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOwor
ICAgIHNob3VsZEJlTm9uTnVsbCgiZ2wiKTsKKyAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFBy
b2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIl0sIFsidlBvc2l0aW9uIl0pOworICAgIHNo
b3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisKKyAgICB2YXIgY2FudmFz
ID0gZ2wuY2FudmFzOworICAgIHZhciB3aWR0aCA9IGNhbnZhcy53aWR0aDsKKyAgICB2YXIgaGVp
Z2h0ID0gY2FudmFzLmhlaWdodDsKKyAgICBzaG91bGRCZSgid2lkdGgiLCAiaGVpZ2h0Iik7CisK
KyAgICB2YXIgbWF4UG9pbnRTaXplID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLkFMSUFTRURfUE9JTlRf
U0laRV9SQU5HRSlbMV07CisgICAgc2hvdWxkQmVUcnVlKCJtYXhQb2ludFNpemUgPj0gMSIpOwor
ICAgIC8vIFRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIHBvaW50IHNpemVzIG1heSBiZSBmbG9hdGlu
Zy1wb2ludCBudW1iZXJzLgorICAgIHNob3VsZEJlVHJ1ZSgiTWF0aC5mbG9vcihtYXhQb2ludFNp
emUpID49IDEiKTsKKyAgICBtYXhQb2ludFNpemUgPSBNYXRoLmZsb29yKG1heFBvaW50U2l6ZSk7
CisgICAgc2hvdWxkQmVUcnVlKCJtYXhQb2ludFNpemUgJSAxID09IDAiKTsKKworICAgIG1heFBv
aW50U2l6ZSA9IE1hdGgubWluKG1heFBvaW50U2l6ZSwgNjQpOworICAgIHZhciBwb2ludFdpZHRo
ID0gbWF4UG9pbnRTaXplIC8gd2lkdGg7CisgICAgdmFyIHBvaW50U3RlcCA9IE1hdGguZmxvb3Io
bWF4UG9pbnRTaXplIC8gNCk7CisgICAgdmFyIHBvaW50U3RlcCA9IE1hdGgubWF4KDEsIHBvaW50
U3RlcCk7CisKKyAgICB2YXIgcG9pbnRTaXplTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHBy
b2dyYW0sICJ1UG9pbnRTaXplIik7CisgICAgZ2wudW5pZm9ybTFmKHBvaW50U2l6ZUxvYywgbWF4
UG9pbnRTaXplKTsKKworICAgIHZhciBwaXhlbE9mZnNldCA9IChtYXhQb2ludFNpemUgJSAyKSA/
ICgxIC8gd2lkdGgpIDogMDsKKyAgICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVy
KCk7CisgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7Cisg
ICAgZ2wuYnVmZmVyRGF0YSgKKyAgICAgICAgZ2wuQVJSQVlfQlVGRkVSLAorICAgICAgICBuZXcg
RmxvYXQzMkFycmF5KAorICAgICAgICAgIFstMC41ICsgcGl4ZWxPZmZzZXQsIC0wLjUgKyBwaXhl
bE9mZnNldCwKKyAgICAgICAgICAgIDAuNSArIHBpeGVsT2Zmc2V0LCAtMC41ICsgcGl4ZWxPZmZz
ZXQsCisgICAgICAgICAgIC0wLjUgKyBwaXhlbE9mZnNldCwgIDAuNSArIHBpeGVsT2Zmc2V0LAor
ICAgICAgICAgICAgMC41ICsgcGl4ZWxPZmZzZXQsICAwLjUgKyBwaXhlbE9mZnNldF0pLAorICAg
ICAgICBnbC5TVEFUSUNfRFJBVyk7CisgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7
CisgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDAp
OworCisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9C
SVQpOworCisgICAgZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIDQpOworICAgIHNob3VsZEJl
KCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisKKyAgICBmdW5jdGlvbiBzMnAocykg
eworICAgICAgcmV0dXJuIChzICsgMS4wKSAqIDAuNSAqIHdpZHRoOworICAgIH0KKworICAgIC8v
ZnVuY3Rpb24gcHJpbnQoeCwgeSkgeworICAgIC8vICB2YXIgYiA9IG5ldyBVaW50OEFycmF5KDQp
OworICAgIC8vICBnbC5yZWFkUGl4ZWxzKHgsIHksIDEsIDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIGIpOworICAgIC8vICBkZWJ1ZygiIiArIHggKyAiLCIgKyB5ICsgIjogIiArIGJbMF0g
KyAiLCIgKyBiWzFdICsgIiwiICsgYlsyXSk7CisgICAgLy99CisgICAgLy8KKyAgICAvL2ZvciAo
dmFyIGlpID0gMDsgaWkgPCAxMDA7ICsraWkpIHsKKyAgICAvLyAgcHJpbnQoaWksIGlpKTsKKyAg
ICAvL30KKworICAgIGZvciAodmFyIHB5ID0gMDsgcHkgPCAyOyArK3B5KSB7CisgICAgICBmb3Ig
KHZhciBweCA9IDA7IHB4IDwgMjsgKytweCkgeworICAgICAgICBkZWJ1ZygiIik7CisgICAgICAg
IHZhciBwb2ludFggPSAtMC41ICsgcHggKyBwaXhlbE9mZnNldDsKKyAgICAgICAgdmFyIHBvaW50
WSA9IC0wLjUgKyBweSArIHBpeGVsT2Zmc2V0OworICAgICAgICBmb3IgKHZhciB5eSA9IDA7IHl5
IDwgbWF4UG9pbnRTaXplOyB5eSArPSBwb2ludFN0ZXApIHsKKyAgICAgICAgICBmb3IgKHZhciB4
eCA9IDA7IHh4IDwgbWF4UG9pbnRTaXplOyB4eCArPSBwb2ludFN0ZXApIHsKKyAgICAgICAgICAg
IC8vIGZvcm11bGEgZm9yIHMgYW5kIHQgZnJvbSBPcGVuR0wgRVMgMi4wIHNwZWMgc2VjdGlvbiAz
LjMKKyAgICAgICAgICAgIHZhciB4dyA9IHMycChwb2ludFgpOworICAgICAgICAgICAgdmFyIHl3
ID0gczJwKHBvaW50WSk7CisgICAgICAgICAgICAvL2RlYnVnKCJ4dzogIiArIHh3ICsgIiB5dzog
IiArIHl3KTsKKyAgICAgICAgICAgIHZhciB1ID0geHggLyBtYXhQb2ludFNpemUgKiAyIC0gMTsK
KyAgICAgICAgICAgIHZhciB2ID0geXkgLyBtYXhQb2ludFNpemUgKiAyIC0gMTsKKyAgICAgICAg
ICAgIHZhciB4ZiA9IE1hdGguZmxvb3IoczJwKHBvaW50WCArIHUgKiBwb2ludFdpZHRoKSk7Cisg
ICAgICAgICAgICB2YXIgeWYgPSBNYXRoLmZsb29yKHMycChwb2ludFkgKyB2ICogcG9pbnRXaWR0
aCkpOworICAgICAgICAgICAgLy9kZWJ1ZygieGY6ICIgKyB4ZiArICIgeWY6ICIgKyB5Zik7Cisg
ICAgICAgICAgICB2YXIgcyA9IDAuNSArICh4ZiArIDAuNSAtIHh3KSAvIG1heFBvaW50U2l6ZTsK
KyAgICAgICAgICAgIHZhciB0ID0gMC41ICsgKHlmICsgMC41IC0geXcpIC8gbWF4UG9pbnRTaXpl
OworICAgICAgICAgICAgLy9kZWJ1ZygiczogIiArIHMgKyAiIHQ6ICIgKyB0KTsKKyAgICAgICAg
ICAgIHZhciBjb2xvciA9IFtNYXRoLmZsb29yKHMgKiAyNTUpLCBNYXRoLmZsb29yKCgxIC0gdCkg
KiAyNTUpLCAwXTsKKyAgICAgICAgICAgIHZhciBtc2cgPSAicGl4ZWwgIiArIHhmICsgIiwiICsg
eWYgKyAiIHNob3VsZCBiZSAiICsgY29sb3I7CisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNS
ZWN0KGdsLCB4ZiwgeWYsIDEsIDEsIGNvbG9yLCBtc2csIDQpOworICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0KKworICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworICA8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWI5OTU4N2Y5ZTI2ZGUzMGUxNzZhYmFhNDUx
MTFmYWIxZDIxNDhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUEuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVm
PSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94
LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFw
cGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRv
cnMtQS5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dl
bmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFs
aWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciBy
YW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykg
eworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVy
cm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAg
IHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmll
ZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAg
IC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBn
ZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4s
IGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxy
ZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFy
Z3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7Cisg
ICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUg
YW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2
YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0
KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmpl
Y3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVj
a0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAg
IC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQg
YXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdz
Lm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIp
IiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFy
Z3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUg
cmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxl
dGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAg
ICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFu
aW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEp
e3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAg
ICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENv
dW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBm
b3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZh
c3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmY2M3
NGM4ODIxMjllYTk1OGM0MTg5ZDFjMjAyODA3YmJjODMxODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbApAQCAtMCwwICsxLDg0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlj
a0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQjEuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVu
Y3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdp
dGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJn
cyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZh
ciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1l
XSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhl
IFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1l
XTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5n
ZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCBy
YW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dl
bmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykg
eworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFy
IHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVk
QXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5
VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNl
OworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0
IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1Zh
bGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1h
cChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwK
KyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsK
KyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3Jr
cyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hv
dWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50
b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXty
diA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBp
ZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAg
ICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNy
ZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQor
ICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1l
KyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9p
bigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZh
bHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4u
dGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0
ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQor
Cis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8
L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNmVlOTA4YjQyNzE0ZGVmZjk1NWU1MmQ4YWE3NTJhNTMyZWY3
MzljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIy
Lmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
Ky0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5p
dC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIu
Li91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLUIyLmpz
Ij48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgor
CisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9y
cyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1
bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRl
c3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAg
dHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFt
ZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFy
Z0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9
IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVz
dCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRl
ZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rp
b24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJp
ZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7Cisg
ICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAg
fQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxp
ZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisg
ICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlk
IGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1Nv
dXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFs
aWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNz
ZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisg
ICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1
bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9r
ID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4g
dmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZl
cihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAo
Z2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAg
cmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJu
IE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0
dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOwor
ICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVy
cm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0
aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjg3MmM5ZjZiMjJi
MGQyZjU5YjRhMmY3OWU5ZjQ0ZGI1YzY4OTVmMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKwor
LyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiog
UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz
b24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0
aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo
LAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBN
YXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxz
IGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJz
dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMg
QVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBF
WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFN
QUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F
Q1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT
IElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlw
ZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tB
UEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iYXJnR2VuZXJhdG9ycy1CMy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMg
c3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5k
b21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVu
Y3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUg
aW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAg
ICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wg
Y29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAg
ICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRl
KSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRl
c3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9y
VGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAg
ICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0g
T2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3Ny
Y10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFy
Z3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAg
ICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdl
bmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkp
CisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0
aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAg
ICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAg
ICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4g
Y2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29y
azogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNl
KGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xb
bmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5l
ZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUu
Zy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVm
ZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAg
ICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2Fy
Z3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikr
IikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVh
bnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291
bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWls
ZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2Ny
aXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48
Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQjQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ0ZGNhYTM3YjQ0OGMzZGNjNzZmYzk3ZDczNTY2ZWE1MGFkZGI5MzQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbApA
QCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIg
Lz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQjQuanMiPjwvc2Ny
aXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRl
c3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsK
Ky8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50cwor
VGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENvdW50
ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkgewor
ICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsgIiBp
cyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2VuID0g
QXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307Cisg
ICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVhY2gg
R0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlk
IGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdz
LCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENoZWNr
KSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAgICAg
ICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisK
KyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9CisgICAg
ICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNo
ZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAgICAg
aWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJnczog
IituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEp
fSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5h
cHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQgdGhh
dCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAg
YXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24o
YSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAg
ICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVl
O30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1ZSwg
ZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBh
ZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4ucmV0
dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1cm4g
dmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0
LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4gb2s7
CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAgfSBj
YXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3IoZSkp
OworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246YWJz
b2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1DLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ5NDU1N2Q1OWNmOTNmMDMxNzAz
ZThjNzNjMzMzMDM1YWM3NDAzYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1DLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2Nz
cyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdH
ZW5lcmF0b3JzLUMuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBp
biBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJh
dGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgewor
ICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVy
YXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cg
KG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7
CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJl
YWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7
CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFu
ZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIo
YXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdl
bi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1Nv
dXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0
cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3
ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJn
cyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAg
IGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1
cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBn
ZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2Owor
ICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRo
IHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsi
KCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4o
IiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5
KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFu
dXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcg
Z2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3Zl
CisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9r
KCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5j
dGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAg
ICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0p
OworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRv
bVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUu
bmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHls
ZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2Jv
ZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURf
Ry5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI1YzI0MzNlYTkyMmYzOTZkNWI1NjQ3YmYwZjY4OWM1ZjM5OWM3NjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwKQEAgLTAsMCAr
MSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0
aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLURfRy5qcyI+PC9zY3JpcHQ+CisK
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0
IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hl
biBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50
ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7
CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBp
ZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3Np
bmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5l
cmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlm
ICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5j
dGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncwor
ICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwg
c2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAg
ICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChh
bHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAg
ICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFy
IG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwg
YXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2Vu
LmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUr
IigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2lu
KCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdl
biwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1
bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRP
aygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1
cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBm
dW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7Cisg
ICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBo
ZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRl
c3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1
ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBh
ZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3Vy
Y2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBn
ZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAg
IH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUp
IHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAg
fQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9
PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktR19JLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTQxZmM5Zjg0ZDM3OGYwYTBhOTQyNzE0
NTU2MTIzYmE1YmZlMTg2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1HX0kuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3Nz
IiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dl
bmVyYXRvcnMtR19JLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94
LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQg
aW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVy
YXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsK
KyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5l
cmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93
IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0Iikp
OworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxy
ZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVl
OworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJh
bmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVy
KGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFn
ZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9T
b3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0g
dHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYg
d2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFy
Z3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAg
ICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0
dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAg
Z2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsK
KyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0
aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUr
IigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2lu
KCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBs
eShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVh
bnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5n
IGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92
ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRP
aygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVu
Y3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9
KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5k
b21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBl
Lm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5
bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9i
b2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1M
X1MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45NDQyMGNlZTFmODA4N2VkYWI2M2ZkOWMyOGQ1NzYxOGIxNTUyNjEyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sCkBAIC0wLDAg
KzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91
dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1MX1MuanMiPjwvc2NyaXB0Pgor
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhh
dCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdo
ZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMu
dGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAw
OworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAg
aWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNz
aW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2Vu
ZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBp
ZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVu
Y3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MK
KyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4s
IHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7Cisg
ICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAo
YWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAg
ICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZh
ciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIs
IGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdl
bi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1l
KyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9p
bigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShn
ZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBm
dW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0
T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0
dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAg
ZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOwor
ICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQg
aGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0
ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFs
dWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUg
YWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291
cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsg
Z2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAg
ICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChl
KSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAg
IH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7
fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLVNfVi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiMjhlYjQyZTMxMDIzMjE3NTM2MTYw
M2QyYzUyZTYwNjRhNmQzMjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktU19WLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2Nz
cyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdH
ZW5lcmF0b3JzLVNfVi5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVk
IGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5l
cmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7
CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2Vu
ZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJv
dyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIp
KTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFs
cmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51
ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCBy
YW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5l
cihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICgh
Z2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRv
U291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9
IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlm
IHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBh
cmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAg
ICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3Jl
dHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAg
IGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7
CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdp
dGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1l
KyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9p
bigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBw
bHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xl
YW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGlu
ZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJv
dmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0
T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1
bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAg
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsg
fSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFu
ZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwg
ZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0
eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwv
Ym9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJn
cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42Njc2ZTc3OTA1YjQ2MTM0YWNiMGJiOWYzMjg2Y2Q3YTRjYWIzNTE5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDc5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisK
K1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29u
dGV4dChjYW52YXMpKTsKKyAgdmFyIGJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICB2YXIgZWJ1
ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwg
YnVmKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgZWJ1Zik7Cisg
IHJldHVybiBbZ2wsIGJ1ZiwgZWJ1Zl07Cit9CisKK1Rlc3RzLnRlc3RCdWZmZXJEYXRhID0gZnVu
Y3Rpb24oZ2wpIHsKKyAgICBhc3NlcnRPaygiemVybyBzaXplIGRhdGEiLAorICAgICAgICBmdW5j
dGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KDAp
LCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgYXNzZXJ0RmFpbCgiYmFkIHRhcmdldCIsCisgICAg
ICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5URVhUVVJFXzJELCBuZXcgRmxvYXQzMkFy
cmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisvLyAgICBhc3NlcnRGYWlsKCJhcnJh
eSBmb3IgZGF0YSIsCisvLyAgICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZ
X0JVRkZFUiwgWzEsMiwzXSwgZ2wuU1RBVElDX0RSQVcpO30pOworICAgIGFzc2VydEZhaWwoImJh
ZCB1c2FnZSIsCisgICAgICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZG
RVIsIG5ldyBGbG9hdDMyQXJyYXkoWzEsMiwzXSksIGdsLlRFWFRVUkVfMkQpO30pOworICAgIGFz
c2VydEZhaWwoIm51bGwgZGF0YSIsCisgICAgICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShn
bC5BUlJBWV9CVUZGRVIsIG51bGwsIGdsLlNUQVRJQ19EUkFXKTt9KTsKKyAgICBhc3NlcnRGYWls
KCJ1bmRlZmluZWQgZGF0YSIsCisgICAgICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5B
UlJBWV9CVUZGRVIsIHVuZGVmaW5lZCwgZ2wuU1RBVElDX0RSQVcpO30pOworICAgIGFzc2VydE9r
KGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgbmV3IEZs
b2F0MzJBcnJheShbMSwyLDNdKSwgZ2wuU1RBVElDX0RSQVcpO30pOworICAgIHRocm93RXJyb3Io
Z2wsICdidWZmZXJEYXRhJyk7CisgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIG51
bGwpOworICAgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JV
RkZFUiwgbmV3IEZsb2F0MzJBcnJheShbMSwyLDNdKSwgZ2wuU1RBVElDX0RSQVcpO30pOworICAg
IHRocm93RXJyb3IoZ2wsICdidWZmZXJEYXRhJyk7CisgICAgZ2wuYmluZEJ1ZmZlcihnbC5FTEVN
RU5UX0FSUkFZX0JVRkZFUiwgbnVsbCk7CisgICAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmJ1
ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIG5ldyBVaW50MTZBcnJheShbMSwyLDNd
KSwgZ2wuU1RBVElDX0RSQVcpO30pOworICAgIHRocm93RXJyb3IoZ2wsICdidWZmZXJEYXRhJyk7
Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCwgYnVmLCBlYnVmKSB7CisgICAgZ2wu
ZGVsZXRlQnVmZmVyKGJ1Zik7CisgICAgZ2wuZGVsZXRlQnVmZmVyKGVidWYpOworfQorCisKKzwv
c2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9o
ZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52
YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleElt
YWdlMkQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTVhNGYyZmMwNjZhZjFlNWM3ZGM1MjMxOGRlMDI5MTFiNThiODUyMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwKQEAgLTAsMCArMSwxMzAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKwor
VGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250
ZXh0KGNhbnZhcykpOworICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlv
bihnbCkgeworICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVy
ZShnbC5URVhUVVJFXzJELCB0ZXgpOworICB2YXIgdGV4Q3ViZU1hcCA9IGdsLmNyZWF0ZVRleHR1
cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4Q3ViZU1hcCk7
CisgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsdGV4LCB0
ZXhDdWJlTWFwKSB7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICBn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCBudWxsKTsKKyAgZ2wuZGVsZXRlVGV4
dHVyZSh0ZXgpOworICBnbC5kZWxldGVUZXh0dXJlKHRleEN1YmVNYXApOworfQorCitUZXN0cy50
ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwxLDEsMCk7CisgIGdsLmNvcHlUZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwyLDEsMCk7CisgIGdsLmNvcHlUZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwxLDIsMCk7CisgIGdsLmNvcHlUZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwxNiwxNiwwKTsKKyAgZ2wuY29weVRl
eEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMTUsMTUsMSwxLDApOworICB2YXIg
dmFsaWRfdGFyZ2V0cyA9IFsKKyAgICBnbC5URVhUVVJFXzJELAorICAgIGdsLlRFWFRVUkVfQ1VC
RV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisg
ICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAg
Z2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisgIF07CisgIHZhbGlkX3RhcmdldHMuZm9y
RWFjaChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5jb3B5VGV4SW1h
Z2UyRCh0LCAwLCBnbC5SR0JBLCAwLDAsMSwxLDApO30pOworICB9KTsKK30KK1Rlc3RzLnRlc3RS
b3VuZHRyaXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciBzaCA9IG5ldyBGaWx0ZXIoZ2wsICdp
ZGVudGl0eS1mbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOworICAgIGdsLmNsZWFyQ29sb3Io
MS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsK
KyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgZ2wucmVhZFBpeGVscygwLDAs
MSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFsy
NTUsMCwwLDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICAvLyBy
ZWQgdGV4dHVyZQorICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIDAsMCwxNiwxNiwwKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGds
LlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAg
ICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwg
Z2wuTElORUFSKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC5jbGVhckNvbG9yKDAuMCwgMC4wLCAx
LjAsIDEuMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgLy8gYmx1
ZSBmcmFtZWJ1ZmZlcgorICAgIGdsLnJlYWRQaXhlbHMoMCwwLDEsMSxnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBidWYpOworICAgIGFzc2VydEVxdWFscyhbMCwwLDI1NSwyNTVdLCBbYnVmWzBd
LCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXSk7CisgICAgc2guYXBwbHkoKTsgLy8gcGFpbnQgaXQg
d2l0aCB0ZXh0dXJlCisgICAgZ2wucmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFsyNTUsMCwwLDI1NV0sIFtidWZbMF0s
IGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICBzaC5kZXN0cm95KCk7Cit9CisKK1Rlc3Rz
LmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9Imlk
ZW50aXR5LWZsaXAtdmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZl
YzMgVmVydGV4OworYXR0cmlidXRlIHZlYzIgVGV4OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQw
Owordm9pZCBtYWluKCkKK3sKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KFRleC5zLCAxLjAtVGV4LnQs
IDAuMCwgMC4wKTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBsZXIyRCBUZXh0
dXJlOworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB2ZWM0
IGMgPSB0ZXh0dXJlMkQoVGV4dHVyZSwgdGV4Q29vcmQwLnN0KTsKKyAgICBnbF9GcmFnQ29sb3Ig
PSBjOworfQorPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwv
c3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9
IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFn
ZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiNGRjYzIyZTlhZTAwMTYyNzE4NWY4MWVkZjFj
YTk3MmIzOGExMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1h
Z2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDEwOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIg
aHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlv
biAoKSB7CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOwor
ICAgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICAgIHJl
dHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgIHZhciB0ZXgg
PSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRl
eCk7CisgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsdGV4
KSB7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICBnbC5kZWxldGVU
ZXh0dXJlKHRleCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsK
KyAgICBhc3NlcnRPaygiaGVpZ2h0ID4gYmFja0hlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAg
IGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwgMTcsMSww
KTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygid2lkdGggPiBiYWNrV2lkdGgiLCBmdW5jdGlvbigp
eworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAw
LDAsIDEsMTcsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInggKyB3aWR0aCA+IGJhY2tXaWR0
aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIDE2LDAsIDEsMSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieSArIGhl
aWdodCA+IGJhY2tIZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDE2LCAxLDEsMCk7CisgICAgfSk7CisgICAg
YXNzZXJ0T2soIk5lZ2F0aXZlIFgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAtMSwwLCAxLDEsMCk7CisgICAgfSk7Cisg
ICAgYXNzZXJ0T2soIk5lZ2F0aXZlIFkiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLC0xLCAxLDEsMCk7CisgICAgfSk7
CisgICAgYXNzZXJ0RmFpbCgiTmVnYXRpdmUgaGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAg
Z2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAtMSwxLDAp
OworICAgIH0pOworICAgIGFzc2VydEZhaWwoIk5lZ2F0aXZlIHdpZHRoIiwgZnVuY3Rpb24oKXsK
KyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCww
LCAxLC0xLDApOworICAgIH0pOworICAgIGFzc2VydEZhaWwoIk5vbiAwIGJvcmRlciIsIGZ1bmN0
aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIDAsMCwgMSwxLDEpOworICAgIH0pOworICAgIGFzc2VydEZhaWwoIk5lZ2F0aXZlIGJvcmRl
ciIsZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgMCwwLCAxLDEsLTEpOworICAgIH0pOworICAgIGFzc2VydE9rKCJHb29kIEFy
Z3MiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCAwLDAsIDE2LDE2LDApOworICAgIH0pOworICAgIGFzc2VydEZhaWwoIk5Q
T1QgdGV4dHVyZSB0byA+IGxldmVsIDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAxLCBnbC5SR0JBLCAwLDAsIDE1LDE2LDApOworICAgIH0p
OworICAgIGFzc2VydEZhaWwoIkJhZCB0YXJnZXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5j
b3B5VGV4SW1hZ2UyRChnbC5GTE9BVCwgMCwgZ2wuUkdCQSwgMCwwLCAxNiwxNiwwKTsKKyAgICB9
KTsKKyAgICBhc3NlcnRGYWlsKCJCYWQgaW50ZXJuYWwgZm9ybWF0IiwgZnVuY3Rpb24oKXsKKyAg
ICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuRkxPQVQsIDAsMCwg
MTYsMTYsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTmVnYXRpdmUgbGV2ZWwiLCBmdW5j
dGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAtMSwgZ2wu
UkdCQSwgMCwwLCAxNiwxNiwwKTsKKyAgICB9KTsKK30KKworCitUZXN0cy5lbmRVbml0ID0gZnVu
Y3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNv
bHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2
IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eFN1YkltYWdlMkQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDUxYjNlYWI5Y2I0M2E5ZWZiYjE2NmIwYWZj
MzY4YThlMGM5ZDgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1
YkltYWdlMkQuaHRtbApAQCAtMCwwICsxLDE0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJl
Zj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlw
dCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAo
KSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFy
IGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHJldHVybiBbZ2xd
OworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgIHZhciB0ZXggPSBnbC5jcmVh
dGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgIHZh
ciB0ZXhDdWJlTWFwID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5U
RVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFwKTsKKyAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMu
dGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgsdGV4Q3ViZU1hcCkgeworICBnbC5iaW5kVGV4dHVy
ZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJF
X01BUCwgbnVsbCk7CisgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKKyAgZ2wuZGVsZXRlVGV4dHVy
ZSh0ZXhDdWJlTWFwKTsKK30KKworCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGds
KSB7CisgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwx
NiwxNiwwKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAw
LDAsMSwxKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAw
LDAsMiwxKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAw
LDAsMSwyKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAw
LDAsMTYsMTYpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAs
IDE1LDE1LDEsMSk7CisgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDEs
MSwgMCwwLDE1LDE1KTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
MTUsMTUsIDAsMCwxLDEpOworICB2YXIgdmFsaWRfdGFyZ2V0cyA9IFsKKyAgICBnbC5URVhUVVJF
XzJELAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9Z
LAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NV
QkVfTUFQX1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisg
IF07CisgIHZhbGlkX3RhcmdldHMuZm9yRWFjaChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0T2so
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQodCwgMCwgZ2wuUkdCQSwgMCww
LDEsMSwwKTsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQodCwgMCwgMCwwLDAsMCwxLDEp
OworICAgIH0pOworICB9KTsKK30KK1Rlc3RzLnRlc3RSb3VuZHRyaXAgPSBmdW5jdGlvbihnbCkg
eworICAgIHZhciBzaCA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0eS1mbGlwLXZlcnQnLCAnaWRl
bnRpdHktZnJhZycpOworICAgIGdsLmNsZWFyQ29sb3IoMS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAg
ICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4
QXJyYXkoNCk7CisgICAgZ2wucmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFsyNTUsMCwwLDI1NV0sIFtidWZbMF0sIGJ1
ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICAvLyByZWQgdGV4dHVyZQorICAgIGdsLmNsZWFy
Q29sb3IoMC4wLCAwLjAsIDAuMCwgMC4wKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJf
QklUKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJH
QkEsIGdsLlVOU0lHTkVEX0JZVEUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpKTsKKyAg
ICBnbC5jbGVhckNvbG9yKDEuMCwgMC4wLCAwLjAsIDEuMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09M
T1JfQlVGRkVSX0JJVCk7CisgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgMCwwLDAsMCwxNiwxNik7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgZ2wudGV4UGFyYW1ldGVy
aShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wuQ0xBTVBfVE9fRURHRSk7Cisg
ICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIs
IGdsLkxJTkVBUik7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhU
VVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CisgICAgZ2wuY2xlYXJDb2xvcigwLjAsIDAuMCwg
MS4wLCAxLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIC8vIGJs
dWUgZnJhbWVidWZmZXIKKyAgICBnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgYnVmKTsKKyAgICBhc3NlcnRFcXVhbHMoWzAsMCwyNTUsMjU1XSwgW2J1Zlsw
XSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXV0pOworICAgIHNoLmFwcGx5KCk7IC8vIHBhaW50IHdp
dGggdGV4dHVyZQorICAgIGdsLnJlYWRQaXhlbHMoMCwwLDEsMSxnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLCBidWYpOworICAgIGFzc2VydEVxdWFscyhbMjU1LDAsMCwyNTVdLCBbYnVmWzBdLCBi
dWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXSk7CisgICAgc2guZGVzdHJveSgpOworfQorCitUZXN0cy5l
bmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVu
dGl0eS1mbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMz
IFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsK
K3ZvaWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgucywgMS4wLVRleC50LCAw
LjAsIDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRleCwgMS4wKTsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVu
dCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSBzYW1wbGVyMkQgVGV4dHVy
ZTsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBj
ID0gdGV4dHVyZTJEKFRleHR1cmUsIHRleENvb3JkMC5zdCk7CisgICAgZ2xfRnJhZ0NvbG9yID0g
YzsKK30KKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0
eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIx
NiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3Vi
SW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MmM0NzRjNTU0MDk1ZTEyZjcyNWZiYWNm
Yzk5OGIwOGZlNzNiMjI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxMTEgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4
dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94
LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFw
cGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0g
ZnVuY3Rpb24gKCkgeworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Z2wnKTsKKyAgICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsK
KyAgICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCkgeworICAg
IHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV8yRCwgdGV4KTsKKyAgICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9IGZ1
bmN0aW9uKGdsLHRleCkgeworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwp
OworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30KKworVGVzdHMudGVzdFRleEltYWdlMkQg
PSBmdW5jdGlvbihnbCkgeworICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IGdsLlJHQkEsIDAsMCwgMTYsMTYsIDApOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFM
SURfVkFMVUUsICJ3aWR0aCA+IGRzdCB0ZXggd2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBn
bC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwgMTcsMSk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImhlaWdodCA+
IGRzdCB0ZXggaGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDAsIDEsMTcpOworICAgIH0pOworICAgIC8vIFRo
ZSBzcGVjIHNheXMgdGhlIHNvdXJjZSBpbWFnZSBkaW1lbnNpb25zIGNhbiBiZSBvdXQgb2YgcmFu
Z2UuCisgICAgYXNzZXJ0T2soInggPiBkc3QgdGV4IHdpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAxNiwwLCAxLDEp
OworICAgIH0pOworICAgIGFzc2VydE9rKCJ5ID4gZHN0IHRleCB3aWR0aCIsIGZ1bmN0aW9uKCl7
CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwx
NiwgMSwxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieCA8IDAiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIC0xLDAsIDEs
MSk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInkgPCAwIiwgZnVuY3Rpb24oKXsKKyAgICAgICAg
Z2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLC0xLCAxLDEpOwor
ICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJ3aWR0aCA8
IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCAwLDAsIDAsMCwgLTEsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwg
Z2wuSU5WQUxJRF9WQUxVRSwgImhlaWdodCA8IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5j
b3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwgMSwtMSk7CisgICAg
fSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInhvZmZzZXQgPCAw
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgLTEsMCwgMCwwLCAxNiwxNik7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwg
Z2wuSU5WQUxJRF9WQUxVRSwgInlvZmZzZXQgPCAwIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wu
Y29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwtMSwgMCwwLCAxNiwxNik7Cisg
ICAgfSk7CisgICAgYXNzZXJ0T2soInggPCAwIGZ1bGwgd2lkdGgiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIC0xLDAsIDE2
LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieSA8IDAgZnVsbCBoZWlnaHQiLCBmdW5jdGlv
bigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAs
IDAsLTEsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRPayhmdW5jdGlvbigpeworICAgICAg
ICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwgMTYsMTYp
OworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCB0
YXJnZXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5GTE9B
VCwgMCwgMCwwLCAwLDAsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBn
bC5JTlZBTElEX1ZBTFVFLCAiIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1Yklt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgLTEsIDAsMCwgMCwwLCAxNiwxNik7CisgICAgfSk7Cit9CisK
KworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHN0eWxl
PmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNh
bnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVl
MGNiYzAxZDg4ZGMyYjhmYTcyMWIyNmRhYWY1NjgxYjQ1ODE2MjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSw2NSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitU
ZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gZ2V0R0xDb250ZXh0KGNhbnZhcyk7Cisg
IHJldHVybiBbZ2xdOworfQorCitUZXN0cy50ZXN0RGVsZXRlQnVmZmVyID0gZnVuY3Rpb24oZ2wp
IHsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJudW1iZXIgIiwgZnVuY3Rpb24oKXsgZ2wu
ZGVsZXRlQnVmZmVyKDEpOyB9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJu
dWxsIiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKG51bGwpOyB9KTsKKyAgYXNzZXJ0VGhy
b3dOb0dMRXJyb3IoZ2wsICIwIiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKDApOyB9KTsK
KyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJmYWxzZSIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0
ZUJ1ZmZlcihmYWxzZSk7IH0pOworICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgInRydWUiLCBm
dW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIodHJ1ZSk7IH0pOworICBhc3NlcnRUaHJvd05vR0xF
cnJvcihnbCwgInt9IiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKHt9KTsgfSk7CisgIHZh
ciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAi
dGV4IGFzIGJ1ZiIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcih0ZXgpOyB9KTsKKyAgdmFy
IGJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBhc3NlcnRPayhmdW5jdGlvbigpeyBnbC5kZWxl
dGVCdWZmZXIoYnVmKTsgfSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZl
cihidWYpOyB9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKGJ1Zik7
IH0pOworICBhc3NlcnRPayhmdW5jdGlvbigpeyBnbC5kZWxldGVUZXh0dXJlKHRleCk7IH0pOwor
fQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c3R5
bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8
Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE1YzFkOGRlMmVkOWI5Zjdj
NmEwOGQwYjMyYTk0N2NjMjEwNmZkMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdBcnJheXMuaHRtbApAQCAtMCwwICsxLDEzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIg
aHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCit2YXIgdmVydHMgPSBbMC4wLCAwLjAsIDAu
MCwgICAxLjAsIDAuMCwgMC4wLCAgIDAuMCwgMS4wLCAwLjBdOwordmFyIG5vcm1hbHMgPSBbMC4w
LCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjBdOwordmFyIHRleGNv
b3JkcyA9IFswLjAsMC4wLCAgMS4wLDAuMCwgIDAuMCwxLjBdOworCitUZXN0cy5zdGFydFVuaXQg
PSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Z2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7Cisg
IHZhciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQnLCAnZnJhZycpOworICBwcm9nLnVzZSgp
OworICB2YXIgc2ggPSBwcm9nLnNoYWRlci5wcm9ncmFtOworLy8gICBsb2coZ2wuZ2V0U2hhZGVy
SW5mb0xvZyhwcm9nLnNoYWRlcnNbMV0pKTsKKyAgdmFyIHYgPSBnbC5nZXRBdHRyaWJMb2NhdGlv
bihzaCwgJ1ZlcnRleCcpOworICB2YXIgbiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnTm9y
bWFsJyk7CisgIHZhciB0ID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdUZXgnKTsKKyAgcmV0
dXJuIFtnbCxwcm9nLHYsbix0XTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCwgcHJv
ZywgdixuLHQpIHsKKyAgYXNzZXJ0KDAgPT0gZ2wuZ2V0RXJyb3IoKSk7CisgIHJldHVybiBbZ2ws
IHByb2csIHYsbix0XTsKK30KK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHByb2csIHYs
bix0KSB7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZGlzYWJsZVZl
cnRleEF0dHJpYkFycmF5KG4pOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodCk7Cit9
CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgcHJvZy5k
ZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzVkJPID0gZnVuY3Rpb24oZ2wsIHBy
b2csIHYsbix0KSB7CisgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLCB7c2l6ZTozLCBkYXRhOlF1YWQu
dmVydGljZXN9KTsKKyAgdmJvLmRyYXcodik7CisgIGFzc2VydCgwID09IGNoZWNrRXJyb3IoZ2ws
ICJ2Ym8uZHJhdyIpKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgNSwgMSk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIDIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNSk7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFzc2Vy
dCgwID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworVGVzdHMudGVzdERy
YXdBcnJheXNWQk9NdWx0aSA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAvLyBjcmVh
dGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFycmF5cywgYmluZHMgdGhlbSB3aXRoCisgIC8vIHZlcnRl
eEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxzIGRyYXdBcnJheXMKKyAgdmFyIHZibyA9IG5ldyBWQk8o
Z2wsCisgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICB7c2l6ZTozLCBkYXRh
OlF1YWQubm9ybWFsc30sCisgICAge3NpemU6MiwgZGF0YTpRdWFkLnRleGNvb3Jkc30pOworICB2
Ym8uZHJhdyh2LCBuLCB0KTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kcmF3
IikpOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA1
LCAxKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xF
UywgMCwgMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklB
TkdMRVMsIDAsIDYpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wu
VFJJQU5HTEVTLCAxLCA1KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCAxLCA2KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRy
YXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA2LCAxKTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBn
bC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCA1LCAxKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigp
e2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA1KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA2KTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA2LCAxKTt9KTsKKyAgdmJv
LmRlc3Ryb3koKTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kZXN0cm95Iikp
OworfQorCisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydCIgdHlwZT0ieC1zaGFkZXIveC12
ZXJ0ZXgiPgorICBhdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CisgIGF0dHJpYnV0ZSB2ZWMzIE5vcm1h
bDsKKyAgYXR0cmlidXRlIHZlYzIgVGV4OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cisg
IHZvaWQgbWFpbigpCisgIHsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4ICogTm9ybWFs
LCAxLjApOworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LDAuMCwwLjApICsgZ2xfUG9zaXRpb247
CisgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFn
bWVudCI+CisgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCisgIHZhcnlpbmcgdmVjNCB0ZXhD
b29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICB2ZWM0IGMgPSB0ZXhDb29yZDA7CisgICAg
Z2xfRnJhZ0NvbG9yID0gYzsKKyAgfQorPC9zY3JpcHQ+CisKKworPHN0eWxlPmNhbnZhc3sgcG9z
aXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorICA8Y2FudmFzIGlkPSJn
bCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDNlZTg1NzY3
NDA5MDhjYjEwMDBhZjRlZjJhNmY4NzZlOTg4MTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwKQEAgLTAsMCArMSwzMDUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKwordmFyIHZl
cnRzID0gWzAuMCwgMC4wLCAwLjAsICAgMS4wLCAwLjAsIDAuMCwgICAwLjAsIDEuMCwgMC4wXTsK
K3ZhciBub3JtYWxzID0gWzAuMCwgMC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMCwgICAwLjAsIDAu
MCwgMS4wXTsKK3ZhciB0ZXhjb29yZHMgPSBbMC4wLDAuMCwgIDEuMCwwLjAsICAwLjAsMS4wXTsK
KwordmFyIHZlcnRzQSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydHMpOwordmFyIG5vcm1hbHNBID0g
bmV3IEZsb2F0MzJBcnJheShub3JtYWxzKTsKK3ZhciB0ZXhjb29yZHNBID0gbmV3IEZsb2F0MzJB
cnJheSh0ZXhjb29yZHMpOworCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZh
ciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3Jh
cEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHZhciBwcm9nID0gbmV3IFNoYWRl
cihnbCwgJ3ZlcnQnLCAnZnJhZycpOworICBwcm9nLnVzZSgpOworICB2YXIgdiA9IHByb2cuYXR0
cmliKCdWZXJ0ZXgnKTsKKyAgdmFyIG4gPSBwcm9nLmF0dHJpYignTm9ybWFsJyk7CisgIHZhciB0
ID0gcHJvZy5hdHRyaWIoJ1RleCcpOworICByZXR1cm4gW2dsLHByb2csdixuLHRdOworfQorCitU
ZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICByZXR1cm4gW2dsLCBw
cm9nLCB2LG4sdF07Cit9CitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4s
dCkgeworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmRpc2FibGVWZXJ0
ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworfQor
CitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHByb2cuZGVz
dHJveSgpOworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5c0VtcHR5ID0gZnVuY3Rpb24oZ2wsIHBy
b2csIHYsbix0KSB7CisgIHZhciBiID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZm
ZXIoZ2wuQVJSQVlfQlVGRkVSLCBiKTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIs
IG5ldyBGbG9hdDMyQXJyYXkoW10pLCBnbC5TVEFUSUNfRFJBVyk7CisgIGFzc2VydE9rKGZ1bmN0
aW9uKCl7Z2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDAp
O30pCisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6ZSBhcnJheSIsCisgICAgICBmdW5jdGlv
bigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxKTt9KTsKKyAgZ2wuZGVsZXRlQnVm
ZmVyKGIpOworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5c091dE9mQm91bmRzID0gZnVuY3Rpb24o
Z2wsIHByb2csIHYsbix0KSB7CisgIHZhciBiID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJp
bmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBiKTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9C
VUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoW10pLCBnbC5TVEFUSUNfRFJBVyk7CisgIGFzc2VydE9r
KGZ1bmN0aW9uKCl7Z2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5GTE9BVCwgZmFsc2Us
IDAsIDApO30pOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ6ZXJvIHNpemUgYXJyYXkiLAorICAgICAg
ZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMSk7fSk7CisgIGFzc2Vy
dEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiemVybyBzaXplIGFycmF5IDEwMDAw
IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEwMDAw
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ6ZXJvIHNp
emUgYXJyYXkgMTAwMDAwMDAwMDAwMDAiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMCwgMTAwMDAwMDAwMDAwMDApO30pOworICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6ZSBhcnJheSBmcmFjdGlvbiIsCisgICAg
ICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxLjYpO30pOworICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgb2Zmc2V0IiwKKyAg
ICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIC0xKTt9KTsKKyAg
YXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJjb3VudCBvdXQgb2YgcmFu
Z2UiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMSk7
fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBjb3Vu
dCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAtMSk7
fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJwb3NpdGl2ZSBjb3Vu
dCwgbmVnYXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIC0xLCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgIm5lZ2F0aXZlIGNvdW50LCBwb3NpdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgLTEpO30pOworICBnbC5kZWxldGVCdWZmZXIo
Yik7Cit9CisKKworVGVzdHMudGVzdERyYXdBcnJheXNXaXRoRGF0YU91dE9mQm91bmRzID0gZnVu
Y3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciBiID0gZ2wuY3JlYXRlQnVmZmVyKCk7Cisg
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBiKTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5B
UlJBWV9CVUZGRVIsIHZlcnRzQSwgZ2wuU1RBVElDX0RSQVcpOworICBnbC52ZXJ0ZXhBdHRyaWJQ
b2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0
dHJpYkFycmF5KHYpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwg
IjMgZWxlbWVudCBhcnJheSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJ
QU5HTEVTLCAzLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJ
T04sICIzIGVsZW1lbnQgYXJyYXkgMTAwMDAiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJy
YXlzKGdsLlRSSUFOR0xFUywgMCwgMTAwMDApO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwgIjMgZWxlbWVudCBhcnJheSAxMDAwMDAwMDAwMDAwMCIsCisgICAg
ICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxMDAwMDAwMDAwMDAw
MCk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZnJhY3Rp
b25hbCBjb3VudCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAzLCAxLjYpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVn
YXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDAsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04s
ICJjb3VudCBvdXQgb2YgcmFuZ2UiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMCwgNCk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFM
VUUsICJuZWdhdGl2ZSBjb3VudCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wu
VFJJQU5HTEVTLCAwLCAtMSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFM
VUUsICJwb3NpdGl2ZSBjb3VudCwgbmVnYXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1bmN0aW9uKCl7
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIC0xLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihn
bCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50LCBwb3NpdGl2ZSBvZmZzZXQiLAor
ICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgLTEpO30pOwor
ICBnbC5kZWxldGVCdWZmZXIoYik7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzTXVsdGlPdXRP
ZkJvdW5kcyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICB2YXIgYnMgPSBbXTsKKyAg
YnMucHVzaChnbC5jcmVhdGVCdWZmZXIoKSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCBic1ticy5sZW5ndGgtMV0pOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwg
dmVydHNBLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywg
Z2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgYnMucHVzaChnbC5jcmVhdGVCdWZmZXIoKSk7Cisg
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1ticy5sZW5ndGgtMV0pOworICBnbC5i
dWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbm9ybWFsc0EsIGdsLlNUQVRJQ19EUkFXKTsKKyAg
Z2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBi
cy5wdXNoKGdsLmNyZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZG
RVIsIGJzW2JzLmxlbmd0aC0xXSk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCB0
ZXhjb29yZHNBLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodCwg
MiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXko
dik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOworICBnbC5lbmFibGVWZXJ0ZXhB
dHRyaWJBcnJheSh0KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04s
ICJtdWx0aSBhcnJheSAxIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklB
TkdMRVMsIDMsIDIpO30pOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wuYmlu
ZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0xXSk7CisgIGdsLmJ1ZmZlckRh
dGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KHZlcnRzLmNvbmNhdCh2ZXJ0cykp
LCBnbC5TVEFUSUNfRFJBVyk7CisgIGJzLnB1c2goZ2wuY3JlYXRlQnVmZmVyKCkpOworICBnbC5i
aW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbYnMubGVuZ3RoLTFdKTsKKyAgZ2wuYnVmZmVy
RGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkodGV4Y29vcmRzLmNvbmNhdCh0
ZXhjb29yZHMpKSwgZ2wuU1RBVElDX0RSQVcpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYs
IDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCBic1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZh
bHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzJdKTsKKyAg
Z2wudmVydGV4QXR0cmliUG9pbnRlcih0LCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBn
bC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJy
YXkobik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworICBhc3NlcnRHTEVycm9y
KGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDIiLAorICAgICAgZnVuY3Rp
b24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywgMik7fSk7CisgIGFzc2VydEdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgMyIsCisgICAgICBmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA0LCAyKTt9KTsKKyAgZ2wuYmluZEJ1
ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzBdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih2
LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JV
RkZFUiwgYnNbM10pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBm
YWxzZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1syXSk7Cisg
IGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodCwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAg
Z2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFy
cmF5KG4pOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKKyAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJheSA0IiwKKyAgICAgIGZ1bmN0
aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOworICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDUiLAorICAgICAgZnVu
Y3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNCwgMik7fSk7CisgIGdsLmJpbmRC
dWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1swXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
diwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIGJzWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwg
ZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbNF0pOwor
ICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHQsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Cisg
IGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJB
cnJheShuKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodCk7CisgIGFzc2VydEdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgNiIsCisgICAgICBmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAzLCAyKTt9KTsKKyAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJheSA3IiwKKyAgICAgIGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOworICBnbC5iaW5k
QnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbM10pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCBic1szXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQs
IGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzJdKTsK
KyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0LCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwor
ICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmli
QXJyYXkobik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDgiLAorICAgICAgZnVu
Y3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNCwgMSk7fSk7CisgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBjb3VudCIsCisgICAgICBmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAtMSwgMik7fSk7CisgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiemVybyBjb3VudD8/PyIsCisgICAgICBm
dW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA0KTt9KTsKKyAgYXNzZXJ0
R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJheSA5IiwKKyAgICAg
IGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDQpO30pOworICBicy5m
b3JFYWNoKGZ1bmN0aW9uKGIpeyBnbC5kZWxldGVCdWZmZXIoYikgfSk7Cit9CisKKworVGVzdHMu
dGVzdERyYXdBcnJheXNWQk9PdXRPZkJvdW5kcyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkg
eworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSk7
CisgIHZiby51c2Uodik7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9O
LCAiMSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA2LCAx
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNv
dW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDIsIC0x
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICIzIiwKKyAg
ICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDcpO30pOworICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjQiLAorICAgICAgZnVuY3Rp
b24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNik7fSk7CisgIHZiby5kZXN0cm95
KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzVkJPTXVsdGlPdXRPZkJvdW5kcyA9IGZ1bmN0
aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAvLyBjcmVhdGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFy
cmF5cywgYmluZHMgdGhlbSB3aXRoCisgIC8vIHZlcnRleEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxz
IGRyYXdBcnJheXMKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAge3NpemU6MywgZGF0YTpR
dWFkLnZlcnRpY2VzfSwKKyAgICB7c2l6ZTozLCBkYXRhOlF1YWQubm9ybWFsc30sCisgICAge3Np
emU6MiwgZGF0YTpRdWFkLnRleGNvb3Jkc30pOworICB2Ym8udXNlKHYsIG4sIHQpOworICBhc3Nl
cnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjEiLAorICAgICAgZnVuY3Rpb24o
KXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNiwgMSk7fSk7CisgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBjb3VudCIsCisgICAgICBmdW5jdGlvbigp
e2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAyLCAtMSk7fSk7CisgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA3KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sICIzIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDEsIDYpO30pOworICB2Ym8uZGVzdHJveSgpOworfQorCitUZXN0cy50ZXN0RHJh
d0FycmF5c09PQlNoYWRlckp1Z2dsZSA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICB2
YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICB7c2l6ZTozLCBkYXRhOlswLDAsMF19LAorICAgIHtz
aXplOjMsIGRhdGE6WzAsMCwwLDAsMCwwXX0pOworICB2Ym8uaW5pdCgpOworICBnbC5iaW5kQnVm
ZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvLnZib3NbMF0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2lu
dGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJp
YkFycmF5KHYpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm9m
ZnNldCB0b28gYmlnIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDAsIDIpO30pOworICB2YXIgc2gyID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQnLCAnZnJhZycp
OworICBzaDIudXNlKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJv
c1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoc2gyLmF0dHJpYignVmVydGV4JyksIDMs
IGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHNo
Mi5hdHRyaWIoJ1ZlcnRleCcpKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAib2Zmc2V0IHRvbyBiaWcgMiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTt9KTsKKyAgcHJvZy51c2UoKTsKKyAgZ2wudmVydGV4
QXR0cmliUG9pbnRlcihwcm9nLmF0dHJpYignVmVydGV4JyksIDMsIGdsLkZMT0FULCBmYWxzZSwg
MCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHByb2cuYXR0cmliKCdWZXJ0ZXgn
KSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAs
IDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm9mZnNl
dCB0b28gYmlnIDMiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xF
UywgMCwgMyk7fSk7CisgIHNoMi5kZXN0cm95KCk7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBp
ZD0idmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICBhdHRyaWJ1dGUgdmVjMyBWZXJ0
ZXg7CisgIGF0dHJpYnV0ZSB2ZWMzIE5vcm1hbDsKKyAgYXR0cmlidXRlIHZlYzIgVGV4OworCisg
IHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICBnbF9Qb3Np
dGlvbiA9IHZlYzQoVmVydGV4ICogTm9ybWFsLCAxLjApOworICAgIHRleENvb3JkMCA9IHZlYzQo
VGV4LDAuMCwwLjApICsgZ2xfUG9zaXRpb247CisgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0i
ZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgIHByZWNpc2lvbiBtZWRpdW1wIGZs
b2F0OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAg
ICBnbF9GcmFnQ29sb3IgPSB0ZXhDb29yZDA7CisgIH0KKzwvc2NyaXB0PgorCisKKzxzdHlsZT5j
YW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKyAgPGNh
bnZhcyBpZD0iZ2wiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODAxNjg1ZGFhNmQ2ZTg5OTFk
NTAzMWVjYjkxZDA4MjY1YTdlNDM2NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdFbGVtZW50cy5odG1sCkBAIC0wLDAgKzEsMTQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3Nz
IiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK3ZhciB2ZXJ0cyA9IFswLjAsIDAuMCwg
MC4wLCAgIDEuMCwgMC4wLCAwLjAsICAgMC4wLCAxLjAsIDAuMF07Cit2YXIgbm9ybWFscyA9IFsw
LjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMF07Cit2YXIgdGV4
Y29vcmRzID0gWzAuMCwwLjAsICAxLjAsMC4wLCAgMC4wLDEuMF07Cit2YXIgaW5kaWNlcyA9IFsw
LDEsMl0KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICB2YXIgY2FudmFzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZhciBnbCA9IHdyYXBHTENvbnRleHQo
Z2V0R0xDb250ZXh0KGNhbnZhcykpOworICB2YXIgcHJvZyA9IG5ldyBTaGFkZXIoZ2wsICd2ZXJ0
JywgJ2ZyYWcnKTsKKyAgcHJvZy51c2UoKTsKKyAgdmFyIHNoID0gcHJvZy5zaGFkZXIucHJvZ3Jh
bTsKKyAgdmFyIHYgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ1ZlcnRleCcpOworICB2YXIg
biA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnTm9ybWFsJyk7CisgIHZhciB0ID0gZ2wuZ2V0
QXR0cmliTG9jYXRpb24oc2gsICdUZXgnKTsKKyAgcmV0dXJuIFtnbCxwcm9nLHYsbix0XTsKK30K
KworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgYXNzZXJ0KDAg
PT0gZ2wuZ2V0RXJyb3IoKSk7CisgIHJldHVybiBbZ2wsIHByb2csIHYsbix0XTsKK30KK1Rlc3Rz
LnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIGdsLmRpc2FibGVWZXJ0
ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOworICBn
bC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5j
dGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgcHJvZy5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRl
c3REcmF3RWxlbWVudHNWQk8gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgICB2YXIg
dmJvID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpR
dWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAgICAgICAgICAgICAge2VsZW1lbnRzOnRydWUsIGRh
dGE6UXVhZC5pbmRpY2VzfSk7CisgIHZiby5kcmF3KHYpOworICBhc3NlcnQoZ2wuTk9fRVJST1Ig
PT0gY2hlY2tFcnJvcihnbCwgInZiby5kcmF3IikpOworICBhc3NlcnRPayhmdW5jdGlvbigpe2ds
LmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30p
OworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYs
IGdsLlVOU0lHTkVEX1NIT1JULCAwKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRy
YXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAyKjEpO30pOwor
ICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGds
LlVOU0lHTkVEX1NIT1JULCA1KjIpO30pOworICB2Ym8uZGVzdHJveSgpOworICBhc3NlcnQoZ2wu
Tk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kZXN0cm95IikpOworfQorCitUZXN0cy50
ZXN0RHJhd0VsZW1lbnRzVkJPTXVsdGkgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAg
Ly8gY3JlYXRlcyBWQk9zIGZvciB0aGUgcXVhZCBhcnJheXMsIGJpbmRzIHRoZW0gd2l0aAorICAv
LyB2ZXJ0ZXhBdHRyaWJQb2ludGVyIGFuZCBjYWxscyBkcmF3RWxlbWVudHMKKyAgdmFyIHZibyA9
IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0
aWNlc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVhZC5ub3JtYWxzfSwK
KyAgICAgICAgICAgICAgICAgICAge3NpemU6MiwgZGF0YTpRdWFkLnRleGNvb3Jkc30sCisgICAg
ICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCBkYXRhOlF1YWQuaW5kaWNlc30pOworICB2
Ym8uZHJhdyh2LCBuLCB0KTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJyb3IoZ2ws
ICJ2Ym8uZHJhdyIpKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNzZXJ0T2soZnVu
Y3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAwLCBnbC5VTlNJR05FRF9TSE9S
VCwgMioyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJ
QU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCoyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rp
b24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwg
NSoyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJjb3Vu
dCArIG9mZnNldCBvdXQgb2YgcmFuZ2UiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNioyKTt9KTsKKyAgYXNzZXJ0
R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJjb3VudCArIG9mZnNldCBvdXQgb2Yg
cmFuZ2UgMiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMs
IDYsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZ
X0JVRkZFUiwgbnVsbCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJv
c1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAw
LCAwKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtn
bC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAwLCBnbC5VTlNJR05FRF9TSE9SVCwgMioyKTt9
KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2
LCBnbC5VTlNJR05FRF9TSE9SVCwgMCoyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNSoyKTt9KTsK
KyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJjb3VudCArIG9mZnNl
dCBvdXQgb2YgcmFuZ2UgMyIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA2KjIpO30pOworICBhc3NlcnRHTEVycm9y
KGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50ICsgb2Zmc2V0IG91dCBvZiByYW5nZSA0
IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wu
VU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFzc2VydChnbC5O
T19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgIGF0dHJp
YnV0ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZlYzMgTm9ybWFsOworICBhdHRyaWJ1dGUg
dmVjMiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAg
eworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXggKiBOb3JtYWwsIDEuMCk7CisgICAgdGV4
Q29vcmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Qb3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+
Cis8c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBt
YWluKCkKKyAgeworICAgIHZlYzQgYyA9IHRleENvb3JkMDsKKyAgICBnbF9GcmFnQ29sb3IgPSBj
OworICB9Cis8L3NjcmlwdD4KKworCis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsg
fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+CisgIDxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMSIgaGVp
Z2h0PSIxIj48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVu
dHNCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkwMmI2ZjQ5ZmI0MDhmZGE1MGQ2OWViMDJiODll
YzllYTY4M2JmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50
c0JhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDIwOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJl
Zj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlw
dCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0cy5hdXRvcnVuID0gZmFsc2U7Cisv
LyBUZXN0cy5tZXNzYWdlID0gIkNhdXRpb246IE1heSBjcmFzaCB5b3VyIGJyb3dzZXIiOworCit2
YXIgdmVydHMgPSBbMC4wLCAwLjAsIDAuMCwgICAxLjAsIDAuMCwgMC4wLCAgIDAuMCwgMS4wLCAw
LjBdOwordmFyIG5vcm1hbHMgPSBbMC4wLCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wLCAgIDAu
MCwgMC4wLCAxLjBdOwordmFyIHRleGNvb3JkcyA9IFswLjAsMC4wLCAgMS4wLDAuMCwgIDAuMCwx
LjBdOwordmFyIGluZGljZXMgPSBbNjAwMDAwMDAsMSwyXQorCitUZXN0cy5zdGFydFVuaXQgPSBm
dW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wn
KTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHZh
ciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQnLCAnZnJhZycpOworICBwcm9nLnVzZSgpOwor
ICB2YXIgc2ggPSBwcm9nLnNoYWRlci5wcm9ncmFtOworICB2YXIgdiA9IGdsLmdldEF0dHJpYkxv
Y2F0aW9uKHNoLCAnVmVydGV4Jyk7CisgIHZhciBuID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gs
ICdOb3JtYWwnKTsKKyAgdmFyIHQgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ1RleCcpOwor
ICByZXR1cm4gW2dsLHByb2csdixuLHRdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGds
LCBwcm9nLCB2LG4sdCkgeworICBhc3NlcnQoMCA9PSBnbC5nZXRFcnJvcigpKTsKKyAgcmV0dXJu
IFtnbCwgcHJvZywgdixuLHRdOworfQorVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgcHJv
ZywgdixuLHQpIHsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5kaXNh
YmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh0
KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBw
cm9nLmRlc3Ryb3koKTsKK30KKworCitUZXN0cy50ZXN0RHJhd0VsZW1lbnRzVkJPID0gZnVuY3Rp
b24oZ2wsIHByb2csIHYsbix0KSB7CisgICAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAgICAg
ICAgICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30sCisgICAgICAgICAg
ICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCBkYXRhOlswLDEsMiwyMDAwLCA0MDgwMiwgNTg4
Nzk5Ml19KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe3Ziby5kcmF3KHYpO30pOworICBhc3Nl
cnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5T
SUdORURfU0hPUlQsIDUqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxl
bWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2Vy
dE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdO
RURfU0hPUlQsIDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRz
KGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfU0hPUlQsIDEpO30pOworICBhc3NlcnRGYWls
KGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURf
U0hPUlQsIDEqMik7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9
PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxl
bWVudHNWQk9CeXRlID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgICAgdmFyIHZibyA9
IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVhZC52
ZXJ0aWNlc30sCisgICAgICAgICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCB0eXBlOmds
LlVOU0lHTkVEX0JZVEUsIGRhdGE6WzAsMSwyLDIwMDAsIDQwODAyLCA1ODg3OTkyXX0pOworICBh
c3NlcnRGYWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rp
b24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRFLCA1
KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdM
RVMsIDYsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2ds
LmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOwor
ICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwg
Z2wuVU5TSUdORURfQllURSwgMSk7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFzc2VydChnbC5O
T19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKK1Rlc3RzLnRl
c3REcmF3RWxlbWVudHNWQk9NdWx0aSA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAv
LyBjcmVhdGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFycmF5cywgYmluZHMgdGhlbSB3aXRoCisgIC8v
IHZlcnRleEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxzIGRyYXdFbGVtZW50cworICAvLyBUaGUgcXVh
ZCBoYXMgNiB2ZXJ0aWNlcworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAgICAg
ICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAgICAgICAgICAg
e3NpemU6MywgZGF0YTpRdWFkLm5vcm1hbHN9LAorICAgICAgICAgICAgICAgICAgICB7c2l6ZToy
LCBkYXRhOlF1YWQudGV4Y29vcmRzfSwKKyAgICAgICAgICAgICAgICAgICAge2VsZW1lbnRzOnRy
dWUsIGRhdGE6WzAsMSwyLDYsMjAwMCwgMjU2XX0pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7
dmJvLmRyYXcodiwgbiwgdCk7fSk7CisgIGdsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMs
IGdsLlVOU0lHTkVEX1NIT1JULCAwKTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA1KjIpO30pOworICBh
c3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wu
VU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDIsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0
T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05F
RF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMo
Z2wuVFJJQU5HTEVTLCA0LCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydEZhaWwo
ZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9T
SE9SVCwgMSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhn
bC5UUklBTkdMRVMsIDIsIGdsLlVOU0lHTkVEX1NIT1JULCAyKjIpO30pOworICBhc3NlcnRGYWls
KGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURf
U0hPUlQsIDMqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMo
Z2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVE
X1NIT1JULCAxKjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRz
KGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEpO30pOworICBhc3NlcnRGYWls
KGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURf
U0hPUlQsIDYqMik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJv
c1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAw
LCAwKTsKKyAgZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hP
UlQsIDApOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFO
R0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rp
b24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwg
MCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7
Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7
fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAxKTt9
KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMs
IDEsIGdsLlVOU0lHTkVEX1NIT1JULCA2KjIpO30pOworICB2Ym8uZGVzdHJveSgpOworICBhc3Nl
cnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kZXN0cm95IikpOworfQorCitU
ZXN0cy50ZXN0RHJhd0VsZW1lbnRzVkJPTXVsdGlCeXRlID0gZnVuY3Rpb24oZ2wsIHByb2csIHYs
bix0KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhlIHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVt
IHdpdGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRlciBhbmQgY2FsbHMgZHJhd0VsZW1lbnRzCisg
IC8vIFRoZSBxdWFkIGhhcyA2IHZlcnRpY2VzCisgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLAorICAg
ICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAgICAgICAg
ICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQubm9ybWFsc30sCisgICAgICAgICAgICAgICAg
ICAgIHtzaXplOjIsIGRhdGE6UXVhZC50ZXhjb29yZHN9LAorICAgICAgICAgICAgICAgICAgICB7
ZWxlbWVudHM6dHJ1ZSwgdHlwZTpnbC5VTlNJR05FRF9CWVRFLCBkYXRhOlswLDEsMiw2LDIwMDAs
IDI1Nl19KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe3Ziby5kcmF3KHYsIG4sIHQpO30pOwor
ICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9CWVRFLCAwKTsK
KyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDQs
IGdsLlVOU0lHTkVEX0JZVEUsIC0xKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRy
YXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIC0xLCBnbC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAg
YXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5V
TlNJR05FRF9CWVRFLCA1KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRP
ayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDIsIGdsLlVOU0lHTkVE
X0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNCwgZ2wuVU5TSUdORURfQllURSwg
MCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5H
TEVTLCAzLCBnbC5VTlNJR05FRF9CWVRFLCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDIsIGdsLlVOU0lHTkVEX0JZVEUsIDIpO30p
OworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
MSwgZ2wuVU5TSUdORURfQllURSwgMyk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9CWVRFLCAxKTt9KTsKKyAg
YXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGds
LlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0Vs
ZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfQllURSwgNik7fSk7CisgIGdsLmJp
bmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJvc1sxXSk7CisgIGdsLnZlcnRleEF0dHJp
YlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZHJhd0VsZW1lbnRz
KGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllURSwgMCk7CisgIGFzc2VydE9rKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfQllURSwg
NSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5H
TEVTLCA2LCBnbC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtn
bC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9CWVRFLCAwKTt9KTsK
KyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUs
IGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfQllURSwgMSk7fSk7CisgIGFz
c2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5V
TlNJR05FRF9CWVRFLCA2KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGdsLk5PX0VS
Uk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworVGVzdHMudGVzdFNo
YXJlZEJ1ZmZlcnMgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFyIHZibyA9IGds
LmNyZWF0ZUJ1ZmZlcigpOworICB2YXIgdmVydHNBcnIgPSBuZXcgVWludDE2QXJyYXkoWzAsMSwz
LDMsNCw1LDYsNyw4XSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2Ym8pOwor
ICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdmVydHNBcnIsIGdsLlNUQVRJQ19EUkFX
KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJB
WV9CVUZGRVIsIHZibyl9KTsKKyAgZ2wuZGVsZXRlQnVmZmVyKHZibyk7Cit9CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBpZD0idmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICBhdHRyaWJ1
dGUgdmVjMyBWZXJ0ZXg7CisgIGF0dHJpYnV0ZSB2ZWMzIE5vcm1hbDsKKyAgYXR0cmlidXRlIHZl
YzIgVGV4OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsK
KyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4ICogTm9ybWFsLCAxLjApOworICAgIHRleENv
b3JkMCA9IHZlYzQoVGV4LDAuMCwwLjApICsgZ2xfUG9zaXRpb247CisgIH0KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgIHByZWNpc2lv
biBtZWRpdW1wIGZsb2F0OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFp
bigpCisgIHsKKyAgICB2ZWM0IGMgPSB0ZXhDb29yZDA7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsK
KyAgfQorPC9zY3JpcHQ+CisKKworPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08
L3N0eWxlPgorPC9oZWFkPjxib2R5PgorICA8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjEiIGhlaWdo
dD0iMSI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRB
cmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2U2OTYxMzk2MDUxNjM2M2IzNWQ0ZDE3MTk4YzdmYWNiYzdk
MjhlNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdz
Lmh0bWwKQEAgLTAsMCArMSwxMTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Vu
aXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0i
Li4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICB2
YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZhciBnbCA9IHdy
YXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICByZXR1cm4gW2dsXTsKK30KKwor
VGVzdHMudGVzdFJlYWRQaXhlbHMgPSBmdW5jdGlvbihnbCkgeworICAvLyB3ZSBjYW4ndCBrbm93
IGlmIHRoaXMgaXMgZ29pbmcgdG8gZmFpbCBiZWNhdXNlIG9mIG5lZ2F0aXZlIHdpZHRoCisgIC8v
IG9yIGJlY2F1c2UgdGhlIGJ1ZmZlciBzaXplIGRvZXNuJ3QgbWF0Y2ggdGhlIGRpbWVuc2lvbnMu
CisgIGFzc2VydFNvbWVHTEVycm9yKGdsLCAibmVnYXRpdmUgd2lkdGgiLAorICAgICAgZnVuY3Rp
b24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwtMSwxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAor
ICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsKKyAgYXNzZXJ0U29tZUdMRXJyb3IoZ2ws
ICAibmVnYXRpdmUgaGVpZ2h0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAs
MSwtMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJh
eSg0KSk7fSk7CisgIGFzc2VydE9rKCJuZWdhdGl2ZSB4IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wu
cmVhZFBpeGVscygtMSwwLDEsMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAg
ICBuZXcgVWludDhBcnJheSg0KSk7fSk7CisgIGFzc2VydE9rKCJuZWdhdGl2ZSB5IiwKKyAgICAg
IGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLC0xLDEsMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSg0KSk7fSk7CisgIGFzc2VydE9rKCJoZWln
aHQgPiBiYWNrYnVmZmVyIGhlaWdodCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMo
MCwwLDE2LDE3LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50
OEFycmF5KDE2KjE3KjQpKTt9KTsKKyAgYXNzZXJ0T2soIndpZHRoID4gYmFja2J1ZmZlciB3aWR0
aCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDE3LDE2LCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDE3KjE2KjQpKTt9KTsK
KyAgYXNzZXJ0T2soIndpZHRoLCBoZWlnaHQgPSAwIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVh
ZFBpeGVscygwLDAsMCwwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5l
dyBVaW50OEFycmF5KDApKTt9KTsKKyAgLy8gd2UgY2FuJ3Qga25vdyBpZiB0aGlzIGlzIGdvaW5n
IHRvIGZhaWwgYmVjYXVzZSBvZiBuZWdhdGl2ZSB3aWR0aAorICAvLyBvciBiZWNhdXNlIHRoZSBi
dWZmZXIgc2l6ZSBkb2Vzbid0IG1hdGNoIHRoZSBkaW1lbnNpb25zLgorICBhc3NlcnRTb21lR0xF
cnJvcihnbCwgImJhZCBmb3JtYXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAs
MCwxLDEsIGdsLkZMT0FULCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFy
cmF5KDQqNCkpO30pOworICAvLyB3ZSBjYW4ndCBrbm93IGlmIHRoaXMgaXMgZ29pbmcgdG8gZmFp
bCBiZWNhdXNlIG9mIG5lZ2F0aXZlIHdpZHRoCisgIC8vIG9yIGJlY2F1c2UgdGhlIGJ1ZmZlciBz
aXplIGRvZXNuJ3QgbWF0Y2ggdGhlIGRpbWVuc2lvbnMuCisgIGFzc2VydFNvbWVHTEVycm9yKGds
LCAiYmFkIHR5cGUiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsIGds
LkFMUEhBLCBnbC5GTE9BVCwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSgxKjQpKTt9KTsKK30K
KworVGVzdHMudGVzdFJlYWRQaXhlbHNTT1BJTUcgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciBp
bWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaSIpOworICAgIHdoaWxlICghaW1nLmNvbXBs
ZXRlKSB7fQorICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRl
eHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICAvLyBTT1AgZmFpbHVyZQorICAgIGFzc2Vy
dFRocm93Tm9HTEVycm9yKGdsLCAidGhyb3cgYmVjYXVzZSBpbWcgaXMgZnJvbSBhbm90aGVyIGRv
bWFpbiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1nKTt9KTsKKyAgICBnbC5iaW5k
VGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBhc3NlcnRPaygiY2FudmFzIHN0aWxs
IG9yaWdpbi1jbGVhbiIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSg0KSk7
fSk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworfQorVGVzdHMudGVzdFJlYWRQaXhlbHNT
T1BDYW52YXMgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaSIpOworICAgIHdoaWxlICghaW1nLmNvbXBsZXRlKSB7fQorICAgIHZhciBjID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMiKTsKKyAgICBjLmdldENvbnRleHQoIjJkIikuZHJh
d0ltYWdlKGltZywgMCwgMCk7CisgICAgYXNzZXJ0RmFpbCgiY2FudmFzIHRocm93cyBiZWNhdXNl
IG5vdCBvcmlnaW4gY2xlYW4iLAorICAgICAgZnVuY3Rpb24oKXtjLmdldENvbnRleHQoIjJkIiku
Z2V0SW1hZ2VEYXRhKDAsMCwxLDEpO30pOworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJl
KCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICAvLyBTT1Ag
ZmFpbHVyZQorICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGhyb3cgYmVjYXVzZSBjYW52
YXMgaXMgbm90IG9yaWdpbiBjbGVhbiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7
fSk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgYXNzZXJ0
T2soImNhbnZhcyBzdGlsbCBvcmlnaW4tY2xlYW4iLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFk
UGl4ZWxzKDAsMCwxLDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3
IFVpbnQ4QXJyYXkoNCkpO30pOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30KKworVGVz
dHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPjxib2R5
PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8Y2Fu
dmFzIGlkPSJjIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PC9jYW52YXM+Cis8aW1nIGlkPSJp
IiBzcmM9Imh0dHA6Ly93d3cub3BlbmdsLm9yZy9pbWcvb3BlbmdsX2xvZ28uanBnIj4KKzwvYm9k
eT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
NzcyNDg3YmYzNGVjMjcxMzEwYWFmMzBmZDVlMGU2OGEzNDIxM2RjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDEwNiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitU
ZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xD
b250ZXh0KGNhbnZhcykpOworICAgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1
bmN0aW9uKGdsKSB7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5i
aW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIHJldHVybiBbZ2xdCit9CisKK1Rl
c3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsdGV4KSB7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wu
VEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworfQorCitUZXN0
cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIGRhdGEgPSBuZXcgVWlu
dDhBcnJheSg0KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwg
Im5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMiwxLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBk
YXRhKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElP
TiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwyLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRF
LCBkYXRhKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX0VOVU0s
ICJiYWQgdGFyZ2V0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5GTE9B
VCwgMCwgZ2wuUkdCQSwgMSwxLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAg
ICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX0VOVU0sICJiYWQgaW50ZXJu
YWwgZm9ybWF0L2Zvcm1hdCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuRkxPQVQsIDEsMSwwLGdsLkZMT0FULGdsLlVOU0lHTkVEX0JZVEUs
IG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUs
ICJib3JkZXIgPiAwIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbC5SR0JBLCAxLDEsNDgsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBudWxs
KTsKKyAgICB9KTsKKyAgICAvLyBUaGUgc3BlYyBzYXlzIHplcm8gc2l6ZSBpcyBPSy4gSWYgeW91
IGRpc2FncmVlIHBsZWFzZSBsaXN0IHRoZSBzZWN0aW9uCisgICAgLy8gaW4gdGhlIHNwZWMgdGhh
dCBkZXRhaWxzIHRoaXMgaXNzdWUuCisgICAgYXNzZXJ0T2soInplcm8gc2l6ZSIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCww
LDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICB9KTsKKyAgICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgd2lkdGgiLCBmdW5jdGlvbigp
eworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIC0xLDEs
MCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBoZWlnaHQiLCBmdW5jdGlvbigp
eworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEsLTEs
MCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCBmb3JtYXQiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEsMSwwLGdsLkZM
T0FULGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCB0eXBlIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wu
dGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLDEsMCxnbC5SR0JBLGdsLlRF
WFRVUkVfMkQsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFM
SURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRhIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wu
dGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLDEsMCxnbC5SR0JBLGdsLlVO
U0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KDMpKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvcm1hdCBhbmQgdHlwZSBpbmNvbXBhdGli
bGUiLGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgMSwxLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9TSE9SVF81XzZfNSwgbnVsbCk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3Jt
YXQgYW5kIHR5cGUgaW5jb21wYXRpYmxlIixmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQiwgMSwxLDAsZ2wuUkdCLGdsLlVOU0lHTkVEX1NI
T1JUXzRfNF80XzQsIG51bGwpOworICAgIH0pOworfQorCisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5j
dGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29s
dXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYi
IGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJE
SFRNTC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3NzJmNmIyNmM0MjlhZGRkZWMwZGY0OGE5OWM5ZjNiNzhm
OTRkNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5o
dG1sCkBAIC0wLDAgKzEsMTUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0
LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4u
L3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3Jp
cHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2
YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgICAgdmFyIGdsID0g
d3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgICAgZ2wudmlld3BvcnQoMCww
LGNhbnZhcy53aWR0aCxjYW52YXMuaGVpZ2h0KTsKKyAgICBnbC5jbGVhckNvbG9yKDAsMCwxLDEp
OworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklU
KTsKKyAgICBnbC5kaXNhYmxlKGdsLkRFUFRIX1RFU1QpOworICAgIHJldHVybiBbZ2xdOworfQor
CitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRl
eHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIHZh
ciB0ZXhDdWJlTWFwID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfQ1VCRV9NQVAsIHRleEN1YmVNYXApOworICAgIHJldHVybiBbZ2xdCit9CisKK1Rl
c3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHRleCwgdGV4Q3ViZU1hcCkgeworICAgIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4
KTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCBudWxsKTsKKyAgICBn
bC5kZWxldGVUZXh0dXJlKHRleEN1YmVNYXApOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9
IGZ1bmN0aW9uKGdsKSB7CisgICAgZ2wuZW5hYmxlKGdsLkJMRU5EKTsKKyAgICB2YXIgaW1nID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2knKTsKKyAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjJyk7CisgICAgdmFyIGN0eCA9IGMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBj
dHguZHJhd0ltYWdlKGltZywwLDApOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1nKTsKKyAgICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19F
REdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JB
UF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVf
MkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC50ZXhQYXJhbWV0
ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAg
ICB2YXIgZiA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0eS1mbGlwLXZlcnQnLCAnaWRlbnRpdHkt
ZnJhZycpOworICAgIGdsLmJsZW5kRnVuYyhnbC5PTkUsIGdsLlpFUk8pOworICAgIGYuYXBwbHko
KTsKKyAgICBmLmRlc3Ryb3koKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpOworICAgIGYgPSBuZXcgRmls
dGVyKGdsLCAnaWRlbnRpdHktaGZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAgZ2wu
YmxlbmRGdW5jKGdsLlNSQ19BTFBIQSwgZ2wuT05FX01JTlVTX1NSQ19BTFBIQSk7CisgICAgZi5h
cHBseSgpOworICAgIGYuZGVzdHJveSgpOworICAgIHZhciB2YWxpZF90YXJnZXRzID0gWworICAg
ICAgICBnbC5URVhUVVJFXzJELAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZF
X1gsCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICAgICAgZ2wu
VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQ
X05FR0FUSVZFX1ksCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAg
ICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisgICAgXTsKKyAgICB2YWxpZF90
YXJnZXRzLmZvckVhY2goZnVuY3Rpb24odCkgeworICAgICAgICBhc3NlcnRPayhmdW5jdGlvbigp
e2dsLnRleEltYWdlMkQodCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
Yyk7fSk7CisgICAgICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRCh0LCAxLCBn
bC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKKyAgICB9KTsKK30KKwor
VGVzdHMudGVzdFRleEltYWdlMkROb25TT1AgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciBpbWcg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaTInKTsKKyAgICB3aGlsZSAoIWltZy5jb21wbGV0
ZSkge30KKyAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyk7CisgICAgdmFy
IGN0eCA9IGMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjdHguZHJhd0ltYWdlKGltZywwLDApOwor
ICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4SW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdp
biBpbWFnZSBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRl
eEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgaW1nKTt9KTsKKyAgICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgInRleEltYWdlMkQg
d2l0aCBkaXJ0eSBvcmlnaW4gY2FudmFzIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIiwKKyAgICAg
IGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0
aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZmxpcC12ZXJ0
IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CithdHRy
aWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQor
eworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LnMsIDEuMC1UZXgudCwgMC4wLCAwLjApOworICAg
IGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
aWQ9ImlkZW50aXR5LWhmbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJp
YnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwordmFyeWluZyB2ZWM0IHRl
eENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQwID0gdmVjNCgxLjAtVGV4LnMs
IFRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRleCwgMS4wKTsK
K30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZnJhZyIgdHlwZT0ieC1zaGFkZXIv
eC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSBzYW1wbGVy
MkQgVGV4dHVyZTsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7Cisg
ICAgdmVjNCBjID0gdGV4dHVyZTJEKFRleHR1cmUsIHRleENvb3JkMC5zdCk7CisgICAgZ2xfRnJh
Z0NvbG9yID0gYzsKK30KKzwvc2NyaXB0PgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wi
IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImMiIHdpZHRo
PSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZhcz4KKzxpbWcgaWQ9ImkiIHdpZHRoPSIyNTYiIGhl
aWdodD0iMjU2IiAgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNV
aEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFUVkVsRVFWUjRuTzNkK1ZQVWQ1N0hjZjJiOWs5
WSt6NDQrcUs3T1pvR0ZWQTVWZkJHemFoOWN4cE56R0VPb1J1YTVsQkV1ZS9ESzRmWjdNYXBtU20z
TWxzaHU4eE9kQ3BESnQzdi9hRUJBVUhBT01HNHowZlY1M2ZxVS9WNmZkN2ZUL2UzMmJFREFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBd092QmthcjdsKzMrR3dCc2s4eFVyVDByVGI4dngyUTQ1amFubHU3
WXNXUG5zZ1hnVGVZd2FrODVVM1h2NVppTTMrWGJVaC9sMmRJQ0JjNjA4MFdaMXVyOTJiYVNIUlFC
OEdheUdkVVd1MUh6b1NORk8rWk0xZjJjYlRMTTUxbFQ1d29jNXJrRE9iYlovVm0yU0VtMjNWdnN5
amhWNW5KUUJzQ2J4R1pRVnRtTjZwNE1vL1lQZHFOR0hLbGF5VXJYSjl6V2xFU2gweEl2enNtWUwz
SFo1NHB6TW02VnVSeVJNcGZUVytweVVBYkFtOEJtVk5WbkdOVFRkcVA2dnpPTUdyR25hTVNacXBO
c2sxN3liS2xTNkRUTC9peGJvdFJsajVmbE91YkwzSTY1TXBmalZybmJFYWxZS0lOU2wzMzV2UUdB
M3dLYlVXMnhHZFdSREtQNjZ3eWpXaFlMd0pHaUZXZWFUckpOQm5GYlUyU1AzU1Q3czZ4U21tdVhj
cmN6VWU1MnhzdHpIZlBsYnNkY3VkdDVxeXpYM2xLV2x4a3N6WEdlSzhteG55ekp5U2plUVJrQXJ6
ZWJRVmxsTTZwN2JVYjE0OVVGNEVqVlNtYWFUckxTOWVLeXBNZ2VlN29jeUxaSm1kc2hGWG1aVXBI
blhGRUdCL096SnNyZGpxRXl0L05tV2E0OVhKYnQ5SmE2TWs0VnU3aEVCRjVMTnIycTNtWlF6OWdN
NnU5WEZFQnFzZ0NjYVRySlhKZ0VjaTBwc3RkaGt2M1pOaW5OVFpiQW9md3NPWlNmSlFmek1xVTh6
NWtvZHpzU1pibU9lSVhiK1hXNTJ6RmE1bkxjS25QWkkyVUxsNGpGZktJQXZCN01PclhGWmxCSGJB
YjExemFqK2ttR1ViTnVBV1NtNjVkS1lIZEdtaFJsV3FROHp5RkhDbkxrK0w1Y09WNlVLMGNLWFZL
NUoxc081bWRLaGRzcFphdktvRFRYMFZQaWNpVExJSHRGR1ZBSXdLL05ZbEJXMmZUcVhwdEIvZGht
U0o3K0x5cUFySFM5NUppVEpWRGdORWxsUVpaNEtndWxycnBVNnF0TEpYQnN2NXd0M3lNbjlydmxh
SUZMRGk4dmcxeEg0bUIrNXArV2wwRnBqcjJsSk1jUkxNNnlueXZPempoeElJdDdBK0JYWTlHcjZx
MEw0LzlTQWFSb3hMN3cvTDlXQVdTYkRKSnJUWkZpZDRaNGp4WkpVLzF4dWZIaE9lbStlazZpbDAv
TEI3NHFhVHhUSm9HaisrVnMyUjQ1dmo5WGpoVGt5T0hkQzQ4SkMyVndhSGZtbnlyY3puK3ZjRHNt
eW5MdFF5VTVHVGVMY3pMQ3BUazJUM0dXN1ZoeFZzYWU3ZDRmNEkxbDFxa3RWb002WWpPb3ZyWWEx
RDhzRm9COVdRRTQxNWtBOHUxcGN2UkFqbndVT2lMRExRRzUxOTBvOTI0MnlsUkhuUXlHL1hMejZu
bUpYcXFXRDN5VjBuQzZWUHhIOThuWnN0MXlmRit1SEMxMFNkWGViRG1Vbnl5RHFvTHM3dzdsWjM1
YjduYjhzY3h0LzdkU2wzMmtKQ2VqcXlRbjQwcEpUa2JaRGlZQzROV3phSlZWVnIycTEyWlFQYllh
MUg5ZnV3QjBTd1dRbGE2WExGT3lBQW95VGZMVzRUM1NmdVdNM0wzUklBLzdMOHZEL3N2eVplOGwr
ZXpXMjNLdnUxRW1PMnBsb05rbjNWZlBTZXZiMWZLK3QxSWF6NVJKN2NsaThSMHBrdE9sK1hLc0tG
a0dCeGZLb0hKdjFsOFA1bWYrdVNMUDhmdnlYTWRNbWRzUktYYzVxb3RkR1FYYnZWL0FHOFdpVjlW
Yjlhb1pxMTQxYXpPb3hXYmNYQUhrV2xPa0pDOURhazhYeTYxUEw4aURub3RMQmJCVUJIMlg1WXZi
bCtSQnowVzVlNk5CSnRwcnBML1pKemMvT2kvWFAzaExXaTZla3ZjOGg2V3V1a1M4VmMvS1lQRUM4
V2hoenBPcWd1enZLdmRtZlhWNGQyYjN3ZnpNOXcvbFpURU5BSytDV2Fld1dIV3FpRTJ2K3RxcVYv
MncyUUxJTmhra1AyTmgvSzg5SW1OdElmbWk5OUt6OFBjbDE1ZEw2NUo4MFh0SlByLzF0dHkvMlNo
M3V4dmt6dlY2R1krRnBPK2FWNjUvOER1SlhEd3BWenlIcE83VVFobVU1TXZSSXBkVTdjMlJRN3V6
NU1SKzl4K09GYm51SGkzTWlWUVZ1S29QNzg0dTJ1NzlBMzdUTEZwbGxWV242clhxVlkrdGV0V1BH
eGJBc2d2QXZVNlR2SFZvdDhTdW5KWTdOK3JseTc2MWcvOWxiM0o5c1d4OWZ2dVNmSDc3YlhuUWMx
SHVkVGZJVEZlZGpMV0ZwUGVhUjdvK2VFdkNqU2ZseW9WRFVsZGRLc0hqQitUQzRVSTVWWnduVlFV
NWliY3E5bngxdWpTLzU4UUI5OVhxWW5mNURxWUI0T1ZZZE0vR2Y2dGU5WS9rOC8vR0JlQ3lHS1hF
blNFMTFRZWs1NVB6Y3Y5bTQ4clFyeFA4TDI1ZmtpOXV2eTJmcjFxZjNicVluQXh1Tk1oMFo1Mk1S
SU55KzFPUFhQL3dkOUorNVl3MDE1K1FkODRmbEpxVHhYTGhjSUdjTE03NytVaEJ6dDh1VkJhMm5x
dmNlL1pzeFo2eTdkNUw0RGRsY2Z5MzZGVmZXL1NxSDZ3R2xhd3VnTVd2QVR2VGxoV0F5U0I1R2Fs
eWRIK09mRlJ6UkVhalFmbjgxdHZyaC82RndWOWNGK1d6V3hmbHdhMkxjci9ub3R6cmJwU1o2L1V5
MVZVbmt4MjFNdHdTa0o1UExrakhlMmVscWY2NFhENTNVRUluRGlRdUhDNllyeTdPbXoxVzVIclkr
RmJGNFIxTUE4RG1XTFRLS3N1eThkOXFVTCt3QUpaL0MzQ1BNMTNPSHR3dGJlK2VsdW5yOWZMRnVz
Ri9QdlNmMzFvNytBOTZucTM3UFJmbGZrK2ozTCtaL0ZqeDdvMEdtZTZxazRuMkdobHE4VXZQeCtl
bC9jb1p1VlozWEM2ZnEvaTU3bFR4MzJwT0huZ1VPbFVjL2pSNGxFdENZQ01XbmFyZW9sZk5XUFNx
V2F0QjlkT2FCYkRHbDRCY0ZxTVV1MjBTT25WQWJuNThUdTUyTjI3cXRQOThnOUEvV0F6OVF2QVgx
NzNGRXVodWtMdmREY25Kb0xOV3htTTFNaGp4eTgyUHprbm4rMmNTc1hkUHo0Y2JUOHgrR0toOCtG
SHdTTzBPU2dCWW0xbW5zSmgxcW9oRnIxd1kvNVh4WndXdy90ZUFzOUtUdnd0d1pIKzJYQTFWeVhC
clVCNzBYRnovdEY5bnpOOUs4TzkxTjhpOWhmQXZyanMzR3VUT2pYcVpYbmhFR0crdmtkRm9VQWJE
L3A5N1BqNy90NTZyNTcvcHUrYjVwT1hkNnFQYnZkZkFhOGVpM1ZWbDBhbDZMWHJsWTR0TythTkZy
MHBzdGdEMk9OTGx6TUhkRW4ybldxWTY2K1N6bHh6ekh5d2I4NThML1RyQnYzdmpXZmdYMTh6MTVK
cnVxcE9wemxxWmFBOGx4bUtodjQ5R2czL29EL3MrM3U2OUJsNDdGcDJpM3FKVnpWaDB5bG1yVHZt
VFZaKzhBRno1SHNEekJaQmpOa3B4cmsyQ3B3NUk5MGZuNU02TmhoZWU5bHNPZnZmbWczL24rclB3
ejF5dms1bXVPcGxlV0pNZHRmSEpqcHJ2Smp0cUtBQmd1ZVQ0cjRpWWRjcXZ6YnBkUDFqMHl2anFB
ckN2OVNKUXVsN2N0bFNwMnBjdEh3WXJaYWdsSVBkdk5xNS8yci9nWW05VHdiK3g5ZUJQZDlYSlZI
SVNtSi9xclAxbXVyT0dSd0JnT1pOMlY1VkZwK3kxYUJmR2Y1MHlzVlFBYTN3SFlMRUFzdEwxc3R1
UkxxY3I4cVgxOGltWjdLaVZCejBYWHhqNmpaL3ZOeG44NnhzSFAva0lVQ2RUblhYeDZjN2F2MHgx
MVBSczkxNERyeDJUVGxGdjBpcG16RHJsckVXbi9NbWlWOGxtQ2lEYmJKQUR1VFlKbnR3dk42NytU
bWF1MXlkRHZtYm90MzZ4OXl6NDlTOFovTnJGTlQvZFZmdjdxYzY2azl1OTE4QnJ4YXhlUGY0cjRo
c1ZnSFBoOXdCenJTbFNWWlF0SHdRcVpURGlsN3ZkalZzNzdiY1kvSm10QjErbU9tc1RreDIxVDZh
NmFrZTJlNitCMTQ1SnU2dktwRlAybXJUS3gyYnRzL0YvOFZ1QUx5cUEzZlkwT1YyZUx5MlhUc3BF
ZTQzY2Y4R3ovVFlFWHlZN2FtV3lveVkrMVZIei9WUm5YZk4yN3pYdzJsa2EvN1hLV1l0VytaTkZw
NVRORkVDMnlTRDdYVllKbk5nblhSKytKZE5kZFpzKzdYK2Q0TmZLWkVlTlRIYlV6RTkyMUR5YTVQ
SVBXQ2xOcmJDWXRjbngzNlRkOVlOWnA0aGJkS3FOQzJCaC9LOHN6SkwzL1lkbElPeVRPemNhdHZ3
eDNzWTMrcjhvK0RMWkVVcE10TmM4bWVoZy9BZWVZMUx2cWpKcGxiMG1qZUt4V2F2NDBheFZKbFlY
d0ZwdkFtYW02U1RmbmliVlpYa1NlZnVrak1WQ2NyZDdFeVArZXFmOWxvSmZ1Mkh3SnpwcVpLSzlS
c2JiUS9ISjl0RDNrNTAxalAvQWFpYU5vdDZrU1k3L1pxM2lKN05PS1lzWGdDOHFnQ3lUUWZibFdN
Vi9mSjkwZm5CV0pqdHJWNHozV3pudG43dlJ2LzU4NkxjYS9HY3JORC9SSG5vMDJjNzRENnlRcGxa
WVRGcEZ4S1JWTEkzL0t3dmcrUmVCN0NuSjN3RndXVkxrY0dHV3ZPYy9MUDNOWHBtNVh2L0xUL3RO
Qm45eUU4RWZUNFkvTVI0TFBSbHZEekgrQTZ1Wk5ZcEtrM1pYYi9yQytHL1NLaEtiTFlDOGpEUTVW
WlluNFlzblpMUXRLSGR1YkM3MG14M3pmMG53eDl0RE1oNEx5VmdzRkIrUEJiOGZiMmY4QjU2VHJs
SFVwMnNWMHlhTlltbjgzMHdCWktYclpWKzJSWHpIOTBuSCsyZGxvcU1tV1FDdjRMUi8rZUNIbG9L
L0VINFpqd1hueDJQQlIyUHRRY1ovWURtVFJwbWFybFkwbVRTN3ZrclRLUDVxMGlwK051dVVZdG1n
QUJ5cFduRlpqSEtvSUZPdWVBOUpYNU5IcHJ2cU5oMzZ6WjcydnlUNEMrRlBqTFlGbjR6SGdvei93
R29temE3ZDZacGRNWk5HOFkxSm8zaGkxaTQ4LzIraUFQSXlVdVZrcVZ1YUdrL0lTRFFvTTlkZjNX
bS9NdmcxV3c3K1dDd2tZMjFCR1cwTHhrZmJndCtQeFVLTS84QnFhWnBkdTlQVWlpYVRSdkdWU2F2
NHk5SW5BQnNVUUdhNlhvcXlMZUk5VmlUdDc1MlI4ZmJRcXNDLzR0TitpOEVmYXd2S2FEUW9JOUhB
L0doYjhKdXhLT00vOEJ5VDVsOVQwOVNLUUxwR01XVFNLdjdUckZVOE5ldVVpZVVGWUZ2MVl5Q09W
SzNrbUpQai83dmVnOUo3elNOVG5iV3Y2TFIvQmNGZldDUFJRSHdrR3ZqTFNEVEFtMy9BZXRMVnlq
eVRSdm1PU2F1WU5Pc1UzNXAxeW45c1ZBQnVXNnFjTE0yVmF3M0haYmcxSU5OZHIrYTBYL3N6L0sw
RmZ6UWFsTkZvSUhuNlJ3Ty9IMmtMOHVZZjhDSW16YTVDazI3WGUyYXRjc3FpVThiWExZQVVqV1Nt
NjZRd3l5emVZNFVTdTNKYXhtS2h0VVAvaTAvN21oV2hYeEg4dHZXQ0g1U1JhRUJHbzRIRVNLdi95
V2hyZ01zL1lEUFNkY29pczFieHZrV25mR3JSSytOckZZQTlSU3ZaWm9NYzNPdVVkendINWZhMUN6
TFJVZk5QUGUzSDF6anQxd3YrNGhwdURjUkhvb0h2UjZJQkx2K0F6VExybEVWbW5mS2hSYWQ4YWwz
ejU4QzA0cmFseUltU1hMbldjRXlHV3YweTJWa3JVMTNQaC82bFR2c05nais2UWZCSFdnTXkzQnFR
NFZiLy9IQnI0TkZJMU0vbEg3QVZGcjBxWU5HckhscjFxcWMyZ3lxKy9FMUFaNXBPQ3JOTTRqbGFJ
RzFYVHN0b1cvQ2ZkOXEvVlBBRE10enFUd3kzK0o4TU0vNERMMlhuaWhJd3F1STJvMXJzS1JySk5o
bWtZcTlETGwrb2tGdWZuSmZ4OXBwbm9WL3ZjL3V0bnZheE5jYjhUUVUvSU1PdGZobHE4Y2VIVy96
ZkQwY0RGN1o3STRIZnFwMDJ2U3BnMDZzZTJnenFweGxHVGR5ZW9wRmNhNG9jTDNISnAvVkhaVERp
azRtT3pZMzRMMzNhYis3RVh3eit3dkxORDdjRWJvMjBCakszZXhPQjM3S2ROcU02WURPb0gyWVkx
VStkYWJwNFFhWkpMaHpaSzlGM3EyVWtHcENKRFUvNzBLczc3VGNNdmwrR1dueUp3WWp2eVZCTDRK
M3QzanpnVGJEVFpsUUhNb3lhaDlsbS9kT0tQYzc0cGZQbDB2UHhPUm1MaFg2ZDAzNVR3VjlZRVY5
OHNNVS9OUkRtOGc5NFZYYmFVN1VCbDhYNDhFU0o2K2tuOVVkK0hnaDdFdVB0b1ZkejJyZHRKdlF2
RHY1Z3hMZXd2SDhjaUhnN2hsb0NsdTNlTk9CTnN0TnRTdzM0anhjOWJIMm5lbmFveFRjMzNoNmFI
NHVGNHVQdHdjUjQ4bi91L1JOTys4MEczeWRERWQvL0RJUjk5d2JDdnNidDNpemdUYlR6YXFneTBQ
UHh1ZkJJTkJBYmJ3ODlHbytGWnNkam9ibng5dERjYUN3NFA5b1dqSS9GZ29teFdDQXgrZ3BPKytH
MXh2eFZ3UitNK0dRdzdQMXhNT3g3UEJqMjlmWkh2RlhidlZIQW0ycm40cHJzcktrZDZ3aUZSOXRE
c2ZIMm10aElMUFJvckMwNE85WVdtaHVOaGVaRzJ3THpJOUZnZkxRdGtCaU5CaExQaGY0WG5QYUxh
eURpazRHd1R3YkMzdjhkYVBZK0hJajRQdXB2OWpMK0E3K0NuY3ZYZUh0TjdXZ3NHQjZOaFdLanNW
QnNKQnA4TkJvTnpvNUVBM01MYTM2NE5SQWZhZlVuaHBQcjVVNzdsY0dYZ2JEMzd3Tmh6NS83bTcw
akEySFBtVzNlRStEL3JaV0YwQmFzSFc0TGhrZWlnZGhJTEJRYmJnMDhHbTROekE2MytPZUdXL3h6
UTYzKythRVdmM3lveFpkSXJtV2hiM2srOUlOTG9WOEt2dlEzZStNRHpkNGYrcHM5LzlFZjlyWU5S
SHlPYmQ0REFBdFdGTUpvVzdCMnVEVVlIb29HWWtQUlFHeW94ZjlvcU1VM094VHh6UTFGZkhORExi
NzVvWWd2UGhqeEpwWldlTzNnSjhQdlNmUTNlWDhhQ0h0bis1dTlNMzNOWFA0QnI3TVZoVERjR3Fn
ZGJ2V0hCMXY5c2NGV2Yyd3c0bjgwR1BITkRvYTljNE1SMzl4ZzJEczNFUGJPRDRTOThZR3dKekVR
OWlUNm03M1MzK3lWdm1iUGZIK3paNzZ2eWZPMHY5bjdwNzVtYjI5L001ZC93Ry9KYzRVdzFPSVA5
MGY4c2NHSVA5WWY4Y2NHd3I1SEEySHY3RUN6ZDI2ZzJUdlhsd3g5dksvWjgyMS9zK2UvK3BvODMv
WTNlVDdyYS9ZMGNma0gvTGJ0WEwyR1dueTFBMkZmdUMvc2pmV0h2YkgrWnMranZyRDNabStUWjZp
M3lUUFcxK3laN0d2eVhPOXI5dmkzOTA4SDhNK3dvaEI2bTd4bHQ2OTVUdzZFZmVjR3cxNWZmNVBu
bmI1bVQ2RDMyb1VEMi94M0F2Z1Y3ZHl4WThmT2dTYXZ1Ny9KazlWM3phdmU3ajhJQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFJQ1YvZzl0UEpFUXUxWHZtUUFBQUFCSlJVNUVya0pnZ2c9PSI+Cis8aW1nIGlk
PSJpMiIgc3JjPSJodHRwOi8vbWFzaGFibGUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA4LzA4
L3RodW5kZXJiaXJkLWxvZ28tNjR4NjQucG5nIj4KKworPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2ZjUzNjFkMzUyYmRk
ZmNmYjlmZmU0OWNjMmVmMDYwZjAxYjg1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTEwIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisK
Ky8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoq
IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy
c29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0
ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4g
dGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQg
bGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz
aCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg
TWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFs
cyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxT
IEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiog
RVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS
QU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVU
SE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERB
TUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFD
VCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05O
RUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H
UyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5
cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0
VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2dsJyk7CisgICAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2Fu
dmFzKSk7CisgICAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wp
IHsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJl
KGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRv
d24gPSBmdW5jdGlvbihnbCx0ZXgpIHsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJE
LCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJ
bWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIDIsMiwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJy
YXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSk7CisgICAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJub3QgZW5vdWdoIGRhdGEiLCBmdW5jdGlvbigp
eworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMiwxLGds
LlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAg
fSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJub3QgZW5v
dWdoIGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsMCwgMCwgMSwyLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJy
YXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9FTlVNLCAiYmFkIHRhcmdldCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdl
MkQoZ2wuRkxPQVQsIDAsIDAsMCwgMSwxLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVp
bnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wu
SU5WQUxJRF9WQUxVRSwgIndpZHRoIG91dCBvZiByYW5nZSIsIGZ1bmN0aW9uKCl7CisgICAgICAg
IGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAzLDEsZ2wuUkdCQSxnbC5V
TlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSk7
CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImhlaWdo
dCBvdXQgb2YgcmFuZ2UiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsMCwgMCwgMSwzLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVp
bnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2Vy
dE9rKCJ6ZXJvIHNpemUiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsMCwgMCwgMCwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVp
bnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0U29tZUdMRXJyb3IoZ2ws
ICJuZWdhdGl2ZSB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAtMSwxLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3
IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0U29tZUdMRXJyb3Io
Z2wsICJuZWdhdGl2ZSBoZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMSwtMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUs
IG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSB4IiwgZnVuY3Rpb24oKXsKKyAgICAgICAg
Z2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLC0xLDEsMSwxLGdsLlJHQkEsZ2wuVU5T
SUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNz
ZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIHkiLCBmdW5jdGlvbigp
eworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMSwtMSwxLDEsZ2wu
UkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9
KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX0VOVU0sICJiYWQgZm9ybWF0Iiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAw
LDAsIDEsMSxnbC5GTE9BVCxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAs
MF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX0VOVU0sICJi
YWQgdHlwZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgMCwwLCAxLDEsZ2wuUkdCQSxnbC5URVhUVVJFXzJELCBuZXcgVWludDhBcnJheShb
MCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1
YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAxLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9C
WVRFLCBuZXcgVWludDhBcnJheShbMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3JtYXQgZG9lcyBub3QgbWF0Y2ggaW50ZXJu
YWwgZm9ybWF0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLDAsIDEsMSxnbC5SR0IsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJy
YXkoWzAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAidHlwZSBkb2VzIG5vdCBtYXRjaCBvcmlnaW5hbCIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAxLDEsZ2wuUkdC
QSxnbC5VTlNJR05FRF9TSE9SVF80XzRfNF80LCBuZXcgVWludDE2QXJyYXkoWzBdKSk7CisgICAg
fSk7Cit9CisKKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0
PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxi
b2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8
L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhU
TUwuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDI4NGZkODQ3YzIzYzRjNzkxYWZjMTNiODk1NGY5NTJmMTdiYzg0YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwKQEAgLTAsMCArMSwx
NjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91
cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy
Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh
bmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMi
KSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu
ZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks
IG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwg
Y29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hv
bSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxs
IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoq
IFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg
QU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU
RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5Z
CisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU
SU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VU
IE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9S
IE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGls
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4K
KworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICAgIHZhciBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdl
dEdMQ29udGV4dChjYW52YXMpKTsKKyAgICBnbC52aWV3cG9ydCgwLDAsY2FudmFzLndpZHRoLGNh
bnZhcy5oZWlnaHQpOworICAgIGdsLmNsZWFyQ29sb3IoMCwwLDEsMSk7CisgICAgZ2wuY2xlYXIo
Z2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgIGdsLmRpc2Fi
bGUoZ2wuREVQVEhfVEVTVCk7CisgICAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0g
ZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgdmFyIHRleEN1YmVNYXAgPSBn
bC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01B
UCwgdGV4Q3ViZU1hcCk7CisgICAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBm
dW5jdGlvbihnbCwgdGV4LCB0ZXhDdWJlTWFwKSB7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworICAgIGdsLmJpbmRU
ZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUo
dGV4Q3ViZU1hcCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsK
KyAgICBnbC5lbmFibGUoZ2wuQkxFTkQpOworICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnaScpOworICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsK
KyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpOworICAgIGN0eC5kcmF3SW1hZ2UoaW1n
LDAsMCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpOworICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1nKTsKKyAgICBn
bC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFN
UF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFS
KTsKKyAgICB2YXIgZiA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0eS1mbGlwLXZlcnQnLCAnaWRl
bnRpdHktZnJhZycpOworICAgIGdsLmJsZW5kRnVuYyhnbC5PTkUsIGdsLlpFUk8pOworICAgIGYu
YXBwbHkoKTsKKyAgICBmLmRlc3Ryb3koKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpOworICAgIGdsLnRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgYyk7CisgICAgZiA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0eS1oZmxpcC12ZXJ0Jywg
J2lkZW50aXR5LWZyYWcnKTsKKyAgICBnbC5ibGVuZEZ1bmMoZ2wuU1JDX0FMUEhBLCBnbC5PTkVf
TUlOVVNfU1JDX0FMUEhBKTsKKyAgICBmLmFwcGx5KCk7CisgICAgZi5kZXN0cm95KCk7CisgICAg
dmFyIHZhbGlkX3RhcmdldHMgPSBbCisgICAgICAgIGdsLlRFWFRVUkVfMkQsCisgICAgICAgIGds
LlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01B
UF9ORUdBVElWRV9YLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisg
ICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICAgICAgZ2wuVEVYVFVS
RV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FU
SVZFX1oKKyAgICBdOworICAgIHZhbGlkX3RhcmdldHMuZm9yRWFjaChmdW5jdGlvbih0KSB7Cisg
ICAgICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7CisgICAgICAgICAgICAgICAgZ2wudGV4SW1hZ2Uy
RCh0LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTsKKyAgICAgICAg
ICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKHQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIGMpOworICAgICAgICB9KTsKKyAgICAgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXsKKyAg
ICAgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKHQsIDEsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVO
U0lHTkVEX0JZVEUsIGMpOworICAgICAgICAgICAgICAgIGdsLnRleFN1YkltYWdlMkQodCwgMSwg
MCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgICAgIH0pOworICAgIH0p
OworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRE5vblNPUCA9IGZ1bmN0aW9uKGdsKSB7CisgICAg
dmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpMicpOworICAgIHdoaWxlICghaW1n
LmNvbXBsZXRlKSB7fQorICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsK
KyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpOworICAgIGN0eC5kcmF3SW1hZ2UoaW1n
LDAsMCk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhJbWFnZTJEIHdpdGggY3Jv
c3Mtb3JpZ2luIGltYWdlIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBpbWcpO30pOworICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4
U3ViSW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdpbiBpbWFnZSBzaG91bGQgdGhyb3cgZXhjZXB0aW9u
LiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
MCwwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpO30pOworICAgIGFzc2VydFRocm93
Tm9HTEVycm9yKGdsLCAidGV4SW1hZ2UyRCB3aXRoIGRpcnR5IG9yaWdpbiBjYW52YXMgc2hvdWxk
IHRocm93IGV4Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpO30pOwor
ICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4U3ViSW1hZ2UyRCB3aXRoIGRpcnR5IG9y
aWdpbiBjYW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rpb24oKXtn
bC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgYyk7fSk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZsaXAtdmVydCIgdHlwZT0ieC1zaGFk
ZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4OworYXR0cmlidXRlIHZlYzIgVGV4
OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB0ZXhDb29y
ZDAgPSB2ZWM0KFRleC5zLCAxLjAtVGV4LnQsIDAuMCwgMC4wKTsKKyAgICBnbF9Qb3NpdGlvbiA9
IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1o
ZmxpcC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjMyBWZXJ0
ZXg7CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lk
IG1haW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQoMS4wLVRleC5zLCBUZXgudCwgMC4wLCAw
LjApOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7Cit9Cis8L3NjcmlwdD4K
KzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZyYWciIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgor
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2FtcGxlcjJEIFRleHR1cmU7CisK
K3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHZlYzQgYyA9IHRl
eHR1cmUyRChUZXh0dXJlLCB0ZXhDb29yZDAuc3QpOworICAgIGdsX0ZyYWdDb2xvciA9IGM7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMjU2IiBo
ZWlnaHQ9IjI1NiI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjIiB3aWR0aD0iMjU2IiBoZWlnaHQ9
IjI1NiI+PC9jYW52YXM+Cis8aW1nIGlkPSJpIiB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgIHNy
Yz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFBQUVB
Q0FZQUFBQmNjcWhtQUFBVFZFbEVRVlI0bk8zZCtWUFVkNTdIY2YyYjlrOVkrejQ0K3FLN09ab0dG
VkE1VmZCR3phaDljeHBOekdFT29SdWE1bEJFdWUvREs0Zlo3TWFwbVNtM01sc2h1OHhPZENwREp0
M3YvYUVCQVVIQU9NRzR6MGZWNTNmcVUvVjZmZDdmVC9lMzJiRURBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQXdPdkJrYXI3bCszK0d3QnNrOHhVclQwclRiOHZ4MlE0NWphbmx1N1lzV1Buc2dYZ1RlWXdh
azg1VTNYdjVaaU0zK1hiVWgvbDJkSUNCYzYwODBXWjF1cjkyYmFTSFJRQjhHYXlHZFVXdTFIem9T
TkZPK1pNMWYyY2JUTE01MWxUNXdvYzVya0RPYmJaL1ZtMlNFbTIzVnZzeWpoVjVuSlFCc0NieEda
UVZ0bU42cDRNby9ZUGRxTkdIS2xheVVyWEo5eldsRVNoMHhJdnpzbVlMM0haNTRwek1tNlZ1UnlS
TXBmVFcrcHlVQWJBbThCbVZOVm5HTlRUZHFQNnZ6T01HckduYU1TWnFwTnNrMTd5YktsUzZEVEwv
aXhib3RSbGo1ZmxPdWJMM0k2NU1wZmpWcm5iRWFsWUtJTlNsMzM1dlFHQTN3S2JVVzJ4R2RXUkRL
UDY2d3lqV2hZTHdKR2lGV2VhVHJKTkJuRmJVMlNQM1NUN3M2eFNtbXVYY3JjelVlNTJ4c3R6SGZQ
bGJzZGN1ZHQ1cXl6WDNsS1dseGtzelhHZUs4bXhueXpKeVNqZVFSa0FyemViUVZsbE02cDdiVWIx
NDlVRjRFalZTbWFhVHJMUzllS3lwTWdlZTdvY3lMWkptZHNoRlhtWlVwSG5YRkVHQi9PekpzcmRq
cUV5dC9ObVdhNDlYSmJ0OUphNk1rNFZ1N2hFQkY1TE5yMnEzbVpRejlnTTZ1OVhGRUJxc2dDY2FU
ckpYSmdFY2kwcHN0ZGhrdjNaTmluTlRaYkFvZndzT1pTZkpRZnpNcVU4ejVrb2R6c1NaYm1PZUlY
YitYVzUyekZhNW5MY0tuUFpJMlVMbDRqRmZLSUF2QjdNT3JYRlpsQkhiQWIxMXphaitrbUdVYk51
QVdTbTY1ZEtZSGRHbWhSbFdxUTh6eUZIQ25MaytMNWNPVjZVSzBjS1hWSzVKMXNPNW1kS2hkc3Ba
YXZLb0RUWDBWUGljaVRMSUh0RkdWQUl3Sy9OWWxCVzJmVHFYcHRCL2RobVNKNytMeXFBckhTOTVK
aVRKVkRnTkVsbFFaWjRLZ3VscnJwVTZxdExKWEJzdjV3dDN5TW45cnZsYUlGTERpOHZnMXhING1C
KzVwK1dsMEZwanIybEpNY1JMTTZ5bnl2T3pqaHhJSXQ3QStCWFk5R3I2cTBMNC85U0FhUm94TDd3
L0w5V0FXU2JESkpyVFpGaWQ0WjRqeFpKVS8xeHVmSGhPZW0rZWs2aWwwL0xCNzRxYVR4VEpvR2or
K1ZzMlI0NXZqOVhqaFRreU9IZEM0OEpDMlZ3YUhmbW55cmN6bit2Y0RzbXluTHRReVU1R1RlTGN6
TENwVGsyVDNHVzdWaHhWc2FlN2Q0ZjRJMWwxcWt0Vm9NNllqT292cllhMUQ4c0ZvQjlXUUU0MTVr
QTh1MXBjdlJBam53VU9pTERMUUc1MTkwbzkyNDJ5bFJIblF5Ry9YTHo2bm1KWHFxV0QzeVYwbkM2
VlB4SDk4blpzdDF5ZkYrdUhDMTBTZFhlYkRtVW55eURxb0xzN3c3bFozNWI3bmI4c2N4dC83ZFNs
MzJrSkNlanF5UW40MHBKVGtiWkRpWUM0Tld6YUpWVlZyMnExMlpRUGJZYTFIOWZ1d0IwU3dXUWxh
NlhMRk95QUFveVRmTFc0VDNTZnVXTTNMM1JJQS83TDh2RC9zdnlaZThsK2V6VzIzS3Z1MUVtTzJw
bG9Oa24zVmZQU2V2YjFmSyt0MUlhejVSSjdjbGk4UjBwa3RPbCtYS3NLRmtHQnhmS29ISnYxbDhQ
NW1mK3VTTFA4ZnZ5WE1kTW1kc1JLWGM1cW90ZEdRWGJ2Vi9BRzhXaVY5VmI5YW9acTE0MWF6T294
V2JjWEFIa1dsT2tKQzlEYWs4WHk2MVBMOGlEbm90TEJiQlVCSDJYNVl2YmwrUkJ6MFc1ZTZOQkp0
cHJwTC9aSnpjL09pL1hQM2hMV2k2ZWt2YzhoNld1dWtTOFZjL0tZUEVDOFdoaHpwT3FndXp2S3Zk
bWZYVjRkMmIzd2Z6TTl3L2xaVEVOQUsrQ1dhZXdXSFdxaUUydit0cXFWLzJ3MlFMSU5oa2tQMk5o
L0s4OUltTnRJZm1pOTlLejhQY2wxNWRMNjVKODBYdEpQci8xdHR5LzJTaDN1eHZrenZWNkdZK0Zw
TythVjY1LzhEdUpYRHdwVnp5SHBPN1VRaG1VNU12UklwZFU3YzJSUTd1ejVNUis5eCtPRmJudUhp
M01pVlFWdUtvUDc4NHUydTc5QTM3VExGcGxsVlduNnJYcVZZK3RldFdQR3hiQXNndkF2VTZUdkhW
b3Q4U3VuSlk3TitybHk3NjFnLzlsYjNKOXNXeDlmdnVTZkg3N2JYblFjMUh1ZFRmSVRGZWRqTFdG
cFBlYVI3bytlRXZDalNmbHlvVkRVbGRkS3NIakIrVEM0VUk1Vlp3blZRVTVpYmNxOW54MXVqUy81
OFFCOTlYcVluZjVEcVlCNE9WWWRNL0dmNnRlOVkvazgvL0dCZUN5R0tYRW5TRTExUWVrNTVQemN2
OW00OHJRcnhQOEwyNWZraTl1dnkyZnIxcWYzYnFZbkF4dU5NaDBaNTJNUklOeSsxT1BYUC93ZDlK
KzVZdzAxNStRZDg0ZmxKcVR4WExoY0lHY0xNNzcrVWhCenQ4dVZCYTJucXZjZS9ac3haNnk3ZDVM
NERkbGNmeTM2RlZmVy9TcUg2d0dsYXd1Z01XdkFUdlRsaFdBeVNCNUdhbHlkSCtPZkZSelJFYWpR
Zm44MXR2cmgvNkZ3VjljRitXeld4Zmx3YTJMY3Ivbm90enJicFNaNi9VeTFWVW5reDIxTXR3U2tK
NVBMa2pIZTJlbHFmNjRYRDUzVUVJbkRpUXVIQzZZcnk3T216MVc1SHJZK0ZiRjRSMU1BOERtV0xU
S0tzdXk4ZDlxVUwrd0FKWi9DM0NQTTEzT0h0d3RiZStlbHVucjlmTEZ1c0YvUHZTZjMxbzcrQTk2
bnEzN1BSZmxmaytqM0wrWi9Gang3bzBHbWU2cWs0bjJHaGxxOFV2UHgrZWwvY29adVZaM1hDNmZx
L2k1N2xUeDMycE9IbmdVT2xVYy9qUjRsRXRDWUNNV25hcmVvbGZOV1BTcVdhdEI5ZE9hQmJER2w0
QmNGcU1VdTIwU09uVkFibjU4VHU1Mk4yN3F0UDk4ZzlBL1dBejlRdkFYMTczRkV1aHVrTHZkRGNu
Sm9MTld4bU0xTWhqeHk4MlB6a25uKzJjU3NYZFB6NGNiVDh4K0dLaDgrRkh3U08wT1NnQlltMW1u
c0poMXFvaEZyMXdZLzVYeFp3V3cvdGVBczlLVHZ3dHdaSCsyWEExVnlYQnJVQjcwWEZ6L3RGOW56
TjlLOE85MU44aTloZkF2cmpzM0d1VE9qWHFaWG5oRUdHK3ZrZEZvVUFiRC9wOTdQajcvdDU2cjU3
L3B1K2I1cE9YZDZxUGJ2ZGZBYThlaTNWVmwwYWw2TFhybFk0dE8rYU5GcjBwc3RnRDJPTkxsek1I
ZEVuMm5XcVk2NitTemx4enpIeXdiODU4TC9UckJ2M3ZqV2ZnWDE4ejE1SnJ1cXBPcHpscVphQThs
eG1LaHY0OUdnMy9vRC9zKzN1NjlCbDQ3RnAyaTNxSlZ6VmgweWxtclR2bVRWWis4QUZ6NUhzRHpC
WkJqTmtweHJrMkNwdzVJOTBmbjVNNk5oaGVlOWxzT2Z2Zm1nMy9uK3JQd3oxeXZrNW11T3BsZVdK
TWR0ZkhKanBydkpqdHFLQUJndWVUNHI0aVlkY3F2emJwZFAxajB5dmpxQXJDdjlTSlF1bDdjdGxT
cDJwY3RId1lyWmFnbElQZHZOcTUvMnIvZ1ltOVR3Yit4OWVCUGQ5WEpWSElTbUovcXJQMW11ck9H
UndCZ09aTjJWNVZGcCt5MWFCZkdmNTB5c1ZRQWEzd0hZTEVBc3RMMXN0dVJMcWNyOHFYMThpbVo3
S2lWQnowWFh4ajZqWi92TnhuODZ4c0hQL2tJVUNkVG5YWHg2YzdhdjB4MTFQUnM5MTREcngyVFRs
RnYwaXBtekRybHJFV24vTW1pVjhsbUNpRGJiSkFEdVRZSm50d3ZONjcrVG1hdTF5ZER2bWJvdDM2
eDl5ejQ5UzhaL05yRk5UL2RWZnY3cWM2Nms5dTkxOEJyeGF4ZVBmNHI0aHNWZ0hQaDl3QnpyU2xT
VlpRdEh3UXFaVERpbDd2ZGpWczc3YmNZL0ptdEIxK21PbXNUa3gyMVQ2YTZha2UyZTYrQjE0NUp1
NnZLcEZQMm1yVEt4MmJ0cy9GLzhWdUFMeXFBM2ZZME9WMmVMeTJYVHNwRWU0M2NmOEd6L1RZRVh5
WTdhbVd5b3lZKzFWSHovVlJuWGZOMjd6WHcybGthLzdYS1dZdFcrWk5GcDVUTkZFQzJ5U0Q3WFZZ
Sm5OZ25YUisrSmROZGRacys3WCtkNE5mS1pFZU5USGJVekU5MjFEeWE1UElQV0NsTnJiQ1l0Y254
MzZUZDlZTlpwNGhiZEtxTkMyQmgvSzhzekpMMy9ZZGxJT3lUT3pjYXR2d3gzc1kzK3I4bytETFpF
VXBNdE5jOG1laGcvQWVlWTFMdnFqSnBsYjBtamVLeFdhdjQwYXhWSmxZWHdGcHZBbWFtNlNUZm5p
YlZaWGtTZWZ1a2pNVkNjcmQ3RXlQK2VxZjlsb0pmdTJId0p6cHFaS0s5UnNiYlEvSEo5dEQzazUw
MWpQL0FhaWFOb3Q2a1NZNy9acTNpSjdOT0tZc1hnQzhxZ0N5VFFmYmxXTVYvZko5MGZuQldKanRy
VjR6M1d6bnRuN3ZSdi81ODZMY2EvR2NyTkQvUkhubzAyYzc0RDZ5UXBsWllURnBGeEtSVkxJMy9L
d3ZnK1JlQjdDbkozd0Z3V1ZMa2NHR1d2T2MvTFAzTlhwbTVYdi9MVC90TkJuOXlFOEVmVDRZL01S
NExQUmx2RHpIK0E2dVpOWXBLazNaWGIvckMrRy9TS2hLYkxZQzhqRFE1VlpZbjRZc25aTFF0S0hk
dWJDNzBteDN6ZjBud3g5dERNaDRMeVZnc0ZCK1BCYjhmYjJmOEI1NlRybEhVcDJzVjB5YU5ZbW44
MzB3QlpLWHJaVisyUlh6SDkwbkgrMmRsb3FNbVdRQ3Y0TFIvK2VDSGxvSy9FSDRaandYbngyUEJS
MlB0UWNaL1lEbVRScG1hcmxZMG1UUzd2a3JUS1A1cTBpcCtOdXVVWXRtZ0FCeXBXbkZaakhLb0lG
T3VlQTlKWDVOSHBydnFOaDM2elo3MnZ5VDRDK0ZQakxZRm40ekhnb3ovd0dvbXphN2Q2WnBkTVpO
RzhZMUpvM2hpMWk0OC8yK2lBUEl5VXVWa3FWdWFHay9JU0RRb005ZGYzV20vTXZnMVd3NytXQ3dr
WTIxQkdXMEx4a2ZiZ3QrUHhVS00vOEJxYVpwZHU5UFVpaWFUUnZHVlNhdjR5OUluQUJzVVFHYTZY
b3F5TGVJOVZpVHQ3NTJSOGZiUXFzQy80dE4raThFZmF3dkthRFFvSTlIQS9HaGI4SnV4S09NLzhC
eVQ1bDlUMDlTS1FMcEdNV1RTS3Y3VHJGVThOZXVVaWVVRllGdjFZeUNPVksza21KUGovN3ZlZzlK
N3pTTlRuYld2NkxSL0JjRmZXQ1BSUUh3a0d2akxTRFRBbTMvQWV0TFZ5anlUUnZtT1NhdVlOT3NV
MzVwMXluOXNWQUJ1VzZxY0xNMlZhdzNIWmJnMUlOTmRyK2EwWC9zei9LMEZmelFhbE5Gb0lIbjZS
d08vSDJrTDh1WWY4Q0ltemE1Q2syN1hlMmF0Y3NxaVU4YlhMWUFValdTbTY2UXd5eXplWTRVU3Uz
SmF4bUtodFVQL2kwLzdtaFdoWHhIOHR2V0NINVNSYUVCR280SEVTS3YveVdocmdNcy9ZRFBTZGNv
aXMxYnh2a1duZkdyUksrTnJGWUE5UlN2WlpvTWMzT3VVZHp3SDVmYTFDekxSVWZOUFBlM0gxemp0
MXd2KzRocHVEY1JIb29IdlI2SUJMditBelRMcmxFVm1uZktoUmFkOGFsM3o1OEMwNHJhbHlJbVNY
TG5XY0V5R1d2MHkyVmtyVTEzUGgvNmxUdnNOZ2orNlFmQkhXZ015M0JxUTRWYi8vSEJyNE5GSTFN
L2xIN0FWRnIwcVlOR3JIbHIxcXFjMmd5cSsvRTFBWjVwT0NyTk00amxhSUcxWFRzdG9XL0NmZDlx
L1ZQQURNdHpxVHd5MytKOE1NLzRETDJYbmloSXdxdUkybzFyc0tSckpOaG1rWXE5RExsK29rRnVm
bkpmeDlwcG5vVi92Yy91dG52YXhOY2I4VFFVL0lNT3RmaGxxOGNlSFcvemZEMGNERjdaN0k0SGZx
cDAydlNwZzA2c2UyZ3pxcHhsR1RkeWVvcEZjYTRvY0wzSEpwL1ZIWlREaWs0bU96WTM0TDMzYWIr
N0VYd3ord3ZMTkQ3Y0VibzIwQmpLM2V4T0IzN0tkTnFNNllET29IMllZMVUrZGFicDRRYVpKTGh6
Wks5RjNxMlVrR3BDSkRVLzcwS3M3N1RjTXZsK0dXbnlKd1lqdnlWQkw0SjN0M2p6Z1RiRFRabFFI
TW95YWg5bG0vZE9LUGM3NHBmUGwwdlB4T1JtTGhYNmQwMzVUd1Y5WUVWOThzTVUvTlJEbThnOTRW
WGJhVTdVQmw4WDQ4RVNKNitrbjlVZCtIZ2g3RXVQdG9WZHoycmR0SnZRdkR2NWd4TGV3dkg4Y2lI
ZzdobG9DbHUzZU5PQk5zdE50U3czNGp4YzliSDJuZW5hb3hUYzMzaDZhSDR1RjR1UHR3Y1I0OG4v
dS9STk8rODBHM3lkREVkLy9ESVI5OXdiQ3ZzYnQzaXpnVGJUemFxZ3kwUFB4dWZCSU5CQWJidzg5
R28rRlpzZGpvYm54OXREY2FDdzRQOW9XakkvRmdvbXhXQ0F4K2dwTysrRzF4dnhWd1IrTStHUXc3
UDF4TU94N1BCajI5ZlpIdkZYYnZWSEFtMnJuNHByc3JLa2Q2d2lGUjl0RHNmSDJtdGhJTFBSb3JD
MDRPOVlXbWh1TmhlWkcyd0x6STlGZ2ZMUXRrQmlOQmhMUGhmNFhuUGFMYXlEaWs0R3dUd2JDM3Y4
ZGFQWStISWo0UHVwdjlqTCtBNytDbmN2WGVIdE43V2dzR0I2TmhXS2pzVkJzSkJwOE5Cb056bzVF
QTNNTGEzNjROUkFmYWZVbmhwUHI1VTc3bGNHWGdiRDM3d05oejUvN203MGpBMkhQbVczZUUrRC9y
WldGMEJhc0hXNExoa2VpZ2RoSUxCUWJiZzA4R200TnpBNjMrT2VHVy94elE2MysrYUVXZjN5b3ha
ZElybVdoYjNrKzlJTkxvVjhLdnZRM2UrTUR6ZDRmK3BzOS85RWY5cllOUkh5T2JkNERBQXRXRk1K
b1c3QjJ1RFVZSG9vR1lrUFJRR3lveGY5b3FNVTNPeFR4elExRmZITkRMYjc1b1lndlBoanhKcFpX
ZU8zZ0o4UHZTZlEzZVg4YUNIdG4rNXU5TTMzTlhQNEJyN01WaFREY0dxZ2RidldIQjF2OXNjRldm
Mnd3NG44MEdQSE5Eb2E5YzRNUjM5eGcyRHMzRVBiT0Q0Uzk4WUd3SnpFUTlpVDZtNzNTMyt5VnZt
YlBmSCt6Wjc2dnlmTzB2OW43cDc1bWIyOS9NNWQvd0cvSmM0VXcxT0lQOTBmOHNjR0lQOVlmOGNj
R3dyNUhBMkh2N0VDemQyNmcyVHZYbHd4OXZLL1o4MjEvcytlLytwbzgzL1kzZVQ3cmEvWTBjZmtI
L0xidFhMMkdXbnkxQTJGZnVDL3NqZldIdmJIK1pzK2p2ckQzWm0rVFo2aTN5VFBXMSt5WjdHdnlY
TzlyOXZpMzkwOEg4TSt3b2hCNm03eGx0Njk1VHc2RWZlY0d3MTVmZjVQbm5iNW1UNkQzMm9VRDIv
eDNBdmdWN2R5eFk4Zk9nU2F2dTcvSms5VjN6YXZlN2o4SUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUNW
L2c5dFBKRVF1MVh2bVFBQUFBQkpSVTVFcmtKZ2dnPT0iPgorPGltZyBpZD0iaTIiIHNyYz0iaHR0
cDovL21hc2hhYmxlLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAwOC8wOC90aHVuZGVyYmlyZC1s
b2dvLTY0eDY0LnBuZyI+CisKKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9h
Y29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wZTNjNTYzZGU2NTM2YWU4MjRhZDgxZGJjMzU3MDIwNDEyNTZmMDAz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbApA
QCAtMCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdM
U0wgY29uZm9ybWFuY2UgdGVzdDogYWNvc18wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNl
cy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL29n
bGVzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhh
bXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3aWR0aDogMTZweDsgaGVpZ2h0
OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitPcGVu
R0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAgIHsKKyAgICAgICJyZWZlcmVu
Y2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhY29zX2Zsb2F0X2ZyYWdfeHZh
cnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRl
c3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhY29zX2Zsb2F0X2ZyYWdfeHZh
cnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYWNvc19mbG9hdF9mcmFnX3h2YXJ5
LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7
CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYWNv
c192ZWMyX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51
bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhY29z
X3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX3Zl
YzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisg
ICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogImFjb3NfdmVjM19mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAg
ICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRl
eFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiYWNvc192ZWMzX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5h
bWUiOiAiYWNvc192ZWMzX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogImFjb3NfZmxvYXRfdmVydF94dmFyeV9yZWYudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7
CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc19mbG9hdF92ZXJ0X3h2YXJ5LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX2Zsb2F0X3ZlcnRfeHZhcnkudGVzdC5odG1sIiwg
CisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZl
cmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFjb3NfdmVjMl92ZXJ0
X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0
L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAg
ICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhY29zX3ZlYzJfdmVy
dF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYWNvc192ZWMyX3ZlcnRfeHZh
cnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
ImFjb3NfdmVjM192ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjog
ImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICJhY29zX3ZlYzNfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYWNv
c192ZWMzX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJl
IgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmNm
NzU3ZTlmMGExODBjMTdjNmZmYTRlMTYyYTQ2NjQ0MzU3Nzg5OAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKQEAgLTAsMCArMSwxMzAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQuIERPIE5PVCBF
RElULgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIGNvbmZvcm1hbmNlIHRlc3Q6
IGFzaW5fMDAxX3RvXzAwNi5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhl
aWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwvY2FudmFzPgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7
CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl9mbG9hdF9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAg
fSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl9mbG9hdF9mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAK
KyAgICAgICJuYW1lIjogImFzaW5fZmxvYXRfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAg
ICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFzaW5fdmVjMl9mcmFnX3h2YXJ5X3Jl
Zi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVy
dCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl92ZWMyX2ZyYWdfeHZhcnkuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl92ZWMyX2ZyYWdfeHZhcnkudGVzdC5o
dG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAg
ICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhc2luX3ZlYzNf
ZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisg
ICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFzaW5fdmVjM19m
cmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFzaW5fdmVjM19mcmFn
X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAK
KyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICJhc2luX2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9k
ZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogImFzaW5fZmxvYXRfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUi
OiAiYXNpbl9mbG9hdF92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAi
Y29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICJhc2luX3ZlYzJfdmVydF94dmFyeV9yZWYudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXNpbl92ZWMyX3ZlcnRfeHZhcnkudmVydCIsIAorICAg
ICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9
LCAKKyAgICAgICJuYW1lIjogImFzaW5fdmVjMl92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAg
ICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNl
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhc2luX3ZlYzNfdmVydF94dmFy
eV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVz
dFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXNpbl92ZWMzX3ZlcnRfeHZh
cnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFzaW5fdmVjM192ZXJ0X3h2YXJ5LnRl
c3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9CisgIF0KK30pOwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFu
L2F0YW5fMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmZTNhNGE4ZDU3MTcyZWUzNGU3MDU3
MGRkODExZjY2MDAzZmM4MmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5f
MDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTU2IEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0g
dGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBhdGFuXzAwMV90b18wMDguaHRt
bDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgc3R5bGU9Indp
ZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1
c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVzdHMiOiBbCisgICAg
eworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0
YW5fZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjog
bnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0
YW5fZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFu
X2Zsb2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJl
IgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJhdGFuX3ZlYzJfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdt
ZW50U2hhZGVyIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJuYW1lIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRl
cm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMzX2ZyYWdfeHZhcnlfcmVmLmZyYWci
CisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzNfZnJhZ194dmFyeS5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX3ZlYzNfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAK
KyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVy
ZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fZmxvYXRfZnJhZ194
dmFyeXl2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAg
ICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0
L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9m
cmFnX3h2YXJ5eXZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXRhbl9mbG9h
dF9mcmFnX3h2YXJ5eXZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJl
IgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJhdGFuX3ZlYzJfZnJhZ194dmFyeXl2YXJ5X3JlZi5mcmFnIgorICAgICAg
fSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMyX2ZyYWdfeHZhcnl5dmFyeS5mcmFnIgorICAgICAg
fSwgCisgICAgICAibmFtZSI6ICJhdGFuX3ZlYzJfZnJhZ194dmFyeXl2YXJ5LnRlc3QuaHRtbCIs
IAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMzX2ZyYWdf
eHZhcnl5dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisg
ICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fdmVjM19m
cmFnX3h2YXJ5eXZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXRhbl92ZWMz
X2ZyYWdfeHZhcnl5dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUi
CisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAiYXRhbl9mbG9hdF92ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICJhdGFuX2Zsb2F0X3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJuYW1lIjogImF0YW5fZmxvYXRfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJw
YXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXRhbl92ZWMyX3ZlcnRfeHZhcnlfcmVm
LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5m
cmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImF0YW5fdmVjMl92ZXJ0X3h2YXJ5LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFn
IgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX3ZlYzJfdmVydF94dmFyeS50ZXN0Lmh0
bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29n
bGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ1N2JmYTE1MTFhNmNmYzQ0ZTMwM2RkMzZjMzUzN2FlMzMwYWJkMjgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRt
bApAQCAtMCwwICsxLDI1MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IEdMU0wgY29uZm9ybWFuY2UgdGVzdDogY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbDwvdGl0
bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2Fu
dmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAx
NnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVzdHMiOiBbCisgICAgeworICAg
ICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVm
YXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAgICAgICJy
ZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjog
InVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4w
LCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAg
ICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdt
ZW50U2hhZGVyIjogImZvcl9icmVha19mcmFnLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImZvcl9icmVha19mcmFnLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFy
ZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5p
Zm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEs
IAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVl
IjogWworICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAg
ICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9
CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBl
Y3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJmb3JfYnJlYWtfdmVydC52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIK
KyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX2JyZWFrX3ZlcnQudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVu
Y2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0Ijogewor
ICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2
IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAg
ICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAorICAg
ICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2Rl
bCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICJmb3JfY29udGludWVfZnJhZy5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJmb3Jf
Y29udGludWVfZnJhZy50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisg
ICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1z
IjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQiOiAxLCAKKyAg
ICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsK
KyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAg
MS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAgICAgfQorICAg
ICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQu
ZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiZm9yX2NvbnRpbnVlX3ZlcnQudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9jb250aW51ZV92ZXJ0LnRlc3QuaHRtbCIsIAor
ICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJl
bmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsK
KyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRm
diIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAsIAorICAgICAg
ICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAg
ICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9k
ZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIi
OiAiZm9yX25lc3RlZF9icmVha19mcmFnLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjog
ImZvcl9uZXN0ZWRfYnJlYWtfZnJhZy50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNv
bXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
InVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQi
OiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2
YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAg
ICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAg
ICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAi
dGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiZm9yX25lc3RlZF9icmVh
a192ZXJ0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVm
YXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJmb3JfbmVzdGVkX2JyZWFrX3Zl
cnQudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAgICAg
ICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAgICAi
dHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAgICAg
ICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAg
ICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJmb3JfbmVzdGVkX2NvbnRpbnVlX2ZyYWcuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm5hbWUiOiAiZm9yX25lc3RlZF9jb250aW51ZV9mcmFnLnRlc3QuaHRtbCIs
IAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6
IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9y
bTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAsIAorICAg
ICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAK
KyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICJmb3JfbmVzdGVkX2NvbnRpbnVlX3ZlcnQudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJu
YW1lIjogImZvcl9uZXN0ZWRfY29udGludWVfdmVydC50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9n
XzAwMV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI0NDk5YzljOWY3NmRjNjBhMGZlODcwMjFjYWIwYzExOGE2MGY3MTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE1
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4g
RE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3Jv
dXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxz
IiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5
LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxs
IGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdo
b20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFs
bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisq
KiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J
VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD
VElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9V
VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBP
UiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFu
Y2UgdGVzdDogbG9nXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3Rz
LmNzcyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0i
NTAwIiBoZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2Nh
bnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5l
ci5ydW4oeworICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7
CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAg
ICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ19mbG9hdF9mcmFnX3h2YXJ5X3JlZi5mcmFnIgor
ICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsK
KyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAg
ICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX2Zsb2F0X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm5hbWUiOiAibG9nX2Zsb2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVu
Y2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfZmxvYXRfZnJhZ194dmFy
eTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0
ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX2Zsb2F0X2ZyYWdfeHZh
cnkwMS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfZmxvYXRfZnJhZ194dmFy
eTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAg
ICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
bG9nX3ZlYzJfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjog
bnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxv
Z192ZWMyX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nX3Zl
YzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisg
ICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogImxvZ192ZWMyX2ZyYWdfeHZhcnkwMV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogImxvZ192ZWMyX2ZyYWdfeHZhcnkwMS5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bmFtZSI6ICJsb2dfdmVjMl9mcmFnX3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVy
biI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5X3JlZi5mcmFnIgor
ICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsK
KyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAg
ICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzNfZnJhZ194dmFyeS5mcmFnIgorICAgICAg
fSwgCisgICAgICAibmFtZSI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAg
ICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNl
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzNfZnJhZ194dmFyeTAx
X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzNfZnJhZ194dmFyeTAx
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ192ZWMzX2ZyYWdfeHZhcnkwMS50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgewor
ICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9n
X2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3Jp
ZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImxv
Z19mbG9hdF92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfZmxv
YXRfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisg
ICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnkwMV9yZWYudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnkwMS52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm5hbWUiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJw
YXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cy
L2xvZzJfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hYWFhMTc4ZjI4Y2FmMjg1OTVhNzFkZDZkYzVhNzMyMDQwNjA4OTZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbApAQCAt
MCwwICsxLDE1NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wg
Y29uZm9ybWFuY2UgdGVzdDogbG9nMl8wMDFfdG9fMDA4Lmh0bWw8L3RpdGxlPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9v
Z2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL29nbGVz
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBs
ZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3aWR0aDogMTZweDsgaGVpZ2h0OiAx
NnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitPcGVuR0xF
U1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAgIHsKKyAgICAgICJyZWZlcmVuY2VQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnlf
cmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnku
ZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nMl9mbG9hdF9mcmFnX3h2YXJ5LnRl
c3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7Cisg
ICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9k
ZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl9m
bG9hdF9mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51
bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cy
X2Zsb2F0X2ZyYWdfeHZhcnkwMS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cy
X2Zsb2F0X2ZyYWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBh
cmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAibG9nMl92ZWMyX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm5hbWUiOiAibG9nMl92ZWMyX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0
dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFt
IjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzJfZnJhZ194dmFyeTAxX3JlZi5m
cmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMyX2ZyYWdfeHZhcnkwMS5mcmFn
IgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX3ZlYzJfZnJhZ194dmFyeTAxLnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMz
X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAor
ICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzNf
ZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX3ZlYzNfZnJh
Z194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwg
CisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFk
ZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVy
IjogImxvZzJfdmVjM19mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJsb2cyX3ZlYzNfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImxvZzJfdmVjM19mcmFnX3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogImxvZzJfZmxvYXRfdmVydF94dmFyeV9yZWYudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7
CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nMl9mbG9hdF92ZXJ0X3h2YXJ5LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnkudGVzdC5odG1sIiwg
CisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZl
cmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImxvZzJfZmxvYXRfdmVy
dF94dmFyeTAxX3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAg
ICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2cyX2Zsb2F0
X3ZlcnRfeHZhcnkwMS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nMl9mbG9hdF92
ZXJ0X3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAg
IH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90
b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTVlZTk3OTU0OGNhZjdjYjZlNTIzZjM4MTJmNWIwOWU0ZDg0NjM2NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9f
MDA2Lmh0bWwKQEAgLTAsMCArMSwxMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSB0aGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQuIERPIE5PVCBFRElULgorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBHTFNMIGNvbmZvcm1hbmNlIHRlc3Q6IHNtb290aHN0ZXBfMDAxX3RvXzAwNi5odG1s
PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lk
dGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVz
ZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7
CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAic21v
b3Roc3RlcF9mbG9hdF9mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zsb2F0X2ZyYWdfeHZhcnlfZWRnZWNvbnN0
cXVhcnRlci5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJzbW9vdGhzdGVwX2Zsb2F0
X2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJu
IjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7
CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAg
ICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0ZXBfdmVjMl9mcmFnX3h2YXJ5X2VkZ2Vj
b25zdHF1YXJ0ZXJfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAor
ICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJzbW9vdGhzdGVw
X3ZlYzJfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJuYW1lIjogInNtb290aHN0ZXBfdmVjMl9mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVz
dC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAg
ICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2Rl
ZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJzbW9vdGhz
dGVwX3ZlYzNfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyX3JlZi5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAic21vb3Roc3RlcF92ZWMzX2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRl
ci5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJzbW9vdGhzdGVwX3ZlYzNfZnJhZ194
dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29t
cGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zsb2F0X3ZlcnRfeHZhcnlfZWRnZWNvbnN0
cXVhcnRlcl9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAg
ICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAic21vb3Roc3RlcF9m
bG9hdF92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJu
YW1lIjogInNtb290aHN0ZXBfZmxvYXRfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhz
dGVwX3ZlYzJfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyX3JlZi52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzJfdmVydF94dmFyeV9lZGdlY29uc3RxdWFy
dGVyLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJzbW9vdGhzdGVwX3ZlYzJfdmVydF94
dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29t
cGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzNfdmVydF94dmFyeV9lZGdlY29uc3Rx
dWFydGVyX3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0
L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAg
ICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX3Zl
YzNfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFt
ZSI6ICJzbW9vdGhzdGVwX3ZlYzNfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRt
bCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9CisgIF0KK30pOwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTAxYTg0ZjcwM2I3MWFkYmY1NDI3MzE4MmJhNjUyMjBhMjI2YTYzNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMt
dGVzdC5odG1sCkBAIC0wLDAgKzEsMTg3IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMp
IDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5
IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBj
b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl
cyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0
IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRz
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1
YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoq
IHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRv
IHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg
YmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg
dGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMi
LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJ
TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFO
VEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H
RU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M
REVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklM
SVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJX
SVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBN
QVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgor
Ki8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBCaW5kQXR0cmliTG9jYXRpb24gTG9uZyBOYW1lcyBD
b25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIHN0
eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibGFjazsiIGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVp
Z2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ0ZXh0L3NvbWV0
aGluZy1ub3QtamF2YXNjcmlwdCI+CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb24kKHN1ZmZpeCk7
CithdHRyaWJ1dGUgdmVjNCB2Q29sb3IkKHN1ZmZpeCk7Cit2YXJ5aW5nIHZlYzQgY29sb3I7Cit2
b2lkIG1haW4oKQoreworICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbiQoc3VmZml4KTsKKyAgY29s
b3IgPSB2Q29sb3IkKHN1ZmZpeCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIi
IHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1w
IGZsb2F0OworCit2YXJ5aW5nIHZlYzQgY29sb3I7Cit2b2lkIG1haW4oKQoreworICBnbF9GcmFn
Q29sb3IgPSBjb2xvcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHVzaW5nIGxvbmcgbmFtZXMgd2l0aCBiaW5kQXR0
cmliTG9jYXRpb24gd29yay4iKTsKKworZGVidWcoIiIpOworZGVidWcoIkNhbnZhcy5nZXRDb250
ZXh0Iik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUz
RENvbnRleHQoImNhbnZhcyIpOworc2hvdWxkQmVOb25OdWxsKCJnbCIpOworCitmdW5jdGlvbiBm
YWlsKHgseSwgYnVmLCBzaG91bGRCZSkKK3sKKyAgdmFyIGkgPSAoeSo1MCt4KSAqIDQ7CisgIHZh
ciByZWFzb24gPSAicGl4ZWwgYXQgKCIreCsiLCIreSsiKSBpcyAoIitidWZbaV0rIiwiK2J1Zltp
KzFdKyIsIitidWZbaSsyXSsiLCIrYnVmW2krM10rIiksIHNob3VsZCBiZSAiK3Nob3VsZEJlOwor
ICB0ZXN0RmFpbGVkKHJlYXNvbik7Cit9CisKK2Z1bmN0aW9uIHBhc3MoKQoreworICB0ZXN0UGFz
c2VkKCJkcmF3aW5nIGlzIGNvcnJlY3QiKTsKK30KKworZGVidWcoIiIpOworZGVidWcoIkNoZWNr
aW5nIGdsLmJpbmRBdHRyaWJMb2NhdGlvbiB3aXRoIGxvbmcgbmFtZXMuIik7CisKK3ZhciBwcm9n
cmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworCit2YXIgc3VmZml4ID0gImxvbmciOworZm9yICh2
YXIgaWkgPSAwOyBpaSA8IDU7ICsraWkpIHsKKyAgc3VmZml4ID0gc3VmZml4ICsgc3VmZml4Owor
fQordmFyIHJlcGxhY2VtZW50cyA9IHsKKyAgc3VmZml4OiBzdWZmaXgKK307CisKK3ZhciB2c3Jj
ID0gd3R1LnJlcGxhY2VQYXJhbXMod3R1LmdldFNjcmlwdCgidnNoYWRlciIpLCByZXBsYWNlbWVu
dHMpOwordmFyIGZzcmMgPSB3dHUucmVwbGFjZVBhcmFtcyh3dHUuZ2V0U2NyaXB0KCJmc2hhZGVy
IiksIHJlcGxhY2VtZW50cyk7CisKK3ZhciB2cyA9IHd0dS5sb2FkU2hhZGVyKGdsLCB2c3JjLCBn
bC5WRVJURVhfU0hBREVSKTsKK3ZhciBmcyA9IHd0dS5sb2FkU2hhZGVyKGdsLCBmc3JjLCBnbC5G
UkFHTUVOVF9TSEFERVIpOworCit2YXIgYXR0cmlicyA9IHsKKyAgdlBvc2l0aW9uOiAidlBvc2l0
aW9uIiArIHN1ZmZpeCwKKyAgdkNvbG9yOiAidkNvbG9yIiArIHN1ZmZpeAorfTsKKworZ2wuYXR0
YWNoU2hhZGVyKHByb2dyYW0sIHZzKTsKK2dsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCBmcyk7CisK
K3ZhciBwb3NpdGlvbnMgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2dsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCBwb3NpdGlvbnMpOworZ2wuYnVmZmVyRGF0YSgKKyAgZ2wuQVJSQVlfQlVGRkVS
LAorICBuZXcgRmxvYXQzMkFycmF5KAorICAgICAgWyAxLjAsICAxLjAsIDAuMCwKKyAgICAgICAt
MS4wLCAgMS4wLCAwLjAsCisgICAgICAgLTEuMCwgLTEuMCwgMC4wLAorICAgICAgICAxLjAsICAx
LjAsIDAuMCwKKyAgICAgICAtMS4wLCAtMS4wLCAwLjAsCisgICAgICAgIDEuMCwgLTEuMCwgMC4w
XSksCisgIGdsLlNUQVRJQ19EUkFXKTsKKwordmFyIGNvbG9ycyA9IGdsLmNyZWF0ZUJ1ZmZlcigp
OworZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGNvbG9ycyk7CitnbC5idWZmZXJEYXRh
KAorICBnbC5BUlJBWV9CVUZGRVIsCisgIG5ldyBGbG9hdDMyQXJyYXkoCisgICAgICBbIDAsMSww
LDEsCisgICAgICAgIDAsMSwwLDEsCisgICAgICAgIDAsMSwwLDEsCisgICAgICAgIDAsMSwwLDEs
CisgICAgICAgIDAsMSwwLDEsCisgICAgICAgIDAsMSwwLDFdKSwKKyAgZ2wuU1RBVElDX0RSQVcp
OworCitmdW5jdGlvbiBzZXRCaW5kTG9jYXRpb25zKGNvbG9yTG9jYXRpb24sIHBvc2l0aW9uTG9j
YXRpb24pIHsKKyAgZ2wuYmluZEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sIHBvc2l0aW9uTG9jYXRp
b24sIGF0dHJpYnMudlBvc2l0aW9uKTsKKyAgZ2wuYmluZEF0dHJpYkxvY2F0aW9uKHByb2dyYW0s
IGNvbG9yTG9jYXRpb24sIGF0dHJpYnMudkNvbG9yKTsKKyAgZ2wubGlua1Byb2dyYW0ocHJvZ3Jh
bSk7CisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisgIHZhciBsaW5rZWQgPSAoZ2wuZ2V0UHJv
Z3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5MSU5LX1NUQVRVUykgIT0gMCk7CisgIGFzc2VydE1z
ZyhsaW5rZWQsICJwcm9ncmFtIGxpbmtlZCBzdWNjZXNzZnVsbHkiKTsKKworICBkZWJ1ZygidlBv
c2l0aW9uOiIgKyBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCBhdHRyaWJzLnZQb3NpdGlv
bikpCisgIGRlYnVnKCJ2Q29sb3IgICA6IiArIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0s
IGF0dHJpYnMudkNvbG9yKSkKKyAgYXNzZXJ0TXNnKGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dy
YW0sIGF0dHJpYnMudlBvc2l0aW9uKSA9PSBwb3NpdGlvbkxvY2F0aW9uLAorICAgICAgICAgICAg
ImxvY2F0aW9uIG9mIHZQb3NpdGlvbiBzaG91bGQgYmUgIiArIHBvc2l0aW9uTG9jYXRpb24pOwor
ICBhc3NlcnRNc2coZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52Q29sb3Ip
ID09IGNvbG9yTG9jYXRpb24sCisgICAgICAgICAgICAibG9jYXRpb24gb2YgdkNvbG9yIHNob3Vs
ZCBiZSAiICsgY29sb3JMb2NhdGlvbik7CisKKyAgdmFyIHBsb2MgPSBnbC5nZXRBdHRyaWJMb2Nh
dGlvbihwcm9ncmFtLCBhdHRyaWJzLnZQb3NpdGlvbik7CisgIHZhciBjbG9jID0gZ2wuZ2V0QXR0
cmliTG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52Q29sb3IpOworICBnbC5iaW5kQnVmZmVyKGds
LkFSUkFZX0JVRkZFUiwgcG9zaXRpb25zKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXko
cG9zaXRpb25Mb2NhdGlvbik7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIocG9zaXRpb25Mb2Nh
dGlvbiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIGNvbG9ycyk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGNvbG9yTG9j
YXRpb24pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGNvbG9yTG9jYXRpb24sIDQsIGdsLkZM
T0FULCBmYWxzZSwgMCwgMCk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrRHJhdyhjb2xvckxvY2F0aW9u
LCBwb3NpdGlvbkxvY2F0aW9uLCByLCBnLCBiLCBhKSB7CisgIHd0dS5kcmF3UXVhZChnbCk7Cisg
IHd0dS5jaGVja0NhbnZhcyhnbCwgW3IsIGcsIGIsIGFdLCAic2hvdWxkIGJlIGdyZWVuIik7CisK
KyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHBvc2l0aW9uTG9jYXRpb24pOworICBnbC5k
aXNhYmxlVmVydGV4QXR0cmliQXJyYXkoY29sb3JMb2NhdGlvbik7Cit9CisKK3NldEJpbmRMb2Nh
dGlvbnMoMiwgMyk7CitjaGVja0RyYXcoMiwgMywgMCwgMjU1LCAwLCAyNTUpOworCitzZXRCaW5k
TG9jYXRpb25zKDAsIDMpOworZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworZ2wudmVy
dGV4QXR0cmliNGYoMCwgMSwgMCwgMCwgMSk7CitjaGVja0RyYXcoMCwgMywgMjU1LCAwLCAwLCAy
NTUpOworCitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworZGVidWcoIiIpOwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1z
L3Byb2dyYW0tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YzJhZWNiNDRhZjM3NzViODVkNGVmMmFj
ZjlkYzdlNTczZTFiNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3Qu
aHRtbApAQCAtMCwwICsxLDQyMiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
Ky0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIFByb2dyYW0gQ29tcGlsaW5nL0xpbmtpbmcgQ29uZm9ybWFuY2Ug
VGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2
YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworICAgIHZvaWQgbWFp
bigpCisgICAgeworICAgICAgICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRpb247CisgICAgfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyLXJlZCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVu
dCI+CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQo
MSwgMCwgMCwgMSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyLWdyZWVu
IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAg
ICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLCAxLCAwLCAxKTsKKyAgICB9Cis8L3NjcmlwdD4K
KzxzY3JpcHQgaWQ9ImZzaGFkZXItc2V0dGFibGUiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVuaWZvcm0gdmVjNCB1X2NvbG9y
OworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB1X2NvbG9y
OworICAgIH0KKzwvc2NyaXB0PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIyIiBoZWlnaHQ9
IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK3ZhciB3dHUg
PSBXZWJHTFRlc3RVdGlsczsKK2Z1bmN0aW9uIGdvKCkgeworICAgIGRlc2NyaXB0aW9uKCJUZXN0
cyB0aGF0IHByb2dyYW0gY29tcGlsaW5nL2xpbmtpbmcvdXNpbmcgd29ya3MgY29ycmVjdGx5LiIp
OworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOworCisg
ICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2FudmFzIik7CisgICAgaWYgKCFnbCkg
eworICAgICAgICB0ZXN0RmFpbGVkKCJjb250ZXh0IGRvZXMgbm90IGV4aXN0Iik7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICB0ZXN0UGFzc2VkKCJjb250ZXh0IGV4aXN0cyIpOworCisg
ICAgZ2wuY2xlYXJDb2xvcigwLjAsIDAuMCwgMC4wLCAwLjApOworICAgIGdsLmNsZWFyKGdsLkNP
TE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKworICAgIGZ1bmN0aW9uIGRv
QXJyYXlzSGF2ZVNhbWVDb250ZW50cyhhLCBiKSB7CisgICAgICAgIHZhciBmbGFncyA9IFtdOwor
ICAgICAgICBmdW5jdGlvbiBoYXNVbnVzZWRWYWx1ZShhLCB2YWx1ZSkgeworICAgICAgICAgICAg
Zm9yICh2YXIgaWkgPSAwOyBpaSA8IGEubGVuZ3RoOyArK2lpKSB7CisgICAgICAgICAgICAgICAg
aWYgKGFbaWldID09PSB2YWx1ZSAmJiAhZmxhZ3NbaWldKSB7CisgICAgICAgICAgICAgICAgICAg
IGZsYWdzW2lpXSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgfQorCisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBpZiAoYS5sZW5ndGggIT09
IGIubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGEubGVuZ3RoOyBpaSsrKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKCFoYXNVbnVzZWRWYWx1ZShiLCBhW2lpXSkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKyAgICAgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgfQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKy8vLy8vLy8gQ2hlY2sgY29t
cGlsZVNoYWRlcigpIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAgICB2YXIgdnMg
PSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVYX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNl
KHZzLCAiYXR0cmlidXRlIHZlYzQgYVZlcnRleDsgYXR0cmlidXRlIHZlYzQgYUNvbG9yOyB2YXJ5
aW5nIHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IHZDb2xvciA9IGFDb2xvcjsgZ2xfUG9zaXRp
b24gPSBhVmVydGV4OyB9Iik7CisgICAgZ2wuY29tcGlsZVNoYWRlcih2cyk7CisKKyAgICBhc3Nl
cnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1
ZSwKKyAgICAgICAgICAgICAgImdvb2QgdmVydGV4IHNoYWRlciBzaG91bGQgY29tcGlsZSIpOwor
CisgICAgLy8gVmVyaWZ5IHRoYXQgY29uc3RhbnRzIHJlbW92ZWQgZnJvbSB0aGUgV2ViR0wgc3Bl
YyBnZW5lcmF0ZSBJTlZBTElEX0VOVU0gZXJyb3JzCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMgYXQgdGhpcyBwb2ludCIpOworICAgIGFz
c2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMsIGRlc2t0b3BHTFsnSU5GT19MT0dfTEVO
R1RIJ10pID09PSBudWxsLCAiaW52YWxpZCBjYWxsIHRvIGdldFNoYWRlclBhcmFtZXRlciBzaG91
bGQgcmV0dXJuIG51bGwiKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5V
TSwgIklORk9fTE9HX0xFTkdUSCBpcyBub3QgYSB2YWxpZCBhcmd1bWVudCB0byBnZXRTaGFkZXJQ
YXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVy
KHZzLCBkZXNrdG9wR0xbJ1NIQURFUl9TT1VSQ0VfTEVOR1RIJ10pID09PSBudWxsLCAiaW52YWxp
ZCBjYWxsIHRvIGdldFNoYWRlclBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsKKyAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwgIlNIQURFUl9TT1VSQ0VfTEVOR1RI
IGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFNoYWRlclBhcmFtZXRlciBpbiBXZWJHTCIp
OworCisgICAgdmFyIHZzMiA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hBREVSKTsKKyAg
ICBnbC5zaGFkZXJTb3VyY2UodnMyLCAiYXR0cmlidXRlIHZlYzQgYVZlcnRleDsgYXR0cmlidXRl
IHZlYzQgYUNvbG9yOyB2YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IHZDb2xvciA9
IGFDb2xvcjsgZ2xfUG9zaXRpb24gPSBhVmVydGV4ICogMC41OyB9Iik7CisgICAgZ2wuY29tcGls
ZVNoYWRlcih2czIpOworCisgICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcih2czIs
IGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVlLAorICAgICAgICAgICAgICAiZ29vZCB2ZXJ0ZXgg
c2hhZGVyICMyIHNob3VsZCBjb21waWxlIik7CisKKyAgICB2YXIgdnNCYWQgPSBnbC5jcmVhdGVT
aGFkZXIoZ2wuVkVSVEVYX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKHZzQmFkLCAiV0lM
TCBOT1QgQ09NUElMRTsiKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKHZzQmFkKTsKKworICAgIC8v
IEdMU0wgMS4wLjE3IHNlY3Rpb24gMTAuMjcuIGNvbXBpbGUgc2hhZGVyIGRvZXMgbm90IGhhdmUg
dG8gcmV0dXJuIGZhaWx1cmUuCisgICAgLy9hc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVy
KHZzQmFkLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gZmFsc2UsCisgICAgLy8gICAgICAgICAgImJh
ZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBmYWlsIHRvIGNvbXBpbGUiKTsKKworICAgIHZhciBmcyA9
IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJj
ZShmcywgInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyB2YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lk
IG1haW4oKSB7IGdsX0ZyYWdDb2xvciA9IHZDb2xvcjsgfSIpOworICAgIGdsLmNvbXBpbGVTaGFk
ZXIoZnMpOworCisgICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcihmcywgZ2wuQ09N
UElMRV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAgICJnb29kIGZyYWdtZW50IHNoYWRl
ciBzaG91bGQgY29tcGlsZSIpOworCisgICAgdmFyIGZzMiA9IGdsLmNyZWF0ZVNoYWRlcihnbC5G
UkFHTUVOVF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZShmczIsICJwcmVjaXNpb24gbWVk
aXVtcCBmbG9hdDsgdmFyeWluZyB2ZWM0IHZDb2xvcjsgdm9pZCBtYWluKCkgeyBnbF9GcmFnQ29s
b3IgPSB2Q29sb3IgKiAwLjU7IH0iKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzMik7CisKKyAg
ICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzMiwgZ2wuQ09NUElMRV9TVEFUVVMp
ID09IHRydWUsCisgICAgICAgICAgICAgICJnb29kIGZyYWdtZW50IHNoYWRlciAjMiBzaG91bGQg
Y29tcGlsZSIpOworCisgICAgdmFyIGZzQmFkID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5U
X1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZzQmFkLCAiV0lMTCBOT1QgQ09NUElMRTsi
KTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzQmFkKTsKKworICAgIC8vIEdMU0wgMS4wLjE3IHNl
Y3Rpb24gMTAuMjcuIGNvbXBpbGUgc2hhZGVyIGRvZXMgbm90IGhhdmUgdG8gcmV0dXJuIGZhaWx1
cmUuCisgICAgLy9hc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzQmFkLCBnbC5DT01Q
SUxFX1NUQVRVUykgPT0gZmFsc2UsCisgICAgLy8gICAgICAgICAgImJhZCBmcmFnbWVudCBzaGFk
ZXIgc2hvdWxkIGZhaWwgdG8gY29tcGlsZSIpOworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMgYXQgdGhpcyBwb2ludCIpOworCisvLy8v
Ly8vIENoZWNrIGF0dGFjaFNoYWRlcigpIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisK
KyAgICBmdW5jdGlvbiBjaGVja0F0dGFjaFNoYWRlcihhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnMs
IHNoYWRlciwgZXhwZWN0ZWRfZXJyb3JfY29kZSwgZXJybXNnKSB7CisgICAgICAgIHZhciBwcm9n
ID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFscmVh
ZHlfYXR0YWNoZWRfc2hhZGVycy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGdsLmF0dGFjaFNo
YWRlcihwcm9nLCBhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnNbaV0pOworICAgICAgICBpZihnbC5n
ZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAi
dW5leHBlY3RlZCBlcnJvciBpbiBhdHRhY2hTaGFkZXIoKSIpOworICAgICAgICBnbC5hdHRhY2hT
aGFkZXIocHJvZywgc2hhZGVyKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBleHBlY3Rl
ZF9lcnJvcl9jb2RlLCBlcnJtc2cpOworICAgIH0KKworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFtd
LCB2cywgZ2wuTk9fRVJST1IsICJhdHRhY2hpbmcgYSB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBzdWNj
ZWVkIik7CisgICAgY2hlY2tBdHRhY2hTaGFkZXIoW3ZzXSwgdnMsIGdsLklOVkFMSURfT1BFUkFU
SU9OLAorICAgICAgICAgICAgICAgICAgICAgICJhdHRhY2hpbmcgYW4gYWxyZWFkeSBhdHRhY2hl
ZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworICAg
IGNoZWNrQXR0YWNoU2hhZGVyKFtdLCBmcywgZ2wuTk9fRVJST1IsICJhdHRhY2hpbmcgYSBmcmFn
bWVudCBzaGFkZXIgc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICBjaGVja0F0dGFjaFNoYWRlcihbZnNd
LCBmcywgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAgICAgICAgImF0dGFj
aGluZyBhbiBhbHJlYWR5IGF0dGFjaGVkIGZyYWdtZW50IHNoYWRlciBzaG91bGQgZ2VuZXJhdGUg
SU5WQUxJRF9PUEVSQVRJT04iKTsKKyAgICBjaGVja0F0dGFjaFNoYWRlcihbdnNdLCB2czIsIGds
LklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICJhdHRhY2hpbmcgc2hh
ZGVycyBvZiB0aGUgc2FtZSB0eXBlIHRvIGEgcHJvZ3JhbSBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJ
RF9PUEVSQVRJT04iKTsKKyAgICBjaGVja0F0dGFjaFNoYWRlcihbZnNdLCBmczIsIGdsLklOVkFM
SURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICJhdHRhY2hpbmcgc2hhZGVycyBv
ZiB0aGUgc2FtZSB0eXBlIHRvIGEgcHJvZ3JhbSBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVS
QVRJT04iKTsKKworLy8vLy8vLyBDaGVjayBkZXRhY2hTaGFkZXIoKSAvLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLworCisgICAgZnVuY3Rpb24gY2hlY2tEZXRhY2hTaGFkZXIoYWxyZWFkeV9h
dHRhY2hlZF9zaGFkZXJzLCBzaGFkZXIsIGV4cGVjdGVkX2Vycm9yX2NvZGUsIGVycm1zZykgewor
ICAgICAgICB2YXIgcHJvZyA9IGdsLmNyZWF0ZVByb2dyYW0oKTsKKyAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnMubGVuZ3RoOyArK2kpCisgICAgICAg
ICAgICBnbC5hdHRhY2hTaGFkZXIocHJvZywgYWxyZWFkeV9hdHRhY2hlZF9zaGFkZXJzW2ldKTsK
KyAgICAgICAgaWYoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJPUikKKyAgICAgICAgICAgIGFz
c2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gYXR0YWNoU2hhZGVyKCkiKTsKKyAg
ICAgICAgZ2wuZGV0YWNoU2hhZGVyKHByb2csIHNoYWRlcik7CisgICAgICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZXhwZWN0ZWRfZXJyb3JfY29kZSwgZXJybXNnKTsKKyAgICB9CisKKyAgICBjaGVj
a0RldGFjaFNoYWRlcihbdnNdLCB2cywgZ2wuTk9fRVJST1IsICJkZXRhY2hpbmcgYSB2ZXJ0ZXgg
c2hhZGVyIHNob3VsZCBzdWNjZWVkIik7CisgICAgY2hlY2tEZXRhY2hTaGFkZXIoW2ZzXSwgdnMs
IGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICJkZXRhY2hpbmcg
YSBub3QgYWxyZWFkeSBhdHRhY2hlZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBnZW5lcmF0ZSBJTlZB
TElEX09QRVJBVElPTiIpOworICAgIGNoZWNrRGV0YWNoU2hhZGVyKFtmc10sIGZzLCBnbC5OT19F
UlJPUiwgImRldGFjaGluZyBhIGZyYWdtZW50IHNoYWRlciBzaG91bGQgc3VjY2VlZCIpOworICAg
IGNoZWNrRGV0YWNoU2hhZGVyKFt2c10sIGZzLCBnbC5JTlZBTElEX09QRVJBVElPTiwKKyAgICAg
ICAgICAgICAgICAgICAgICAiZGV0YWNoaW5nIGEgbm90IGFscmVhZHkgYXR0YWNoZWQgZnJhZ21l
bnQgc2hhZGVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworCisvLy8vLy8v
IENoZWNrIGdldEF0dGFjaGVkU2hhZGVycygpIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
CisKKyAgICBmdW5jdGlvbiBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhzaGFkZXJzX3RvX2F0dGFj
aCwgc2hhZGVyc190b19kZXRhY2gsIGV4cGVjdGVkX3NoYWRlcnMsIGVycm1zZykgeworICAgICAg
ICB2YXIgcHJvZyA9IGdsLmNyZWF0ZVByb2dyYW0oKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBzaGFkZXJzX3RvX2F0dGFjaC5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGdsLmF0dGFj
aFNoYWRlcihwcm9nLCBzaGFkZXJzX3RvX2F0dGFjaFtpXSk7CisgICAgICAgIGlmKGdsLmdldEVy
cm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4
cGVjdGVkIGVycm9yIGluIGF0dGFjaFNoYWRlcigpIik7CisgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgc2hhZGVyc190b19kZXRhY2gubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBnbC5kZXRh
Y2hTaGFkZXIocHJvZywgc2hhZGVyc190b19kZXRhY2hbaV0pOworICAgICAgICBpZihnbC5nZXRF
cnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5l
eHBlY3RlZCBlcnJvciBpbiBkZXRhY2hTaGFkZXIoKSIpOworICAgICAgICBhc3NlcnRNc2coZG9B
cnJheXNIYXZlU2FtZUNvbnRlbnRzKGdsLmdldEF0dGFjaGVkU2hhZGVycyhwcm9nKSwgZXhwZWN0
ZWRfc2hhZGVycyksIGVycm1zZyk7CisgICAgfQorICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJz
KFtdLCBbXSwgW10sICJnZXRBdHRhY2hlZFNoYWRlcnMgc2hvdWxkIHJldHVybiBhbiBlbXB0eSBs
aXN0IGJ5IGRlZmF1bHQiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbZnNdLCBbXSwg
W2ZzXSwgImF0dGFjaGluZyBhIHNpbmdsZSBzaGFkZXIgc2hvdWxkIGdpdmUgdGhlIGV4cGVjdGVk
IGxpc3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbZnMsIHZzXSwgW10sIFtmcywg
dnNdLAorICAgICAgICAiYXR0YWNoaW5nIHNvbWUgc2hhZGVycyBzaG91bGQgZ2l2ZSB0aGUgZXhw
ZWN0ZWQgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmc10sIFtmc10sIFtd
LCAiYXR0YWNoaW5nIGEgc2hhZGVyIGFuZCBkZXRhY2hpbmcgaXQgc2hvdWQgbGVhdmUgYW4gZW1w
dHkgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbZnMsIHZz
XSwgW10sCisgICAgICAgICJhdHRhY2hpbmcgc29tZSBzaGFkZXJzIGFuZCBkZXRhY2hpbmcgdGhl
bSBpbiBzYW1lIG9yZGVyIHNob3VkIGxlYXZlIGFuIGVtcHR5IGxpc3QiKTsKKyAgICBjaGVja0dl
dEF0dGFjaGVkU2hhZGVycyhbZnMsIHZzXSwgW3ZzLCBmc10sIFtdLAorICAgICAgICAiYXR0YWNo
aW5nIHNvbWUgc2hhZGVycyBhbmQgZGV0YWNoaW5nIHRoZW0gaW4gcmFuZG9tIG9yZGVyIHNob3Vk
IGxlYXZlIGFuIGVtcHR5IGxpc3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbZnMs
IHZzXSwgW3ZzXSwgW2ZzXSwKKyAgICAgICAgImF0dGFjaGluZyBhbmQgZGV0YWNoaW5nIHNvbWUg
c2hhZGVycyBzaG91bGQgbGVhdmUgdGhlIGRpZmZlcmVuY2UgbGlzdCIpOworICAgIGNoZWNrR2V0
QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbZnNdLCBbdnNdLAorICAgICAgICAiYXR0YWNoaW5n
IGFuZCBkZXRhY2hpbmcgc29tZSBzaGFkZXJzIHNob3VsZCBsZWF2ZSB0aGUgZGlmZmVyZW5jZSBs
aXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzQmFkXSwgW10sIFtmc0JhZF0s
CisgICAgICAgICJhdHRhY2hpbmcgYSBzaGFkZXIgdGhhdCBmYWlsZWQgdG8gY29tcGlsZSBzaG91
bGQgc3RpbGwgc2hvdyBpdCBpbiB0aGUgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFk
ZXJzKFtmcywgdnNCYWRdLCBbXSwgW2ZzLCB2c0JhZF0sCisgICAgICAgICJhdHRhY2hpbmcgc2hh
ZGVycywgaW5jbHVkaW5nIG9uZSB0aGF0IGZhaWxlZCB0byBjb21waWxlLCBzaG91bGQgc3RpbGwg
c2hvdyB0aGUgaXQgaW4gdGhlIGxpc3QiKTsKKworLy8vLy8vLyBDaGVjayBsaW5rUHJvZ3JhbSgp
IGFuZCB1c2VQcm9ncmFtIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAgICBmdW5j
dGlvbiBjaGVja0xpbmtBbmRVc2Uoc2hhZGVycywgZGVsZXRlU2hhZGVyQWZ0ZXJBdHRhY2gsIGV4
cGVjdGVkX3N0YXR1cywgdGVzdEludmFsaWRFbnVtcywgZXJybXNnKSB7CisgICAgICAgIHZhciBw
cm9nID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNo
YWRlcnMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nLCBz
aGFkZXJzW2ldKTsKKyAgICAgICAgICAgIGlmIChkZWxldGVTaGFkZXJBZnRlckF0dGFjaCkKKyAg
ICAgICAgICAgICAgICBnbC5kZWxldGVTaGFkZXIoc2hhZGVyc1tpXSk7CisgICAgICAgIH0KKyAg
ICAgICAgZ2wuYmluZEF0dHJpYkxvY2F0aW9uKHByb2csIDAsICJhVmVydGV4Iik7CisgICAgICAg
IGdsLmJpbmRBdHRyaWJMb2NhdGlvbihwcm9nLCAxLCAiYUNvbG9yIik7CisgICAgICAgIGdsLmxp
bmtQcm9ncmFtKHByb2cpOworICAgICAgICBpZiAoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJP
UikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gbGlu
a1Byb2dyYW0oKSIpOworICAgICAgICBhc3NlcnRNc2coZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihw
cm9nLCBnbC5MSU5LX1NUQVRVUykgPT0gZXhwZWN0ZWRfc3RhdHVzLCBlcnJtc2cpOworICAgICAg
ICB2YXIgaW5mb2xvZyA9IGdsLmdldFByb2dyYW1JbmZvTG9nKHByb2cpOworICAgICAgICBpZiAo
Z2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJPUikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxz
ZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gZ2V0UHJvZ3JhbUluZm9Mb2coKSIpOworICAgICAgICBp
ZiAodHlwZW9mKGluZm9sb2cpICE9ICJzdHJpbmciKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZh
bHNlLCAiZ2V0UHJvZ3JhbUluZm9Mb2coKSBkaWQgbm90IHJldHVybiBhIHN0cmluZyIpOworICAg
ICAgICBpZiAoZXhwZWN0ZWRfc3RhdHVzID09IHRydWUgJiYgZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRl
cihwcm9nLCBnbC5MSU5LX1NUQVRVUykgPT0gZmFsc2UpCisgICAgICAgICAgICBkZWJ1ZyhpbmZv
bG9nKTsKKyAgICAgICAgaWYgKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAgICAg
ICAgICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGluIGdldFByb2dyYW1QYXJh
bWV0ZXIoKSIpOworICAgICAgICAKKyAgICAgICAgaWYgKHRlc3RJbnZhbGlkRW51bXMpIHsKKyAg
ICAgICAgICAgIC8vIFZlcmlmeSB0aGF0IGNvbnN0YW50cyByZW1vdmVkIGZyb20gdGhlIFdlYkdM
IHNwZWMgZ2VuZXJhdGUgSU5WQUxJRF9FTlVNIGVycm9ycworICAgICAgICAgICAgYXNzZXJ0TXNn
KGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZywgZGVza3RvcEdMWydJTkZPX0xPR19MRU5HVEgn
XSkgPT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBzaG91bGQg
cmV0dXJuIG51bGwiKTsKKyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJ
RF9FTlVNLCAiSU5GT19MT0dfTEVOR1RIIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFBy
b2dyYW1QYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICAgICAgICAgIGFzc2VydE1zZyhnbC5nZXRQ
cm9ncmFtUGFyYW1ldGVyKHByb2csIGRlc2t0b3BHTFsnQUNUSVZFX0FUVFJJQlVURV9NQVhfTEVO
R1RIJ10pID09PSBudWxsLCAiaW52YWxpZCBjYWxsIHRvIGdldFByb2dyYW1QYXJhbWV0ZXIgc2hv
dWxkIHJldHVybiBudWxsIik7CisgICAgICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklO
VkFMSURfRU5VTSwgIkFDVElWRV9BVFRSSUJVVEVfTUFYX0xFTkdUSCBpcyBub3QgYSB2YWxpZCBh
cmd1bWVudCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIGluIFdlYkdMIik7CisgICAgICAgICAgICBh
c3NlcnRNc2coZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9nLCBkZXNrdG9wR0xbJ0FDVElWRV9V
TklGT1JNX01BWF9MRU5HVEgnXSkgPT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0UHJvZ3Jh
bVBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsKKyAgICAgICAgICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiQUNUSVZFX1VOSUZPUk1fTUFYX0xFTkdUSCBpcyBu
b3QgYSB2YWxpZCBhcmd1bWVudCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIGluIFdlYkdMIik7Cisg
ICAgICAgIH0KKworICAgICAgICBnbC51c2VQcm9ncmFtKHByb2cpOworICAgICAgICBpZiAoZXhw
ZWN0ZWRfc3RhdHVzID09IHRydWUpCisgICAgICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SLCAidXNpbmcgYSB2YWxpZCBwcm9ncmFtIHNob3VsZCBzdWNjZWVkIik7CisgICAg
ICAgIGlmIChleHBlY3RlZF9zdGF0dXMgPT0gZmFsc2UpCisgICAgICAgICAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAidXNpbmcgYW4gaW52YWxpZCBwcm9ncmFt
IHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworICAgICAgICByZXR1cm4gcHJv
ZzsKKyAgICB9CisKKyAgICB2YXIgcHJvZ0dvb2QxID0gY2hlY2tMaW5rQW5kVXNlKFt2cywgZnNd
LCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgInZhbGlkIHByb2dyYW0gc2hvdWxkIGxpbmsiKTsKKyAgICB2
YXIgcHJvZ0dvb2QyID0gY2hlY2tMaW5rQW5kVXNlKFt2cywgZnMyXSwgZmFsc2UsIHRydWUsIGZh
bHNlLCAidmFsaWQgcHJvZ3JhbSAjMiBzaG91bGQgbGluayIpOworICAgIHZhciBwcm9nQmFkMSA9
IGNoZWNrTGlua0FuZFVzZShbdnNdLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAicHJvZ3JhbSB3aXRo
IG5vIGZyYWdtZW50IHNoYWRlciBzaG91bGQgZmFpbCB0byBsaW5rIik7CisgICAgdmFyIHByb2dC
YWQyID0gY2hlY2tMaW5rQW5kVXNlKFtmc10sIGZhbHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFt
IHdpdGggbm8gdmVydGV4IHNoYWRlciBzaG91bGQgZmFpbCB0byBsaW5rIik7CisgICAgdmFyIHBy
b2dCYWQzID0gY2hlY2tMaW5rQW5kVXNlKFt2c0JhZCwgZnNdLCBmYWxzZSwgZmFsc2UsIGZhbHNl
LCAicHJvZ3JhbSB3aXRoIGJhZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBmYWlsIHRvIGxpbmsiKTsK
KyAgICB2YXIgcHJvZ0JhZDQgPSBjaGVja0xpbmtBbmRVc2UoW3ZzLCBmc0JhZF0sIGZhbHNlLCBm
YWxzZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggYmFkIGZyYWdtZW50IHNoYWRlciBzaG91bGQgZmFp
bCB0byBsaW5rIik7CisgICAgdmFyIHByb2dCYWQ1ID0gY2hlY2tMaW5rQW5kVXNlKFt2c0JhZCwg
ZnNCYWRdLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAicHJvZ3JhbSB3aXRoIGJhZCBzaGFkZXJzIHNo
b3VsZCBmYWlsIHRvIGxpbmsiKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidXNpbmcgYSB2YWxpZCBwcm9ncmFt
IHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9yIik7CisKKyAgICB2YXIgdmJ1ZiA9IGdsLmNy
ZWF0ZUJ1ZmZlcigpOworICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2YnVmKTsK
KyAgICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwKKyAgICAgICAgICAgICAgICAgIG5l
dyBGbG9hdDMyQXJyYXkoWworICAgICAgICAgICAgICAgICAgICAgIDAuMCwgMC4wLCAwLjAsIDEu
MCwKKyAgICAgICAgICAgICAgICAgICAgICAxLjAsIDAuMCwgMC4wLCAxLjAsCisgICAgICAgICAg
ICAgICAgICAgICAgMS4wLCAxLjAsIDAuMCwgMS4wLAorICAgICAgICAgICAgICAgICAgICAgIDAu
MCwgMS4wLCAwLjAsIDEuMF0pLAorICAgICAgICAgICAgICAgICAgZ2wuU1RBVElDX0RSQVcpOwor
ICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgNCwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsK
KyAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAgICBnbC52ZXJ0ZXhBdHRyaWIz
ZigxLCAxLjAsIDAuMCwgMC4wKTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIGF0IHRoaXMgcG9pbnQgIzIiKTsKKworICAgIGdsLnVz
ZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwg
Myk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImRyYXdpbmcgd2l0aCBh
IHZhbGlkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wgZXJyb3IiKTsKKworICAgIGds
LnVzZVByb2dyYW0ocHJvZ0JhZDEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJ1c2luZyBhbiBpbnZhbGlkIHByb2dyYW0gc2hvdWxkIGdlbmVyYXRlIElO
VkFMSURfT1BFUkFUSU9OIik7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMp
OworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJUcnkgdG8gdXNlIGFuIGlu
dmFsaWQgcHJvZ3JhbSBzaG91bGQgbm90IGNoYW5nZSB0aGUgY3VycmVudCByZW5kZXJpbmcgc3Rh
dGUiKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dvb2QyKTsKKyAgICBnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJP
UiwgImRyYXdpbmcgd2l0aCBhIHZhbGlkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wg
ZXJyb3IiKTsKKyAgICBnbC5kZXRhY2hTaGFkZXIocHJvZ0dvb2QyLCBmczIpOworICAgIGdsLmF0
dGFjaFNoYWRlcihwcm9nR29vZDIsIGZzQmFkKTsKKyAgICBnbC5saW5rUHJvZ3JhbShwcm9nR29v
ZDIpOworICAgIGFzc2VydE1zZyhnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dHb29kMiwgZ2wu
TElOS19TVEFUVVMpID09IGZhbHNlLAorICAgICAgICAgICAgICAibGlua2luZyBzaG91bGQgZmFp
bCB3aXRoIGluLXVzZSBmb3JtZXJseSBnb29kIHByb2dyYW0sIHdpdGggbmV3IGJhZCBzaGFkZXIg
YXR0YWNoZWQiKTsKKworICAgIC8vIEludmFsaWQgbGluayBsZWF2ZXMgcHJldmlvdXMgdmFsaWQg
cHJvZ3JhbSBpbnRhY3QuCisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMpOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJkcmF3aW5nIHdpdGggYSB2YWxp
ZCBwcm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9yIik7CisKKyAgICBnbC51c2VQ
cm9ncmFtKHByb2dHb29kMSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDQp
OworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJkcmF3aW5nIHdpdGggYSB2
YWxpZCB3aGVuIGxhc3QgdXNlZCBwcm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9y
Iik7CisKKyAgICB2YXIgcHJvZ0dvb2QxID0gY2hlY2tMaW5rQW5kVXNlKFt2cywgZnNdLCB0cnVl
LCB0cnVlLCBmYWxzZSwgImRlbGV0ZSBzaGFkZXJzIGFmdGVyIGF0dGFjaGluZyB0aGVtIGFuZCBi
ZWZvcmUgbGlua2luZyBwcm9ncmFtIHNob3VsZCBub3QgYWZmZWN0IGxpbmtQcm9ncmFtIik7Cisg
ICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5H
TEVTLCAwLCA0KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiZHJhd2lu
ZyB3aXRoIGEgdmFsaWQgd2hlbiBsYXN0IHVzZWQgcHJvZ3JhbSBzaG91bGRuJ3QgZ2VuZXJhdGUg
YSBHTCBlcnJvciIpOworCisvLy8vLy8vIENoZWNrIGRlbGV0ZVByb2dyYW0oKSBhbmQgZGVsZXRl
U2hhZGVyKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIGdsLnVzZVByb2dy
YW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kZWxldGVQcm9ncmFtKHByb2dHb29kMSk7CisgICAgZ2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDQpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IsICJkZWxldGUgdGhlIGN1cnJlbnQgcHJvZ3JhbSBzaG91bGRuJ3QgY2hhbmdl
IHRoZSBjdXJyZW50IHJlbmRlcmluZyBzdGF0ZSIpOworCisgICAgZ2wubGlua1Byb2dyYW0ocHJv
Z0dvb2QxKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiVGhlIGN1cnJl
bnQgcHJvZ3JhbSBzaG91bGRuJ3QgYmUgZGVsZXRlZCIpOworCisgICAgdmFyIGZzMyA9IGdsLmNy
ZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZShmczMs
ICJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgdmFyeWluZyB2ZWM0IHZDb2xvcjsgdm9pZCBtYWlu
KCkgeyBnbF9GcmFnQ29sb3IgPSB2Q29sb3I7IH0iKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZz
Myk7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzMywgZ2wuQ09NUElM
RV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAgICJnb29kIGZyYWdtZW50IHNoYWRlciBz
aG91bGQgY29tcGlsZSIpOworCisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzMyk7CisgICAgZ2wuY29t
cGlsZVNoYWRlcihmczMpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgImFuIHVuYXR0YWNoZWQgc2hhZGVyIHNob3VsZCBiZSBkZWxldGVkIGltbWVkaWF0ZWx5Iik7
CisKKyAgICBmczMgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICBn
bC5zaGFkZXJTb3VyY2UoZnMzLCAicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7IHZhcnlpbmcgdmVj
NCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgZ2xfRnJhZ0NvbG9yID0gdkNvbG9yOyB9Iik7CisgICAg
Z2wuY29tcGlsZVNoYWRlcihmczMpOworCisgICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFt
ZXRlcihmczMsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVlLAorICAgICAgICAgICAgICAiZ29v
ZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGNvbXBpbGUiKTsKKworICAgIGdsLmRldGFjaFNoYWRl
cihwcm9nR29vZDEsIGZzKTsKKyAgICBnbC5hdHRhY2hTaGFkZXIocHJvZ0dvb2QxLCBmczMpOwor
CisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzMyk7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmczMpOwor
ICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnMzLCBnbC5DT01QSUxFX1NUQVRV
UykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImFuIGF0dGFjaGVkIHNoYWRlciBzaG91bGRuJ3Qg
YmUgZGVsZXRlZCIpOworCisgICAgZ2wudXNlUHJvZ3JhbShudWxsKTsKKyAgICBnbC5saW5rUHJv
Z3JhbShwcm9nR29vZDEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgImEgZGVsZXRlLW1hcmtlZCBwcm9ncmFtIHNob3VsZCBiZSBkZWxldGVkIG9uY2UgaXQncyBu
byBsb25nZXIgdGhlIGN1cnJlbnQgcHJvZ3JhbSIpOworCisgICAgZ2wuY29tcGlsZVNoYWRlcihm
czMpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImEgZGVsZXRl
LW1hcmtlZCBzaGFkZXIgc2hvdWxkIGJlIGRlbGV0ZWQgb25jZSBhbGwgaXRzIGF0dGFjaG1lbnRz
IGFyZSByZW1vdmVkIik7CisKKy8vLy8vLy8vIENoZWNrIGxpbmtQcm9ncmFtKCkgd2l0aCByZWxp
bmtlZCBwcm9ncmFtIC8vLy8vLy8vLy8KKyAgICB2YXIgdnMgPSB3dHUubG9hZFNoYWRlckZyb21T
Y3JpcHQoZ2wsICJ2c2hhZGVyIik7CisgICAgdmFyIGZzID0gd3R1LmxvYWRTaGFkZXJGcm9tU2Ny
aXB0KGdsLCAiZnNoYWRlci1yZWQiKTsKKyAgICB2YXIgcHJnID0gd3R1LmNyZWF0ZVByb2dyYW0o
Z2wsIHZzLCBmcyk7CisgICAgZ2wudXNlUHJvZ3JhbShwcmcpOworICAgIHZhciBwb3NMb2MgPSBn
bC5nZXRBdHRyaWJMb2NhdGlvbihwcmcsICJhX3Bvc2l0aW9uIik7CisgICAgd3R1LnNldHVwVW5p
dFF1YWQoZ2wsIHBvc0xvYyk7CisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tD
YW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0sICJzaG91bGQgYmUgcmVkIik7CisgICAgZ2wuc2hh
ZGVyU291cmNlKGZzLCB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyLWdyZWVuIikpOworICAgIGdsLmNv
bXBpbGVTaGFkZXIoZnMpOworICAgIGdsLmxpbmtQcm9ncmFtKHByZyk7CisgICAgLy8gUHJvZ3Jh
bSBzaG91bGQgYmUgbmV3IHByb2dyYW0gYXQgdGhpcyBwb2ludCB3aXRob3V0IGNhbGxpbmcgdXNl
UHJvZ3JhbQorICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBb
MCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7CisgICAgdmFyIHByZyA9IHd0dS5z
ZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyLXNldHRhYmxlIl0sIFsiYV9wb3Np
dGlvbiJdKTsKKyAgICB2YXIgY29sb3JMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJnLCAi
dV9jb2xvciIpOworICAgIGdsLnVuaWZvcm00Zihjb2xvckxvYywgMSwgMCwgMCwgMSk7CisgICAg
d3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1
NV0sICJzaG91bGQgYmUgcmVkIik7CisgICAgZ2wubGlua1Byb2dyYW0ocHJnKTsKKyAgICAvLyBQ
cm9ncmFtJ3MgdW5pZm9ybXMgc2hvdWxkIGJlIGNsZWFyZWQgYXQgdGhpcyBwb2ludCB3aXRob3V0
IGNhbGxpbmcgdXNlUHJvZ3JhbQorICAgIHd0dS5kcmF3UXVhZChnbCwgWzAsIDI1NSwgMCwgMjU1
XSk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMCwgMCwgMF0sICJzaG91bGQgYmUgdHJh
bnBhcmVudCBibGFjayIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJz
aG91bGQgYmUgbm8gZXJyb3JzIik7Cit9CisKK2RlYnVnKCIiKTsKK2dvKCk7CisKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBp
eGVscy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzZkODlkOTY4OWNhNWQ4YmRjMjhjZWU0ZmM2ZDIw
ZDA2NjNmZmUxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5o
dG1sCkBAIC0wLDAgKzEsMjQ2IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBSZWFkUGl4ZWxzIGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyMDAi
IGhlaWdodD0iMjAwIiBzdHlsZT0id2lkdGg6IDIwcHg7IGhlaWdodDogMjBweCI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiQ2hlY2tzIHRoYXQgUmVhZFBp
eGVscyB3b3JrcyBhcyBleHBlY3RlZC4iKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwor
dmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFtcGxlIik7Cit2YXIgZ2wg
PSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisKK2luaXRUZXN0aW5nSGFybmVzc1dhaXRV
bnRpbERvbmUoKTsKKwordmFyIGFjdHVhbDsKK3ZhciBleHBlY3RlZDsKK3ZhciB3aWR0aCA9IDI7
Cit2YXIgaGVpZ2h0ID0gMjsKK3ZhciBjb250aW51ZVRlc3RGdW5jID0gY29udGludWVUZXN0UGFy
dDE7CisKK2dsLmNsZWFyQ29sb3IoMSwgMSwgMSwgMSk7CitnbC5jbGVhcihnbC5DT0xPUl9CVUZG
RVJfQklUKTsKKworLy8gUmVzaXplIHRoZSBjYW52YXMgdG8gMngyLiBUaGlzIGlzIGFuIGF0dGVt
cHQgdG8gZ2V0IHN0dWZmIGluIHRoZSBiYWNrYnVmZmVyLgorLy8gdGhhdCBzaG91bGRuJ3QgYmUg
dGhlcmUuCitjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0bG9zdCIsIGZ1bmN0
aW9uKGUpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB9LCBmYWxzZSk7CitjYW52YXMuYWRkRXZlbnRM
aXN0ZW5lcigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLCBjb250aW51ZVRlc3RBZnRlckNvbnRleHRS
ZXN0b3JlZCwgZmFsc2UpOworY2FudmFzLndpZHRoID0gd2lkdGg7CitjYW52YXMuaGVpZ2h0ID0g
aGVpZ2h0OworaWYgKGdsLmdldEVycm9yKCkgIT0gZ2wuQ09OVEVYVF9MT1NUX1dFQkdMKSB7Cisg
IGNvbnRpbnVlVGVzdFBhcnQxKCk7Cit9CisKK2Z1bmN0aW9uIGNvbnRpbnVlVGVzdEFmdGVyQ29u
dGV4dFJlc3RvcmVkKCkgeworICB3aW5kb3cuZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZh
cyk7CisgIHZhciBmdW5jID0gY29udGludWVUZXN0RnVuYzsKKyAgd2luZG93LmNvbnRpbnVlVGVz
dEZ1bmMgPSBmdW5jdGlvbigpIHsgdGVzdEZhaWxlZCgic2hvdWxkIG5vdCBiZSBoZXJlIik7IH07
CisgIGZ1bmMoKTsKK30KKworZnVuY3Rpb24gY29udGludWVUZXN0UGFydDEoKSB7CisgIGdsLmNs
ZWFyQ29sb3IoMC41LCAwLjcsIDEuMCwgMSk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9C
SVQpOworCisgIHZhciBpbm5lckNvbG9yID0gWzAuNSwgMC43LCAxLjAsIDFdOworICB2YXIgb3V0
ZXJDb2xvciA9IFswLCAwLCAwLCAwXTsKKworICB2YXIgdGVzdHMgPSBbCisgICAgeyBtc2c6ICdp
biByYW5nZScsIGNoZWNrQ29sb3I6IGlubmVyQ29sb3IsIHg6ICAwLCB5OiAgMCwKKyAgICAgIG9u
ZUNvbG9yOiBpbm5lckNvbG9yLCBvbmVYOiAwLCBvbmVZOiAwfSwKKyAgICB7IG1zZzogJ29mZiB0
b3AgbGVmdCcsIGNoZWNrQ29sb3I6IG91dGVyQ29sb3IsIHg6IC0xLCB5OiAtMSwKKyAgICAgIG9u
ZUNvbG9yOiBpbm5lckNvbG9yLCBvbmVYOiAxLCBvbmVZOiAxfSwKKyAgICB7IG1zZzogJ29mZiBi
b3R0b20gcmlnaHQnLCBjaGVja0NvbG9yOiBvdXRlckNvbG9yLCB4OiAgMSwgeTogIDEsCisgICAg
ICBvbmVDb2xvcjogaW5uZXJDb2xvciwgb25lWDogMCwgb25lWTogMH0sCisgICAgeyBtc2c6ICdj
b21wbGV0ZWx5IG9mZiB0b3AgJywgY2hlY2tDb2xvcjogb3V0ZXJDb2xvciwgeDogIDAsIHk6IC0y
LAorICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9LAorICAgIHsg
bXNnOiAnY29tcGxldGVseSBvZmYgYm90dG9tJywgY2hlY2tDb2xvcjogb3V0ZXJDb2xvciwgeDog
IDAsIHk6ICAyLAorICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9
LAorICAgIHsgbXNnOiAnY29tcGxldGVseSBvZmYgbGVmdCcsIGNoZWNrQ29sb3I6IG91dGVyQ29s
b3IsIHg6IC0yLCB5OiAgMCwKKyAgICAgIG9uZUNvbG9yOiBvdXRlckNvbG9yLCBvbmVYOiAwLCBv
bmVZOiAwfSwKKyAgICB7IG1zZzogJ2NvbXBsZXRlbGV5IG9mZiByaWdodCcsIGNoZWNrQ29sb3I6
IG91dGVyQ29sb3IsIHg6ICAyLCB5OiAgMCwKKyAgICAgIG9uZUNvbG9yOiBvdXRlckNvbG9yLCBv
bmVYOiAwLCBvbmVZOiAwfQorICBdOworCisgIGZvciAodmFyIHR0ID0gMDsgdHQgPCB0ZXN0cy5s
ZW5ndGg7ICsrdHQpIHsKKyAgICB2YXIgdGVzdCA9IHRlc3RzW3R0XTsKKyAgICBkZWJ1ZygiIik7
CisgICAgZGVidWcoImNoZWNraW5nOiAiICsgdGVzdC5tc2cpOworICAgIGNoZWNrQnVmZmVyKHRl
c3QuY2hlY2tDb2xvciwgdGVzdC54LCB0ZXN0LnksCisgICAgICAgICAgICAgICAgdGVzdC5vbmVD
b2xvciwgdGVzdC5vbmVYLCB0ZXN0Lm9uZVkpOworICB9CisKKyAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBHTCBlcnJvcnMiKTsKKworICBmdW5j
dGlvbiBjaGVja0J1ZmZlcihjaGVja0NvbG9yLCB4LCB5LCBvbmVDb2xvciwgb25lWCwgb25lWSkg
eworICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSh3aWR0aCAqIGhlaWdodCAqIDQpOworICAg
IGdsLnJlYWRQaXhlbHMoeCwgeSwgd2lkdGgsIGhlaWdodCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgYnVmKTsKKyAgICBmb3IgKHZhciB5eSA9IDA7IHl5IDwgaGVpZ2h0OyArK3l5KSB7Cisg
ICAgICBmb3IgKHZhciB4eCA9IDA7IHh4IDwgd2lkdGg7ICsreHgpIHsKKyAgICAgICAgdmFyIG9m
ZnNldCA9ICh5eSAqIHdpZHRoICsgeHgpICogNDsKKyAgICAgICAgdmFyIGV4cGVjdGVkQ29sb3Jz
ID0gKG9uZVggPT0geHggJiYgb25lWSA9PSB5eSkgPyBvbmVDb2xvciA6IGNoZWNrQ29sb3I7Cisg
ICAgICAgIGZvciAodmFyIGNjID0gMDsgY2MgPCA0OyArK2NjKSB7CisgICAgICAgICAgdmFyIGV4
cGVjdGVkQ29sb3IgPSBleHBlY3RlZENvbG9yc1tjY10gKiAyNTU7CisgICAgICAgICAgdmFyIGNv
bG9yID0gYnVmW29mZnNldCArIGNjXTsKKyAgICAgICAgICB2YXIgZGlmZiA9IE1hdGguYWJzKGV4
cGVjdGVkQ29sb3IgLSBjb2xvcik7CisgICAgICAgICAgYXNzZXJ0TXNnKGRpZmYgPCAzLAorICAg
ICAgICAgICAgICAgICAgICAiY29sb3IgcGl4ZWwgYXQgIiArIHh4ICsgIiwgIiArIHl5ICsgIiBz
aG91bGQgYmUgYWJvdXQgIiArIGV4cGVjdGVkQ29sb3IpOworICAgICAgICB9CisgICAgICB9Cisg
ICAgfQorICB9CisKKyAgdmFyIGJhZEZvcm1hdHMgPSBbCisgICAgeworICAgICAgZm9ybWF0OiBn
bC5SR0IsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgZGVzdDogbmV3IFVp
bnQ4QXJyYXkoMyksCisgICAgICBlcnJvcjogZ2wuSU5WQUxJRF9PUEVSQVRJT04KKyAgICB9LAor
ICAgIHsKKyAgICAgIGZvcm1hdDogZ2wuUkdCLAorICAgICAgdHlwZTogZ2wuVU5TSUdORURfU0hP
UlRfNV82XzUsCisgICAgICBkZXN0OiBuZXcgVWludDhBcnJheSgzKSwKKyAgICAgIGVycm9yOiBn
bC5JTlZBTElEX09QRVJBVElPTgorICAgIH0sCisgICAgeworICAgICAgZm9ybWF0OiBnbC5SR0JB
LAorICAgICAgdHlwZTogZ2wuVU5TSUdORURfU0hPUlRfNV81XzVfMSwKKyAgICAgIGRlc3Q6IG5l
dyBVaW50MTZBcnJheSgxKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX09QRVJBVElPTgorICAg
IH0sCisgICAgeworICAgICAgZm9ybWF0OiBnbC5SR0JBLAorICAgICAgdHlwZTogZ2wuVU5TSUdO
RURfU0hPUlRfNF80XzRfNCwKKyAgICAgIGRlc3Q6IG5ldyBVaW50MTZBcnJheSgxKSwKKyAgICAg
IGVycm9yOiBnbC5JTlZBTElEX09QRVJBVElPTgorICAgIH0sCisgICAgeworICAgICAgZm9ybWF0
OiBnbC5BTFBIQSwKKyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICBkZXN0OiBu
ZXcgVWludDhBcnJheSgxKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX09QRVJBVElPTgorICAg
IH0sCisgICAgeworICAgICAgZm9ybWF0OiBnbC5MVU1JTkFOQ0UsCisgICAgICB0eXBlOiBnbC5V
TlNJR05FRF9CWVRFLAorICAgICAgZGVzdDogbmV3IFVpbnQ4QXJyYXkoMSksCisgICAgICBlcnJv
cjogZ2wuSU5WQUxJRF9FTlVNCisgICAgfSwKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLkxVTUlO
QU5DRV9BTFBIQSwKKyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICBkZXN0OiBu
ZXcgVWludDhBcnJheSgyKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX0VOVU0KKyAgICB9Cisg
IF07CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoImNoZWNrIGRpc2FsbG93ZWQgZm9ybWF0cyIpOwor
ICBmb3IgKHZhciB0dCA9IDA7IHR0IDwgYmFkRm9ybWF0cy5sZW5ndGg7ICsrIHR0KSB7CisgICAg
dmFyIGluZm8gPSBiYWRGb3JtYXRzW3R0XQorICAgIHZhciBmb3JtYXQgPSBpbmZvLmZvcm1hdDsK
KyAgICB2YXIgdHlwZSA9IGluZm8udHlwZTsKKyAgICB2YXIgZGVzdCA9IGluZm8uZGVzdDsKKyAg
ICB2YXIgZXJyb3IgPSBpbmZvLmVycm9yOworICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwgMSwgMSwg
Zm9ybWF0LCB0eXBlLCBkZXN0KTsKKyAgICAvLyBub3RlIHRoYXQgdGhlIEdMIGVycm9yIGlzIElO
VkFMSURfT1BFUkFUSU9OIGlmIGJvdGggZm9ybWF0IGFuZCB0eXBlIGFyZSBpbnZhbGlkLCBidXQK
KyAgICAvLyBJTlZBTElEX0VOVU0gaWYgb25seSBvbmUgaXMuCisgICAgZ2xFcnJvclNob3VsZEJl
KAorICAgICAgICBnbCwgZXJyb3IsCisgICAgICAgICJTaG91bGQgbm90IGJlIGFibGUgdG8gcmVh
ZCBhcyAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBmb3JtYXQpICsKKyAgICAgICAgIiAvICIg
KyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHR5cGUpKTsKKyAgfQorCisgIGRlYnVnKCIiKTsKKyAg
ZGVidWcoImNoZWNrIHJlYWRpbmcgd2l0aCBsb3RzIG9mIGRyYXdpbmciKTsKKyAgY29udGludWVU
ZXN0RnVuYyA9IGNvbnRpbnVlVGVzdFBhcnQyOworICB3aWR0aCA9IDEwMjQ7CisgIGhlaWdodCA9
IDEwMjQ7CisgIGNhbnZhcy53aWR0aCA9IHdpZHRoOworICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0
OworICBpZiAoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5DT05URVhUX0xPU1RfV0VCR0wpIHsKKyAgICBj
b250aW51ZVRlc3RQYXJ0MigpOworICB9Cit9CisKK2Z1bmN0aW9uIGNvbnRpbnVlVGVzdFBhcnQy
KCkgeworICBnbC52aWV3cG9ydCgwLCAwLCAxMDI0LCAxMDI0KTsKKyAgdmFyIHByb2dyYW0gPSB3
dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworICB2YXIgbG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0sICJ0ZXgiKTsKKyAgZ2wuZGlzYWJsZShnbC5CTEVORCk7CisgIGdsLmRpc2Fi
bGUoZ2wuREVQVEhfVEVTVCk7CisgIHZhciBjb2xvcnMgPSBbWzI1NSwgMCwgMCwgMjU1XSwgWzAs
IDI1NSwgMCwgMjU1XSwgWzAsIDAsIDI1NSwgMjU1XV07CisgIHZhciB0ZXh0dXJlcyA9IFtdOwor
ICB2YXIgcmVzdWx0cyA9IFtdOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgY29sb3JzLmxlbmd0
aDsgKytpaSkgeworICAgIGdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTAgKyBpaSk7CisgICAg
dmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICB3dHUuZmlsbFRleHR1cmUoZ2wsIHRl
eCwgMSwgMSwgY29sb3JzW2lpXSk7CisgICAgdGV4dHVyZXMucHVzaCh0ZXgpOworICB9CisgIGZv
ciAodmFyIGlpID0gMDsgaWkgPCBjb2xvcnMubGVuZ3RoOyArK2lpKSB7CisgICAgZm9yICh2YXIg
amogPSAwOyBqaiA8IDMwMCArIGlpICsgMTsgKytqaikgeworICAgICAgZ2wudW5pZm9ybTFpKGxv
YywgamogJSAzKTsKKyAgICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTsKKyAg
ICB9CisgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KDQpOworICAgIGdsLnJlYWRQaXhlbHMo
NTEyLCA1MTIsIDEsIDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAgcmVz
dWx0cy5wdXNoKGJ1Zik7CisgICAgZm9yICh2YXIga2sgPSAwOyBrayA8IDk5OyArK2trKSB7Cisg
ICAgICBnbC51bmlmb3JtMWkobG9jLCAoamogKyBraykgJSAzKTsKKyAgICAgIGdsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTsKKyAgICB9CisgIH0KKyAgZm9yICh2YXIgaWkgPSAwOyBp
aSA8IGNvbG9ycy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgYnVmID0gcmVzdWx0c1tpaV07Cisg
ICAgdmFyIGNvbG9yID0gY29sb3JzW2lpXTsKKyAgICBhY3R1YWwgPSBbYnVmWzBdLCBidWZbMV0s
IGJ1ZlsyXSwgYnVmWzNdXTsKKyAgICBleHBlY3RlZCA9IFtjb2xvclswXSwgY29sb3JbMV0sIGNv
bG9yWzJdLCBjb2xvclszXV07CisgICAgc2hvdWxkQmUoImFjdHVhbCIsICJleHBlY3RlZCIpOwor
ICB9CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBzaG91bGQgYmUg
bm8gR0wgZXJyb3JzIik7CisKKyAgZGVidWcoIiIpOworICBmaW5pc2hUZXN0KCk7Cit9Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFt
ZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZl
ci1vYmplY3QtYXR0YWNobWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2NzdmNTEzYzgyMmZjZjk2ZjRi
MjEwOWQ3MTRkOWRkNmY2NWYxMzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2Zy
YW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwKQEAgLTAsMCArMSw1NTkgQEAKKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFy
IGdsOwordmFyIGZibzsKK3ZhciBkZXB0aEJ1ZmZlcjsKK3ZhciBzdGVuY2lsQnVmZmVyOwordmFy
IGRlcHRoU3RlbmNpbEJ1ZmZlcjsKK3ZhciBjb2xvckJ1ZmZlcjsKK3ZhciB3aWR0aDsKK3ZhciBo
ZWlnaHQ7CisKK3ZhciBBTExPV19DT01QTEVURSAgICAgICAgICAgICAgPSAweDAxOwordmFyIEFM
TE9XX1VOU1VQUE9SVEVEICAgICAgICAgICA9IDB4MDI7Cit2YXIgQUxMT1dfSU5DT01QTEVURV9B
VFRBQ0hNRU5UID0gMHgwNDsKKworZnVuY3Rpb24gY2hlY2tGcmFtZWJ1ZmZlckZvckFsbG93ZWRT
dGF0dXNlcyhhbGxvd2VkU3RhdHVzZXMpCit7CisgICAgLy8gSWYgdGhlIGZyYW1lYnVmZmVyIGlz
IGluIGFuIGVycm9yIHN0YXRlIGZvciBtdWx0aXBsZSByZWFzb25zLAorICAgIC8vIHdlIGNhbid0
IGd1YXJhbnRlZSB3aGljaCBvbmUgd2lsbCBiZSByZXBvcnRlZC4KKyAgICB2YXIgc3RhdHVzID0g
Z2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUik7CisgICAgdmFyIHN0YXR1
c0FsbG93ZWQgPSAoKGFsbG93ZWRTdGF0dXNlcyAmIEFMTE9XX0NPTVBMRVRFKSAmJiAoc3RhdHVz
ID09IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICgoYWxsb3dlZFN0YXR1c2VzICYgQUxMT1dfVU5TVVBQT1JURUQpICYmIChzdGF0dXMgPT0gZ2wu
RlJBTUVCVUZGRVJfVU5TVVBQT1JURUQpKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgKChh
bGxvd2VkU3RhdHVzZXMgJiBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQpICYmIChzdGF0dXMg
PT0gZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5UKSk7CisgICAgdmFyIG1zZyA9
ICJnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSByZXR1cm5lZCAiICsg
c3RhdHVzOworICAgIGlmIChzdGF0dXNBbGxvd2VkKQorICAgICAgICB0ZXN0UGFzc2VkKG1zZyk7
CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7Cit9CisKK2Z1bmN0aW9uIGNoZWNr
QnVmZmVyQml0cyhhdHRhY2htZW50MCwgYXR0YWNobWVudDEpCit7CisgICAgaWYgKGdsLmNoZWNr
RnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpICE9IGdsLkZSQU1FQlVGRkVSX0NPTVBM
RVRFKQorICAgICAgcmV0dXJuOworCisgICAgdmFyIGhhdmVEZXB0aEJ1ZmZlciA9IGF0dGFjaG1l
bnQwID09IGdsLkRFUFRIX0FUVEFDSE1FTlQgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
YXR0YWNobWVudDAgPT0gZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UIHx8CisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQxID09IGdsLkRFUFRIX0FUVEFDSE1FTlQgfHwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDEgPT0gZ2wuREVQVEhfU1RFTkNJTF9B
VFRBQ0hNRU5UOworICAgIHZhciBoYXZlU3RlbmNpbEJ1ZmZlciA9IGF0dGFjaG1lbnQwID09IGds
LlNURU5DSUxfQVRUQUNITUVOVCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFj
aG1lbnQwID09IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCB8fAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGF0dGFjaG1lbnQxID09IGdsLlNURU5DSUxfQVRUQUNITUVOVCB8fAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQxID09IGdsLkRFUFRIX1NURU5DSUxf
QVRUQUNITUVOVDsKKworICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlJFRF9C
SVRTKSArIGdsLmdldFBhcmFtZXRlcihnbC5HUkVFTl9CSVRTKSArIGdsLmdldFBhcmFtZXRlcihn
bC5CTFVFX0JJVFMpICsgZ2wuZ2V0UGFyYW1ldGVyKGdsLkFMUEhBX0JJVFMpID49IDE2Iik7CisK
KyAgICBpZiAoaGF2ZURlcHRoQnVmZmVyKQorICAgICAgc2hvdWxkQmVUcnVlKCJnbC5nZXRQYXJh
bWV0ZXIoZ2wuREVQVEhfQklUUykgPj0gMTYiKTsKKyAgICBlbHNlCisgICAgICBzaG91bGRCZVRy
dWUoImdsLmdldFBhcmFtZXRlcihnbC5ERVBUSF9CSVRTKSA9PSAwIik7CisKKyAgICBpZiAoaGF2
ZVN0ZW5jaWxCdWZmZXIpCisgICAgICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5T
VEVOQ0lMX0JJVFMpID49IDgiKTsKKyAgICBlbHNlCisgICAgICBzaG91bGRCZVRydWUoImdsLmdl
dFBhcmFtZXRlcihnbC5TVEVOQ0lMX0JJVFMpID09IDAiKTsKK30KKworZnVuY3Rpb24gdGVzdEF0
dGFjaG1lbnQoYXR0YWNobWVudCwgYnVmZmVyLCBhbGxvd2VkU3RhdHVzZXMpCit7CisgICAgc2hv
dWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmlu
ZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIGdsLmZyYW1lYnVmZmVyUmVu
ZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVS
QlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wu
RlJBTUVCVUZGRVIsIGF0dGFjaG1lbnQsIGdsLlJFTkRFUkJVRkZFUiwgYnVmZmVyKTsKKyAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyRm9y
QWxsb3dlZFN0YXR1c2VzKGFsbG93ZWRTdGF0dXNlcyk7CisgICAgaWYgKChhbGxvd2VkU3RhdHVz
ZXMgJiBBTExPV19DT01QTEVURSkgPT0gMCkgeworICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9C
VUZGRVJfQklUKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0ZSQU1F
QlVGRkVSX09QRVJBVElPTik7CisgICAgICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwgd2lkdGgsIGhl
aWdodCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkod2lkdGggKiBo
ZWlnaHQgKiA0KSk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFN
RUJVRkZFUl9PUEVSQVRJT04pOworICAgIH0KKyAgICBjaGVja0J1ZmZlckJpdHMoYXR0YWNobWVu
dCk7CisgICAgZ2wuZGVsZXRlRnJhbWVidWZmZXIoZmJvKTsKK30KKworZnVuY3Rpb24gdGVzdEF0
dGFjaG1lbnRzKGF0dGFjaG1lbnQwLCBidWZmZXIwLCBhdHRhY2htZW50MSwgYnVmZmVyMSwgYWxs
b3dlZFN0YXR1c2VzKQoreworICAgIHNob3VsZEJlTm9uTnVsbCgiZmJvID0gZ2wuY3JlYXRlRnJh
bWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJv
KTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09M
T1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLmZy
YW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBhdHRhY2htZW50MCwgZ2wuUkVO
REVSQlVGRkVSLCBidWZmZXIwKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
KTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgYXR0YWNo
bWVudDEsIGdsLlJFTkRFUkJVRkZFUiwgYnVmZmVyMSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlckZvckFsbG93ZWRTdGF0dXNlcyhh
bGxvd2VkU3RhdHVzZXMpOworICAgIGNoZWNrQnVmZmVyQml0cyhhdHRhY2htZW50MCwgYXR0YWNo
bWVudDEpOworICAgIGdsLmRlbGV0ZUZyYW1lYnVmZmVyKGZibyk7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb2xvclJlbmRlcmJ1ZmZlcihpbnRlcm5hbGZvcm1hdCwgYWxsb3dlZFN0YXR1c2VzKQorewor
ICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIo
KSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZl
cik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGludGVybmFs
Zm9ybWF0LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SKTsKKyAgICB0ZXN0QXR0YWNobWVudChnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgY29sb3JCdWZm
ZXIsIGFsbG93ZWRTdGF0dXNlcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3REZXB0aFN0ZW5jaWxSZW5k
ZXJidWZmZXIoYWxsb3dlZFN0YXR1c2VzKQoreworICAgIHNob3VsZEJlTm9uTnVsbCgiZGVwdGhT
dGVuY2lsQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVu
ZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhTdGVuY2lsQnVmZmVyKTsKKyAgICBnbC5y
ZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuREVQVEhfU1RFTkNJTCwgd2lk
dGgsIGhlaWdodCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKKyAg
ICAvLyBPcGVuR0wgaXRzZWxmIGRvZXNuJ3Qgc2VlbSB0byBndWFyYW50ZWUgdGhhdCBlLmcuIGEg
MiB4IDAKKyAgICAvLyByZW5kZXJidWZmZXIgd2lsbCByZXBvcnQgMiBmb3IgaXRzIHdpZHRoIHdo
ZW4gcXVlcmllZC4KKyAgICBpZiAoIShoZWlnaHQgPT0gMCAmJiB3aWR0aCA+IDApKQorICAgICAg
ICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwg
Z2wuUkVOREVSQlVGRkVSX1dJRFRIKSIsICJ3aWR0aCIpOworICAgIGlmICghKHdpZHRoID09IDAg
JiYgaGVpZ2h0ID4gMCkpCisgICAgICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJh
bWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfSEVJR0hUKSIsICJoZWlnaHQi
KTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJV
RkZFUiwgZ2wuUkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZPUk1BVCkiLCAiZ2wuREVQVEhfU1RFTkNJ
TCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVS
QlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfUkVEX1NJWkUpIiwgIjAiKTsKKyAgICBzaG91bGRCZSgi
Z2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVG
RkVSX0dSRUVOX1NJWkUpIiwgIjAiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVy
UGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0JMVUVfU0laRSkiLCAi
MCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVS
QlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfQUxQSEFfU0laRSkiLCAiMCIpOworICAgIC8vIEF2b2lk
IHZlcmlmeWluZyB0aGVzZSBmb3IgemVyby1zaXplZCByZW5kZXJidWZmZXJzIGZvciB0aGUgdGlt
ZQorICAgIC8vIGJlaW5nIHNpbmNlIGl0IGFwcGVhcnMgdGhhdCBldmVuIE9wZW5HTCBkb2Vzbid0
IGd1YXJhbnRlZSB0aGVtLgorICAgIGlmICh3aWR0aCA+IDAgJiYgaGVpZ2h0ID4gMCkgeworICAg
ICAgICBzaG91bGRCZVRydWUoImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJC
VUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9ERVBUSF9TSVpFKSA+IDAiKTsKKyAgICAgICAgc2hvdWxk
QmVUcnVlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5S
RU5ERVJCVUZGRVJfU1RFTkNJTF9TSVpFKSA+IDAiKTsKKyAgICB9CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgdGVzdEF0dGFjaG1lbnQoZ2wuREVQVEhfU1RFTkNJ
TF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNlcyk7CisgICAg
dGVzdERlcHRoU3RlbmNpbERlcHRoU3RlbmNpbCgpOworfQorCitmdW5jdGlvbiB0ZXN0RGVwdGhT
dGVuY2lsRGVwdGhTdGVuY2lsKCkKK3sKKyAgICBpZiAoIXdpZHRoIHx8ICFoZWlnaHQpIHsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAgeyAgIGZp
cnN0Rm9ybWF0OiBnbC5ERVBUSF9DT01QT05FTlQxNiwKKyAgICAgICAgICAgIGZpcnN0QXR0YWNo
OiBnbC5ERVBUSF9BVFRBQ0hNRU5ULAorICAgICAgICAgICAgc2Vjb25kRm9ybWF0OiBnbC5ERVBU
SF9TVEVOQ0lMLAorICAgICAgICAgICAgc2Vjb25kQXR0YWNoOiBnbC5ERVBUSF9TVEVOQ0lMX0FU
VEFDSE1FTlQKKyAgICAgICAgfSwKKyAgICAgICAgeyAgIGZpcnN0Rm9ybWF0OiBnbC5ERVBUSF9T
VEVOQ0lMLAorICAgICAgICAgICAgZmlyc3RBdHRhY2g6IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNI
TUVOVCwKKyAgICAgICAgICAgIHNlY29uZEZvcm1hdDogZ2wuREVQVEhfQ09NUE9ORU5UMTYsCisg
ICAgICAgICAgICBzZWNvbmRBdHRhY2g6IGdsLkRFUFRIX0FUVEFDSE1FTlQKKyAgICAgICAgfQor
ICAgIF07CisgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRlc3RzLmxlbmd0aDsgKytpaSkgewor
ICAgICAgICB2YXIgdGVzdCA9IHRlc3RzW2lpXTsKKyAgICAgICAgZm9yICh2YXIgamogPSAwOyBq
aiA8IDI7ICsramopIHsKKyAgICAgICAgICAgIHZhciBmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZl
cigpOworICAgICAgICAgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICAgICAg
ICAgIHZhciBmaXJzdFJiID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCk7CisKKyAgICAgICAgICAg
IGRlYnVnKCIiKTsKKyAgICAgICAgICAgIGRlYnVnKCJ0ZXN0OiAiICsgd3R1LmdsRW51bVRvU3Ry
aW5nKGdsLCB0ZXN0LmZpcnN0Rm9ybWF0KSArICIgdnMgIiArIHd0dS5nbEVudW1Ub1N0cmluZyhn
bCwgdGVzdC5zZWNvbmRGb3JtYXQpICsgIiB3aXRoICIgKyAoamogPyAidW5iaW5kIiA6ICJkZWxl
dGUiKSk7CisKKyAgICAgICAgICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwg
ZmJvKTsKKyAgICAgICAgICAgIC8vIGF0dGFjaCB0ZXh0dXJlIGFzIGNvbG9yCisgICAgICAgICAg
ICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgICAgICAgICAgZ2wudGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCB3aWR0aCwgaGVpZ2h0LCAwLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICAgICAgICAgIGdsLmZyYW1lYnVmZmVy
VGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVS
RV8yRCwgdGV4LCAwKTsKKworICAgICAgICAgICAgLy8gYXR0YWNoIGZpcnN0CisgICAgICAgICAg
ICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgZmlyc3RSYik7CisgICAgICAg
ICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgdGVzdC5maXJzdEZv
cm1hdCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1
ZmZlcihnbC5GUkFNRUJVRkZFUiwgdGVzdC5maXJzdEF0dGFjaCwgZ2wuUkVOREVSQlVGRkVSLCBm
aXJzdFJiKTsKKworICAgICAgICAgICAgc2hvdWxkQmUoJ2dsLmNoZWNrRnJhbWVidWZmZXJTdGF0
dXMoZ2wuRlJBTUVCVUZGRVIpJywgJ2dsLkZSQU1FQlVGRkVSX0NPTVBMRVRFJyk7CisgICAgICAg
ICAgICBnbC5lbmFibGUoZ2wuREVQVEhfVEVTVCk7CisgICAgICAgICAgICB2YXIgcHJvZ3JhbSA9
IHd0dS5zZXR1cENvbG9yUXVhZChnbCk7CisgICAgICAgICAgICAvLyBUZXN0IGl0IHdvcmtzCisg
ICAgICAgICAgICB3dHUuZHJhd1VCeXRlQ29sb3JRdWFkKGdsLCBbMCwgMjU1LCAwLCAyNTVdKTsK
KyAgICAgICAgICAgIHd0dS5kcmF3VUJ5dGVDb2xvclF1YWQoZ2wsIFsyNTUsIDAsIDAsIDI1NV0p
OyAgLy8gc2hvdWxkIG5vdCBkcmF3IHNpbmNlIERFUFRIX0ZVTkMgPT0gTEVTUworICAgICAgICAg
ICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgd2lkdGgsIGhlaWdodCwgWzAsIDI1NSwg
MCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworCisgICAgICAgICAgICB2YXIgc2Vjb25kUmIg
PSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKKworICAgICAgICAgICAgLy8gYXR0YWNoIHNlY29u
ZAorICAgICAgICAgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHNlY29u
ZFJiKTsKKyAgICAgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVS
LCB0ZXN0LnNlY29uZEZvcm1hdCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgICAgICBnbC5mcmFt
ZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgdGVzdC5zZWNvbmRBdHRhY2gsIGds
LlJFTkRFUkJVRkZFUiwgc2Vjb25kUmIpOworCisgICAgICAgICAgICBpZiAoamogPT0gMCkgewor
ICAgICAgICAgICAgICAvLyBub3cgZGVsZXRlIGl0CisgICAgICAgICAgICAgIGRlYnVnKCJ0ZXN0
IGRlbGV0aW5nIHNlY29uZCByZW5kZXJidWZmZXIiKTsKKyAgICAgICAgICAgICAgZ2wuZGVsZXRl
UmVuZGVyYnVmZmVyKHNlY29uZFJiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgIC8vIHVuYmluZCBpdAorICAgICAgICAgICAgICBkZWJ1ZygidGVzdCB1bmJpbmRpbmcgc2Vj
b25kIHJlbmRlcmJ1ZmZlciIpOworICAgICAgICAgICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1
ZmZlcihnbC5GUkFNRUJVRkZFUiwgdGVzdC5zZWNvbmRBdHRhY2gsIGdsLlJFTkRFUkJVRkZFUiwg
bnVsbCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIElmIHRoZSBmaXJzdCBhdHRh
Y2htZW50IGlzIG5vdCByZXN0b3JlZCB0aGlzIG1heSBmYWlsCisgICAgICAgICAgICBzaG91bGRC
ZSgnZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUiknLCAnZ2wuRlJBTUVC
VUZGRVJfQ09NUExFVEUnKTsKKyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IpOworCisgICAgICAgICAgICAvLyBJZiB0aGUgZmlyc3QgYXR0YWNobWVudCBpcyBub3Qg
cmVzdG9yZWQgdGhpcyBtYXkgZmFpbC4KKyAgICAgICAgICAgIGdsLmNsZWFyKGdsLkRFUFRIX0JV
RkZFUl9CSVQpOworICAgICAgICAgICAgd3R1LmRyYXdVQnl0ZUNvbG9yUXVhZChnbCwgWzAsIDI1
NSwgMCwgMjU1XSk7CisgICAgICAgICAgICB3dHUuZHJhd1VCeXRlQ29sb3JRdWFkKGdsLCBbMjU1
LCAwLCAwLCAyNTVdKTsgIC8vIHNob3VsZCBub3QgZHJhdyBzaW5jZSBERVBUSF9GVU5DID09IExF
U1MKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIHdpZHRoLCBoZWln
aHQsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKyAgICAgICAgICAgIGds
LmRpc2FibGUoZ2wuREVQVEhfVEVTVCk7CisKKyAgICAgICAgICAgIGlmIChqaiA9PSAxKSB7Cisg
ICAgICAgICAgICAgIGdsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihzZWNvbmRSYik7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGdsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihzZWNvbmRSYik7CisgICAg
ICAgICAgICBnbC5kZWxldGVGcmFtZWJ1ZmZlcihmYm8pOworICAgICAgICB9CisgICAgfQorICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworfQorCitkZXNjcmlwdGlvbigiVGVz
dCBmcmFtZWJ1ZmZlciBvYmplY3QgYXR0YWNobWVudCBiZWhhdmlvcnMiKTsKKworZm9yICh3aWR0
aCA9IDA7IHdpZHRoIDw9IDI7IHdpZHRoICs9IDIpCit7CisgICAgZm9yIChoZWlnaHQgPSAwOyBo
ZWlnaHQgPD0gMjsgaGVpZ2h0ICs9IDIpCisgICAgeworICAgICAgICBkZWJ1ZygiIik7CisgICAg
ICAgIGRlYnVnKCJEaW1lbnNpb25zICIgKyB3aWR0aCArICIgeCAiICsgaGVpZ2h0KTsKKworICAg
ICAgICBkZWJ1ZygiQ3JlYXRlIHJlbmRlcmJ1ZmZlcnMiKTsKKyAgICAgICAgc2hvdWxkQmVOb25O
dWxsKCJnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoKSIpOworICAgICAgICBzaG91bGRCZU5vbk51
bGwoImNvbG9yQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICAgICAgZ2wu
YmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICAgICAg
Z2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCB3aWR0aCwg
aGVpZ2h0KTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAg
ICAgIHNob3VsZEJlTm9uTnVsbCgiZGVwdGhCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIo
KSIpOworICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhC
dWZmZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwg
Z2wuREVQVEhfQ09NUE9ORU5UMTYsIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJzdGVuY2ls
QnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICAgICAgZ2wuYmluZFJlbmRl
cmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHN0ZW5jaWxCdWZmZXIpOworICAgICAgICBnbC5yZW5k
ZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuU1RFTkNJTF9JTkRFWDgsIHdpZHRo
LCBoZWlnaHQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAg
ICAgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aFN0ZW5jaWxCdWZmZXIgPSBnbC5jcmVhdGVSZW5k
ZXJidWZmZXIoKSIpOworICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZF
UiwgZGVwdGhTdGVuY2lsQnVmZmVyKTsKKyAgICAgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShn
bC5SRU5ERVJCVUZGRVIsIGdsLkRFUFRIX1NURU5DSUwsIHdpZHRoLCBoZWlnaHQpOworICAgICAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICAgICAgICB2YXIgYWxsb3dl
ZFN0YXR1c0Zvckdvb2RDYXNlCisgICAgICAgICAgICA9ICh3aWR0aCA9PSAwIHx8IGhlaWdodCA9
PSAwKSA/IEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCA6IEFMTE9XX0NPTVBMRVRFOworCisg
ICAgICAgIC8vIHNvbWUgY2FzZXMgaW52b2x2aW5nIHN0ZW5jaWwgc2VlbSB0byBiZSBpbXBsZW1l
bnRhdGlvbi1kZXBlbmRlbnQKKyAgICAgICAgdmFyIGFsbG93ZWRTdGF0dXNGb3JJbXBsRGVwZW5k
ZW50Q2FzZSA9IGFsbG93ZWRTdGF0dXNGb3JHb29kQ2FzZSB8IEFMTE9XX1VOU1VQUE9SVEVEOwor
CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGggdXNpbmcgREVQVEhfQVRUQUNITUVOVCIpOwor
ICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwg
YWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlKTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aCB1
c2luZyBTVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuU1RF
TkNJTF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5U
KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aCB1c2luZyBERVBUSF9TVEVOQ0lMX0FUVEFD
SE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hN
RU5ULCBkZXB0aEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKyAgICAgICAg
ZGVidWcoIkF0dGFjaCBzdGVuY2lsIHVzaW5nIFNURU5DSUxfQVRUQUNITUVOVCIpOworICAgICAg
ICB0ZXN0QXR0YWNobWVudChnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIGFs
bG93ZWRTdGF0dXNGb3JJbXBsRGVwZW5kZW50Q2FzZSk7CisgICAgICAgIGRlYnVnKCJBdHRhY2gg
c3RlbmNpbCB1c2luZyBERVBUSF9BVFRBQ0hNRU5UIik7CisgICAgICAgIHRlc3RBdHRhY2htZW50
KGdsLkRFUFRIX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRU
QUNITUVOVCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggc3RlbmNpbCB1c2luZyBERVBUSF9TVEVO
Q0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuREVQVEhfU1RFTkNJ
TF9BVFRBQ0hNRU5ULCBzdGVuY2lsQnVmZmVyLCBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQp
OworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCB1c2luZyBERVBUSF9TVEVOQ0lM
X0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuREVQVEhfU1RFTkNJTF9B
VFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JHb29kQ2FzZSk7
CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVuY2lsIHVzaW5nIERFUFRIX0FUVEFDSE1F
TlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuREVQVEhfQVRUQUNITUVOVCwgZGVwdGhT
dGVuY2lsQnVmZmVyLCBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQpOworICAgICAgICBkZWJ1
ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCB1c2luZyBTVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAg
ICAgdGVzdEF0dGFjaG1lbnQoZ2wuU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZm
ZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisKKyAgICAgICAgdmFyIGFsbG93ZWRT
dGF0dXNGb3JDb25mbGljdGVkQXR0YWNobWVudAorICAgICAgICAgICAgPSAod2lkdGggPT0gMCB8
fCBoZWlnaHQgPT0gMCkgPyBBTExPV19VTlNVUFBPUlRFRCB8IEFMTE9XX0lOQ09NUExFVEVfQVRU
QUNITUVOVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBBTExP
V19VTlNVUFBPUlRFRDsKKworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoLCB0aGVuIHN0ZW5j
aWwsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnRzKGdsLkRFUFRI
X0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxC
dWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0YWNobWVudCk7CisgICAgICAgIGRl
YnVnKCJBdHRhY2ggc3RlbmNpbCwgdGhlbiBkZXB0aCwgY2F1c2luZyBjb25mbGljdCIpOworICAg
ICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuU1RFTkNJTF9BVFRBQ0hNRU5ULCBzdGVuY2lsQnVmZmVy
LCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0ZvckNvbmZs
aWN0ZWRBdHRhY2htZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aCwgdGhlbiBkZXB0
aFN0ZW5jaWwsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnRzKGds
LkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1F
TlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0ZvckNvbmZsaWN0ZWRBdHRhY2ht
ZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aFN0ZW5jaWwsIHRoZW4gZGVwdGgsIGNh
dXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnRzKGdsLkRFUFRIX1NURU5D
SUxfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBk
ZXB0aEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50KTsKKyAgICAg
ICAgZGVidWcoIkF0dGFjaCBzdGVuY2lsLCB0aGVuIGRlcHRoU3RlbmNpbCwgY2F1c2luZyBjb25m
bGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuREVQVEhfQVRUQUNITUVOVCwgZGVw
dGhCdWZmZXIsIGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVy
LCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOworICAgICAgICBkZWJ1Zygi
QXR0YWNoIGRlcHRoU3RlbmNpbCwgdGhlbiBzdGVuY2lsLCBjYXVzaW5nIGNvbmZsaWN0Iik7Cisg
ICAgICAgIHRlc3RBdHRhY2htZW50cyhnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRo
U3RlbmNpbEJ1ZmZlciwgZ2wuU1RFTkNJTF9BVFRBQ0hNRU5ULCBzdGVuY2lsQnVmZmVyLCBhbGxv
d2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOworCisgICAgICAgIGRlYnVnKCJBdHRh
Y2ggY29sb3IgcmVuZGVyYnVmZmVyIHdpdGggaW50ZXJuYWxmb3JtYXQgPT0gUkdCQTQiKTsKKyAg
ICAgICAgdGVzdENvbG9yUmVuZGVyYnVmZmVyKGdsLlJHQkE0LCBhbGxvd2VkU3RhdHVzRm9yR29v
ZENhc2UpOworCisgICAgICAgIGRlYnVnKCJBdHRhY2ggY29sb3IgcmVuZGVyYnVmZmVyIHdpdGgg
aW50ZXJuYWxmb3JtYXQgPT0gUkdCNV9BMSIpOworICAgICAgICB0ZXN0Q29sb3JSZW5kZXJidWZm
ZXIoZ2wuUkdCNV9BMSwgYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlKTsKKworICAgICAgICBkZWJ1
ZygiQXR0YWNoIGNvbG9yIHJlbmRlcmJ1ZmZlciB3aXRoIGludGVybmFsZm9ybWF0ID09IFJHQjU2
NSIpOworICAgICAgICB0ZXN0Q29sb3JSZW5kZXJidWZmZXIoZ2wuUkdCNTY1LCBhbGxvd2VkU3Rh
dHVzRm9yR29vZENhc2UpOworCisgICAgICAgIGRlYnVnKCJDcmVhdGUgYW5kIGF0dGFjaCBkZXB0
aFN0ZW5jaWwgcmVuZGVyYnVmZmVyIik7CisgICAgICAgIHRlc3REZXB0aFN0ZW5jaWxSZW5kZXJi
dWZmZXIoYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlKTsKKyAgICB9Cit9CisKKy8vIERldGVybWlu
ZSBpZiB3ZSBjYW4gYXR0YWNoIGJvdGggY29sb3IgYW5kIGRlcHRoIG9yIGNvbG9yIGFuZCBkZXB0
aF9zdGVuY2lsCit2YXIgZGVwdGhGb3JtYXQ7Cit2YXIgZGVwdGhBdHRhY2htZW50OworCitmdW5j
dGlvbiBjaGVja1ZhbGlkQ29sb3JEZXB0aENvbWJpbmF0aW9uKCkgeworICAgIHNob3VsZEJlTm9u
TnVsbCgiZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1
ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBzaG91bGRCZU5vbk51bGwoImNvbG9yQnVm
ZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVy
KGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVy
YnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGds
LlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2Uo
Z2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDE2KTsKKworICAgIHNob3VsZEJlTm9uTnVs
bCgiZGVwdGhCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRS
ZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisKKyAgICByZXR1cm4g
dHJ5RGVwdGgoZ2wuREVQVEhfQ09NUE9ORU5UMTYsIGdsLkRFUFRIX0FUVEFDSE1FTlQpIHx8IHRy
eURlcHRoKGdsLkRFUFRIX1NURU5DSUwsIGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCk7CisK
KyAgICBmdW5jdGlvbiB0cnlEZXB0aCh0cnlfZm9ybWF0LCB0cnlfYXR0YWNobWVudCkgeworICAg
ICAgICBpZiAoZGVwdGhBdHRhY2htZW50KSB7CisgICAgICAgICAgICAvLyBJZiB3ZSd2ZSB0cmll
ZCBvbmNlIHVuYXR0YWNoIHRoZSBvbGQgb25lLgorICAgICAgICAgICAgZ2wuZnJhbWVidWZmZXJS
ZW5kZXJidWZmZXIoCisgICAgICAgICAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGRlcHRoQXR0YWNo
bWVudCwgZ2wuUkVOREVSQlVGRkVSLCBudWxsKTsKKyAgICAgICAgfQorICAgICAgICBkZXB0aEZv
cm1hdCA9IHRyeV9mb3JtYXQ7CisgICAgICAgIGRlcHRoQXR0YWNobWVudCA9IHRyeV9hdHRhY2ht
ZW50OworICAgICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgICAgIGds
LkZSQU1FQlVGRkVSLCBkZXB0aEF0dGFjaG1lbnQsIGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhCdWZm
ZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVw
dGhGb3JtYXQsIDE2LCAxNik7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IpOworICAgICAgICByZXR1cm4gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJV
RkZFUikgPT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEU7CisgICAgfQorfQorCitpZiAoY2hlY2tW
YWxpZENvbG9yRGVwdGhDb21iaW5hdGlvbigpKSB7CisgICAgdGVzdEZyYW1lYnVmZmVySW5jb21w
bGV0ZURpbWVuc2lvbnMoKTsKKyAgICB0ZXN0RnJhbWVidWZmZXJJbmNvbXBsZXRlQXR0YWNobWVu
dCgpOworICAgIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxldGVNaXNzaW5nQXR0YWNobWVudCgpOwor
ICAgIHRlc3RVc2luZ0luY29tcGxldGVGcmFtZWJ1ZmZlcigpOworfQorCitmdW5jdGlvbiBjaGVj
a0ZyYW1lYnVmZmVyKGV4cGVjdGVkKSB7CisgICAgdmFyIGFjdHVhbCA9IGdsLmNoZWNrRnJhbWVi
dWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpOworICAgIHZhciBtc2cgPSAiZ2wuY2hlY2tGcmFt
ZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikgc2hvdWxkIGJlICIgKyB3dHUuZ2xFbnVtVG9T
dHJpbmcoZ2wsIGV4cGVjdGVkKSArICIgd2FzICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGFj
dHVhbCk7CisgICAgaWYgKGV4cGVjdGVkICE9IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKSB7Cisg
ICAgICAgIG1zZyArPSAiIG9yIEZSQU1FQlVGRkVSX1VOU1VQUE9SVEVEIjsKKyAgICB9CisgICAg
aWYgKGFjdHVhbCA9PSBleHBlY3RlZCB8fAorICAgICAgICAoZXhwZWN0ZWQgIT0gZ2wuRlJBTUVC
VUZGRVJfQ09NUExFVEUgJiYKKyAgICAgICAgIGFjdHVhbCA9PSBnbC5GUkFNQlVGRkVSX1VOU1VQ
UE9SVEVEKSkgeworICAgICAgICB0ZXN0UGFzc2VkKG1zZyk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgdGVzdEZhaWxlZChtc2cpOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdFVzaW5nSW5jb21w
bGV0ZUZyYW1lYnVmZmVyKCkgeworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiVGVzdCBkcmF3
aW5nIG9yIHJlYWRpbmcgZnJvbSBhbiBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIik7CisgICAgdmFy
IHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworICAgIHZhciB0ZXggPSBnbC5j
cmVhdGVUZXh0dXJlKCk7CisgICAgd3R1LmZpbGxUZXh0dXJlKGdsLCB0ZXgsIDEsIDEsIFswLDI1
NSwwLDI1NV0pOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1
ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOwor
ICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIo
KSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZl
cik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVG
RkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7
CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAx
NiwgMTYpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aEJ1ZmZlciA9IGdsLmNyZWF0ZVJl
bmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIs
IGRlcHRoQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAg
Z2wuRlJBTUVCVUZGRVIsIGRlcHRoQXR0YWNobWVudCwgZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1
ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRo
Rm9ybWF0LCAxNiwgMTYpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwor
ICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOworCisgICAgLy8g
V2UgcGljayB0aGlzIGNvbWJpbmF0aW9uIGJlY2F1c2UgaXQgd29ya3Mgb24gZGVza3RvcCBPcGVu
R0wgYnV0IHNob3VsZCBub3Qgd29yayBvbiBPcGVuR0wgRVMgMi4wCisgICAgZ2wucmVuZGVyYnVm
ZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAzMiwgMTYpOworICAgIGNo
ZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TKTsKKyAg
ICBkZWJ1ZygiIik7CisgICAgZGVidWcoIkRyYXdpbmcgb3IgcmVhZGluZyBmcm9tIGFuIGluY29t
cGxldGUgZnJhbWVidWZmZXIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfRlJBTUVCVUZGRVJfT1BF
UkFUSU9OIik7CisgICAgdGVzdFJlbmRlcmluZ0FuZFJlYWRpbmcoKTsKKworICAgIHNob3VsZEJl
Tm9uTnVsbCgiZmJvMiA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJh
bWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibzIpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wu
RlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1FTlQpOworICAgIGRlYnVnKCIi
KTsKKyAgICBkZWJ1ZygiRHJhd2luZyBvciByZWFkaW5nIGZyb20gYW4gaW5jb21wbGV0ZSBmcmFt
ZWJ1ZmZlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04iKTsK
KyAgICB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJj
b2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRl
cmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZl
clJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1F
TlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJT
dG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDAsIDApOworICAgIGRlYnVnKCIiKTsK
KyAgICBkZWJ1ZygiRHJhd2luZyBvciByZWFkaW5nIGZyb20gYW4gaW5jb21wbGV0ZSBmcmFtZWJ1
ZmZlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04iKTsKKyAg
ICB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygpOworCisgICAgZnVuY3Rpb24gdGVzdFJlbmRlcmlu
Z0FuZFJlYWRpbmcoKSB7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OworICAgICAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OLCAiZHJhd0FycmF5cyB3aXRoIGluY29t
cGxldGUgZnJhbWVidWZmZXIiKTsKKyAgICAgICAgZ2wucmVhZFBpeGVscygwLCAwLCAxLCAxLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheSg0KSk7CisgICAgICAgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sICJyZWFk
UGl4ZWxzIGZyb20gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAgICAgICAvLyBjb3B5VGV4
SW1hZ2UgYW5kIGNvcHlUZXhTdWJJbWFnZSBjYW4gYmUgZWl0aGVyIElOVkFMSURfRlJBTUVCVUZG
RVJfT1BFUkFUSU9OIGJlY2F1c2UKKyAgICAgICAgLy8gdGhlIGZyYW1lYnVmZmVyIGlzIGludmFs
aWQgT1IgSU5WQUxJRF9PUEVSQVRJT04gYmVjYXVzZSBpbiB0aGUgY2FzZSBvZiBubyBhdHRhY2ht
ZW50cworICAgICAgICAvLyB0aGUgZnJhbWVidWZmZXIgaXMgbm90IG9mIGEgY29tcGF0aWJsZSB0
eXBlLgorICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAw
LCAwLCAwLCAxLCAxKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBbZ2wuSU5WQUxJRF9G
UkFNRUJVRkZFUl9PUEVSQVRJT04sIGdsLklOVkFMSURfT1BFUkFUSU9OXSwgImNvcHlUZXhJbWFn
ZTJEIGZyb20gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAgICAgICBnbC5jb3B5VGV4SW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLCAwLCAxLCAxLCAwKTsKKyAgICAgICAg
Z2xFcnJvclNob3VsZEJlKGdsLCBbZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sIGds
LklOVkFMSURfT1BFUkFUSU9OXSwgImNvcHlUZXhTdWJJbWFnZTJEIGZyb20gaW5jb21wbGV0ZSBm
cmFtZWJ1ZmZlciIpOworICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wu
REVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJ
RF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sICJjbGVhciB3aXRoIGluY29tcGxldGUgZnJhbWVidWZm
ZXIiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxldGVBdHRh
Y2htZW50KCkgeworICAgIHNob3VsZEJlTm9uTnVsbCgiZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZm
ZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAg
ICBzaG91bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCki
KTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIp
OworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZF
UiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOwor
ICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYs
IDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKKwor
ICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiV3Jvbmcgc3RvcmFnZSB0eXBlIGZvciB0eXBlIG9m
IGF0dGFjaG1lbnQgYmUgRlJBTUVCVUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5UIChPcGVuR0wg
RVMgMi4wIDQuNC41KSIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVG
RkVSLCBkZXB0aEZvcm1hdCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1F
QlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9y
YWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisgICAgY2hlY2tGcmFtZWJ1
ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVi
dWcoIjAgc2l6ZSBhdHRhY2htZW50IHNob3VsZCBiZSBGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FU
VEFDSE1FTlQgKE9wZW5HTCBFUyAyLjAgNC40LjUpIik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3Rv
cmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAwLCAwKTsKKyAgICBjaGVja0ZyYW1lYnVm
ZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisKKyAgICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK30KKworZnVuY3Rpb24gdGVzdEZyYW1lYnVmZmVy
SW5jb21wbGV0ZU1pc3NpbmdBdHRhY2htZW50KCkgeworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1
ZygiTm8gYXR0YWNobWVudHMgc2hvdWxkIGJlIElOQ09NUExFVEVfRlJBTUVCVUZGRVJfTUlTU0lO
R19BVFRBQ0hNRU5UIChPcGVuR0wgRVMgMi4wIDQuNC41KSIpOworICAgIHNob3VsZEJlTm9uTnVs
bCgiZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZl
cihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVG
RkVSX0lOQ09NUExFVEVfTUlTU0lOR19BVFRBQ0hNRU5UKTsKKworICAgIHNob3VsZEJlTm9uTnVs
bCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRS
ZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVi
dWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRB
Q0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVm
ZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworICAgIGNoZWNr
RnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOworCisgICAgZ2wuZnJhbWVidWZm
ZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hN
RU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBudWxsKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZS
QU1FQlVGRkVSX0lOQ09NUExFVEVfTUlTU0lOR19BVFRBQ0hNRU5UKTsKKworICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworfQorCitmdW5jdGlvbiB0ZXN0RnJhbWVidWZmZXJJ
bmNvbXBsZXRlRGltZW5zaW9ucygpIHsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIkF0dGFj
aG1lbnRzIG9mIGRpZmZlcmVudCBzaXplcyBzaG91bGQgYmUgRlJBTUVCVUZGRVJfSU5DT01QTEVU
RV9ESU1FTlNJT05TIChPcGVuR0wgRVMgMi4wIDQuNC41KSIpOworCisgICAgc2hvdWxkQmVOb25O
dWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVm
ZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZm
ZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIo
Z2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJi
dWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wu
UkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShn
bC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworCisgICAgc2hvdWxkQmVOb25OdWxs
KCJkZXB0aEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJl
bmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1
ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGRlcHRoQXR0YWNobWVu
dCwgZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3Rv
cmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAxNiwgMTYpOworICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVC
VUZGRVJfQ09NUExFVEUpOworCisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJC
VUZGRVIsIGRlcHRoRm9ybWF0LCAzMiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJB
TUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9y
YWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDE2LCAxNik7CisgICAgY2hlY2tGcmFt
ZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZl
cihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9y
YWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAzMik7CisgICAgY2hlY2tGcmFtZWJ1
ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMpOworICAgIGdsLnJlbmRl
cmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDE2KTsKKyAgICBj
aGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJl
KCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICBnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE2LCAxNiwgMCwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgbnVsbCk7CisgICAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJB
TUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXgsIDApOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIGlmIChnbC5jaGVja0Zy
YW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSAhPSBnbC5GUkFNRUJVRkZFUl9DT01QTEVU
RSkgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbC5SR0JBLCAzMiwgMTYsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUs
IG51bGwpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9E
SU1FTlNJT05TKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDE2LCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgY2hlY2tG
cmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisKKyAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLk5PX0VSUk9SKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2ds
LXNjaXNzb3ItdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjNlOGI1M2Q3ZWQyYjBjOGQwYTUwODFhNGI5NDU4MzAxYTJjNjY5YjUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxMTYg
QEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IFNjaXNzb3IgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9kZWJ1Zy93ZWJnbC1kZWJ1Zy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhczEiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIg
c3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij4gPC9jYW52YXM+Cis8Y2FudmFzIGlk
PSJjYW52YXMyIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVp
Z2h0OiA0MHB4OyI+IDwvY2FudmFzPgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0
aW9uKCJDaGVjayBpZiBnbFNjaXNzb3Igc2V0dGluZyB3b3Jrcy4iKTsKKworZGVidWcoIiIpOwor
ZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsK
KworZnVuY3Rpb24gdGVzdChjYW52YXMsIGF0dHJpYnMpIHsKKyAgdmFyIGdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dChjYW52YXMsIGF0dHJpYnMpOworCisgIGZ1bmN0aW9uIHRlc3QoZnVuYykgewor
ICAgIGdsLmRpc2FibGUoZ2wuU0NJU1NPUl9URVNUKTsKKyAgICBnbC5jbGVhckNvbG9yKDAsMCww
LDApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIGdsLmVuYWJsZShn
bC5TQ0lTU09SX1RFU1QpOworCisgICAgdmFyIHNpemUgPSAxNjsKKyAgICBmb3IgKHZhciBpaSA9
IDA7IGlpIDwgc2l6ZTsgKytpaSkgeworICAgICAgLy8gY2xlYXIgYSBwb3J0aW9uIG9mIG91ciBG
Qk8KKyAgICAgIGdsLnNjaXNzb3IoaWksIGlpLCAxLCAxKTsKKyAgICAgIGZ1bmMoKTsKKyAgICB9
CisKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2l6ZTsgKytpaSkgeworICAgICAgd3R1LmNo
ZWNrQ2FudmFzUmVjdChnbCwgMCwgaWksIGlpLCAxLCBbMCwgMCwgMCwgMF0sICJzaG91bGQgYmUg
YmxhY2siKTsKKyAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIGlpLCBpaSwgMSwgMSwgWzAs
IDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworICAgICAgd3R1LmNoZWNrQ2FudmFz
UmVjdChnbCwgaWkgKyAxLCBpaSwgc2l6ZSAtIGlpIC0gMSwgMSwgWzAsIDAsIDAsIDBdLCAic2hv
dWxkIGJlIGJsYWNrIik7CisgICAgfQorICB9CisKKyAgaWYgKCFnbCkgeworICAgIHRlc3RGYWls
ZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKKyAgfSBlbHNlIHsKKyAgICB0ZXN0UGFzc2Vk
KCJjb250ZXh0IGV4aXN0cyIpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJ0ZXN0IHdp
dGggY2xlYXIiKTsKKyAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgZ2wuY2xlYXJDb2xvcigw
LCAxLCAwLCAxKTsKKyAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIH0p
OworCisgICAgd3R1LnNldHVwQ29sb3JRdWFkKGdsKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBk
ZWJ1ZygidGVzdCB3aXRoIGRyYXciKTsKKyAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgd3R1
LmRyYXdGbG9hdENvbG9yUXVhZChnbCwgWzAsIDEsIDAsIDFdKTsKKyAgICB9KTsKKworICAgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBzaG91bGQgYmUgbm8gZXJyb3Jz
Iik7CisgIH0KK30KKworZGVidWcoIiIpOworZGVidWcoInRlc3QgYW50aWFsaWFzOiBmYWxzZSIp
OwordGVzdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMSIpLCB7YW50aWFsaWFzOiBm
YWxzZX0pOworCitkZWJ1ZygiIik7CitkZWJ1ZygidGVzdCBhbnRpYWxpYXM6IHRydWUiKTsKK3Rl
c3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczIiKSwge2FudGlhbGlhczogdHJ1ZX0p
OworCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4t
NjU1MzYtaW5kaWNlcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjFmNTk5YjgyNjFlNmNjNDdhNjk2MDhiZmM5MzVmNjJlNmQ4NDU3ZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1s
CkBAIC0wLDAgKzEsMTQ1IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBNb3JlIHRoYW4gNjU1MzYgaW5kaWNlcy48L3RpdGxlPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjEiIGhlaWdodD0i
MSIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBp
ZD0idnMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK2F0dHJpYnV0ZSB2
ZWM0IHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWM0IHZDb2xvcjsKK3ZhcnlpbmcgdmVjNCBjb2xv
cjsKK3ZvaWQgbWFpbigpIHsKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICBjb2xv
ciA9IHZDb2xvcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnMiIHR5cGU9InRleHQvc29t
ZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordmFyeWlu
ZyB2ZWM0IGNvbG9yOwordm9pZCBtYWluKCkgeworICAgIGdsX0ZyYWdDb2xvciA9IGNvbG9yOwor
fQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oImNoZWNr
cyB0aGF0IHJlbmRlcmluZyB3aXRoIG1vcmUgdGhhbiA2NTUzNiBpbmRpY2VzIHdvcmtzLiIpOwor
dmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgi
ZXhhbXBsZSIpOwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzIiwgImZz
Il0sIFsidlBvc2l0aW9uIiwgInZDb2xvciJdKTsKK3ZhciBidWZmZXJPYmplY3RzID0gd3R1LnNl
dHVwVW5pdFF1YWQoZ2wsIDAsIDEpOworCitnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwg
YnVmZmVyT2JqZWN0c1swXSk7CitnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZs
b2F0MzJBcnJheShbCisgICAgICAtMSwgIDEsCisgICAgICAgMSwgIDEsCisgICAgICAtMSwgLTEs
CisgICAgICAgMSwgLTEsCisgICAgICAtMSwgIDEsCisgICAgICAgMSwgIDEsCisgICAgICAtMSwg
LTEsCisgICAgICAgMSwgLTFdKSwgZ2wuU1RBVElDX0RSQVcpOworZ2wudmVydGV4QXR0cmliUG9p
bnRlcigwLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMV0pOworZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZG
RVIsIG5ldyBVaW50OEFycmF5KFsKKyAgICAgIDI1NSwgMCwgMCwgMjU1LAorICAgICAgMjU1LCAw
LCAwLCAyNTUsCisgICAgICAyNTUsIDAsIDAsIDI1NSwKKyAgICAgIDI1NSwgMCwgMCwgMjU1LAor
ICAgICAgMCwgMjU1LCAwLCAyNTUsCisgICAgICAwLCAyNTUsIDAsIDI1NSwKKyAgICAgIDAsIDI1
NSwgMCwgMjU1LAorICAgICAgMCwgMjU1LCAwLCAyNTVdKSwgZ2wuU1RBVElDX0RSQVcpOworZ2wu
dmVydGV4QXR0cmliUG9pbnRlcigxLCA0LCBnbC5VTlNJR05FRF9CWVRFLCB0cnVlLCAwLCAwKTsK
K3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIgcHJvZ3JhbSBzZXR1
cCIpOworCit3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImFmdGVyIGNyZWF0
aW5nIHRleHR1cmUiKTsKK3ZhciBudW1RdWFkcyA9IE1hdGguZmxvb3IoNjU1MzYgLyA2KSArIDQ7
Cit2YXIgbnVtUG9pbnRzID0gbnVtUXVhZHMgKiA2OworZGVidWcoIm51bVF1YWRzOiAiICsgbnVt
UXVhZHMpOworZGVidWcoIm51bVBvaW50czogIiArIG51bVBvaW50cyk7Cit2YXIgaW5kZXhCdWYg
PSBuZXcgQXJyYXlCdWZmZXIobnVtUG9pbnRzKTsKK3ZhciBpbmRpY2VzID0gbmV3IFVpbnQ4QXJy
YXkoaW5kZXhCdWYpOwordmFyIGluZGV4QnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CitnbC5i
aW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRleEJ1ZmZlcik7Cit3dHUuZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImFmdGVyIHNldHRpbmcgdXAgaW5kaWNlcyIp
OworCit2YXIgbW9kZXMgPSBbCisgIHttb2RlOiAnUE9JTlRTJywgICAgICAgICBvZmZzZXRzOiBb
MCwgMSwgMiwgMywgMiwgMV0sIHNraXA6IDB9LAorICB7bW9kZTogJ0xJTkVTJywgICAgICAgICAg
b2Zmc2V0czogWzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAwfSwKKyAge21vZGU6ICdMSU5FX0xP
T1AnLCAgICAgIG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwgc2tpcDogMX0sCisgIHttb2Rl
OiAnTElORV9TVFJJUCcsICAgICBvZmZzZXRzOiBbMCwgMSwgMiwgMywgMiwgMV0sIHNraXA6IDB9
LAorICB7bW9kZTogJ1RSSUFOR0xFUycsICAgICAgb2Zmc2V0czogWzAsIDEsIDIsIDMsIDIsIDFd
LCBza2lwOiAwfSwKKyAge21vZGU6ICdUUklBTkdMRV9TVFJJUCcsIG9mZnNldHM6IFswLCAxLCAy
LCAzLCAyLCAxXSwgc2tpcDogMH0sCisgIHttb2RlOiAnVFJJQU5HTEVfRkFOJywgICBvZmZzZXRz
OiBbMCwgMSwgMywgMiwgMiwgMV0sIHNraXA6IDF9CitdOworCitmb3IgKHZhciBtbSA9IDA7IG1t
IDwgbW9kZXMubGVuZ3RoOyArK21tKSB7CisgIHZhciBtb2RlSW5mbyA9IG1vZGVzW21tXTsKKyAg
dmFyIG1vZGUgPSBtb2RlSW5mby5tb2RlOworICB2YXIgb2Zmc2V0cyA9IG1vZGVJbmZvLm9mZnNl
dHM7CisgIHZhciBza2lwID0gbW9kZUluZm8uc2tpcDsKKworICBmb3IgKHZhciBpaSA9IDA7IGlp
IDwgbnVtUXVhZHM7ICsraWkpIHsKKyAgICB2YXIgb2Zmc2V0ID0gaWkgKiA2OworICAgIHZhciBx
dWFkID0gKGlpID09IDAgfHwgaWkgPT0gKG51bVF1YWRzIC0gMSkpID8gNCA6IDA7CisgICAgZm9y
ICh2YXIgamogPSAwOyBqaiA8IDY7ICsramopIHsKKyAgICAgIGluZGljZXNbb2Zmc2V0ICsgampd
ID0gcXVhZCArIG9mZnNldHNbampdOworICAgIH0KKyAgfQorICBnbC5idWZmZXJEYXRhKGdsLkVM
RU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRpY2VzLCBnbC5TVEFUSUNfRFJBVyk7CisKKyAgZGVidWco
IiIpOworICBkZWJ1ZygidGVzdGluZzogIiArIG1vZGUpOworICAvLyBEcmF3IHdpdGhvdXQgbGFz
dCA2IHBvaW50cy4KKyAgZ2wuZHJhd0VsZW1lbnRzKGdsW21vZGVdLCBudW1Qb2ludHMgLSAoc2tp
cCArIDEpICogNiwgZ2wuVU5TSUdORURfQllURSwgc2tpcCAqIDYpOworICB3dHUuY2hlY2tDYW52
YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0sICJTaG91bGQgYmUgcmVkLiIpOworICAvLyBEcmF3IHdp
dGggbGFzdCA2IHBvaW50cy4KKyAgZ2wuZHJhd0VsZW1lbnRzKGdsW21vZGVdLCBudW1Qb2ludHMs
IGdsLlVOU0lHTkVEX0JZVEUsIDApOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAs
IDI1NV0sICJTaG91bGQgYmUgZ3JlZW4uIik7Cit9Cit3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwgImFmdGVyIGRyYXdpbmciKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNh
bXBsZS1jb3JydXB0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVlODE5MWFmZjY2OTNhZDY0NzZjYjk0
MzhiNWI3N2UyZDE2YzYyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLmh0bWwKQEAgLTAsMCArMSwxMjUgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRpdGxlPldlYkdMIE11bHRpc2FtcGxlIFJlbmRl
cmJ1ZmZlciBDb3JydXB0aW9uIFRlc3Q8L3RpdGxlPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyMDQ4IiBoZWlnaHQ9
IjIwNDgiIHN0eWxlPSJ3aWR0aDogMTI4cHg7IGhlaWdodDogMTI4cHg7Ij48L2NhbnZhcz4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAg
IDxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICAgICAg
YXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworICAgICAgICB2b2lkIG1haW4oKQorICAgICAgICB7
CisgICAgICAgICAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICAgICAgfQorICAgIDwv
c2NyaXB0PgorCisgICAgPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFn
bWVudCI+CisgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGdsX0Zy
YWdDb2xvciA9IHZlYzQoMC4wLDAuMCwwLjAsMC4wKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0
PgorCisgICAgPHNjcmlwdD4KKyAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICBmdW5jdGlv
biBpbml0KCkKKyAgICAgICAgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oZG9jdW1lbnQudGl0
bGUpOworCisgICAgICAgICAgICB2YXIgbGFzdENvbnRleHQgPSBudWxsOworICAgICAgICAgICAg
dmFyIGN5Y2xlQ291bnQgPSAwOworICAgICAgICAgICAgdmFyIG1heEN5Y2xlcyA9IDEwMDsKKyAg
ICAgICAgICAgIHZhciBmYWlsZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKKyAgICAgICAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4
YW1wbGUiLCB7YW50aWFsaWFzOiB0cnVlLCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWV9KTsK
KworICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcigxLjAsIDAuMCwgMC4wLCAxLjApOworICAgICAg
ICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgICAgIHZhciBw
cm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiXSwgWyJ2
UG9zaXRpb24iXSk7CisgICAgICAgICAgICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVm
ZmVyKCk7CisgICAgICAgICAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4
T2JqZWN0KTsKKyAgICAgICAgICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcg
RmxvYXQzMkFycmF5KFsgMCwyLjUsMCwgMS41LDEuNSwwLCAyLjUsMS41LDAgXSksIGdsLlNUQVRJ
Q19EUkFXKTsKKyAgICAgICAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICAg
ICAgICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAs
IDApOworCisgICAgICAgICAgICBmdW5jdGlvbiBjeWNsZUFuZFRlc3QoKSB7CisgICAgICAgICAg
ICAgICAgdmFyIGdsMiA9IHd0dS5jcmVhdGUzRENvbnRleHQobnVsbCwge2FudGlhbGlhczogdHJ1
ZX0pOworCisgICAgICAgICAgICAgICAgZ2wyLmNhbnZhcy53aWR0aCA9IGdsMi5jYW52YXMuaGVp
Z2h0ID0gMTAyNDsKKyAgICAgICAgICAgICAgICBnbDIuY2FudmFzLnN0eWxlLndpZHRoID0gZ2wy
LmNhbnZhcy5zdHlsZS5oZWlnaHQgPSAiMXB4IjsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGdsMi5jYW52YXMpOworCisgICAgICAgICAgICAgICAgZ2wyLmNsZWFy
Q29sb3IoMS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICAgICAgICAgICAgICBnbDIuY2xlYXIoZ2wy
LkNPTE9SX0JVRkZFUl9CSVQpOworCisgICAgICAgICAgICAgICAgaWYobGFzdENvbnRleHQpIHsK
KyAgICAgICAgICAgICAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMpOwor
ICAgICAgICAgICAgICAgICAgICB2YXIgbXNnID0gIlNob3VsZCBiZSByZWQgYWZ0ZXIgbG9vcCAi
ICsgY3ljbGVDb3VudDsKKyAgICAgICAgICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdENv
bG9yKGdsLAorICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgZ2wuY2FudmFzLndpZHRoLCBn
bC5jYW52YXMuaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgWzI1NSwgMCwgMCwgMjU1
XSwgbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICAgICAgICAgIGRlYnVnKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChsYXN0Q29udGV4dC5jYW52YXMpOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIGxhc3RDb250ZXh0ID0gZ2wyOworICAgICAgICAgICAgICAgIGN5Y2xlQ291
bnQrKzsKKworICAgICAgICAgICAgICAgIGlmKGN5Y2xlQ291bnQgPD0gbWF4Q3ljbGVzICYmICFm
YWlsZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgd3R1LndhaXRGb3JDb21wb3NpdGUoZ2wyLCBj
eWNsZUFuZFRlc3QpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGN5Y2xlQW5kVGVzdCgpOworICAgICAgIH0KKworICAgICAgIGluaXQoKTsKKyAg
ICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICA8L3NjcmlwdD4KKworPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
bmRlcmluZy9wb2ludC1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRlYmUzNTJkNGU1ZWZkN2ExYzVh
NDYzY2U2NGI3NDNjMWVkODBjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1z
aXplLmh0bWwKQEAgLTAsMCArMSwxNTEgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZl
cnRleCI+CisgICAgYXR0cmlidXRlIHZlYzMgcG9zOworICAgIGF0dHJpYnV0ZSB2ZWM0IGNvbG9y
SW47CisgICAgdW5pZm9ybSBmbG9hdCBwb2ludFNpemU7CisgICAgdmFyeWluZyB2ZWM0IGNvbG9y
OworCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX1BvaW50U2l6ZSA9IHBvaW50
U2l6ZTsKKyAgICAgICAgY29sb3IgPSBjb2xvckluOworICAgICAgICBnbF9Qb3NpdGlvbiA9IHZl
YzQocG9zLCAxLjApOworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0
eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
KyAgICB2YXJ5aW5nIHZlYzQgY29sb3I7CisKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAg
ICAgZ2xfRnJhZ0NvbG9yID0gY29sb3I7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxjYW52YXMgaWQ9InRlc3RiZWQiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPjwvY2FudmFzPgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorICAgICJ1c2Ugc3RyaWN0IjsKKyAgICBkZXNjcmlwdGlvbignVmVyaWZ5IEdMX1ZF
UlRFWF9QUk9HUkFNX1BPSU5UX1NJWkUgaXMgZW5hYmxlZCBpbiBXZWJHTCcpOworCisgICAgdmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQo
J3Rlc3RiZWQnLCB7IGFudGlhbGlhczogZmFsc2UgfSk7CisgICAgc2hvdWxkQmVOb25OdWxsKCJn
bCIpOworCisgICAgZ2wuZGlzYWJsZShnbC5CTEVORCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1Jf
QlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworCisgICAgLy8gVGhlIGNob2ljZSBv
ZiAoMC40LCAwLjQpIGVuc3VyZXMgdGhhdCB0aGUgY2VudGVycyBvZiB0aGUgc3Vycm91bmRpbmcK
KyAgICAvLyBwaXhlbHMgYXJlIG5vdCBjb250YWluZWQgd2l0aGluIHRoZSBwb2ludCB3aGVuIGl0
IGlzIG9mIHNpemUgMSwgYnV0CisgICAgLy8gdGhhdCB0aGV5IGRlZmluaXRlbHkgYXJlIHdoZW4g
aXQgaXMgb2Ygc2l6ZSAyLgorICAgIHZhciB2ZXJ0aWNlcyA9IG5ldyBGbG9hdDMyQXJyYXkoWwor
ICAgICAgICAwLjQsIDAuNCwgMC4wXSk7CisgICAgdmFyIGNvbG9ycyA9IG5ldyBVaW50OEFycmF5
KFsKKyAgICAgICAgMjU1LCAwLCAwLCAyNTVdKTsKKworICAgIHZhciBjb2xvck9mZnNldCA9IHZl
cnRpY2VzLmJ5dGVMZW5ndGg7CisKKyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoMiAqIDIg
KiA0KTsKKyAgICB2YXIgaW5kZXggPSAwOworCisgICAgdmFyIHZibyA9IGdsLmNyZWF0ZUJ1ZmZl
cigpOworICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2Ym8pOworICAgIGdsLmJ1
ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBjb2xvck9mZnNldCArIGNvbG9ycy5ieXRlTGVuZ3Ro
LCBnbC5TVEFUSUNfRFJBVyk7CisgICAgZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGRVIs
IDAsIHZlcnRpY2VzKTsKKyAgICBnbC5idWZmZXJTdWJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgY29s
b3JPZmZzZXQsIGNvbG9ycyk7CisKKyAgICBmdW5jdGlvbiB0ZXN0KHByb2dyYW0pIHsKKyAgICAg
ICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwor
ICAgICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAgICAgICAgZ2wudmVydGV4
QXR0cmliUG9pbnRlcigxLCA0LCBnbC5VTlNJR05FRF9CWVRFLCB0cnVlLCAwLCBjb2xvck9mZnNl
dCk7CisgICAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDEpOworCisgICAgICAgIHZh
ciBsb2NQb2ludFNpemUgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3BvaW50U2l6
ZScpOworCisgICAgICAgIHNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7
CisKKyAgICAgICAgZGVidWcoJ0RyYXcgYSBwb2ludCBvZiBzaXplIDEgYW5kIHZlcmlmeSBpdCBk
b2VzIG5vdCB0b3VjaCBhbnkgb3RoZXIgcGl4ZWxzLicpOworCisgICAgICAgIGdsLnVuaWZvcm0x
Zihsb2NQb2ludFNpemUsIDEuMCk7CisgICAgICAgIGdsLmRyYXdBcnJheXMoZ2wuUE9JTlRTLCAw
LCB2ZXJ0aWNlcy5sZW5ndGggLyAzKTsKKyAgICAgICAgCisgICAgICAgIHNob3VsZEJlKCdnbC5n
ZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7CisKKyAgICAgICAgZm9yICh2YXIgeSA9IDA7IHkg
PCAyOyArK3kpIHsKKyAgICAgICAgICAgIGZvciAodmFyIHggPSAwOyB4IDwgMjsgKyt4KSB7Cisg
ICAgICAgICAgICAgICAgdmFyIGNvcnJlY3RDb2xvciA9ICh4ID09IDEgJiYgeSA9PSAxKSA/IFsy
NTUsIDAsIDBdIDogWzAsIDAsIDBdOworICAgICAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1Jl
Y3QoZ2wsIHgsIHksIDEsIDEsIGNvcnJlY3RDb2xvcik7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZF
Ul9CSVQpOworCisgICAgICAgIGRlYnVnKCdEcmF3IGEgcG9pbnQgb2Ygc2l6ZSAyIGFuZCB2ZXJp
ZnkgaXQgZmlsbHMgdGhlIGFwcHJvcHJpYXRlIHJlZ2lvbi4nKTsKKworICAgICAgICB2YXIgcG9p
bnRTaXplUmFuZ2UgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuQUxJQVNFRF9QT0lOVF9TSVpFX1JBTkdF
KTsKKyAgICAgICAgaWYgKHBvaW50U2l6ZVJhbmdlWzFdID49IDIuMCkgeworICAgICAgICAgICAg
Z2wudW5pZm9ybTFmKGxvY1BvaW50U2l6ZSwgMi4wKTsKKyAgICAgICAgICAgIGdsLmRyYXdBcnJh
eXMoZ2wuUE9JTlRTLCAwLCB2ZXJ0aWNlcy5sZW5ndGggLyAzKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7CisgICAgICAgICAgICB3dHUuY2hl
Y2tDYW52YXNSZWN0KGdsLCAwLCAwLCAyLCAyLCBbMjU1LCAwLCAwXSk7CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICBkZWJ1ZygnJyk7CisgICAgZGVidWcoJ1Bhc3MgMScpOworICAgIHZhciBwcm9n
cmFtMSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsndnNoYWRlcicsICdmc2hhZGVyJ10sIFsncG9z
JywgJ2NvbG9ySW4nXSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9fRVJS
T1InKTsKKyAgICB0ZXN0KHByb2dyYW0xKTsKKworICAgIC8vIFVuZGVyIHNvbWUgdmVyc2lvbnMg
b2YgQU5HTEUgcG9pbnQgc3ByaXRlIHNoYWRlciBwcm9ncmFtcyB3ZXJlIAorICAgIC8vIGluY29y
cmVjdGx5IHJlbG9hZGVkIGZyb20gY2FjaGUuIFJlYnVpbGRpbmcgdGhlIHNoYWRlciBwcm9ncmFt
IGFuZAorICAgIC8vIHJlcGVhdGluZyB0aGUgdGVzdCBzaW11bGF0ZXMgdGhlIGNvbmRpdGlvbnMg
dGhhdCBjYXVzZWQgaXQgdG8gZmFpbAorICAgIGRlYnVnKCcnKTsKKyAgICBkZWJ1ZygnUGFzcyAy
Jyk7CisgICAgdmFyIHByb2dyYW0yID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyd2c2hhZGVyJywg
J2ZzaGFkZXInXSwgWydwb3MnLCAnY29sb3JJbiddKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0RXJy
b3IoKScsICdnbC5OT19FUlJPUicpOworICAgIHRlc3QocHJvZ3JhbTIpOworCisgICAgdmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1v
YmplY3QtZ2V0LWNhbGxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGMwNzQxNjRmMzNmYmMwNDk4ZmIzMTIy
ZjUzMWFlNDM5YWE1ZGM0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQt
Y2FsbHMuaHRtbApAQCAtMCwwICsxLDQ2MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0
aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0cmlj
dCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CitkZXNjcmlwdGlvbigiVGVzdCBvZiBnZXQg
Y2FsbHMgYWdhaW5zdCBHTCBvYmplY3RzIGxpa2UgZ2V0QnVmZmVyUGFyYW1ldGVyLCBldGMuIik7
CisKK2Z1bmN0aW9uIHNpemVJbkJ5dGVzKHR5cGUpIHsKKyAgc3dpdGNoICh0eXBlKSB7CisgIGNh
c2UgZ2wuQllURToKKyAgY2FzZSBnbC5VTlNJR05FRF9CWVRFOgorICAgIHJldHVybiAxOworICBj
YXNlIGdsLlNIT1JUOgorICBjYXNlIGdsLlVOU0lHTkVEX1NIT1JUOgorICAgIHJldHVybiAyOwor
ICBjYXNlIGdsLklOVDoKKyAgY2FzZSBnbC5VTlNJR05FRF9JTlQ6CisgIGNhc2UgZ2wuRkxPQVQ6
CisgICAgcmV0dXJuIDQ7CisgIGRlZmF1bHQ6CisgICAgdGhyb3cgInVua25vd24gdHlwZSI7Cisg
IH0KK30KKwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOworCitkZWJ1ZygidGVzdCBn
ZXRBdHRhY2hlZFNoYWRlcnMiKTsKK3ZhciBzdGFuZGFyZFZlcnQgPSB3dHUubG9hZFN0YW5kYXJk
VmVydGV4U2hhZGVyKGdsKTsKK3ZhciBzdGFuZGFyZEZyYWcgPSB3dHUubG9hZFN0YW5kYXJkRnJh
Z21lbnRTaGFkZXIoZ2wpOwordmFyIHN0YW5kYXJkUHJvZ3JhbSA9IGdsLmNyZWF0ZVByb2dyYW0o
KTsKK2dsLmF0dGFjaFNoYWRlcihzdGFuZGFyZFByb2dyYW0sIHN0YW5kYXJkVmVydCk7CitnbC5h
dHRhY2hTaGFkZXIoc3RhbmRhcmRQcm9ncmFtLCBzdGFuZGFyZEZyYWcpOworZ2wubGlua1Byb2dy
YW0oc3RhbmRhcmRQcm9ncmFtKTsKK3ZhciBzaGFkZXJzID0gZ2wuZ2V0QXR0YWNoZWRTaGFkZXJz
KHN0YW5kYXJkUHJvZ3JhbSk7CitzaG91bGRCZSgnc2hhZGVycy5sZW5ndGgnLCAnMicpOworc2hv
dWxkQmVUcnVlKCdzaGFkZXJzWzBdID09IHN0YW5kYXJkVmVydCAmJiBzaGFkZXJzWzFdID09IHN0
YW5kYXJkRnJhZyB8fCBzaGFkZXJzWzFdID09IHN0YW5kYXJkVmVydCAmJiBzaGFkZXJzWzBdID09
IHN0YW5kYXJkRnJhZycpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitzaG91
bGRCZU51bGwoJ2dsLmdldEF0dGFjaGVkU2hhZGVycyhudWxsKScpOworZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5JTlZBTElEX1ZBTFVFKTsKK3Nob3VsZFRocm93KCdnbC5nZXRBdHRhY2hlZFNoYWRl
cnMoc3RhbmRhcmRWZXJ0KScpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisK
K2Z1bmN0aW9uIHRlc3RJbnZhbGlkQXJndW1lbnQoZnVuY05hbWUsIGFyZ3VtZW50TmFtZSwgdmFs
aWRBcmd1bWVudEFycmF5LCBmdW5jKSB7CisgIHZhciB2YWxpZEFyZ3VtZW50cyA9IHt9OworICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgdmFsaWRBcmd1bWVudEFycmF5Lmxlbmd0aDsgKytpaSkgewor
ICAgIHZhbGlkQXJndW1lbnRzW3ZhbGlkQXJndW1lbnRBcnJheVtpaV1dID0gdHJ1ZTsKKyAgfQor
ICB2YXIgc3VjY2VzcyA9IHRydWU7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCAweDEwMDAwOyAr
K2lpKSB7CisgICAgaWYgKCF2YWxpZEFyZ3VtZW50c1tpaV0pIHsKKyAgICAgIHZhciByZXN1bHQg
PSBmdW5jKGlpKTsKKyAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHsKKyAgICAgICAgc3VjY2Vz
cyA9IGZhbHNlOworICAgICAgICB0ZXN0RmFpbGVkKGZ1bmNOYW1lICsgIiByZXR1cm5lZCAiICsg
cmVzdWx0ICsgIiBpbnN0ZWFkIG9mIG51bGwgZm9yIGludmFsaWQgIiArIGFyZ3VtZW50TmFtZSAr
ICIgZW51bTogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgaWkpKTsKKyAgICAgICAgYnJlYWs7
CisgICAgICB9CisgICAgICB2YXIgZXJyID0gZ2wuZ2V0RXJyb3IoKTsKKyAgICAgIGlmIChlcnIg
IT0gZ2wuSU5WQUxJRF9FTlVNKSB7CisgICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKKyAgICAgICAg
dGVzdEZhaWxlZChmdW5jTmFtZSArICIgZGlkIG5vdCBnZW5lcmF0ZSBJTlZBTElEX0VOVU0gZm9y
IGludmFsaWQgIiArIGFyZ3VtZW50TmFtZSArICIgZW51bTogIiArIHd0dS5nbEVudW1Ub1N0cmlu
ZyhnbCwgaWkpKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9CisgIGlmIChz
dWNjZXNzKSB7CisgICAgdGVzdFBhc3NlZChmdW5jTmFtZSArICIgY29ycmVjdGx5IGhhbmRsZWQg
aW52YWxpZCAiICsgYXJndW1lbnROYW1lICsgIiBlbnVtcyIpOworICB9Cit9CisKK2RlYnVnKCIi
KTsKK2RlYnVnKCJ0ZXN0IGdldEJ1ZmZlclBhcmFtZXRlciIpOworLy8gVGVzdCBnZXRCdWZmZXJQ
YXJhbWV0ZXIKK3ZhciBidWZmZXJUeXBlcyA9IFtnbC5BUlJBWV9CVUZGRVIsIGdsLkVMRU1FTlRf
QVJSQVlfQlVGRkVSXTsKK2ZvciAodmFyIGJiID0gMDsgYmIgPCBidWZmZXJUeXBlcy5sZW5ndGg7
ICsrYmIpIHsKKyAgdmFyIGJ1ZmZlclR5cGUgPSBidWZmZXJUeXBlc1tiYl07CisgIHZhciBidWZm
ZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihidWZmZXJUeXBlLCBidWZm
ZXIpOworICBnbC5idWZmZXJEYXRhKGJ1ZmZlclR5cGUsIDE2LCBnbC5EWU5BTUlDX0RSQVcpOwor
ICB2YXIgZXhwcmVzc2lvbjEgPSAiZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGdsLiIgKyB3dHUuZ2xF
bnVtVG9TdHJpbmcoZ2wsIGJ1ZmZlclR5cGUpICsgIiwgZ2wuQlVGRkVSX1NJWkUpIjsKKyAgdmFy
IGV4cHJlc3Npb24yID0gImdsLmdldEJ1ZmZlclBhcmFtZXRlcihnbC4iICsgd3R1LmdsRW51bVRv
U3RyaW5nKGdsLCBidWZmZXJUeXBlKSArICIsIGdsLkJVRkZFUl9VU0FHRSkiOworICBzaG91bGRC
ZShleHByZXNzaW9uMSwgJzE2Jyk7CisgIHNob3VsZEJlKGV4cHJlc3Npb24yLCAnZ2wuRFlOQU1J
Q19EUkFXJyk7CisgIHRlc3RJbnZhbGlkQXJndW1lbnQoImdldEJ1ZmZlclBhcmFtZXRlciIsICJw
YXJhbWV0ZXIiLCBbZ2wuQlVGRkVSX1NJWkUsIGdsLkJVRkZFUl9VU0FHRV0sIGZ1bmN0aW9uKGJ1
ZmZlclR5cGUpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICByZXR1
cm4gZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGJ1ZmZlclR5cGUsIHBhcmFtZXRlcik7CisgICAgfTsK
KyAgfShidWZmZXJUeXBlKSk7Cit9Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRCdWZm
ZXJQYXJhbWV0ZXIiLAorICAgICJ0YXJnZXQiLAorICAgIGJ1ZmZlclR5cGVzLAorICAgIGZ1bmN0
aW9uKHRhcmdldCkgeworICAgICAgcmV0dXJuIGdsLmdldEJ1ZmZlclBhcmFtZXRlcih0YXJnZXQs
IGdsLkJVRkZFUl9TSVpFKTsKKyAgICB9CispOworCisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0
IGdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciIpOwordmFyIHRleHR1cmUgPSBnbC5j
cmVhdGVUZXh0dXJlKCk7CitnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsK
K2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMiwgMiwgMCwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoWworICAg
ICAgICAgICAgICAgICAgMCwgMCwgMCwgMjU1LAorICAgICAgICAgICAgICAgICAgMjU1LCAyNTUs
IDI1NSwgMjU1LAorICAgICAgICAgICAgICAgICAgMjU1LCAyNTUsIDI1NSwgMjU1LAorICAgICAg
ICAgICAgICAgICAgMCwgMCwgMCwgMjU1XSkpOworZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJF
XzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CitnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKK2dsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOwordmFyIGZyYW1lYnVmZmVyID0gZ2wuY3Jl
YXRlRnJhbWVidWZmZXIoKTsKK2dsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJh
bWVidWZmZXIpOworZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNP
TE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXh0dXJlLCAwKTsKK3ZhciByZW5kZXJi
dWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wu
Tk9fRVJST1IpOworZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1
ZmZlcik7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK2dsLnJlbmRlcmJ1ZmZl
clN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5ERVBUSF9DT01QT05FTlQxNiwgMiwgMik7Citn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK2dsLmZyYW1lYnVmZmVyUmVuZGVyYnVm
ZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5SRU5ERVJCVUZGRVIs
IHJlbmRlcmJ1ZmZlcik7CisvLyBGSVhNRTogb24gc29tZSBtYWNoaW5lcyAoaW4gcGFydGljdWxh
ciB0aGUgV2ViS2l0IGNvbW1pdCBib3RzKSB0aGUKKy8vIGZyYW1lYnVmZmVyIHN0YXR1cyBpcyBG
UkFNRUJVRkZFUl9VTlNVUFBPUlRFRDsgbW9yZSBpbnZlc3RpZ2F0aW9uCisvLyBpcyBuZWVkZWQg
d2h5IHRoaXMgaXMgdGhlIGNhc2UsIGJlY2F1c2UgdGhlIEZCTyBhbGxvY2F0ZWQKKy8vIGludGVy
bmFsbHkgYnkgdGhlIFdlYktpdCBpbXBsZW1lbnRhdGlvbiBoYXMgYWxtb3N0IGlkZW50aWNhbAor
Ly8gcGFyYW1ldGVycyB0byB0aGlzIG9uZS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zMTg0My4KK3Nob3VsZEJlKCdnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVz
KGdsLkZSQU1FQlVGRkVSKScsICdnbC5GUkFNRUJVRkZFUl9DT01QTEVURScpOworc2hvdWxkQmUo
J2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wu
Q09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUp
JywgJ2dsLlRFWFRVUkUnKTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQ
YXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJV
RkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKScsICd0ZXh0dXJlJyk7CitzaG91bGRCZSgnZ2wu
Z2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xP
Ul9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJFX0xFVkVMKScs
ICcwJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGds
LkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNI
TUVOVF9URVhUVVJFX0NVQkVfTUFQX0ZBQ0UpJywgJzAnKTsKKworc2hvdWxkQmUoJ2dsLmdldEZy
YW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuREVQVEhfQVRU
QUNITUVOVCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSknLCAnZ2wuUkVO
REVSQlVGRkVSJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1l
dGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9B
VFRBQ0hNRU5UX09CSkVDVF9OQU1FKScsICdyZW5kZXJidWZmZXInKTsKK3Rlc3RJbnZhbGlkQXJn
dW1lbnQoCisgICAgImdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciIsCisgICAgInBh
cmFtZXRlciIsCisgICAgWyBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFLAor
ICAgICAgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfTkFNRSwKKyAgICAgIGdsLkZS
QU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MRVZFTCwKKyAgICAgIGdsLkZSQU1FQlVGRkVS
X0FUVEFDSE1FTlRfVEVYVFVSRV9DVUJFX01BUF9GQUNFCisgICAgXSwKKyAgICBmdW5jdGlvbihw
YXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJh
bWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQsIHBhcmFtZXRlcik7Cisg
ICAgfQorKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldEZyYW1lYnVmZmVyQXR0YWNo
bWVudFBhcmFtZXRlciIsCisgICAgInRhcmdldCIsCisgICAgWyBnbC5GUkFNRUJVRkZFUiBdLAor
ICAgIGZ1bmN0aW9uKHRhcmdldCkgeworICAgICAgcmV0dXJuIGdsLmdldEZyYW1lYnVmZmVyQXR0
YWNobWVudFBhcmFtZXRlcih0YXJnZXQsIGdsLkNPTE9SX0FUVEFDSE1FTlQsIGdsLkZSQU1FQlVG
RkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpOworICAgIH0KKyk7Cit0ZXN0SW52YWxpZEFyZ3Vt
ZW50KAorICAgICJnZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIiLAorICAgICJhdHRh
Y2htZW50IiwKKyAgICBbIGdsLkNPTE9SX0FUVEFDSE1FTlQwLAorICAgICAgZ2wuREVQVEhfQVRU
QUNITUVOVCwKKyAgICAgIGdsLlNURU5DSUxfQVRUQUNITUVOVCwKKyAgICAgIGdsLkRFUFRIX1NU
RU5DSUxfQVRUQUNITUVOVAorICAgIF0sCisgICAgZnVuY3Rpb24oYXR0YWNobWVudCkgeworICAg
ICAgcmV0dXJuIGdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJV
RkZFUiwgYXR0YWNobWVudCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSk7
CisgICAgfQorKTsKKworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBnZXRQcm9ncmFtUGFyYW1l
dGVyIik7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0s
IGdsLkRFTEVURV9TVEFUVVMpJywgJ2ZhbHNlJyk7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBh
cmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkxJTktfU1RBVFVTKScsICd0cnVlJyk7CitzaG91
bGRCZSgndHlwZW9mIGdsLmdldFByb2dyYW1QYXJhbWV0ZXIoc3RhbmRhcmRQcm9ncmFtLCBnbC5W
QUxJREFURV9TVEFUVVMpJywgJyJib29sZWFuIicpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1Q
YXJhbWV0ZXIoc3RhbmRhcmRQcm9ncmFtLCBnbC5BVFRBQ0hFRF9TSEFERVJTKScsICcyJyk7Citz
aG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkFDVElW
RV9BVFRSSUJVVEVTKScsICcyJyk7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihz
dGFuZGFyZFByb2dyYW0sIGdsLkFDVElWRV9VTklGT1JNUyknLCAnMScpOwordGVzdEludmFsaWRB
cmd1bWVudCgKKyAgICAiZ2V0UHJvZ3JhbVBhcmFtZXRlciIsCisgICAgInBhcmFtZXRlciIsCisg
ICAgWyBnbC5ERUxFVEVfU1RBVFVTLAorICAgICAgZ2wuTElOS19TVEFUVVMsCisgICAgICBnbC5W
QUxJREFURV9TVEFUVVMsCisgICAgICBnbC5BVFRBQ0hFRF9TSEFERVJTLAorICAgICAgZ2wuQUNU
SVZFX0FUVFJJQlVURVMsCisgICAgICBnbC5BQ1RJVkVfVU5JRk9STVMKKyAgICBdLAorICAgIGZ1
bmN0aW9uKHBhcmFtZXRlcikgeworICAgICAgcmV0dXJuIGdsLmdldFByb2dyYW1QYXJhbWV0ZXIo
c3RhbmRhcmRQcm9ncmFtLCBwYXJhbWV0ZXIpOworICAgIH0KKyk7CisKK2RlYnVnKCIiKTsKK2Rl
YnVnKCJUZXN0IGdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlciIpOworc2hvdWxkQmUoJ2dsLmdldFJl
bmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9XSURU
SCknLCAnMicpOworc2hvdWxkQmUoJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5E
RVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9IRUlHSFQpJywgJzInKTsKKy8vIE5vdGU6IHdlIGNh
bid0IHRlc3QgdGhlIGFjdHVhbCB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgZm9ybWF0IHNpbmNlCisv
LyB0aGUgaW1wbGVtZW50YXRpb24gaXMgYWxsb3dlZCB0byBjaGFuZ2UgaXQuCitzaG91bGRCZU5v
blplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJF
TkRFUkJVRkZFUl9JTlRFUk5BTF9GT1JNQVQpJyk7CitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJl
bmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9ERVBU
SF9TSVpFKScpOwordmFyIGNvbG9yYnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCk7Citn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK2dsLmJpbmRSZW5kZXJidWZmZXIoZ2wu
UkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7CitnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQs
IDIsIDIpOworc2hvdWxkQmVOb25aZXJvKCdnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wu
UkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfUkVEX1NJWkUpJyk7CitzaG91bGRCZU5vblpl
cm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRF
UkJVRkZFUl9HUkVFTl9TSVpFKScpOworc2hvdWxkQmVOb25aZXJvKCdnbC5nZXRSZW5kZXJidWZm
ZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfQkxVRV9TSVpFKScp
Oworc2hvdWxkQmVOb25aZXJvKCdnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVS
QlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfQUxQSEFfU0laRSknKTsKK3Rlc3RJbnZhbGlkQXJndW1l
bnQoCisgICAgImdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlciIsCisgICAgInBhcmFtZXRlciIsCisg
ICAgWyBnbC5SRU5ERVJCVUZGRVJfV0lEVEgsCisgICAgICBnbC5SRU5ERVJCVUZGRVJfSEVJR0hU
LAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZPUk1BVCwKKyAgICAgIGdsLlJFTkRF
UkJVRkZFUl9SRURfU0laRSwKKyAgICAgIGdsLlJFTkRFUkJVRkZFUl9HUkVFTl9TSVpFLAorICAg
ICAgZ2wuUkVOREVSQlVGRkVSX0JMVUVfU0laRSwKKyAgICAgIGdsLlJFTkRFUkJVRkZFUl9BTFBI
QV9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0RFUFRIX1NJWkUsCisgICAgICBnbC5SRU5E
RVJCVUZGRVJfU1RFTkNJTF9TSVpFLAorICAgIF0sCisgICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7
CisgICAgICByZXR1cm4gZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZF
UiwgcGFyYW1ldGVyKTsKKyAgICB9KTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldFJl
bmRlcmJ1ZmZlclBhcmFtZXRlciIsCisgICAgInRhcmdldCIsCisgICAgWyBnbC5SRU5ERVJCVUZG
RVIgXSwKKyAgICBmdW5jdGlvbih0YXJnZXQpIHsKKyAgICAgIHJldHVybiBnbC5nZXRSZW5kZXJi
dWZmZXJQYXJhbWV0ZXIodGFyZ2V0LCBnbC5SRU5ERVJCVUZGRVJfV0lEVEgpOworICAgIH0pOwor
CitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBnZXRTaGFkZXJQYXJhbWV0ZXIiKTsKK3Nob3VsZEJl
KCdnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc3RhbmRhcmRWZXJ0LCBnbC5TSEFERVJfVFlQRSknLCAn
Z2wuVkVSVEVYX1NIQURFUicpOworc2hvdWxkQmUoJ2dsLmdldFNoYWRlclBhcmFtZXRlcihzdGFu
ZGFyZFZlcnQsIGdsLkRFTEVURV9TVEFUVVMpJywgJ2ZhbHNlJyk7CitzaG91bGRCZSgnZ2wuZ2V0
U2hhZGVyUGFyYW1ldGVyKHN0YW5kYXJkVmVydCwgZ2wuQ09NUElMRV9TVEFUVVMpJywgJ3RydWUn
KTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldFNoYWRlclBhcmFtZXRlciIsCisgICAg
InBhcmFtZXRlciIsCisgICAgWyBnbC5ERUxFVEVfU1RBVFVTLAorICAgICAgZ2wuQ09NUElMRV9T
VEFUVVMsCisgICAgICBnbC5TSEFERVJfVFlQRQorICAgIF0sCisgICAgZnVuY3Rpb24ocGFyYW1l
dGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHN0YW5kYXJkVmVydCwg
cGFyYW1ldGVyKTsKKyAgICB9CispOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBnZXRUZXhQ
YXJhbWV0ZXIiKTsKK2dsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJhbWVidWZm
ZXIpOworZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7CitnbC50ZXhQYXJh
bWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7
CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwg
Z2wuTkVBUkVTVCk7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVf
V1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8y
RCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworc2hvdWxkQmUoJ2dsLmdl
dFRleFBhcmFtZXRlcihnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIpJywgJ2ds
Lk5FQVJFU1QnKTsKK3Nob3VsZEJlKCdnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9NSU5fRklMVEVSKScsICdnbC5ORUFSRVNUJyk7CitzaG91bGRCZSgnZ2wuZ2V0
VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TKScsICdnbC5DTEFN
UF9UT19FREdFJyk7CitzaG91bGRCZSgnZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQs
IGdsLlRFWFRVUkVfV1JBUF9UKScsICdnbC5DTEFNUF9UT19FREdFJyk7Cit0ZXN0SW52YWxpZEFy
Z3VtZW50KAorICAgICJnZXRUZXhQYXJhbWV0ZXIiLAorICAgICJwYXJhbWV0ZXIiLAorICAgIFsg
Z2wuVEVYVFVSRV9NQUdfRklMVEVSLAorICAgICAgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLAorICAg
ICAgZ2wuVEVYVFVSRV9XUkFQX1MsCisgICAgICBnbC5URVhUVVJFX1dSQVBfVAorICAgIF0sCisg
ICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0VGV4UGFyYW1ldGVy
KGdsLlRFWFRVUkVfMkQsIHBhcmFtZXRlcik7CisgICAgfQorKTsKK3Rlc3RJbnZhbGlkQXJndW1l
bnQoCisgICAgImdldFRleFBhcmFtZXRlciIsCisgICAgInRhcmdldCIsCisgICAgWyBnbC5URVhU
VVJFXzJELAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUAorICAgIF0sCisgICAgZnVuY3Rpb24o
dGFyZ2V0KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0VGV4UGFyYW1ldGVyKHRhcmdldCwgZ2wuVEVY
VFVSRV9NQUdfRklMVEVSKTsKKyAgICB9CispOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBn
ZXRVbmlmb3JtIHdpdGggYWxsIHZhcmlhbnRzIG9mIGRhdGEgdHlwZXMiKTsKKy8vIEJvb2xlYW4g
dW5pZm9ybSB2YXJpYWJsZXMKK3ZhciBib29sUHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbUZyb21G
aWxlKGdsLCAiLi4vcmVzb3VyY2VzL2Jvb2xVbmlmb3JtU2hhZGVyLnZlcnQiLCAiLi4vcmVzb3Vy
Y2VzL25vb3BVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFy
YW1ldGVyKGJvb2xQcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyknLCAndHJ1ZScpOwordmFyIGJ2YWxM
b2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oYm9vbFByb2dyYW0sICJidmFsIik7Cit2YXIgYnZh
bDJMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oYm9vbFByb2dyYW0sICJidmFsMiIpOwordmFy
IGJ2YWwzTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGJvb2xQcm9ncmFtLCAiYnZhbDMiKTsK
K3ZhciBidmFsNExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihib29sUHJvZ3JhbSwgImJ2YWw0
Iik7CitnbC51c2VQcm9ncmFtKGJvb2xQcm9ncmFtKTsKK2dsLnVuaWZvcm0xaShidmFsTG9jLCAx
KTsKK2dsLnVuaWZvcm0yaShidmFsMkxvYywgMSwgMCk7CitnbC51bmlmb3JtM2koYnZhbDNMb2Ms
IDEsIDAsIDEpOworZ2wudW5pZm9ybTRpKGJ2YWw0TG9jLCAxLCAwLCAxLCAwKTsKK2dsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oYm9vbFBy
b2dyYW0sIGJ2YWxMb2MpJywgJ3RydWUnKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGJvb2xQ
cm9ncmFtLCBidmFsMkxvYyknLCAnW3RydWUsIGZhbHNlXScpOworc2hvdWxkQmUoJ2dsLmdldFVu
aWZvcm0oYm9vbFByb2dyYW0sIGJ2YWwzTG9jKScsICdbdHJ1ZSwgZmFsc2UsIHRydWVdJyk7Citz
aG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShib29sUHJvZ3JhbSwgYnZhbDRMb2MpJywgJ1t0cnVlLCBm
YWxzZSwgdHJ1ZSwgZmFsc2VdJyk7CisvLyBJbnRlZ2VyIHVuaWZvcm0gdmFyaWFibGVzCit2YXIg
aW50UHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGdsLCAiLi4vcmVzb3VyY2VzL2lu
dFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIuZnJh
ZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoaW50UHJvZ3JhbSwgZ2wuTElO
S19TVEFUVVMpJywgJ3RydWUnKTsKK3ZhciBpdmFsTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9u
KGludFByb2dyYW0sICJpdmFsIik7Cit2YXIgaXZhbDJMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRp
b24oaW50UHJvZ3JhbSwgIml2YWwyIik7Cit2YXIgaXZhbDNMb2MgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24oaW50UHJvZ3JhbSwgIml2YWwzIik7Cit2YXIgaXZhbDRMb2MgPSBnbC5nZXRVbmlmb3Jt
TG9jYXRpb24oaW50UHJvZ3JhbSwgIml2YWw0Iik7CitnbC51c2VQcm9ncmFtKGludFByb2dyYW0p
OworZ2wudW5pZm9ybTFpKGl2YWxMb2MsIDEpOworZ2wudW5pZm9ybTJpKGl2YWwyTG9jLCAyLCAz
KTsKK2dsLnVuaWZvcm0zaShpdmFsM0xvYywgNCwgNSwgNik7CitnbC51bmlmb3JtNGkoaXZhbDRM
b2MsIDcsIDgsIDksIDEwKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hv
dWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwgaXZhbExvYyknLCAnMScpOworc2hvdWxk
QmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwgaXZhbDJMb2MpJywgJ1syLCAzXScpOworc2hv
dWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwgaXZhbDNMb2MpJywgJ1s0LCA1LCA2XScp
Oworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwgaXZhbDRMb2MpJywgJ1s3LCA4
LCA5LCAxMF0nKTsKKy8vIEZsb2F0IHVuaWZvcm0gdmFyaWFibGVzCit2YXIgZmxvYXRQcm9ncmFt
ID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJjZXMvZmxvYXRVbmlmb3Jt
U2hhZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3No
b3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKGZsb2F0UHJvZ3JhbSwgZ2wuTElOS19TVEFU
VVMpJywgJ3RydWUnKTsKK3ZhciBmdmFsTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGZsb2F0
UHJvZ3JhbSwgImZ2YWwiKTsKK3ZhciBmdmFsMkxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihm
bG9hdFByb2dyYW0sICJmdmFsMiIpOwordmFyIGZ2YWwzTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0
aW9uKGZsb2F0UHJvZ3JhbSwgImZ2YWwzIik7Cit2YXIgZnZhbDRMb2MgPSBnbC5nZXRVbmlmb3Jt
TG9jYXRpb24oZmxvYXRQcm9ncmFtLCAiZnZhbDQiKTsKK2dsLnVzZVByb2dyYW0oZmxvYXRQcm9n
cmFtKTsKK2dsLnVuaWZvcm0xZihmdmFsTG9jLCAxMSk7CitnbC51bmlmb3JtMmYoZnZhbDJMb2Ms
IDEyLCAxMyk7CitnbC51bmlmb3JtM2YoZnZhbDNMb2MsIDE0LCAxNSwgMTYpOworZ2wudW5pZm9y
bTRmKGZ2YWw0TG9jLCAxNywgMTgsIDE5LCAyMCk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5P
X0VSUk9SKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGZsb2F0UHJvZ3JhbSwgZnZhbExvYykn
LCAnMTEnKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGZsb2F0UHJvZ3JhbSwgZnZhbDJMb2Mp
JywgJ1sxMiwgMTNdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShmbG9hdFByb2dyYW0sIGZ2
YWwzTG9jKScsICdbMTQsIDE1LCAxNl0nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGZsb2F0
UHJvZ3JhbSwgZnZhbDRMb2MpJywgJ1sxNywgMTgsIDE5LCAyMF0nKTsKKy8vIFNhbXBsZXIgdW5p
Zm9ybSB2YXJpYWJsZXMKK3ZhciBzYW1wbGVyUHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbUZyb21G
aWxlKGdsLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLnZlcnQiLCAiLi4vcmVzb3Vy
Y2VzL3NhbXBsZXJVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFt
UGFyYW1ldGVyKHNhbXBsZXJQcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyknLCAndHJ1ZScpOwordmFy
IHMyRFZhbExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihzYW1wbGVyUHJvZ3JhbSwgInMyRCIp
OwordmFyIHNDdWJlVmFsTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHNhbXBsZXJQcm9ncmFt
LCAic0N1YmUiKTsKK2dsLnVzZVByb2dyYW0oc2FtcGxlclByb2dyYW0pOworZ2wudW5pZm9ybTFp
KHMyRFZhbExvYywgMCk7CitnbC51bmlmb3JtMWkoc0N1YmVWYWxMb2MsIDEpOworZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShzYW1wbGVy
UHJvZ3JhbSwgczJEVmFsTG9jKScsICcwJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShzYW1w
bGVyUHJvZ3JhbSwgc0N1YmVWYWxMb2MpJywgJzEnKTsKKy8vIE1hdHJpeCB1bmlmb3JtIHZhcmlh
YmxlcwordmFyIG1hdFByb2dyYW0gPSB3dHUubG9hZFByb2dyYW1Gcm9tRmlsZShnbCwgIi4uL3Jl
c291cmNlcy9tYXRVbmlmb3JtU2hhZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3Jt
U2hhZGVyLmZyYWciKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKG1hdFByb2dy
YW0sIGdsLkxJTktfU1RBVFVTKScsICd0cnVlJyk7Cit2YXIgbXZhbDJMb2MgPSBnbC5nZXRVbmlm
b3JtTG9jYXRpb24obWF0UHJvZ3JhbSwgIm12YWwyIik7Cit2YXIgbXZhbDNMb2MgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24obWF0UHJvZ3JhbSwgIm12YWwzIik7Cit2YXIgbXZhbDRMb2MgPSBnbC5n
ZXRVbmlmb3JtTG9jYXRpb24obWF0UHJvZ3JhbSwgIm12YWw0Iik7CitnbC51c2VQcm9ncmFtKG1h
dFByb2dyYW0pOworZ2wudW5pZm9ybU1hdHJpeDJmdihtdmFsMkxvYywgZmFsc2UsIFsxLCAyLCAz
LCA0XSk7CitnbC51bmlmb3JtTWF0cml4M2Z2KG12YWwzTG9jLCBmYWxzZSwgWzUsIDYsIDcsIDgs
IDksIDEwLCAxMSwgMTIsIDEzXSk7CitnbC51bmlmb3JtTWF0cml4NGZ2KG12YWw0TG9jLCBmYWxz
ZSwgWzE0LCAxNSwgMTYsIDE3LCAxOCwgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMjUsIDI2LCAy
NywgMjgsIDI5XSk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK3Nob3VsZEJl
KCdnbC5nZXRVbmlmb3JtKG1hdFByb2dyYW0sIG12YWwyTG9jKScsICdbMSwgMiwgMywgNF0nKTsK
K3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKG1hdFByb2dyYW0sIG12YWwzTG9jKScsICdbNSwgNiwg
NywgOCwgOSwgMTAsIDExLCAxMiwgMTNdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShtYXRQ
cm9ncmFtLCBtdmFsNExvYyknLCAnWzE0LCAxNSwgMTYsIDE3LCAxOCwgMTksIDIwLCAyMSwgMjIs
IDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5XScpOworCitkZWJ1ZygiIik7CitkZWJ1ZygidGVz
dCBnZXRWZXJ0ZXhBdHRyaWIiKTsKK3ZhciBhcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoWzEsIDIs
IDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2XSk7Cit2YXIg
YnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CitnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZF
UiwgYnVmZmVyKTsKK2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBhcnJheSwgZ2wuRFlO
QU1JQ19EUkFXKTsKKy8vIFZlcnRleCBhdHRyaWJ1dGUgMCBpcyBzcGVjaWFsIGluIHRoYXQgaXQg
aGFzIG5vIGN1cnJlbnQgc3RhdGUsIHNvCisvLyBmZXRjaGluZyBHTF9DVVJSRU5UX1ZFUlRFWF9B
VFRSSUIgZ2VuZXJhdGVzIGFuIGVycm9yLiBVc2UgYXR0cmlidXRlCisvLyAxIGZvciB0aGVzZSB0
ZXN0cyBpbnN0ZWFkLgorZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMSk7CitnbC52ZXJ0ZXhB
dHRyaWJQb2ludGVyKDEsIDQsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CitzaG91bGRCZSgnZ2wu
Z2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJTkRJTkcp
JywgJ2J1ZmZlcicpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhf
QVRUUklCX0FSUkFZX0VOQUJMRUQpJywgJ3RydWUnKTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhB
dHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9TSVpFKScsICc0Jyk7CisvLyBTdHJpZGUg
TVVTVCBiZSB0aGUgdmFsdWUgdGhlIHVzZXIgcHV0IGluLgorc2hvdWxkQmUoJ2dsLmdldFZlcnRl
eEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1NUUklERSknLCAnMCcpOworc2hvdWxk
QmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1RZUEUpJywg
J2dsLkZMT0FUJyk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9B
VFRSSUJfQVJSQVlfTk9STUFMSVpFRCknLCAnZmFsc2UnKTsKK2dsLnZlcnRleEF0dHJpYlBvaW50
ZXIoMSwgNCwgZ2wuRkxPQVQsIGZhbHNlLCAzNiwgMTIpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRl
eEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1NUUklERSknLCAnMzYnKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9Q
T0lOVEVSKScsICcxMicpOworZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KDEpOworc2hvdWxk
QmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0VOQUJMRUQp
JywgJ2ZhbHNlJyk7CitnbC52ZXJ0ZXhBdHRyaWI0ZigxLCA1LCA2LCA3LCA4KTsKK3Nob3VsZEJl
KCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKScsICdbNSwg
NiwgNywgOF0nKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwordGVzdEludmFs
aWRBcmd1bWVudCgKKyAgICAiZ2V0VmVydGV4QXR0cmliIiwKKyAgICAicGFyYW1ldGVyIiwKKyAg
ICBbIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJTkRJTkcsCisgICAgICBnbC5WRVJU
RVhfQVRUUklCX0FSUkFZX0VOQUJMRUQsCisgICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1NJ
WkUsCisgICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1NUUklERSwKKyAgICAgIGdsLlZFUlRF
WF9BVFRSSUJfQVJSQVlfVFlQRSwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfTk9STUFM
SVpFRCwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURFLAorICAgICAgZ2wuVkVS
VEVYX0FUVFJJQl9BUlJBWV9FTkFCTEVELAorICAgICAgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklC
CisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRW
ZXJ0ZXhBdHRyaWIoMSwgcGFyYW1ldGVyKTsKKyAgICB9CispOwordmFyIG51bVZlcnRleEF0dHJp
YnMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRFWF9BVFRSSUJTKTsKK3Nob3VsZEdlbmVy
YXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgJ2dsLmdldFZlcnRleEF0dHJpYignICsg
bnVtVmVydGV4QXR0cmlicyArICcsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQiknKTsKKworZGVi
dWcoIiIpOworZGVidWcoIlRlc3QgY2FzZXMgd2hlcmUgbmFtZSA9PSAwIik7CitnbC5kZWxldGVU
ZXh0dXJlKHRleHR1cmUpOworc2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBh
cmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVG
RkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpJywgJ2dsLk5PTkUnKTsKK2dsLmRlbGV0ZVJlbmRl
cmJ1ZmZlcihyZW5kZXJidWZmZXIpOworc2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNo
bWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuREVQVEhfQVRUQUNITUVOVCwgZ2wuRlJB
TUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSknLCAnZ2wuTk9ORScpOworZ2wuZGVsZXRl
QnVmZmVyKGJ1ZmZlcik7CitzaG91bGRCZU51bGwoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5W
RVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HKScpOworZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWlt
YWdlLTJkLWZvcm1hdHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYTdkMGUzYmI4ZGQ3MTA2NDMzMDcxZWU0MzUzY2E5YTljNjc3YTY2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5o
dG1sCkBAIC0wLDAgKzEsMTgzIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5WZXJpZnkgY29w
eVRleEltYWdlMkQgZm9sbG93cyBmb3JtYXQgcmVzdGljdGlvbnM8L3RpdGxlPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9jYW52
YXM+Cis8Y2FudmFzIGlkPSJjYW52YXNOb0FscGhhIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj48L2Nh
bnZhcz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
KworZnVuY3Rpb24gZ2V0Q2hhbm5lbHNGcm9tRm9ybWF0KGZvcm1hdCkgeworICBzd2l0Y2ggKGds
W2Zvcm1hdF0pIHsKKyAgY2FzZSBnbC5BTFBIQToKKyAgICByZXR1cm4gMHgwMDAxOworICBjYXNl
IGdsLkxVTUlOQU5DRToKKyAgY2FzZSBnbC5SR0I6CisgICAgcmV0dXJuIDB4MTExMDsKKyAgY2Fz
ZSBnbC5MVU1JTkFOQ0VfQUxQSEE6CisgIGNhc2UgZ2wuUkdCQToKKyAgICByZXR1cm4gMHgxMTEx
OworICBkZWZhdWx0OgorICAgIHJldHVybiAwOworICB9Cit9CisKK3ZhciBmb3JtYXRzID0gWwor
ICAnQUxQSEEnLAorICAnTFVNSU5BTkNFJywKKyAgJ0xVTUlOQU5DRV9BTFBIQScsCisgICdSR0In
LAorICAnUkdCQScKK107CisKK3ZhciBnbCA9IG51bGw7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CisKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2FudmFzIik7Cit2YXIgY2FudmFzTm9BbHBoYSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjYW52YXNOb0FscGhhIik7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZh
cywge2FscGhhOnRydWV9KTsKK3ZhciBnbE5vQWxwaGEgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNh
bnZhc05vQWxwaGEsIHthbHBoYTpmYWxzZX0pOworCitkZWJ1ZygidGVzdCB3aXRoIGFuIFJHQkEg
YmFja2J1ZmZlciIpOwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOwor
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIkR1cmluZyBJbml0aWFsaXphdGlvbiIp
OwordGVzdEZvcm1hdHMoJ1JHQkEnKTsKKwordGVzdEJhY2tidWZmZXJGb3JtYXRzKCk7CisKK2Rl
YnVnKCJ0ZXN0IHdpdGggYW4gUkdCIGJhY2tidWZmZXIiKTsKK3ZhciBnbCA9IGdsTm9BbHBoYTsK
K3ZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKK2dsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IsICJEdXJpbmcgSW5pdGlhbGl6YXRpb24iKTsKK3Rlc3RGb3JtYXRz
KCdSR0InKTsKKworZnVuY3Rpb24gdGVzdEJhY2tidWZmZXJGb3JtYXRzKCkgeworICB2YXIgZmJv
ID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKTsKKyAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1F
QlVGRkVSLCBmYm8pOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBmb3JtYXRzLmxlbmd0aDsg
KytpaSkgeworICAgIHZhciBiYWNrRm9ybWF0ID0gZm9ybWF0c1tpaV07CisKKyAgICB2YXIgdGV4
ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQs
IHRleCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbFtiYWNrRm9ybWF0
XSwgMiwgMiwgMCwgZ2xbYmFja0Zvcm1hdF0sIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBn
bC5ORUFSRVNUKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisKKyAgICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUy
RChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRl
eCwgMCk7CisgICAgdmFyIHN0YXR1cyA9IGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJB
TUVCVUZGRVIpOworCisgICAgZGVidWcoJycpOworICAgIGlmIChzdGF0dXMgPT0gZ2wuRlJBTUVC
VUZGRVJfQ09NUExFVEUpIHsKKyAgICAgIGRlYnVnKCd0ZXN0IHdpdGggJyArIGJhY2tGb3JtYXQg
KyAnIGZibycpOworICAgICAgdGVzdEZvcm1hdHMoYmFja0Zvcm1hdCk7CisgICAgfSBlbHNlIHsK
KyAgICAgIGRlYnVnKGJhY2tGb3JtYXQgKyAnIG5vdCBzdXBwb3J0ZWQgYXMgYSByZW5kZXJidWZm
ZXIgYXR0YWNobWVudCcpOworICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiB0ZXN0Rm9ybWF0cyhi
YWNrRm9ybWF0KSB7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBmb3JtYXRzLmxlbmd0aDsgKytp
aSkgeworICAgIHRlc3RDb3B5VGV4SW1hZ2UyRChiYWNrRm9ybWF0LCBmb3JtYXRzW2lpXSk7Cisg
IH0KK30KKworZnVuY3Rpb24gdG9DaGFubmVscyh2YWx1ZSkgeworICByZXR1cm4gKCh2YWx1ZSAm
IDB4MTAwMCkgPyAnUicgOiAnXycpICsKKyAgICAgICAgICgodmFsdWUgJiAweDAxMDApID8gJ0cn
IDogJ18nKSArCisgICAgICAgICAoKHZhbHVlICYgMHgwMDEwKSA/ICdCJyA6ICdfJykgKworICAg
ICAgICAgKCh2YWx1ZSAmIDB4MDAwMSkgPyAnQScgOiAnXycpOworfQorCitmdW5jdGlvbiB0ZXN0
Q29weVRleEltYWdlMkQoYmFja0Zvcm1hdCwgdGV4Rm9ybWF0KSB7CisgIHZhciBuZWVkID0gZ2V0
Q2hhbm5lbHNGcm9tRm9ybWF0KHRleEZvcm1hdCk7CisgIHZhciBoYXZlID0gZ2V0Q2hhbm5lbHNG
cm9tRm9ybWF0KGJhY2tGb3JtYXQpOworICB2YXIgc2hvdWxkUGFzcyA9IChuZWVkICYgaGF2ZSkg
PT0gbmVlZAorCisgIC8vZGVidWcoIm5lZWQ6ICIgKyB0b0NoYW5uZWxzKG5lZWQpKTsKKyAgLy9k
ZWJ1ZygiaGF2ZTogIiArIHRvQ2hhbm5lbHMoaGF2ZSkpOworICAvL2RlYnVnKCJib3RoOiAiICsg
dG9DaGFubmVscyhoYXZlICYgbmVlZCkpOworCisgIC8vIGNsZWFyIGJhY2tidWZmZXIKKyAgZ2wu
Y2xlYXJDb2xvcigwLjI1LCAxLCAwLjc1LCAwLjUpOworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZG
RVJfQklUKTsKKworICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgLy8gQmlu
ZCB0aGUgdGV4dHVyZSB0byB0ZXh0dXJlIHVuaXQgMAorICBnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXh0dXJlKTsKKyAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5U
RVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOworICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisKKyAgZ2wuY29w
eVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2xbdGV4Rm9ybWF0XSwgMCwgMCwgMiwgMiwg
MCk7CisgIGlmICghc2hvdWxkUGFzcykgeworICAgIGdsRXJyb3JTaG91bGRCZSgKKyAgICAgICAg
Z2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAic2hvdWxkIG5vdCBiZSBhYmxlIHRv
IGNvcHlUZXhJbWFnZTJEICIgKyB0ZXhGb3JtYXQgKyAiIGZyb20gIiArIGJhY2tGb3JtYXQpOwor
ICAgIHJldHVybjsKKyAgfQorCisgIGdsRXJyb3JTaG91bGRCZSgKKyAgICAgIGdsLCBnbC5OT19F
UlJPUiwKKyAgICAgICJzaG91bGQgYmUgYWJsZSB0byBjb3B5VGV4SW1hZ2UyRCAiICsgdGV4Rm9y
bWF0ICsgIiBmcm9tICIgKyBiYWNrRm9ybWF0KTsKKworICAvLyBEcmF3CisgIHd0dS5kcmF3UXVh
ZChnbCk7CisKKyAgdmFyIGV4cGVjdGVkQ29sb3JzID0geworICAgICdBTFBIQSc6IFswLCAwLCAw
LCAxMjddLAorICAgICdMVU1JTkFOQ0UnOiBbNjQsIDY0LCA2NCwgMjU1XSwKKyAgICAnTFVNSU5B
TkNFX0FMUEhBJzogWzY0LCA2NCwgNjQsIDEyN10sCisgICAgJ1JHQic6IFs2NCwgMjU1LCAxOTEs
IDI1NV0sCisgICAgJ1JHQkEnOiBbNjQsIDI1NSwgMTkxLCAxMjddCisgIH07CisKKyAgdmFyIGNv
bG9yID0gZXhwZWN0ZWRDb2xvcnNbdGV4Rm9ybWF0XTsKKworICB3dHUuY2hlY2tDYW52YXMoZ2ws
IGNvbG9yLCAic2hvdWxkIGJlICIgKyBjb2xvciwgMTYpOworCisgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIik7Cit9Cit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVp
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZGMwYzQ1MTRmNjkxZTAyNWM1MTJhYjU4Y2VmZTA5N2RiNDM3MTky
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwKQEAgLTAs
MCArMSwxMTkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25v
cyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv
ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0
d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRl
cmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu
Y2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt
b2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29y
IHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8K
KyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiog
aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgor
KioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U
IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG
T1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
QU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJP
TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIHBpeGVsU3RvcmVpIFRlc3Q8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNj
cmlwdCI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdp
ZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSIyZDAwIiB3aWR0aD0i
NTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iMmQwMSIgd2lkdGg9IjUwIiBo
ZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9IjJkMDIiIHdpZHRoPSI1MCIgaGVpZ2h0
PSI1MCI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSIyZDAzIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAi
PjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+
CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247Cit2b2lkIG1haW4oKSB7CisgIGdsX1Bvc2l0aW9u
ID0gdlBvc2l0aW9uOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgordm9pZCBtYWluKCkgeworICBnbF9GcmFnQ29sb3IgPSB2
ZWM0KDEuMCwwLjAsMC4wLDEuMCk7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Z1bmN0aW9uIGluaXQoKSB7CisgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgZHJhd0ltYWdlIGFuZCByZWFkUGl4ZWxzIGFyZSBub3QgZWZmZWN0ZWQgYnkgZ2wuUGl4
ZWxzdG9yZWkoZ2wuUEFDS19BTElHTk1FTlQpIGFuZCB2aXNhIHZlcnNhIik7CisKKyAgZGVidWco
IlRoZXJlIHNob3VsZCBiZSA1IHJlZCB0cmlhbmdsZXMgb24gNSBibGFjayBzcXVhcmVzIGFib3Zl
Iik7CisgIGRlYnVnKCIiKTsKKworICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgIHZhciBj
YW52YXMzZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFtcGxlIik7CisgIHZhciBnbCA9
IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0
dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlciJdLCBbInZQb3NpdGlvbiJdKTsKKwor
ICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIo
Z2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZ
X0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbIDAsMC41LDAsIC0wLjUsLTAuNSwwLCAwLjUsLTAu
NSwwIF0pLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDAp
OworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7
CisKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQp
OworICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7CisKKyAgZnVuY3Rpb24gY2hl
Y2tEYXRhKGN0eCwgbmFtZSkgeworICAgIC8vIFRlc3Qgc2V2ZXJhbCBsb2NhdGlvbnMKKyAgICAv
LyBGaXJzdCBsaW5lIHNob3VsZCBiZSBhbGwgYmxhY2sKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0
KGN0eCwgMCwgMCwgNTAsIDEsIFswLCAwLCAwLCAwXSk7CisKKyAgICAvLyBMaW5lIDI1IHNob3Vs
ZCBiZSByZWQgZm9yIGF0IGxlYXN0IDYgcmVkIHBpeGVscyBzdGFydGluZyAyMiBwaXhlbHMgaW4K
KyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwgMjIsIDI1LCA2LCAxLCBbMjU1LCAwLCAwLCAy
NTVdKTsKKworICAgIC8vIExhc3QgbGluZSBzaG91bGQgYmUgYWxsIGJsYWNrCisgICAgd3R1LmNo
ZWNrQ2FudmFzUmVjdChjdHgsIDAsIDQ5LCA1MCwgMSwgWzAsIDAsIDAsIDBdKTsKKyAgfQorCisg
IHZhciBjdHgyZDsKKworICBmdW5jdGlvbiBjaGVja0NvbG9ycygpIHsKKyAgICBjaGVja0RhdGEo
Z2wsICIzZCBjb250ZXh0Iik7CisgICAgY2hlY2tEYXRhKGN0eDJkLCAiMmQgY29udGV4dCIpOwor
ICB9CisKKyAgdmFyIHRhYmxlID0gWzEsIDIsIDQsIDhdOworICBmb3IgKHZhciBpaSA9IDA7IGlp
IDwgdGFibGUubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wucGl4ZWxTdG9yZWkoZ2wuUEFDS19BTElH
Tk1FTlQsIHRhYmxlW2lpXSk7CisgICAgY3R4MmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
MmQwIiArIGlpKS5nZXRDb250ZXh0KCIyZCIpOworICAgIGN0eDJkLmdsb2JhbENvbXBvc2l0ZU9w
ZXJhdGlvbiA9ICdjb3B5JzsKKyAgICBjdHgyZC5kcmF3SW1hZ2UoY2FudmFzM2QsIDAsIDApOwor
ICAgIGNoZWNrQ29sb3JzKCk7CisgICAgYXNzZXJ0TXNnKGdsLmdldFBhcmFtZXRlcihnbC5QQUNL
X0FMSUdOTUVOVCkgPT0gdGFibGVbaWldLAorICAgICAgICAiUEFDS19BTElHTk1FTlQgaXMgIiAr
IHRhYmxlW2lpXSk7CisgIH0KK30KKworaW5pdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4t
Y29uZm9ybWFuY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDE4NWI1ZDJiMTUzZjFkOTQ5ZjVkZjQ3Y2Ez
NmZkYWU1NjFlNTgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNv
bmZvcm1hbmNlLmh0bWwKQEAgLTAsMCArMSwxNTcgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdo
dCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBo
ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK
KyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u
IGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdp
dGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBy
aWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0
ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0
bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQg
dG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisq
KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz
aGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u
cyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJB
UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJ
RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1F
UkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO
RlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI
VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBP
VEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUK
KyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklB
TFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIE9yaWdpbiBSZXN0cmljdGlvbnMgQ29uZm9y
bWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKy8vIFRo
aXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgbGFzdCAyIHdvcmRzIG9mIHRoZSBkb21haW4gb2YgYSBV
UkwKKy8vIFRoaXMgaXMgcHJvYmFibHkgbm90IHRoZSBjb3JyZWN0IGNoZWNrIGJ1dCBpdCB3aWxs
IGRvIGZvciBub3cuCitmdW5jdGlvbiBnZXRCYXNlRG9tYWluKHN0cikgeworICBzdHIgPSBzdHIu
cmVwbGFjZSgiXFwiLCAiLyIpOworICB2YXIgcG9zID0gc3RyLmluZGV4T2YoIjovLyIpOworICBp
ZiAocG9zID49IDApIHsKKyAgICBzdHIgPSBzdHIuc3Vic3RyKHBvcyArIDMpOworICB9CisgIHZh
ciBwYXJ0cyA9IHN0ci5zcGxpdCgnLycpOworICB2YXIgZG9tYWluID0gcGFydHNbMF0ubWF0Y2go
L1x3K1wuXHcrJC8pOworICByZXR1cm4gZG9tYWluIHx8ICcnOworfQorCisvLyBDaGVja3MgaWYg
ZnVuY3Rpb24gdGhyb3dzIGFuIGV4Y2VwdGlvbi4KK2Z1bmN0aW9uIGNhdXNlZEV4Y2VwdGlvbihm
dW5jKSB7CisgIHZhciBoYWRFeGNlcHRpb24gPSBmYWxzZTsKKyAgdHJ5IHsKKyAgICBmdW5jKCk7
CisgIH0gY2F0Y2goZSkgeworICAgIGhhZEV4Y2VwdGlvbiA9IHRydWU7CisgIH0KKyAgcmV0dXJu
IGhhZEV4Y2VwdGlvbjsKK30KKwordmFyIGltZ0RvbWFpbjsKK3ZhciBwYWdlRG9tYWluOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZDsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25zIGZvbGxv
dyBwcm9wZXIgc2FtZS1vcmlnaW4gcmVzdHJpY3Rpb25zLiIpOworICB2YXIgaW1nID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImltZyIpOworICBhc3NlcnRNc2coaW1nLndpZHRoID4gMCAmJiBp
bWcuaGVpZ2h0ID4gMCwgImltZyB3YXMgbG9hZGVkIik7CisgIGltZ0RvbWFpbiA9IGdldEJhc2VE
b21haW4oaW1nLnNyYyk7CisgIHBhZ2VEb21haW4gPSBnZXRCYXNlRG9tYWluKHdpbmRvdy5sb2Nh
dGlvbi50b1N0cmluZygpKTsKKyAgYXNzZXJ0TXNnKGltZ0RvbWFpbiAhPSBwYWdlRG9tYWluLAor
ICAgICAgICAgICAgImltZyBkb21haW4gKCIgKyBpbWdEb21haW4gKyAiKSBhbmQgcGFnZSBkb21h
aW4gKCIgKyBwYWdlRG9tYWluICsgIikgYXJlIG5vdCB0aGUgc2FtZS4iKTsKKworICBmdW5jdGlv
biBtYWtlVGV4SW1hZ2UyRChnbCwgc3JjKSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAg
ICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBzcmMpOworICAgIH07CisgIH0KKworICBmdW5jdGlvbiBtYWtlVGV4U3Vi
SW1hZ2UyRChnbCwgc3JjKSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgZ2wudGV4
U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLCBzcmMpOworICAgIH07CisgIH0KKworICBmdW5jdGlvbiBtYWtlUmVhZFBpeGVscyhnbCkg
eworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJh
eSg0KTsKKyAgICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwgMSwgMSwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgYnVmKTsKKyAgICB9OworICB9CisKKyAgZnVuY3Rpb24gbWFrZVRvRGF0YVVSTChj
YW52YXMpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICB2YXIgZGF0YSA9IGNhbnZh
cy50b0RhdGFVUkwoKTsKKyAgICB9CisgIH0KKworICB2YXIgY2FudmFzMSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjYW52YXMxIik7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQo
Y2FudmFzMSk7CisKKyAgZGVidWcoIiIpOworICBkZWJ1ZygiY2hlY2sgdGhhdCBhbiBhdHRlbXB0
IHRvIHVwbG9hZCBhbiBpbWFnZSBmcm9tIGFub3RoZXIgb3JpZ2luIHRocm93cyBhbiBleGNlcHRp
b24uIik7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJl
KGdsLlRFWFRVUkVfMkQsIHRleCk7CisgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgMjU2LCAyNTYsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOwor
ICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1ha2VUZXhJbWFnZTJEKGdsLCBpbWcpKSwKKyAg
ICAgICAgICAgICJ0ZXhJbWFnZTJEIHdpdGggY3Jvc3Mtb3JpZ2luIGltYWdlIHNob3VsZCB0aHJv
dyBleGNlcHRpb24uIik7CisgIGFzc2VydE1zZyhjYXVzZWRFeGNlcHRpb24obWFrZVRleFN1Yklt
YWdlMkQoZ2wsIGltZykpLAorICAgICAgICAgICAgInRleFN1YkltYWdlMkQgd2l0aCBjcm9zcy1v
cmlnaW4gaW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iKTsKKworICBkZWJ1ZygiY2hlY2sg
dGhhdCByZWFkUGl4ZWxzIGFuZCB0b0RhdGFVUkwgY29udGludWUgdG8gd29yayBhZ2FpbnN0IHRo
aXMgY2FudmFzLiIpOworICBhc3NlcnRNc2coIWNhdXNlZEV4Y2VwdGlvbihtYWtlUmVhZFBpeGVs
cyhnbCkpLAorICAgICAgICAgICAgInJlYWRQaXhlbHMgc2hvdWxkIG5ldmVyIHRocm93IGV4Y2Vw
dGlvbiAtLSBub3QgcG9zc2libGUgdG8gZGlydHkgb3JpZ2luIG9mIFdlYkdMIGNhbnZhcy4iKTsK
KyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRpb24obWFrZVRvRGF0YVVSTChjYW52YXMxKSksCisg
ICAgICAgICAgICAic2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBX
ZWJHTCBjYW52YXMsIHdoaWNoIHNob3VsZCBzdGF5IG9yaWdpbiBjbGVhbi4iKTsKKworICBkZWJ1
ZygiY2hlY2sgdGhhdCBhbiBhdHRlbXB0IHRvIHVwbG9hZCBhIHRhaW50ZWQgY2FudmFzIHRocm93
cyBhbiBleGNlcHRpb24uIik7CisgIHZhciBjYW52YXMyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNhbnZhczIiKTsKKyAgdmFyIGN0eDJkID0gY2FudmFzMi5nZXRDb250ZXh0KCIyZCIpOwor
ICBjdHgyZC5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsKKyAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlv
bihtYWtlVG9EYXRhVVJMKGNhbnZhczIpKSwKKyAgICAgICAgICAgICJzaG91bGQgdGhyb3cgZXhj
ZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3IgTk9OIG9yaWdpbiBjbGVhbiBjYW52YXMuIik7CisgIGFz
c2VydE1zZyhjYXVzZWRFeGNlcHRpb24obWFrZVRleEltYWdlMkQoZ2wsIGNhbnZhczIpKSwKKyAg
ICAgICAgICAgICJ0ZXhJbWFnZTJEIHdpdGggTk9OIG9yaWdpbiBjbGVhbiBjYW52YXMgc2hvdWxk
IHRocm93IGV4Y2VwdGlvbi4iKTsKKyAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlVGV4
U3ViSW1hZ2UyRChnbCwgY2FudmFzMikpLAorICAgICAgICAgICAgInRleFN1YkltYWdlMkQgd2l0
aCBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIpOworCisg
IGRlYnVnKCJjaGVjayB0aGF0IHJlYWRQaXhlbHMgYW5kIHRvRGF0YVVSTCBjb250aW51ZSB0byB3
b3JrIGFnYWluc3QgdGhpcyBjYW52YXMuIik7CisgIGFzc2VydE1zZyghY2F1c2VkRXhjZXB0aW9u
KG1ha2VSZWFkUGl4ZWxzKGdsKSksCisgICAgICAgICAgICAicmVhZFBpeGVscyBzaG91bGQgbmV2
ZXIgdGhyb3cgZXhjZXB0aW9uIC0tIG5vdCBwb3NzaWJsZSB0byBkaXJ0eSBvcmlnaW4gb2YgV2Vi
R0wgY2FudmFzLiIpOworICBhc3NlcnRNc2coIWNhdXNlZEV4Y2VwdGlvbihtYWtlVG9EYXRhVVJM
KGNhbnZhczEpKSwKKyAgICAgICAgICAgICJzaG91bGQgbm90IHRocm93IGV4Y2VwdGlvbiBieSB0
b0RhdGFVUkwgZm9yIFdlYkdMIGNhbnZhcywgd2hpY2ggc2hvdWxkIHN0YXkgb3JpZ2luIGNsZWFu
LiIpOworCisgIC8vIFRPRE86IFNob3VsZCBjaGVjayB2aWRlby4KKyAgLy8gVE9ETzogU2hvdWxk
IGNoZWNrIENPUlMgc3VwcG9ydC4KKworICBkZWJ1ZygiIik7CisgIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CisgIHNob3VsZEJlVHJ1ZSgic3VjY2Vzc2Z1bGx5UGFyc2VkIik7CisgIGRlYnVn
KCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsKKyAgbm90
aWZ5RmluaXNoZWRUb0hhcm5lc3MoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxj
YW52YXMgaWQ9ImNhbnZhczEiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iY2FudmFzMiI+PC9jYW52
YXM+Cis8aW1nIGlkPSJpbWciIHNyYz0iaHR0cDovL3d3dy5vcGVuZ2wub3JnL2ltZy9vcGVuZ2xf
bG9nby5qcGciIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YjU2NS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDg5MDhkOGQ3OWU5ZjNlMGE2ZjhhZWQ0MzM4MGU5
Yjk5MjVlZDNiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wp
IHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSdnZW5lcmF0ZVRlc3QoIlJHQiIsICJVTlNJR05FRF9TSE9SVF81XzZfNSIsIHRlc3RQcm9sb2d1
ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2Fu
dmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mZmQzOGVkMzUwNWM3MjcwZjIwOGE2NWU0Mzg4ZmQ4OGZlNGFhNDJkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdi
YTQ0NDQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMp
IDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5
IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBj
b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl
cyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0
IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRz
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1
YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoq
IHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRv
IHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg
YmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg
dGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMi
LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJ
TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFO
VEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H
RU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M
REVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklM
SVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJX
SVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBN
QVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgor
Ki8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwg
IlVOU0lHTkVEX1NIT1JUXzRfNF80XzQiLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0i
ZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1j
YW52YXMtcmdiYTU1NTEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTkwYTM4YTA2NjAwNGE0YTRl
MzIwMTVhNTE5ZTdkZDg3MGM2OGE1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwKQEAgLTAsMCAr
MSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1j
YW52YXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRl
c3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9TSE9SVF81XzVf
NV8xIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIg
aGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg1MjMyYjFmMzA3ZGU5YWQyNGU3MDNmMTM2NjcwOWUyMTI1NGY2MWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1s
CkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtY2FudmFzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Citm
dW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURf
QllURSIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIi
IGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NTAyNWIxODVkNGE0MDJkZTEzZDExMTc0YjI1NTZhNDZlNDNhMjVkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1pbWFnZS1yZ2I1NjUuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3Qo
IlJHQiIsICJVTlNJR05FRF9TSE9SVF81XzZfNSIsICIuLiIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2MzM2I0ODJk
ODM5MTQ4YjhlM2YzMzk0ZThmNzIyZGE1OThmY2E1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbApA
QCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWltYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5j
dGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hP
UlRfNF80XzRfNCIsICIuLiIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxl
IiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJn
YmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE1NTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA0MDU1NGM1MTUzMDhjNjFiZmM1ZDhjZmJk
NmQzNTk4OTIzNzM4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUo
Z2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNV81XzVfMSIsICIuLiIs
IHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdo
dD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzRmMmQ1
NWQzNDliMGIzMmU3Y2ViYjQzM2U5ZjZkZjNjNjVmODNkOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbApAQCAtMCww
ICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWltYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0
ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfQllURSIsICIu
LiIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhl
aWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yYWMxMWUyNjk2YzJiMzRhNTk5ZmM3YWRlZjYzZmM5Y2ZmOTQyZmMwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1yZ2I1NjUuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJH
QiIsICJVTlNJR05FRF9TSE9SVF81XzZfNSIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlk
PSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LXZpZGVvLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGE5MTFhYTAzNzZjZWZkOTVi
YTdlNjA2N2ExNDlkNGNiYTY3ODZkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsx
LDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3Jv
dXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxz
IiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5
LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxs
IGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdo
b20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFs
bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisq
KiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J
VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD
VElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9V
VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBP
UiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0
UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNF80XzRf
NCIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhl
aWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjdlZjYyZmY3ZDhmYmMxZDZjN2Q5MmQ5MmYyNmQ1NjkyNzdlYWU1MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTU1NTEuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRl
c3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNV81XzVfMSIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLXZpZGVvLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjVjNGE3ZjUzNGI2OWJmYjlmZDhlMjRhNzNk
NDAzMzUwNGY2OTA5YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5l
cmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfQllURSIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2Fu
dmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5OTYy
MjE1YzhhYzI1ZjRiNjgzYWE4NzRmM2RkMTcxYzY3M2RhMDAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbApAQCAtMCwwICsxLDE5MiBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+V2ViR0wg
QWN0aXZlVGV4dHVyZSBCaW5kVGV4dHVyZSBjb25mb3JtYW5jZSB0ZXN0ICMyPC90aXRsZT4KKyAg
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyIvPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxl
IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsi
PjwvY2FudmFzPgorPGNhbnZhcyBpZD0iY2FudmFzMmQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHN0
eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZz
aGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK3VuaWZvcm0gbWF0NCB3b3JsZDsKK2F0
dHJpYnV0ZSB2ZWMzIHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWMyIHRleENvb3JkMDsKK3Zhcnlp
bmcgdmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgIGdsX1Bvc2l0aW9uID0gd29ybGQg
KiB2ZWM0KHZQb3NpdGlvbiwgMSk7CisgIHRleENvb3JkID0gdGV4Q29vcmQwOworfQorPC9zY3Jp
cHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMmQiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgor
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2FtcGxlcjJEIHRleDJkOwordmFy
eWluZyB2ZWMyIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAgZ2xfRnJhZ0NvbG9yID0gdGV4
dHVyZTJEKHRleDJkLCB0ZXhDb29yZCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFk
ZXJDdWJlIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZs
b2F0OworCit1bmlmb3JtIHNhbXBsZXJDdWJlIHRleEN1YmU7Cit2b2lkIG1haW4oKQoreworICBn
bF9GcmFnQ29sb3IgPSB0ZXh0dXJlQ3ViZSh0ZXhDdWJlLCB2ZWMzKDAsMSwwKSk7Cit9Cis8L3Nj
cmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIGluaXQoKQoreworICBk
ZXNjcmlwdGlvbigKKyAgICAgICJUZXN0cyB0aGF0IGJpbmRpbmcgYm90aCBURVhUVVJFXzJEIGFu
ZCBURVhUVVJFX0NVQkVfTUFQIHRvIHRoZSBzYW1lIiArCisgICAgICAiYWN0aXZlIHRleHR1cmUg
dW5pdCB3b3JrcyBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCB1c2VkIiArCisgICAgICAic2ltdWx0
YW5lb3VzbHkgaW4gdGhlIHNhbWUgc2hhZGVyIHByb2dyYW0uIik7CisKKyAgdmFyIGNhbnZhczJk
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczJkIik7CisgIHZhciBjdHgyZCA9IGNh
bnZhczJkLmdldENvbnRleHQoIjJkIik7CisgIGN0eDJkLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlv
biA9ICJjb3B5IjsKKworICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgIHZhciBnbCA9IHd0
dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQ
cm9ncmFtKAorICAgICAgZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyMmQiXSwgWyJ2UG9zaXRpb24i
LCAidGV4Q29vcmQwIl0pOworCisgIHZhciBwcm9ncmFtMmQgPSBwcm9ncmFtOworICB2YXIgcHJv
Z3JhbUN1YmUgPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgICAgZ2wsIFsidnNoYWRlciIsICJmc2hh
ZGVyQ3ViZSJdLCBbInZQb3NpdGlvbiIsICJ0ZXhDb29yZDAiXSk7CisKKyAgdmFyIHZlcnRleE9i
amVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZF
UiwgdmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVyRGF0YSgKKyAgICAgIGdsLkFSUkFZX0JVRkZF
UiwKKyAgICAgIG5ldyBGbG9hdDMyQXJyYXkoWy0xLCAxLDAsIDEsMSwwLCAtMSwtMSwwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgLTEsLTEsMCwgMSwxLDAsICAxLC0xLDBdKSwKKyAgICAgIGds
LlNUQVRJQ19EUkFXKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisgIGdsLnZl
cnRleEF0dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKworICB2YXIg
dmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICBnbC5idWZmZXJEYXRhKAorICAgICAgZ2wuQVJS
QVlfQlVGRkVSLAorICAgICAgbmV3IEZsb2F0MzJBcnJheShbIDAsMCwgMSwwLCAwLDEsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgMCwxLCAxLDAsIDEsMV0pLAorICAgICAgZ2wuU1RBVElDX0RS
QVcpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgxKTsKKyAgZ2wudmVydGV4QXR0cmli
UG9pbnRlcigxLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgIC8vIE1ha2UgdGV4dHVy
ZSB1bml0IDEgYWN0aXZlLgorICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUxKTsKKworICAv
LyBNYWtlIGEgMmQgdGV4dHVyZQorICB2YXIgdGV4MmQgPSBnbC5jcmVhdGVUZXh0dXJlKCk7Cisg
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleDJkKTsKKyAgY3R4MmQuZmlsbFN0eWxl
ID0gInJnYmEoMCwgMCwgMjU1LCAyNTUpIjsKKyAgY3R4MmQuZmlsbFJlY3QoMCwgMCwgMSwgMSk7
CisgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgY2FudmFzMmQpOworCisgIC8vIG1ha2UgYSBjdWJlIHRleHR1cmUKKyAg
dmFyIHRleEN1YmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRF
WFRVUkVfQ1VCRV9NQVAsIHRleEN1YmUpOworICBjdHgyZC5maWxsU3R5bGUgPSAicmdiYSgyNTUs
IDAsIDI1NSwgMjU1KSI7CisgIGN0eDJkLmZpbGxSZWN0KDAsIDAsIDEsIDEpOworICB2YXIgdGFy
Z2V0cyA9IFsKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgZ2wuVEVY
VFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJ
VkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgZ2wuVEVYVFVS
RV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVf
Wl07CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0YXJnZXRzLmxlbmd0aDsgKytpaSkgeworICAg
IGdsLnRleEltYWdlMkQodGFyZ2V0c1tpaV0sIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGNhbnZhczJkKTsKKyAgfQorCisgIC8vIFNldHVwIHByb2dyYW0yZCBhbmQgcHJv
Z3JhbUN1YmUKKyAgdmFyIHRleDJkTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0y
ZCwgInRleDJkIik7CisgIHZhciB3b3JsZDJkTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHBy
b2dyYW0yZCwgIndvcmxkIik7CisgIHZhciB0ZXhDdWJlTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW1DdWJlLCAidGV4Q3ViZSIpOworICB2YXIgd29ybGRDdWJlTG9jID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1DdWJlLCAid29ybGQiKTsKKworICBnbC51c2VQcm9ncmFt
KHByb2dyYW0yZCk7CisgIGdsLnVuaWZvcm0xaSh0ZXgyZExvYywgMSk7CisgIGdsLnVzZVByb2dy
YW0ocHJvZ3JhbUN1YmUpOworICBnbC51bmlmb3JtMWkodGV4Q3ViZUxvYywgMSk7CisKKyAgZ2wu
Y2xlYXJDb2xvcigxLDAsMCwxKTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGds
LkRFUFRIX0JVRkZFUl9CSVQpOworCisgIHZhciBwcm9ncmFtcyA9IFtwcm9ncmFtMmQsIHByb2dy
YW1DdWJlXTsKKyAgdmFyIHdvcmxkTG9jcyA9IFt3b3JsZDJkTG9jLCB3b3JsZEN1YmVMb2NdOwor
ICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgNDsgKytpaSkgeworICAgIHZhciB4ID0gaWkgJSAyOwor
ICAgIHZhciB5ID0gTWF0aC5mbG9vcihpaSAvIDIpOworICAgIGdsLnVzZVByb2dyYW0ocHJvZ3Jh
bXNbeF0pOworICAgIGdsLnVuaWZvcm1NYXRyaXg0ZnYoCisgICAgICAgIHdvcmxkTG9jc1t4XSwg
ZmFsc2UsCisgICAgICAgIFswLjUsIDAsIDAsIDAsCisgICAgICAgICAwLCAwLjUsIDAsIDAsCisg
ICAgICAgICAwLCAwLCAxLCAwLAorICAgICAgICAgLTAuNSArIHgsIC0wLjUgKyB5LCAwLCAxXSk7
CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICB9CisKKyAgdmFyIGNv
bG9ycyA9IFsKKyAgICAgIFswLDAsMjU1LDI1NV0sCisgICAgICBbMjU1LDAsMjU1LDI1NV0sCisg
ICAgICBbMCwwLDI1NSwyNTVdLAorICAgICAgWzI1NSwwLDI1NSwyNTVdXTsKKworICBmb3IgKHZh
ciBpaSA9IDA7IGlpIDwgY29sb3JzLmxlbmd0aDsgKytpaSkgeworICAgIHZhciBjID0gY29sb3Jz
W2lpXTsKKyAgICB2YXIgeCA9IGlpICUgMjsKKyAgICB2YXIgeSA9IE1hdGguZmxvb3IoaWkgLyAy
KTsKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCB4LCB5LCAxLCAxLCBjKTsKKyAgfQorfQor
Citpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8
L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJp
bmQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
YjlhNzkyMTU0ODRhNWI5ZDA4ZWM4MmRiZGM1YjE5MzZiOWYyM2MwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCkBAIC0wLDAgKzEsMTU3IEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBBY3Rp
dmVUZXh0dXJlIEJpbmRUZXh0dXJlIGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIiIGhlaWdodD0iMiIg
c3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9
ImNhbnZhczJkIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdo
dDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94
LXZlcnRleCI+Cit1bmlmb3JtIG1hdDQgd29ybGQ7CithdHRyaWJ1dGUgdmVjMyB2UG9zaXRpb247
CithdHRyaWJ1dGUgdmVjMiB0ZXhDb29yZDA7Cit2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7Cit2b2lk
IG1haW4oKQoreworICBnbF9Qb3NpdGlvbiA9IHdvcmxkICogdmVjNCh2UG9zaXRpb24sIDEpOwor
ICB0ZXhDb29yZCA9IHRleENvb3JkMDsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK3ZhciBnbDsKKworZnVuY3Rpb24gaW5pdCgpCit7CisgIGRlc2NyaXB0aW9uKAorICAg
ICAgIlRlc3RzIHRoYXQgZ2xBY3RpdmVUZXh0dXJlIGFuZCBnbEJpbmRUZXh0dXJlIHdvcmsgYXMg
ZXhwZWN0ZWQiICsKKyAgICAgICJTcGVjaWZpY2FsbHkgdGV4dHVyZSB0YXJnZXRzIGFyZSBwZXIg
YWN0aXZlIHRleHR1cmUgdW5pdC4iKTsKKworICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY2FudmFzMmQiKTsKKyAgdmFyIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4
dCgiMmQiKTsKKworICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgIGdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0o
CisgICAgICBnbCwKKyAgICAgIFsidnNoYWRlciIsIHd0dS5zZXR1cFNpbXBsZVRleHR1cmVGcmFn
bWVudFNoYWRlcihnbCldLAorICAgICAgWyd2UG9zaXRpb24nLCAndGV4Q29vcmQwJ10pOworICB3
dHUuc2V0dXBVbml0UXVhZChnbCk7CisgIGdsLmRpc2FibGUoZ2wuREVQVEhfVEVTVCk7CisgIGds
LmRpc2FibGUoZ2wuQkxFTkQpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsK
KworICB2YXIgY29sb3JzID0gWworICAgICAgWzAsMTkyLDEyOCwyNTVdLAorICAgICAgWzEyOCw2
NCwyNTUsMjU1XSwKKyAgICAgIFsxOTIsMjU1LDY0LDI1NV0sCisgICAgICBbMjAwLDAsMjU1LDI1
NV1dOworCisgIC8vIE1ha2UgNCB0ZXh0dXJlcyBieSB1c2luZyA0IGFjdGl2ZSB0ZXh0dXJlIHVu
aXRzIGlmIGF2YWlsYWJsZS4KKyAgdmFyIHRleHVuaXRzID0gTWF0aC5taW4oY29sb3JzLmxlbmd0
aCwgZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9DT01CSU5FRF9URVhUVVJFX0lNQUdFX1VOSVRTKSkK
KyAgdmFyIHRleHR1cmVzID0gW107CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXh1bml0czsg
KytpaSkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYWN0aXZl
VGV4dHVyZShnbC5URVhUVVJFMCArIGlpKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJF
XzJELCB0ZXgpOworICAgIHRleHR1cmVzW2lpXSA9IHRleDsKKyAgfQorICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICAvLyBub3cgdXNlIGVhY2ggdGV4dHVyZSB1bml0IHRv
IHdyaXRlIGludG8gdGhlIHRleHR1cmVzLAorICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGV4dW5p
dHM7ICsraWkpIHsKKyAgICB2YXIgYyA9IGNvbG9yc1tpaV07CisgICAgY3R4MmQuZmlsbFN0eWxl
ID0KKyAgICAgICAgInJnYmEoIiArIGNbMF0gKyAiLCIgKyBjWzFdICsgIiwiICsgY1syXSArICIs
IiArIGNbM10gKyAiKSI7CisgICAgY3R4MmQuZmlsbFJlY3QoMCwgMCwgMSwgMSk7CisgICAgZ2wu
YWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMCArIGlpKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZhczJk
KTsKKyAgfQorICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICB2YXIgdGV4
dHVyZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CisgIHZhciB3
b3JsZExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAid29ybGQiKTsKKyAgZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKKyAgZ2wuY2xlYXJDb2xvcigxLDAsMCwx
KTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQp
OworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXh1bml0czsgKytpaSkgeworICAgIHZhciB4
ID0gaWkgJSAyOworICAgIHZhciB5ID0gTWF0aC5mbG9vcihpaSAvIDIpOworICAgIGdsLnVuaWZv
cm0xaSh0ZXh0dXJlTG9jLCBpaSk7CisgICAgZ2wudW5pZm9ybU1hdHJpeDRmdigKKyAgICAgICAg
d29ybGRMb2MsIGZhbHNlLAorICAgICAgICBbMC41LCAwLCAwLCAwLAorICAgICAgICAgMCwgMC41
LCAwLCAwLAorICAgICAgICAgMCwgMCwgMSwgMCwKKyAgICAgICAgIC0wLjUgKyB4LCAtMC41ICsg
eSwgMCwgMV0pOworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTsKKyAgfQor
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICBmb3IgKHZhciBpaSA9IDA7
IGlpIDwgdGV4dW5pdHM7ICsraWkpIHsKKyAgICB2YXIgYyA9IGNvbG9yc1tpaV07CisgICAgdmFy
IHggPSBpaSAlIDI7CisgICAgdmFyIHkgPSBNYXRoLmZsb29yKGlpIC8gMik7CisgICAgdmFyIGJ1
ZiA9IG5ldyBVaW50OEFycmF5KDQpOworICAgIGdsLnJlYWRQaXhlbHMoeCwgeSwgMSwgMSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICB2YXIgbXNnID0gJ2V4cGVjdGVkOicg
KworICAgICAgICBjWzBdICsgJywgJyArIGNbMV0gKyAnLCAnICsgY1syXSArICcsICcgKyBjWzNd
ICsgJyBmb3VuZDogJyArCisgICAgICAgIGJ1ZlswXSArICcsICcgKworICAgICAgICBidWZbMV0g
KyAnLCAnICsKKyAgICAgICAgYnVmWzJdICsgJywgJyArCisgICAgICAgIGJ1ZlszXTsKKyAgICBp
ZiAoYnVmWzBdICE9IGNbMF0gfHwKKyAgICAgICAgYnVmWzFdICE9IGNbMV0gfHwKKyAgICAgICAg
YnVmWzJdICE9IGNbMl0gfHwKKyAgICAgICAgYnVmWzNdICE9IGNbM10pCisgICAgICB0ZXN0RmFp
bGVkKG1zZyk7CisgICAgZWxzZQorICAgICAgdGVzdFBhc3NlZChtc2cpOworICB9Cit9CisKK2lu
aXQoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9i
b2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhZDJlNmZhOTVlNDY2ZWY1
YThhMjFiNTlmODgxMzIwNTI3NWNlNDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0
dXJlLW1pcHMuaHRtbApAQCAtMCwwICsxLDMxOSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdGV4dHVyZSBtaXBzIGNvbmZvcm1hbmNlIHRl
c3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0
aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIg
d2lkdGg9IjIiIGhlaWdodD0iMiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48
L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgor
dW5pZm9ybSB2ZWM0IHVNdWx0OworYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworYXR0cmlidXRl
IHZlYzIgdGV4Q29vcmQwOwordmFyeWluZyB2ZWMyIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sK
KyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbiAqIHVNdWx0OworICAgIHRleENvb3JkID0gdGV4
Q29vcmQwOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hh
ZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHNhbXBs
ZXIyRCB0ZXg7Cit2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICAgIGds
X0ZyYWdDb2xvciA9IHRleHR1cmUyRCh0ZXgsIHRleENvb3JkKTsKK30KKzwvc2NyaXB0PgorPHNj
cmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciBjYW52YXM7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CitmdW5jdGlvbiBpbml0KCkKK3sKKyAgZGVzY3JpcHRpb24oIkNoZWNrcyBtaXAgaXNzdWVz
Iik7CisKKyAgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4YW1wbGUiKTsKKyAg
c2hvdWxkQmUoImNhbnZhcy53aWR0aCIsICIyIik7CisgIHNob3VsZEJlKCJjYW52YXMuaGVpZ2h0
IiwgIjIiKTsKKworICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisKKyAg
dmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgdGV4KTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7CisgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3IgZ2VuZXJhdGVNaXBtYXAg
d2l0aCBtaXAgMCBpcyAweDAiKTsKKyAgZ2wudGV4SW1hZ2UyRCgKKyAgICAgIGdsLlRFWFRVUkVf
MkQsIDEsIGdsLlJHQkEsIDEsIDEsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAg
ICBuZXcgVWludDhBcnJheSg0KSk7CisgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQp
OworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZm9yIGdlbmVy
YXRlTWlwbWFwIHdpdGggbWlwIDAgaXMgMHgwIik7CisKKyAgdGV4ID0gZ2wuY3JlYXRlVGV4dHVy
ZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXgpOworICBnbC5n
ZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFX0NVQkVfTUFQKTsKKyAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvciBnZW5lcmF0ZU1pcG1hcCB3aXRoIG1pcCAwIGlz
IDB4MCIpOworCisgIHZhciBmYWNlcyA9IFsKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lU
SVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZF
X1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfTkVHQVRJVkVfWgorICBdOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgZmFjZXMu
bGVuZ3RoOyArK2lpKSB7CisgICAgZ2wudGV4SW1hZ2UyRCgKKyAgICAgICAgZmFjZXNbaWldLCAw
LCBnbC5SR0JBLCAyLCAyLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICBu
ZXcgVWludDhBcnJheSg0ICogMiAqIDIpKTsKKyAgICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhU
VVJFX0NVQkVfTUFQKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGlpID09IDUgPyBnbC5OT19F
UlJPUiA6IGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZm9yIGdlbmVyYXRlTWlwbWFwIHdpdGggIiAr
IChpaSArIDEpICsgIiBmYWNlcyIpOworICB9CisKKyAgd3R1LnNldHVwVW5pdFF1YWQoZ2wsIDAs
IDEpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oCisgICAgICBnbCwgWyd2c2hh
ZGVyJywgJ2ZzaGFkZXInXSwgWyd2UG9zaXRpb24nLCAndGV4Q29vcmQwJ10sIFswLCAxXSk7CisK
KyAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKyAgZ2wuZGlzYWJsZShnbC5CTEVORCk7CisK
KyAgdmFyIGNvbG9ycyA9IHsKKyAgICBibHVlOiBbMCwgMCwgMjU1LCAyNTVdLAorICAgIHJlZDog
WzI1NSwgMCwgMCwgMjU1XSwKKyAgICBncmVlbjogIFswLCAyNTUsIDAsIDI1NV0sCisgICAgY3lh
bjogWzEyOCwgMjU1LCAyNTUsIDI1NV0sCisgICAgYmxhY2s6IFswLCAwLCAwLCAyNTVdLAorICAg
IGJsYW5rOiBbMCwgMCwgMCwgMF0KKyAgfTsKKworICB2YXIgbWlwcyA9IFsKKyAgXTsKKworICB2
YXIgdGV4TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKyAgZ2wu
dW5pZm9ybTFpKHRleExvYywgMCk7CisgIHZhciBtdWx0TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0sICJ1TXVsdCIpOworCisgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgdmFyIGNsZWFyVGV4ID0gY3JlYXRlVGV4dHVy
ZSgpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfMkQsIGNsZWFyVGV4KTsKKyAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBnbC5SR0JBLCAxNiwgMTYsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51
bGwpOworICBkZWJ1ZygnZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAx
NiwgMTYsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOycpOworICBzZXRNaXBE
YXRhKDAsIDE2LCAnYmxhbmsnKTsKKyAgbWFrZURpdk1pcENoYWluKCk7CisgIGdlbmVyYXRlTWlw
bWFwKCk7CisgIGNoZWNrKCdibGFuaycsICJ0ZXh0dXJlIGNyZWF0ZWQgd2l0aCBudWxsIHRoYXQg
aGFzIGFsbCBtaXBzIik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgdGV4ID0gY3JlYXRlVGV4dHVyZSgpOworICBnbC51
bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV8yRCwgdGV4KTsKKyAgLy8gMTZ4MTYgdGV4dHVyZSBubyBtaXBzCisgIGZpbGxMZXZlbCh0
ZXgsIDAsIDE2LCAnY3lhbicpOworCisgIGNoZWNrKCdibGFjaycsCisgICAgICAgICJ0ZXh0dXJl
IHRoYXQgaXMgbWlzc2luZyBtaXBzIHdoZW4gVEVYVFVSRV9NSU5fRklMVEVSIG5vdCBORUFSRVNU
IG9yIExJTkVBUiIpOworCisgIGdlbmVyYXRlTWlwbWFwKCk7CisKKyAgY2hlY2soJ2N5YW4nLCAi
dGV4dHVyZSB0aGF0IGhhcyBhbGwgbWlwcyIpOworCisgIC8vIEZpbGwgaW4gdGhlIGJvdHRvbSAy
IG1pcHMgd2l0aCBhIGRpZmZlcmVudCBjb2xvci4KKyAgZmlsbExldmVsKHRleCwgNCwgMSwgJ2dy
ZWVuJyk7CisgIGZpbGxMZXZlbCh0ZXgsIDMsIDIsICdncmVlbicpOworCisgIC8vIENob29zZSB0
aGUgbmVhcmVzdCBtaXAKKyAgdGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJF
X01JTl9GSUxURVIsIGdsLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCk7CisKKyAgY2hlY2soJ2dyZWVu
JywgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRoZSBzbWFsbGVzdCAyIG1pcHMiKTsKKwor
ICBnbC51bmlmb3JtNGYobXVsdExvYywgMTYsIDE2LCAxLCAxKTsKKworICBjaGVjaygnY3lhbics
ICJ0ZXh0dXJlIHRoYXQgaXMgdXNpbmcgb25seSB0aGUgbGFyZ2VzdCAyIG1pcHMiKTsKKworICAv
LyBTZXQgdGhlIHRvcCBsZXZlbAorICBmaWxsTGV2ZWwodGV4LCAwLCAxLCAncmVkJyk7CisgIGNo
ZWNrKCdyZWQnLAorICAgICAgICAidGV4dHVyZSB0aGF0IGlzIG9ubHkgdXNpbmcgdGhlIHRvcCBs
ZXZlbCBldmVuIHRob3VnaCBvdGhlciBsZXZlbHMgYXJlIGRlZmluZWQiKTsKKworICAvLyBTZXQg
dGhlIHRvcCAyIGxldmVscyB1c2luZyBnZW5lcmF0ZU1pcG1hcAorICBmaWxsTGV2ZWwodGV4LCAw
LCAyLCAnYmx1ZScpOworICBnZW5lcmF0ZU1pcG1hcCgpOworCisgIGNoZWNrKCdibHVlJywKKyAg
ICAgICAgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRoZSB0b3AgMiBsZXZlbHMgZXZlbiB0
aG91Z2ggb3RoZXIgbGV2ZWxzIGFyZSBkZWZpbmVkIik7CisKKyAgLy8gU2V0IHRoZSB0b3AgMiBs
ZXZlbHMgYmFjayB0byBzaXplcyB0aGF0IGVuZCB1cCB1c2luZyBsZXZlbHMgMiwgMywgYW5kIDQg
YWdhaW4uCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2LCAnYmx1ZScpOworICBmaWxsTGV2ZWwodGV4
LCAxLCA4LCAnYmx1ZScpOworICBjaGVjaygnYmx1ZScsICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1
c2luZyB0aGUgbGFyZ2VzdCAyIG1pcHMiKTsKKyAgZ2wudW5pZm9ybTRmKG11bHRMb2MsIDEsIDEs
IDEsIDEpOworICBjaGVjaygnZ3JlZW4nLCAidGV4dHVyZSB0aGF0IGlzIG9ubHkgdXNpbmcgdGhl
IHNtYWxsZXN0IDIgbWlwcyIpOworCisgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgdmFyIHRleCA9IGNyZWF0ZVRleHR1cmUoKTsKKyAg
Z2wudW5pZm9ybTRmKG11bHRMb2MsIDEsIDEsIDEsIDEpOworICBmaWxsTGV2ZWwodGV4LCAwLCA4
LCAnY3lhbicpOworICBnZW5lcmF0ZU1pcG1hcCgpOworICBjaGVjaygnY3lhbicsICJ0ZXh0dXJl
IHRoYXQgaGFzIDMgbWlwcyIpOworCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2LCAnYmx1ZScpOwor
ICB0ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wu
TElORUFSKTsKKyAgY2hlY2soJ2JsdWUnLCAidGV4dHVyZSB0aGF0IGlzIG9ubHkgdXNpbmcgdG9w
IG1pcHMiKTsKKworICBmaWxsTGV2ZWwodGV4LCAwLCA4LCAncmVkJyk7CisgIHRleFBhcmFtZXRl
cmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVJfTUlQTUFQ
X05FQVJFU1QpOworICBjaGVjaygnY3lhbicsICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyBz
bWFsbGVzdCBtaXBzIik7CisKKyAgZ2wudW5pZm9ybTRmKG11bHRMb2MsIDE2LCAxNiwgMSwgMSk7
CisgIGNoZWNrKCdyZWQnLCAidGV4dHVyZSB0aGF0IGlzIHVzaW5nIG9ubHkgdGhlIGxhcmdlc3Qg
bWlwIik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorICB2YXIgdGV4ID0gY3JlYXRlVGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYo
bXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGZpbGxMZXZlbCh0ZXgsIDIsIDEsICdncmVlbicpOwor
ICBmaWxsTGV2ZWwodGV4LCAxLCAyLCAnZ3JlZW4nKTsKKyAgZmlsbExldmVsKHRleCwgMCwgNCwg
J2dyZWVuJyk7CisgIGNoZWNrKCdncmVlbicsICJ0ZXh0dXJlIHRoYXQgd2FzIGJ1aWx0IHNtYWxs
ZXN0IG1pcCBmaXJzdCIpOworCisgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgdmFyIHRleCA9IGNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wu
dW5pZm9ybTRmKG11bHRMb2MsIDEsIDEsIDEsIDEpOworICBmaWxsTGV2ZWwodGV4LCAwLCAxNiwg
J3JlZCcpOworICBnZW5lcmF0ZU1pcG1hcCgpOworICBjaGVjaygncmVkJywgInRleHR1cmUgd2l0
aCAxIGdlbm1pcG1hcHMiKTsKKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdibHVlJyk7CisgIGdl
bmVyYXRlTWlwbWFwKCk7CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2LCAnZ3JlZW4nKTsKKyAgZ2Vu
ZXJhdGVNaXBtYXAoKTsKKyAgY2hlY2soJ2dyZWVuJywgInRleHR1cmUgd2l0aCAyIGdlbm1pcG1h
cHMiKTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJTaG91bGQgYmUg
bm8gZXJyb3JzLiIpOworCisgIGZ1bmN0aW9uIGNyZWF0ZVRleHR1cmUoKSB7CisgICAgZGVidWco
Ijxoci8+Z2wuY3JlYXRlVGV4dHVyZSgpIik7CisgICAgbWlwcyA9IFtdOworICAgIG1ha2VEaXZN
aXBDaGFpbigpOworICAgIHJldHVybiBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIH0KKworICBmdW5j
dGlvbiB0ZXhQYXJhbWV0ZXJpKHRhcmdldCwgcG5hbWUsIHZhbHVlKSB7CisgICAgZGVidWcoImds
LnRleFBhcmFtZXRlcmkoIiArCisgICAgICAgICAgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0YXJn
ZXQpICsgIiwgIiArCisgICAgICAgICAgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBwbmFtZSkgKyAi
LCAiICsKKyAgICAgICAgICB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHZhbHVlKSArICIpIikKKyAg
ICBnbC50ZXhQYXJhbWV0ZXJpKHRhcmdldCwgcG5hbWUsIHZhbHVlKTsKKyAgfQorCisgIGZ1bmN0
aW9uIGdlbmVyYXRlTWlwbWFwKCkgeworICAgIGRlYnVnKCJnbC5nZW5lcmF0ZU1pcG1hcChnbC5U
RVhUVVJFXzJEKSIpOworICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpOworICAg
IHZhciBtaXAwID0gbWlwc1swXTsKKyAgICB2YXIgc2l6ZSA9IG1pcDAuc2l6ZTsKKyAgICB2YXIg
bGV2ZWwgPSAxOworICAgIGZvcig7OykgeworICAgICAgc2l6ZSA9IE1hdGguZmxvb3Ioc2l6ZSAv
IDIpOworICAgICAgaWYgKCFzaXplKSB7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAg
c2V0TWlwRGF0YShsZXZlbCwgc2l6ZSwgbWlwMC5jb2xvcik7CisgICAgICArK2xldmVsOworICAg
IH0KKyAgICBtYWtlRGl2TWlwQ2hhaW4oKTsKKyAgfQorCisgIGZ1bmN0aW9uIGNoZWNrKGNvbG9y
LCBtc2cpIHsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwg
Y29sb3JzW2NvbG9yXSwgbXNnICsgIiBzaG91bGQgZHJhdyB3aXRoICIgKyBjb2xvcik7CisgIH0K
KworICBmdW5jdGlvbiBmaWxsTGV2ZWwodGV4LCBsZXZlbCwgc2l6ZSwgY29sb3IpIHsKKyAgICBz
ZXRNaXBEYXRhKGxldmVsLCBzaXplLCBjb2xvcik7CisgICAgZGVidWcoImdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgIiArIGxldmVsICsgIiwgZ2wuUkdCQSwgIiArIHNpemUgKyAiLCAiICsg
c2l6ZSArCisgICAgICAgICAgIiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgIiArIGNv
bG9yICsgIik7Iik7CisgICAgd3R1LmZpbGxUZXh0dXJlKGdsLCB0ZXgsIHNpemUsIHNpemUsIGNv
bG9yc1tjb2xvcl0sIGxldmVsKTsKKyAgICBtYWtlRGl2TWlwQ2hhaW4oKTsKKyAgfQorCisgIGZ1
bmN0aW9uIHNldE1pcERhdGEobGV2ZWwsIHNpemUsIGNvbG9yKSB7CisgICAgbWlwc1tsZXZlbF0g
PSB7CisgICAgICBzaXplOiBzaXplLAorICAgICAgY29sb3I6IGNvbG9yCisgICAgfTsKKyAgfQor
CisgIGZ1bmN0aW9uIG1ha2VEaXZNaXBDaGFpbihjb2xvcikgeworICAgIHZhciBodG1sID0gWwor
ICAgICAgJzxkaXYgc3R5bGU9ImhlaWdodDogNjhweDsgbWFyZ2luLXRvcDogNXB4Ij4nLAorICAg
ICAgJzxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij5taXBzOiA8L2Rpdj4nXTsKKyAgICBmb3IgKHZh
ciBpaSA9IDA7IGlpIDwgNTsgKytpaSkgeworICAgICAgdmFyIG1pcCA9IG1pcHNbaWldOworICAg
ICAgaWYgKG1pcCkgeworICAgICAgICBodG1sLnB1c2gobWFrZURpdlNxdWFyZShtaXAuc2l6ZSwg
bWlwLmNvbG9yKSk7CisgICAgICB9IGVsc2UgeworICAgICAgICBodG1sLnB1c2gobWFrZURpdlNx
dWFyZSgxNiwgdW5kZWZpbmVkKSk7CisgICAgICB9CisgICAgfQorICAgIGh0bWwucHVzaCgiPC9k
aXY+Iik7CisgICAgZGVidWcoaHRtbC5qb2luKCIiKSk7CisgIH0KKworICBmdW5jdGlvbiBtYWtl
RGl2U3F1YXJlKHNpemUsIGNvbG9yKSB7CisgICAgc2l6ZSAqPSA0OworICAgIHZhciBjID0gY29s
b3IgPyBjb2xvcnNbY29sb3JdIDogWzI1NSwyNTUsMjU1XTsKKyAgICB2YXIgYm9yZGVyID0gY29s
b3IgPyAnc29saWQnIDogJ2Rhc2hlZCc7CisgICAgcmV0dXJuICc8ZGl2IHN0eWxlPSJmbG9hdDps
ZWZ0OyB3aWR0aDogJyArIHNpemUgKyAncHg7IGhlaWdodDogJyArIHNpemUgKworICAgICAgICAg
ICAncHg7IGJhY2tncm91bmQtY29sb3I6ICcgKyByZ2IoYykgKworICAgICAgICAgICAnOyBib3Jk
ZXI6IDFweCAnICsgYm9yZGVyICsgJyBibGFjazsgbWFyZ2luLXJpZ2h0OiAzcHg7Ij48L2Rpdj4n
OworICB9CisKKyAgZnVuY3Rpb24gcmdiKGMpIHsKKyAgICByZXR1cm4gJ3JnYignICsgY1swXSAr
ICcsJyArIGNbMV0gKyAnLCcgKyBjWzJdICsnKSc7CisgIH0KK30KKworaW5pdCgpOwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtbnBvdC12aWRlby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllZjgzYjZmZDg1MWUzYzcxYjI4
N2NlMDgwYzViZGYzZWRhMjc2MzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LW5wb3QtdmlkZW8uaHRtbApAQCAtMCwwICsxLDE3OSBAQAorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0dSA9
IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gbnVsbDsKK3ZhciB0ZXh0dXJlTG9jID0gbnVsbDsK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKworaW5pdFRlc3RpbmdIYXJuZXNzV2Fp
dFVudGlsRG9uZSgpOworCitmdW5jdGlvbiBpbml0KCkKK3sKKyAgICBkZXNjcmlwdGlvbignVmVy
aWZ5IG5wb3QgdmlkZW8nKTsKKworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZXhhbXBsZSIpOworICAgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOwor
ICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKKworICAgIGdsLmNs
ZWFyQ29sb3IoMCwwLDAsMSk7CisgICAgZ2wuY2xlYXJEZXB0aCgxKTsKKworICAgIHRleHR1cmVM
b2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOworCisgICAgdmFyIHZp
ZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZpZCIpOworICAgIHZpZGVvLmFkZEV2ZW50
TGlzdGVuZXIoCisgICAgICAgICJwbGF5aW5nIiwgZnVuY3Rpb24oKSB7IHJ1blRlc3QodmlkZW8p
OyB9LCB0cnVlKTsKKyAgICB2aWRlby5sb29wID0gdHJ1ZTsKKyAgICB2aWRlby5wbGF5KCk7Cit9
CisKKy8vIFRoZXNlIHR3byBkZWNsYXJhdGlvbnMgbmVlZCB0byBiZSBnbG9iYWwgZm9yICJzaG91
bGRCZSIgdG8gc2VlIHRoZW0KK3ZhciBidWYgPSBudWxsOwordmFyIGlkeCA9IDA7Cit2YXIgcGl4
ZWwgPSBbMCwgMCwgMF07Cit2YXIgY29ycmVjdENvbG9yID0gbnVsbDsKK3ZhciB0ZXh0dXJlOwor
CitmdW5jdGlvbiBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCB1c2VUZXhTdWJJbWFnZTJE
LCBmbGlwWSwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yLCBiYWRNaW5GaWx0ZXIsIGJhZENsYW1wLCBn
ZW5NaXBzKQoreworICAgIGRlYnVnKCdUZXN0aW5nICcgKyAodXNlVGV4U3ViSW1hZ2UyRCA/ICd0
ZXhTdWJJbWFnZTJEJyA6ICd0ZXhJbWFnZTJEJykgKworICAgICAgICAgICcgd2l0aCBmbGlwWT0n
ICsgZmxpcFkpOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9C
VUZGRVJfQklUKTsKKyAgICAvLyBEaXNhYmxlIGFueSB3cml0ZXMgdG8gdGhlIGFscGhhIGNoYW5u
ZWwKKyAgICBnbC5jb2xvck1hc2soMSwgMSwgMSwgMCk7CisgICAgaWYgKCF0ZXh0dXJlKSB7Cisg
ICAgICAgIHRleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgfQorICAgIC8vIEJpbmQg
dGhlIHRleHR1cmUgdG8gdGV4dHVyZSB1bml0IDAKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXh0dXJlKTsKKyAgICAvLyBTZXQgdXAgcGl4ZWwgc3RvcmUgcGFyYW1ldGVycwor
ICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19GTElQX1lfV0VCR0wsIGZsaXBZKTsKKyAgICAv
LyBVcGxvYWQgdGhlIHZpZGVvRWxlbWVudCBpbnRvIHRoZSB0ZXh0dXJlCisgICAgZGVidWcoInNp
emU6ICIgKyB2aWRlb0VsZW1lbnQudmlkZW9XaWR0aCArICJ4IiArIHZpZGVvRWxlbWVudC52aWRl
b0hlaWdodCk7CisgICAgaWYgKHVzZVRleFN1YkltYWdlMkQpIHsKKyAgICAgICAgLy8gSW5pdGlh
bGl6ZSB0aGUgdGV4dHVyZSB0byBibGFjayBmaXJzdAorICAgICAgICBkZWJ1ZygidXNlIHRleFN1
YkltYWdlMkQiKTsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLAorICAgICAgICAgICAgICAgICAgICAgIHZpZGVvRWxlbWVudC52aWRlb1dpZHRoLCB2aWRl
b0VsZW1lbnQudmlkZW9IZWlnaHQsIDAsCisgICAgICAgICAgICAgICAgICAgICAgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgdmlkZW9FbGVtZW50
KTsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1ZygidXNlIHRleEltYWdlMkQiKTsKKyAgICAg
ICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCB2aWRlb0VsZW1lbnQpOworICAgIH0KKworICAgIC8vIFNldCB1cCB0ZXh0
dXJlIHBhcmFtZXRlcnMKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBpZiAoYmFkTWluRmlsdGVyKSB7Cisg
ICAgICAgIGRlYnVnKCJiYWQgbWluIGZpbHRlciIpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSX01JUE1BUF9O
RUFSRVNUKTsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1ZygiZ29vZCBtaW4gZmlsdGVyIik7
CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5f
RklMVEVSLCBnbC5MSU5FQVIpOworICAgIH0KKyAgICBpZiAoYmFkQ2xhbXApIHsKKyAgICAgICAg
ZGVidWcoImJhZCBjbGFtcCIpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVf
MkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5SRVBFQVQpOworICAgICAgICBnbC50ZXhQYXJhbWV0
ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5SRVBFQVQpOworICAgIH0g
ZWxzZSB7CisgICAgICAgIGRlYnVnKCJnb29kIGNsYW1wIik7CisgICAgICAgIGdsLnRleFBhcmFt
ZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0Up
OworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JB
UF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICB9CisgICAgaWYgKGdlbk1pcHMpIHsKKyAgICAg
ICAgZGVidWcoImdlbmVyYXRlIG1pcHMiKTsKKyAgICAgICAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wu
VEVYVFVSRV8yRCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVS
QVRJT04sICJzaG91bGQgYmUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKyAgICB9CisKKyAgICBnbC5i
aW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5U
RVhUVVJFXzJELCB0ZXh0dXJlKTsKKworLy8gICAgdmFyIGMgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJjYW52YXMiKTsKKy8vICAgIGMud2lkdGggPSAxNjsKKy8vICAgIGMuaGVpZ2h0ID0gMTY7
CisvLyAgICBjLnN0eWxlLmJvcmRlciA9ICIxcHggc29saWQgYmxhY2siOworLy8gICAgdmFyIGN0
eCA9IGMuZ2V0Q29udGV4dCgiMmQiKTsKKy8vICAgIGN0eC5kcmF3SW1hZ2UodmlkZW9FbGVtZW50
LCAwLCAwLCAxNiwgMTYpOworLy8gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjKTsKKwor
ICAgIC8vIFBvaW50IHRoZSB1bmlmb3JtIHNhbXBsZXIgdG8gdGV4dHVyZSB1bml0IDAKKyAgICBn
bC51bmlmb3JtMWkodGV4dHVyZUxvYywgMCk7CisgICAgLy8gRHJhdyB0aGUgdHJpYW5nbGVzCisg
ICAgd3R1LmRyYXdRdWFkKGdsLCBbMCwgMCwgMCwgMjU1XSk7CisgICAgLy8gQ2hlY2sgYSBmZXcg
cGl4ZWxzIG5lYXIgdGhlIHRvcCBhbmQgYm90dG9tIGFuZCBtYWtlIHN1cmUgdGhleSBoYXZlCisg
ICAgLy8gdGhlIHJpZ2h0IGNvbG9yLgorICAgIGRlYnVnKCJDaGVja2luZyBsb3dlciBsZWZ0IGNv
cm5lciIpOworICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDQsIDQsIDIsIDIsIGJvdHRvbUNv
bG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJlICIgKyBib3R0b21Db2xvcik7
CisgICAgZGVidWcoIkNoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyIik7CisgICAgd3R1LmNoZWNr
Q2FudmFzUmVjdChnbCwgNCwgZ2wuY2FudmFzLmhlaWdodCAtIDgsIDIsIDIsIHRvcENvbG9yLAor
ICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJlICIgKyB0b3BDb2xvcik7CisgICAgZGVi
dWcoIiIpOworfQorCitmdW5jdGlvbiBydW5UZXN0KHZpZGVvRWxlbWVudCkKK3sKKyAgICB2YXIg
cmVkID0gWzI1NSwgMCwgMF07CisgICAgdmFyIGdyZWVuID0gWzAsIDI1NSwgMF07CisgICAgdmFy
IGJsYWNrID0gWzAsIDAsIDBdOworICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZh
bHNlLCB0cnVlLCBibGFjaywgYmxhY2ssIHRydWUsIHRydWUsIHRydWUpOworICAgIHJ1bk9uZUl0
ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZhbHNlLCB0cnVlLCBibGFjaywgYmxhY2ssIHRydWUsIGZh
bHNlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgZmFsc2UsIHRy
dWUsIGJsYWNrLCBibGFjaywgZmFsc2UsIHRydWUsIGZhbHNlKTsKKyAgICBydW5PbmVJdGVyYXRp
b24odmlkZW9FbGVtZW50LCBmYWxzZSwgdHJ1ZSwgYmxhY2ssIGJsYWNrLCB0cnVlLCB0cnVlLCBm
YWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgZmFsc2UsIHRydWUsIGdy
ZWVuLCByZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOworICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRl
b0VsZW1lbnQsIGZhbHNlLCBmYWxzZSwgcmVkLCBncmVlbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7
CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgdHJ1ZSwgdHJ1ZSwgZ3JlZW4sIHJl
ZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVu
dCwgdHJ1ZSwgZmFsc2UsIHJlZCwgZ3JlZW4sIGZhbHNlLCBmYWxzZSwgZmFsc2UpOworCisgICAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMiKTsK
KyAgICB2aWRlb0VsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGxheWluZyIsIHJ1blRlc3Qp
OworICAgIGZpbmlzaFRlc3QoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJpbml0KCkiPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjY0IiBoZWlnaHQ9IjQ4Ij48
L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHZpZGVvIGlkPSJ2aWQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KKyAgPHNvdXJj
ZSBzcmM9Ii4uL3Jlc291cmNlcy9ucG90LXZpZGVvLm1wNCIgIHR5cGU9J3ZpZGVvL21wNDsgY29k
ZWNzPSJhdmMxLjQyRTAxRSInIC8+CisgIDxzb3VyY2Ugc3JjPSIuLi9yZXNvdXJjZXMvbnBvdC12
aWRlby53ZWJtdnA4LndlYm0iIHR5cGU9J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA4IicgLz4KKyAg
PHNvdXJjZSBzcmM9Ii4uL3Jlc291cmNlcy9ucG90LXZpZGVvLnRoZW9yYS5vZ3YiICB0eXBlPSd2
aWRlby9vZ2c7IGNvZGVjcz0idGhlb3JhIicgLz4KKzwvdmlkZW8+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzZGE5YTYzZDNlMTc4MTM0ZTIw
NTk3MTU1YWNjNzk4ZDgyM2U1NjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LXNpemUtbGltaXQuaHRtbApAQCAtMCwwICsxLDE1OSBAQAorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdGV4dHVyZSBzaXplIGxpbWl0IGNvbmZv
cm1hbmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0i
ZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdo
dDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24o
IkNoZWNrcyB0aGF0IHZhcmlvdXMgc2l6ZXMgbGltaXRzIG9mIHRleHR1cmVzICIpCit2YXIgY2Fu
dmFzOworCitmdW5jdGlvbiBudW1MZXZlbHNGcm9tU2l6ZShzaXplKSB7CisgIHZhciBsZXZlbHMg
PSAwOworICB3aGlsZSAoKHNpemUgPj4gbGV2ZWxzKSA+IDApIHsKKyAgICArK2xldmVsczsKKyAg
fQorICByZXR1cm4gbGV2ZWxzOworfQorCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIg
Z2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7Cit2YXIgdGVzdHMgPSBbCisgIHsg
Zm9ybWF0OiBnbC5BTFBIQSwgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsICAgICAg
ICAgIHNpemU6IDEsIGRhdGFUeXBlOiBVaW50OEFycmF5ICB9LAorICB7IGZvcm1hdDogZ2wuTFVN
SU5BTkNFLCAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLCAgICAgICAgICBzaXplOiAxLCBk
YXRhVHlwZTogVWludDhBcnJheSAgfSwKKyAgeyBmb3JtYXQ6IGdsLkxVTUlOQU5DRV9BTFBIQSwg
dHlwZTogZ2wuVU5TSUdORURfQllURSwgICAgICAgICAgc2l6ZTogMiwgZGF0YVR5cGU6IFVpbnQ4
QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5SR0IsICAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lH
TkVEX0JZVEUsICAgICAgICAgIHNpemU6IDMsIGRhdGFUeXBlOiBVaW50OEFycmF5ICB9LAorICB7
IGZvcm1hdDogZ2wuUkdCLCAgICAgICAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVF81XzZf
NSwgICBzaXplOiAxLCBkYXRhVHlwZTogVWludDE2QXJyYXkgfSwKKyAgeyBmb3JtYXQ6IGdsLlJH
QkEsICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwgICAgICAgICAgc2l6ZTogNCwg
ZGF0YVR5cGU6IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5SR0JBLCAgICAgICAgICAg
IHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzRfNF80XzQsIHNpemU6IDEsIGRhdGFUeXBlOiBVaW50
MTZBcnJheSB9LAorICB7IGZvcm1hdDogZ2wuUkdCQSwgICAgICAgICAgICB0eXBlOiBnbC5VTlNJ
R05FRF9TSE9SVF81XzVfNV8xLCBzaXplOiAxLCBkYXRhVHlwZTogVWludDE2QXJyYXkgfQorXTsK
KworLy8gTm90ZTogV2UgZXhwcmVzc2x5IG9ubHkgdXNlIDIgdGV4dHVyZXMgYmVjYXVzZSBmaXJz
dCBhIHRleHR1cmUgd2lsbCBiZSBkZWZpbmVkCisvLyBhcyB1c2luZyBhbGwgbWlwcyBvZiAxIGZv
cm1hdCwgdGhlbiBmb3IgYSBtb21lbnQgaXQgd2lsbCBoYXZlIG1peGVkIGZvcm1hdHMgd2hpY2gK
Ky8vIG1heSB1bmNvdmVyIGJ1Z3MuCit2YXIgdGFyZ2V0cyA9IFsKKyAgeyB0YXJnZXQ6IGdsLlRF
WFRVUkVfMkQsCisgICAgbWF4U2l6ZTogZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9URVhUVVJFX1NJ
WkUpLAorICAgIG1heExldmVsOiAxMDAwLAorICAgIHRleDogZ2wuY3JlYXRlVGV4dHVyZSgpLAor
ICAgIHRhcmdldHM6IFtnbC5URVhUVVJFXzJEXQorICB9LAorICB7IHRhcmdldDogZ2wuVEVYVFVS
RV9DVUJFX01BUCwKKyAgICBtYXhTaXplOiBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX0NVQkVfTUFQ
X1RFWFRVUkVfU0laRSksCisgICAgbWF4TGV2ZWw6IDUsCisgICAgdGV4OiBnbC5jcmVhdGVUZXh0
dXJlKCksCisgICAgdGFyZ2V0czogWworICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElW
RV9YLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgICAgZ2wuVEVY
VFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdB
VElWRV9ZLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgICAgZ2wu
VEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisgICAgXQorICB9CitdOworCitnbC5waXhlbFN0
b3JlaShnbC5VTlBBQ0tfQUxJR05NRU5ULCAxKTsKKwordmFyIHRyZyA9IDA7Cit2YXIgdHQgPSAw
OworcnVuTmV4dFRlc3QoKTsKKworZnVuY3Rpb24gcnVuTmV4dFRlc3QoKSB7CisgIHZhciB0ID0g
dGFyZ2V0c1t0cmddOworCisgIGlmICh0dCA9PSAwKSB7CisgICAgdmFyIHRleCA9IHQudGV4Owor
ICAgIGdsLmJpbmRUZXh0dXJlKHQudGFyZ2V0LCB0ZXgpOworCisgICAgZGVidWcoIiIpOworICAg
IGRlYnVnKCJtYXggc2l6ZSBmb3IgIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdC50YXJnZXQp
ICsgIjogIiArIHQubWF4U2l6ZSk7CisgICAgdmFyIG51bUxldmVscyA9IG51bUxldmVsc0Zyb21T
aXplKHQubWF4U2l6ZSk7CisgICAgZGVidWcoIm51bSBsZXZlbHMgIiArIG51bUxldmVscyk7Cisg
IH0KKworICB2YXIgdGVzdCA9IHRlc3RzW3R0XTsKKyAgdGVzdEZvcm1hdFR5cGUodCwgdGVzdCk7
CisgICsrdHQ7CisgIGlmICh0dCA9PSB0ZXN0cy5sZW5ndGgpIHsKKyAgICB0dCA9IDA7CisgICAg
Kyt0cmc7CisgICAgaWYgKHRyZyA9PSB0YXJnZXRzLmxlbmd0aCkgeworICAgICAgZmluaXNoVGVz
dCgpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgfQorICB3dHUud2FpdEZvckNvbXBvc2l0ZShn
bCwgcnVuTmV4dFRlc3QpCit9CisKK2Z1bmN0aW9uIHRlc3RGb3JtYXRUeXBlKHQsIHRlc3QpIHsK
KyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZzogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhn
bCwgdGVzdC5mb3JtYXQpICsgIiwgIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdGVzdC50eXBl
KSk7CisgIGZvciAodmFyIGogPSAwOyBqIDwgdC50YXJnZXRzLmxlbmd0aDsgKytqKSB7CisgICAg
dmFyIHRhcmdldCA9IHQudGFyZ2V0c1tqXTsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcod3R1
LmdsRW51bVRvU3RyaW5nKGdsLCB0YXJnZXQpKTsKKyAgICB2YXIgbnVtTGV2ZWxzID0gbnVtTGV2
ZWxzRnJvbVNpemUodC5tYXhTaXplKTsKKyAgICB2YXIgbnVtVGVzdExldmVscyA9IE1hdGgubWlu
KG51bUxldmVscywgdC5tYXhMZXZlbCk7CisgICAgZm9yICh2YXIgbCA9IDA7IGwgPCBudW1UZXN0
TGV2ZWxzOyArK2wpIHsKKyAgICAgIC8vIERvIGJvdHRvbSBsZXZlbHMgZmlyc3Q7CisgICAgICB2
YXIgc2l6ZSA9IDEgPDwgbDsKKyAgICAgIHZhciBsZXZlbCA9IG51bUxldmVscyAtIGwgLSAxOwor
ICAgICAgdmFyIG90aGVyRGltZW5zaW9uID0gdC50YXJnZXQgPT0gZ2wuVEVYVFVSRV8yRCA/IDEg
OiBzaXplOworICAgICAgdmFyIGJhZFNpemUgPSBzaXplICogMjsKKyAgICAgIHZhciBiYWRPdGhl
ckRpbWVuc2lvbiA9IHQudGFyZ2V0ID09IGdsLlRFWFRVUkVfMkQgPyAxIDogYmFkU2l6ZTsKKyAg
ICAgIHZhciBwaXhlbHMgPSBuZXcgdGVzdC5kYXRhVHlwZShiYWRTaXplICogYmFkT3RoZXJEaW1l
bnNpb24gKiB0ZXN0LnNpemUpOworICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB0
ZXN0LmZvcm1hdCwgc2l6ZSwgb3RoZXJEaW1lbnNpb24sIDAsIHRlc3QuZm9ybWF0LCB0ZXN0LnR5
cGUsIHBpeGVscyk7CisgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhl
cmUgc2hvdWxkIGJlIG5vIGVycm9yIGZvciBsZXZlbDogIiArIGxldmVsICsgIiAiICsgc2l6ZSAr
ICJ4IiArIG90aGVyRGltZW5zaW9uKTsKKyAgICAgIGdsLnRleEltYWdlMkQodGFyZ2V0LCBsZXZl
bCwgdGVzdC5mb3JtYXQsIG90aGVyRGltZW5zaW9uLCBzaXplLCAwLCB0ZXN0LmZvcm1hdCwgdGVz
dC50eXBlLCBwaXhlbHMpOworICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
InRoZXJlIHNob3VsZCBiZSBubyBlcnJvciBmb3IgbGV2ZWw6ICIgKyBsZXZlbCArICIgIiArIG90
aGVyRGltZW5zaW9uICsgIngiICsgc2l6ZSk7CisgICAgICBnbC50ZXhJbWFnZTJEKHRhcmdldCwg
bGV2ZWwsIHRlc3QuZm9ybWF0LCBiYWRTaXplLCBiYWRPdGhlckRpbWVuc2lvbiwgMCwgdGVzdC5m
b3JtYXQsIHRlc3QudHlwZSwgcGl4ZWxzKTsKKyAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wu
SU5WQUxJRF9WQUxVRSwgInNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX1ZBTFVFIGZvciBsZXZlbDog
IiArIGxldmVsICsgIiAiICsgYmFkU2l6ZSArICJ4IiArIGJhZE90aGVyRGltZW5zaW9uKTsKKyAg
ICAgIGdsLnRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgdGVzdC5mb3JtYXQsIGJhZE90aGVyRGlt
ZW5zaW9uLCBiYWRTaXplLCAwLCB0ZXN0LmZvcm1hdCwgdGVzdC50eXBlLCBwaXhlbHMpOworICAg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAic2hvdWxkIGdlbmVyYXRl
IElOVkFMSURfVkFMVUUgZm9yIGxldmVsOiAiICsgbGV2ZWwgKyAiICIgKyBiYWRPdGhlckRpbWVu
c2lvbiArICJ4IiArIGJhZFNpemUpOworICAgIH0KKyAgfQorfQorCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdhODc1ZDhiOTdjMzFjNGVlOTUxZjI0YzI2ZGEzZDFkMTJlZDVlNWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbApAQCAtMCwwICsxLDIz
OCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgdGV4dHVyZSBzaXplIGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBzdHls
ZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hh
ZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247
CithdHRyaWJ1dGUgdmVjMyB0ZXhDb29yZDA7Cit2YXJ5aW5nIHZlYzMgdGV4Q29vcmQ7Cit2b2lk
IG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgIHRleENvb3JkID0g
dGV4Q29vcmQwOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingt
c2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHNh
bXBsZXJDdWJlIHRleDsKK3ZhcnlpbmcgdmVjMyB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7Cisg
ICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVyZUN1YmUodGV4LCBub3JtYWxpemUodGV4Q29vcmQpKTsK
K30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJDaGVj
a3MgdGhhdCB2YXJpb3VzIHNpemVzIG9mIHRleHR1cmVzIHJlbmRlciIpCit2YXIgY2FudmFzOwor
Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0
KCJleGFtcGxlIik7Cit2YXIgcHJvZ3JhbTJEID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsK
K3ZhciBwcm9ncmFtQ3ViZU1hcCA9IHd0dS5zZXR1cFByb2dyYW0oCisgICAgZ2wsIFsndnNoYWRl
cicsICdmc2hhZGVyJ10sIFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCddLCBbMCwgMV0pOworZ2wu
ZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKK2dsLmRpc2FibGUoZ2wuQkxFTkQpOwordmFyIHRleCA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKK3ZhciBtYXgyRFNpemUgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wu
TUFYX1RFWFRVUkVfU0laRSk7Cit2YXIgbWF4Q3ViZU1hcFNpemUgPSBnbC5nZXRQYXJhbWV0ZXIo
Z2wuTUFYX0NVQkVfTUFQX1RFWFRVUkVfU0laRSk7CitkZWJ1ZygiTUFYX1RFWFRVUkVfU0laRToi
ICsgbWF4MkRTaXplKTsKK2RlYnVnKCJNQVhfQ1VCRV9NQVBfVEVYVFVSRV9TSVpFOiIgKyBtYXhD
dWJlTWFwU2l6ZSk7CisvLyBBc3N1bWluZyAyMDQ4eDIwNDh4UkdCQSAoMjJtZWcgd2l0aCBtaXBz
KSB3aWxsIHJ1biBvbiBhbGwgV2ViR0wgcGxhdGZvcm1zCit2YXIgbWF4MkRTcXVhcmVTaXplID0g
TWF0aC5taW4obWF4MkRTaXplLCAyMDQ4KTsKKy8vIEknZCBwcmVmZXIgdGhpcyB0byBiZSAyMDQ4
IGJ1dCB0aGF0J3MgMTZtZWcgeCA2IGZhY2VzIG9yIDEyOG1lZyAod2l0aCBtaXBzKQorLy8gMTAy
NCBpcyAzMy41IG1lZyAod2l0aCBtaXBzKQordmFyIG1heEN1YmVNYXBTaXplID0gTWF0aC5taW4o
bWF4Q3ViZU1hcFNpemUsIDEwMjQpOworCit2YXIgY29sb3JzID0gWworICB7IG5hbWU6ICJncmVl
biIsIHJnYmE6IFswLCAwLCAyNTUsIDI1NV0gfSwKKyAgeyBuYW1lOiAicmVkIiwgcmdiYTogWzI1
NSwgMCwgMCwgMjU1XSB9LAorICB7IG5hbWU6ICJibHVlIiwgcmdiYTogWzAsIDI1NSwgMCwgMjU1
XSB9LAorICB7IG5hbWU6ICJ5ZWxsb3ciLCByZ2JhOiBbMjU1LCAyNTUsIDAsIDI1NV0gfSwKKyAg
eyBuYW1lOiAibWFnZW50YSIsIHJnYmE6IFsyNTUsIDAsIDI1NSwgMjU1XSB9LAorICB7IG5hbWU6
ICJjeWFuIiwgcmdiYTogWzAsIDI1NSwgMjU1LCAyNTVdIH0KK107CisKK3ZhciBjb3VudCA9IDA7
Cit2YXIgcG93ZXIgPSAwOworcnVuVGVzdCgpOworCitmdW5jdGlvbiBydW5UZXN0KCkgeworICBm
dW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgdmFyIHNpemUgPSBNYXRoLnBvdygyLCBwb3dlcik7Cisg
ICAgaWYgKHNpemUgPiBtYXgyRFNpemUpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cisg
ICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtMkQpOworICAgIGlmICghY2hlY2tUZXh0dXJlKHNpemUs
IDEsIGZhbHNlKSkgcmV0dXJuIGZhbHNlOworICAgIGlmICghY2hlY2tUZXh0dXJlKDEsIHNpemUs
IGZhbHNlKSkgcmV0dXJuIGZhbHNlOworICAgIGlmIChzaXplIDw9IG1heDJEU3F1YXJlU2l6ZSkg
eworICAgICAgaWYgKCFjaGVja1RleHR1cmUoc2l6ZSwgc2l6ZSwgZmFsc2UpKSB7CisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgIH0KKyAgICB9CisgICAgaWYgKHNpemUgPD0gbWF4Q3ViZU1h
cFNpemUpIHsKKyAgICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbUN1YmVNYXApOworICAgICAgaWYg
KCFjaGVja1RleHR1cmUoc2l6ZSwgc2l6ZSwgdHJ1ZSkpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIGlmIChkb1Rlc3Qo
KSkgeworICAgICsrcG93ZXI7CisgICAgc2V0VGltZW91dChydW5UZXN0LCAxMDApOworICB9IGVs
c2UgeworICAgIGZpbmlzaFRlc3QoKTsKKyAgfQorfQorCitmdW5jdGlvbiBjaGVja1RleHR1cmUo
d2lkdGgsIGhlaWdodCwgY3ViZU1hcCkgeworICBkZWJ1ZygiIik7CisgIGNvdW50ID0gKGNvdW50
ICsgMSkgJSBjb2xvcnMubGVuZ3RoOworICB2YXIgY29sb3IgPSBjb2xvcnNbY291bnRdOworICB2
YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICB2YXIgdGFyZ2V0ID0gY3ViZU1hcCA/IGds
LlRFWFRVUkVfQ1VCRV9NQVAgOiBnbC5URVhUVVJFXzJEOworICB2YXIgdHlwZSA9IGN1YmVNYXAg
PyAiY3ViZSBtYXAiIDogIjJEIHRleHR1cmUiOworICBkZWJ1ZygiY2hlY2sgIiArIHdpZHRoICsg
IiwgIiArIGhlaWdodCArICIgIiArIHR5cGUpOworICBnbC5iaW5kVGV4dHVyZSh0YXJnZXQsIHRl
eCk7CisgIGdsLnRleFBhcmFtZXRlcmkodGFyZ2V0LCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGds
LkxJTkVBUik7CisgIGdsLnRleFBhcmFtZXRlcmkodGFyZ2V0LCBnbC5URVhUVVJFX1dSQVBfUywg
Z2wuQ0xBTVBfVE9fRURHRSk7CisgIGdsLnRleFBhcmFtZXRlcmkodGFyZ2V0LCBnbC5URVhUVVJF
X1dSQVBfVCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgIGZpbGxMZXZlbCgwLCB3aWR0aCwgaGVpZ2h0
LCBjb2xvci5yZ2JhLCBjdWJlTWFwKTsKKyAgdmFyIGVyciA9IGdsLmdldEVycm9yKCk7CisgIGlm
IChlcnIgPT0gZ2wuT1VUX09GX01FTU9SWSkgeworICAgIGRlYnVnKCJvdXQgb2YgbWVtb3J5Iik7
CisgICAgcmV0dXJuIGZhbHNlOworICB9CisgIGlmIChlcnIgIT0gZ2wuTk9fRVJST1IpIHsKKyAg
ICB0ZXN0RmFpbGVkKCJ1bmV4cGVjdGVkIGdsIGVycm9yOiAiICsgd3R1LmdsRW51bVRvU3RyaW5n
KGdsLCBlcnIpKTsKKyAgfQorICB3dHUuZHJhd1F1YWQoZ2wpOworICB3dHUuY2hlY2tDYW52YXMo
Z2wsIGNvbG9yLnJnYmEsCisgICAgICB0eXBlICsgIiBvZiBzaXplICIgKyB3aWR0aCArICJ4IiAr
IGhlaWdodCArICIgd2l0aCBubyBtaXBzIHNob3VsZCBkcmF3IHdpdGggIiArIGNvbG9yLm5hbWUp
OworICBjb3VudCA9IChjb3VudCArIDEpICUgY29sb3JzLmxlbmd0aDsKKyAgY29sb3IgPSBjb2xv
cnNbY291bnRdOworICBmaWxsTGV2ZWwoMCwgd2lkdGgsIGhlaWdodCwgY29sb3IucmdiYSwgY3Vi
ZU1hcCk7CisgIGdsLmdlbmVyYXRlTWlwbWFwKHRhcmdldCk7CisgIHZhciBlcnIgPSBnbC5nZXRF
cnJvcigpOworICBpZiAoZXJyID09IGdsLk9VVF9PRl9NRU1PUlkpIHsKKyAgICBkZWJ1Zygib3V0
IG9mIG1lbW9yeSIpOworICAgIHJldHVybiBmYWxzZTsKKyAgfQorICBpZiAoZXJyICE9IGdsLk5P
X0VSUk9SKSB7CisgICAgdGVzdEZhaWxlZCgidW5leHBlY3RlZCBnbCBlcnJvcjogIiArIHd0dS5n
bEVudW1Ub1N0cmluZyhnbCwgZXJyKSk7CisgIH0KKyAgZ2wudGV4UGFyYW1ldGVyaSh0YXJnZXQs
IGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSX01JUE1BUF9ORUFSRVNUKTsKKyAgd3R1
LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBjb2xvci5yZ2JhLAorICAgICAg
dHlwZSArICIgb2Ygc2l6ZSAiICsgd2lkdGggKyAieCIgKyBoZWlnaHQgKyAiIHdpdGggbWlwcyBz
aG91bGQgZHJhdyB3aXRoICIgKyBjb2xvci5uYW1lKTsKKworICBjb3VudCA9IChjb3VudCArIDEp
ICUgY29sb3JzLmxlbmd0aDsKKyAgY29sb3IgPSBjb2xvcnNbY291bnRdOworICBmaWxsTGV2ZWwo
MCwgd2lkdGgsIGhlaWdodCwgY29sb3IucmdiYSwgY3ViZU1hcCwgdHJ1ZSk7CisgIGdsLmdlbmVy
YXRlTWlwbWFwKHRhcmdldCk7CisKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2Fu
dmFzKGdsLCBjb2xvci5yZ2JhLAorICAgICAgdHlwZSArICIgb2Ygc2l6ZSAiICsgd2lkdGggKyAi
eCIgKyBoZWlnaHQgKyAiIHdpdGggbWlwcyBzaG91bGQgZHJhdyB3aXRoICIgKyBjb2xvci5uYW1l
KTsKKworICBnbC5kZWxldGVUZXh0dXJlKHRleCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wu
Tk9fRVJST1IsICJTaG91bGQgYmUgbm8gZXJyb3JzLiIpOworICByZXR1cm4gdHJ1ZTsKK30KKwor
ZnVuY3Rpb24gZmlsbExldmVsKGxldmVsLCB3aWR0aCwgaGVpZ2h0LCBjb2xvciwgb3B0X2N1YmVt
YXAsIG9wdF9zdWJUZXgpIHsKKyAgdmFyIG51bVBpeGVscyA9IHdpZHRoICogaGVpZ2h0OworICB2
YXIgcGl4ZWxzID0gbnVsbDsKKyAgdmFyIGxhcmdlRGltID0gTWF0aC5tYXgod2lkdGgsIGhlaWdo
dCk7CisgIHZhciBzbWFsbERpbSA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpOworCisgIHZhciBw
aXhlbFJvdyA9IG5ldyBVaW50OEFycmF5KGxhcmdlRGltICogNCk7CisgIGZvciAodmFyIGpqID0g
MDsgamogPCBsYXJnZURpbTsgKytqaikgeworICAgIHZhciBvZmYgPSBqaiAqIDQ7CisgICAgcGl4
ZWxSb3dbb2ZmICsgMF0gPSBjb2xvclswXTsKKyAgICBwaXhlbFJvd1tvZmYgKyAxXSA9IGNvbG9y
WzFdOworICAgIHBpeGVsUm93W29mZiArIDJdID0gY29sb3JbMl07CisgICAgcGl4ZWxSb3dbb2Zm
ICsgM10gPSBjb2xvclszXTsKKyAgfQorCisgIGlmIChsYXJnZURpbSA9PSBudW1QaXhlbHMpIHsK
KyAgICBwaXhlbHMgPSBwaXhlbFJvdzsKKyAgfSBlbHNlIHsKKyAgICB2YXIgcGl4ZWxzID0gbmV3
IFVpbnQ4QXJyYXkobnVtUGl4ZWxzICogNCk7CisgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IHNt
YWxsRGltOyArK2pqKSB7CisgICAgICB2YXIgb2ZmID0gamogKiBsYXJnZURpbSAqIDQ7CisgICAg
ICBwaXhlbHMuc2V0KHBpeGVsUm93LCBvZmYpOworICAgIH0KKyAgfQorIAorICB2YXIgdGFyZ2V0
cyA9IG9wdF9jdWJlbWFwID8gWworICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwK
KyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJF
X01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAg
ICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVSRV9DVUJFX01B
UF9ORUdBVElWRV9aXSA6CisgICAgW2dsLlRFWFRVUkVfMkRdOworCisgIGZvciAodmFyIGlpID0g
MDsgaWkgPCB0YXJnZXRzLmxlbmd0aDsgKytpaSkgeworICAgIC8vIGRlYnVnKHd0dS5nbEVudW1U
b1N0cmluZyhnbCwgdGFyZ2V0c1tpaV0pKTsKKyAgICB2YXIgaW5kZXggPSAoaWkgKyBwb3dlcikg
JSB0YXJnZXRzLmxlbmd0aDsKKyAgICB2YXIgdGFyZ2V0ID0gdGFyZ2V0c1tpbmRleF07CisgICAg
aWYgKG9wdF9zdWJUZXgpIHsKKyAgICAgIGdsLnRleFN1YkltYWdlMkQoCisgICAgICAgICAgdGFy
Z2V0LCBsZXZlbCwgMCwgMCwgd2lkdGgsIGhlaWdodCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwKKyAgICAgICAgICBwaXhlbHMpOworICAgIH0gZWxzZSB7CisgICAgICBnbC50ZXhJbWFnZTJE
KAorICAgICAgICAgIHRhcmdldCwgbGV2ZWwsIGdsLlJHQkEsIHdpZHRoLCBoZWlnaHQsIDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgcGl4ZWxzKTsKKyAgICB9CisgIH0K
K30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg4YTE4MzkzOGY1
MzRjYzJiZDhlMjMwOTIwYmNiOWFlODI3NTY2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1z
L2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwKQEAgLTAsMCArMSw1MDIgQEAKKzwhLS0KKworLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHVuaWZvcm0gYXJyYXkgQ29u
Zm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0i
ZXhhbXBsZSIgd2lkdGg9IjIiIGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdCBpZD0idnNo
YWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9z
aXRpb247CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9w
b3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0i
eC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAg
dW5pZm9ybSAkKHR5cGUpIGNvbG9yWzNdOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAg
ICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvbG9yWzBdJChlbGVtKSwgY29sb3JbMV0kKGVsZW0pLCBj
b2xvclsyXSQoZWxlbSksIDEpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRl
ci1tYXgiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1w
IGZsb2F0OworICAgIHVuaWZvcm0gdmVjNCBjb2xvcmFbJChtYXhVbmlmb3JtVmVjdG9ycyldOwor
ICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvbG9y
YVskKHVzZWRVbmlmb3JtVmVjdG9yKV0pOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0i
ZnNoYWRlci1tYXgtYWItYWIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVuaWZvcm0gdmVjNCAkKGRlY2wxKTsKKyAgICB1bmlm
b3JtIHZlYzQgJChkZWNsMik7CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0Zy
YWdDb2xvciA9IHZlYzQoJCh1c2FnZTEpICsgJCh1c2FnZTIpKTsKKyAgICB9Cis8L3NjcmlwdD4K
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworZGVidWcoIiIpOwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhh
bXBsZSIpOworCit2YXIgdlNyYyA9IHd0dS5nZXRTY3JpcHQoInZzaGFkZXIiKTsKK3ZhciBmVGVt
cGxhdGUgPSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyIik7CisKK3ZhciB0eXBlSW5mb3MgPSBbCisg
IHsgdHlwZTogJ2Zsb2F0JywKKyAgICBqc1R5cGVPZjogJ251bWJlcicsCisgICAgc2V0dGVyOiAn
dW5pZm9ybTFmdicsCisgICAgZWxlbTogJycsCisgICAgbnVtU3JjVmFsdWVzOiAzLAorICAgIGlu
dmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTJmdihsb2MsIFsxLCAy
XSk7CisgICAgfSwKKyAgICBzcmNWYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbihpbmRleCwgc3JjVmFs
dWVzKSB7CisgICAgICByZXR1cm4gc3JjVmFsdWVzW2luZGV4XS50b1N0cmluZygpOworICAgIH0s
CisgICAgcmV0dXJuVmFsdWVBc1N0cmluZzogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVy
biB2YWx1ZSA9PT0gbnVsbCA/ICdudWxsJyA6IHZhbHVlLnRvU3RyaW5nKCk7CisgICAgfSwKKyAg
ICBjaGVja1R5cGU6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gdHlwZW9mIHZhbHVl
ID09PSAnbnVtYmVyJzsKKyAgICB9LAorICAgIGNoZWNrVmFsdWU6IGZ1bmN0aW9uKHR5cGVJbmZv
LCBpbmRleCwgdmFsdWUpIHsKKyAgICAgIHJldHVybiB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXhd
ID09IHZhbHVlOworICAgIH0sCisgICAgc3JjVmFsdWVzOiBbMTYsIDE1LCAxNF0sCisgICAgc3Jj
VmFsdWVzTGVzczogW10sCisgICAgc3JjVmFsdWVzTGVzc011bHRpcGxlOiBbMTZdLAorICAgIHNy
Y1ZhbHVlc01vcmVNdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzXSwKKyAgICBzcmNWYWx1ZXNOb25N
dWx0aXBsZTogbnVsbCwKKyAgfSwKKyAgeyB0eXBlOiAndmVjMicsCisgICAganNUeXBlT2Y6ICdG
bG9hdDMyQXJyYXknLAorICAgIHNldHRlcjogJ3VuaWZvcm0yZnYnLAorICAgIGVsZW06ICdbMV0n
LAorICAgIG51bVNyY1ZhbHVlczogMywKKyAgICBpbnZhbGlkU2V0OiBmdW5jdGlvbihsb2MpIHsK
KyAgICAgIGdsLnVuaWZvcm0xZnYobG9jLCBbMl0pOworICAgIH0sCisgICAgaWxsZWdhbFNldDog
ZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlmb3JtMWZ2KGxvYywgMik7CisgICAgfSwKKyAg
ICBzcmNWYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbihpbmRleCwgc3JjVmFsdWVzKSB7CisgICAgICBy
ZXR1cm4gIlsiICsgc3JjVmFsdWVzW2luZGV4ICogMiArIDBdLnRvU3RyaW5nKCkgKyAiLCAiICsK
KyAgICAgICAgICAgICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiAyICsgMV0udG9TdHJpbmcoKSAr
ICJdIjsKKyAgICB9LAorICAgIHJldHVyblZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKHZhbHVlKSB7
CisgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyAnbnVsbCcgOiAoIlsiICsgdmFsdWVbMF0g
KyAiLCAiICsgdmFsdWVbMV0gKyAiXSIpOworICAgIH0sCisgICAgY2hlY2tUeXBlOiBmdW5jdGlv
bih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlICYmCisgICAgICAgICAgICAgdHlwZW9mIHZh
bHVlLmxlbmd0aCA9PT0gJ251bWJlcicgJiYKKyAgICAgICAgICAgICB2YWx1ZS5sZW5ndGggPT0g
MjsKKyAgICB9LAorICAgIGNoZWNrVmFsdWU6IGZ1bmN0aW9uKHR5cGVJbmZvLCBpbmRleCwgdmFs
dWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJgorICAgICAgICAgICAgIHR5cGVJ
bmZvLnNyY1ZhbHVlc1tpbmRleCAqIDIgKyAwXSA9PSB2YWx1ZVswXSAmJgorICAgICAgICAgICAg
IHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDIgKyAxXSA9PSB2YWx1ZVsxXTsKKyAgICB9LAor
ICAgIHNyY1ZhbHVlczogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTFdLAorICAgIHNyY1ZhbHVlc0xl
c3M6IFsxNl0sCisgICAgc3JjVmFsdWVzTGVzc011bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTNdLAor
ICAgIHNyY1ZhbHVlc01vcmVNdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5
XSwKKyAgICBzcmNWYWx1ZXNOb25NdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEw
XSwKKyAgfSwKKyAgeyB0eXBlOiAndmVjMycsCisgICAganNUeXBlT2Y6ICdGbG9hdDMyQXJyYXkn
LAorICAgIHNldHRlcjogJ3VuaWZvcm0zZnYnLAorICAgIGVsZW06ICdbMl0nLAorICAgIG51bVNy
Y1ZhbHVlczogMywKKyAgICBpbnZhbGlkU2V0OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGdsLnVu
aWZvcm0xZnYobG9jLCBbMl0pOworICAgIH0sCisgICAgaWxsZWdhbFNldDogZnVuY3Rpb24obG9j
KSB7CisgICAgICBnbC51bmlmb3JtMWZ2KGxvYywgMik7CisgICAgfSwKKyAgICBzcmNWYWx1ZUFz
U3RyaW5nOiBmdW5jdGlvbihpbmRleCwgc3JjVmFsdWVzKSB7CisgICAgICByZXR1cm4gIlsiICsg
c3JjVmFsdWVzW2luZGV4ICogMyArIDBdLnRvU3RyaW5nKCkgKyAiLCAiICsKKyAgICAgICAgICAg
ICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiAzICsgMV0udG9TdHJpbmcoKSArICIsICIgKworICAg
ICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDMgKyAyXS50b1N0cmluZygpICsgIl0i
OworICAgIH0sCisgICAgcmV0dXJuVmFsdWVBc1N0cmluZzogZnVuY3Rpb24odmFsdWUpIHsKKyAg
ICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCA/ICdudWxsJyA6CisgICAgICAgICAgKCJbIiArIHZh
bHVlWzBdICsgIiwgIiArIHZhbHVlWzFdICsgIiwgIiArIHZhbHVlWzJdICsgIl0iKTsKKyAgICB9
LAorICAgIGNoZWNrVHlwZTogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSAm
JgorICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZS5sZW5ndGggPT09ICdudW1iZXInICYmCisgICAg
ICAgICAgICAgdmFsdWUubGVuZ3RoID09IDM7CisgICAgfSwKKyAgICBjaGVja1ZhbHVlOiBmdW5j
dGlvbih0eXBlSW5mbywgaW5kZXgsIHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUgIT09IG51
bGwgJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiAzICsgMF0gPT0g
dmFsdWVbMF0gJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiAzICsg
MV0gPT0gdmFsdWVbMV0gJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXgg
KiAzICsgMl0gPT0gdmFsdWVbMl07CisgICAgfSwKKyAgICBzcmNWYWx1ZXM6IFsxNiwgMTUsIDE0
LCAxMywgMTIsIDExLCAxMCwgOSwgOF0sCisgICAgc3JjVmFsdWVzTGVzczogWzE2LCAxNV0sCisg
ICAgc3JjVmFsdWVzTGVzc011bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMV0sCisgICAg
c3JjVmFsdWVzTW9yZU11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDksIDgs
IDcsIDYsIDUsIDQsIDMsIDJdLAorICAgIHNyY1ZhbHVlc05vbk11bHRpcGxlOiBbMTYsIDE1LCAx
NCwgMTMsIDEyLCAxMSwgMTAsIDksIDgsIDddLAorICB9LAorICB7IHR5cGU6ICd2ZWM0JywKKyAg
ICBqc1R5cGVPZjogJ0Zsb2F0MzJBcnJheScsCisgICAgc2V0dGVyOiAndW5pZm9ybTRmdicsCisg
ICAgZWxlbTogJ1szXScsCisgICAgbnVtU3JjVmFsdWVzOiAzLAorICAgIGludmFsaWRTZXQ6IGZ1
bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFmdihsb2MsIFsyXSk7CisgICAgfSwKKyAg
ICBpbGxlZ2FsU2V0OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGdsLnVuaWZvcm0xZnYobG9jLCAy
KTsKKyAgICB9LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKGluZGV4LCBzcmNWYWx1
ZXMpIHsKKyAgICAgIHJldHVybiAiWyIgKyBzcmNWYWx1ZXNbaW5kZXggKiA0ICsgMF0udG9TdHJp
bmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDQgKyAx
XS50b1N0cmluZygpICsgIiwgIiArCisgICAgICAgICAgICAgICAgICAgc3JjVmFsdWVzW2luZGV4
ICogNCArIDJdLnRvU3RyaW5nKCkgKyAiLCAiICsKKyAgICAgICAgICAgICAgICAgICBzcmNWYWx1
ZXNbaW5kZXggKiA0ICsgM10udG9TdHJpbmcoKSArICJdIjsKKyAgICB9LAorICAgIHJldHVyblZh
bHVlQXNTdHJpbmc6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUgPT09IG51
bGwgPyAnbnVsbCcgOgorICAgICAgICAgICgiWyIgKyB2YWx1ZVswXSArICIsICIgKyB2YWx1ZVsx
XSArCisgICAgICAgICAgICIsICIgKyB2YWx1ZVsyXSArICIsICIgKyB2YWx1ZVszXSArICJdIik7
CisgICAgfSwKKyAgICBjaGVja1R5cGU6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4g
dmFsdWUgJiYKKyAgICAgICAgICAgICB0eXBlb2YgdmFsdWUubGVuZ3RoID09PSAnbnVtYmVyJyAm
JgorICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCA9PSA0OworICAgIH0sCisgICAgY2hlY2tWYWx1
ZTogZnVuY3Rpb24odHlwZUluZm8sIGluZGV4LCB2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVl
ICE9PSBudWxsICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogNCAr
IDBdID09IHZhbHVlWzBdICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4
ICogNCArIDFdID09IHZhbHVlWzFdICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVz
W2luZGV4ICogNCArIDJdID09IHZhbHVlWzJdICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3Jj
VmFsdWVzW2luZGV4ICogNCArIDNdID09IHZhbHVlWzNdOworICAgIH0sCisgICAgc3JjVmFsdWVz
OiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDksIDgsIDcsIDYsIDVdLAorICAgIHNyY1Zh
bHVlc0xlc3M6IFsxNiwgMTUsIDE0XSwKKyAgICBzcmNWYWx1ZXNMZXNzTXVsdGlwbGU6IFsxNiwg
MTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOV0sCisgICAgc3JjVmFsdWVzTW9yZU11bHRpcGxlOiBb
MTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDIsIDFdLAor
ICAgIHNyY1ZhbHVlc05vbk11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDks
IDgsIDcsIDYsIDUsIDRdLAorICB9CitdOworCitmb3IgKHZhciB0dCA9IDA7IHR0IDwgdHlwZUlu
Zm9zLmxlbmd0aDsgKyt0dCkgeworICB2YXIgdHlwZUluZm8gPSB0eXBlSW5mb3NbdHRdOworICBk
ZWJ1ZygiIik7CisgIGRlYnVnKCJjaGVjayAiICsgdHlwZUluZm8udHlwZSk7CisgIHZhciBmU3Jj
ID0gd3R1LnJlcGxhY2VQYXJhbXMoZlRlbXBsYXRlLCB0eXBlSW5mbyk7CisgIC8vZGVidWcoImZT
cmM6ICIgKyBmU3JjKTsKKyAgdmFyIHByb2dyYW0gPSB3dHUubG9hZFByb2dyYW0oZ2wsIHZTcmMs
IGZTcmMpOworCisgIHZhciBudW1Vbmlmb3JtcyA9IGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJv
Z3JhbSwgZ2wuQUNUSVZFX1VOSUZPUk1TKTsKKyAgYXNzZXJ0TXNnKG51bVVuaWZvcm1zID09IDEs
ICIxIHVuaWZvcm0gZm91bmQiKTsKKyAgdmFyIGluZm8gPSBnbC5nZXRBY3RpdmVVbmlmb3JtKHBy
b2dyYW0sIDApOworICBhc3NlcnRNc2coaW5mby5uYW1lID09ICJjb2xvclswXSIsCisgICAgICAg
ICAgICAidW5pZm9ybSBuYW1lIGlzICdjb2xvclswXScgbm90ICdjb2xvcicgYXMgcGVyIE9wZW5H
TCBFUyAyLjAuMjQgc2VjdGlvbiAyLjEwIik7CisgIHZhciBsb2MgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgImNvbG9yWzBdIik7CisgIHZhciBzcmNWYWx1ZXMgPSB0eXBlSW5mby5z
cmNWYWx1ZXM7CisgIHZhciBzcmNWYWx1ZXNMZXNzID0gdHlwZUluZm8uc3JjVmFsdWVzTGVzczsK
KyAgdmFyIHNyY1ZhbHVlc0xlc3NNdWx0aXBsZSA9IHR5cGVJbmZvLnNyY1ZhbHVlc0xlc3NNdWx0
aXBsZTsKKyAgdmFyIHNyY1ZhbHVlc01vcmVNdWx0aXBsZSA9IHR5cGVJbmZvLnNyY1ZhbHVlc01v
cmVNdWx0aXBsZTsKKyAgdmFyIHNyY1ZhbHVlc05vbk11bHRpcGxlID0gdHlwZUluZm8uc3JjVmFs
dWVzTm9uTXVsdGlwbGU7CisKKyAgLy8gVHJ5IHNldHRpbmcgdGhlIHZhbHVlIGJlZm9yZSB1c2lu
ZyB0aGUgcHJvZ3JhbQorICBnbFt0eXBlSW5mby5zZXR0ZXJdKGxvYywgc3JjVmFsdWVzKTsKKyAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwKKyAgICAgICAgICAgICAg
ICAgICJzaG91bGQgZmFpbCBpZiB0aGVyZSBpcyBubyBjdXJyZW50IHByb2dyYW0iKTsKKworICBn
bC51c2VQcm9ncmFtKHByb2dyYW0pOworICBnbFt0eXBlSW5mby5zZXR0ZXJdKGxvYywgc3JjVmFs
dWVzTGVzcyk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwKKyAgICAg
ICAgICAgICAgICAgICJzaG91bGQgZmFpbCB3aXRoIGluc3VmZmljaWVudCBhcnJheSBzaXplIHdp
dGggZ2wuIiArIHR5cGVJbmZvLnNldHRlcik7CisgIGlmIChzcmNWYWx1ZXNOb25NdWx0aXBsZSkg
eworICAgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1ZXNOb25NdWx0aXBsZSk7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLAorICAgICAgICAgICAgICAg
ICAgICAic2hvdWxkIGZhaWwgd2l0aCBub24tbXVsdGlwbGUgYXJyYXkgc2l6ZSB3aXRoIGdsLiIg
KyB0eXBlSW5mby5zZXR0ZXIpOworICB9CisgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNW
YWx1ZXMpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAg
ICAgICAgImNhbiBzZXQgYW4gYXJyYXkgb2YgdW5pZm9ybXMgd2l0aCBnbC4iICsgdHlwZUluZm8u
c2V0dGVyKTsKKyAgZ2xbdHlwZUluZm8uc2V0dGVyXShsb2MsIHNyY1ZhbHVlc0xlc3NNdWx0aXBs
ZSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAg
ICAiY2FuIHBhcnRpYWxseSBzZXQgYW4gYXJyYXkgb2YgdW5pZm9ybXMgd2l0aCBnbC4iICsgdHlw
ZUluZm8uc2V0dGVyICsgIiB3aXRoIGEgc21hbGxlciBhcnJheSIpOworICBnbFt0eXBlSW5mby5z
ZXR0ZXJdKGxvYywgc3JjVmFsdWVzTW9yZU11bHRpcGxlKTsKKyAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICJjYW4gc2V0IGFuIGFycmF5IG9mIHVu
aWZvcm1zIHdpdGggZ2wuIiArIHR5cGVJbmZvLnNldHRlciArICIgd2l0aCBhIGxhcmdlciBhcnJh
eSIpOworCisgIHZhciB2YWx1ZXMgPSBnbC5nZXRVbmlmb3JtKHByb2dyYW0sIGxvYyk7CisgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAiY2FuIGNh
bGwgZ2wuZ2V0VW5pZm9ybSIpOworICBhc3NlcnRNc2codHlwZUluZm8uY2hlY2tUeXBlKHZhbHVl
cyksCisgICAgICAgICAgICAiZ2wuZ2V0VW5pZm9ybSByZXR1cm5zIHRoZSBjb3JyZWN0IHR5cGUu
Iik7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0eXBlSW5mby5udW1TcmNWYWx1ZXM7ICsraWkp
IHsKKyAgICB2YXIgZWxlbUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAiY29s
b3JbIiArIGlpICsgIl0iKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAor
ICAgICAgICAgICAgICAgICAgICAiY2FuIGdldCBsb2NhdGlvbiBvZiBlbGVtZW50ICIgKyBpaSAr
CisgICAgICAgICAgICAgICAgICAgICIgb2YgYXJyYXkgZnJvbSBnbC5nZXRVbmlmb3JtTG9jYXRp
b24iKTsKKyAgICB2YXIgdmFsdWUgPSBnbC5nZXRVbmlmb3JtKHByb2dyYW0sIGVsZW1Mb2MpOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAg
ICJjYW4gZ2V0IHZhbHVlIG9mIGVsZW1lbnQgIiArIGlpICsgIiBvZiBhcnJheSBmcm9tIGdsLmdl
dFVuaWZvcm0iKTsKKyAgICBhc3NlcnRNc2codHlwZUluZm8uY2hlY2tWYWx1ZSh0eXBlSW5mbywg
aWksIHZhbHVlKSwKKyAgICAgICAgICAgICAgInZhbHVlIHB1dCBpbiAoIiArIHR5cGVJbmZvLnNy
Y1ZhbHVlQXNTdHJpbmcoaWksIHNyY1ZhbHVlcykgKworICAgICAgICAgICAgICAiKSBtYXRjaGVz
IHZhbHVlIHB1bGxlZCBvdXQgKCIgKworICAgICAgICAgICAgICB0eXBlSW5mby5yZXR1cm5WYWx1
ZUFzU3RyaW5nKHZhbHVlKSArICIpIik7CisgIH0KKyAgdHlwZUluZm8uaW52YWxpZFNldChsb2Mp
OworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAg
ICAgICAgICAgInVzaW5nIHRoZSB3cm9uZyBzaXplIG9mIGdsLlVuaWZvcm0gZmFpbHMiKTsKKyAg
dmFyIGV4Y2VwdGlvbkNhdWdodCA9IGZhbHNlOworICBpZiAodHlwZUluZm8uaWxsZWdhbFNldCkg
eworICAgIHRyeSB7CisgICAgICB0eXBlSW5mby5pbGxlZ2FsU2V0KGxvYyk7CisgICAgfSBjYXRj
aCAoZSkgeworICAgICAgZXhjZXB0aW9uQ2F1Z2h0ID0gdHJ1ZTsKKyAgICB9CisgICAgYXNzZXJ0
TXNnKGV4Y2VwdGlvbkNhdWdodCwgInBhc3Npbmcgbm9uLWFycmF5IHRvIGdsVW5pZm9ybSpmdiBz
aG91bGQgdGhyb3cgVHlwZUVycm9yIik7CisgIH0KKworICBnbC51c2VQcm9ncmFtKG51bGwpOwor
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgICAgICAgImNh
biBjYWxsIGdsLnVzZVByb2dyYW0obnVsbCkiKTsKK30KKworLy8gVGhpcyB0ZXN0IGlzIHRvIHRl
c3QgZHJpdmVycyB0aGUgaGF2ZSBidWdzIHJlbGF0ZWQgdG8gb3B0aW1pemluZworLy8gYW4gYXJy
YXkgb2YgdW5pZm9ybXMgd2hlbiBvbmx5IDEgb2YgdGhvc2UgdW5pZm9ybXMgaXMgdXNlZC4KK2Rl
YnVnKCIiKTsKK2RlYnVnKCJUZXN0IGRyaXZlcnMgZG9uJ3Qgb3ZlciBvcHRpbWl6ZSB1bnVzZWQg
YXJyYXkgZWxlbWVudHMiKTsKK3ZhciBtYXhVbmlmb3JtVmVjdG9ycyA9IGdsLmdldFBhcmFtZXRl
cihnbC5NQVhfRlJBR01FTlRfVU5JRk9STV9WRUNUT1JTKTsKK3ZhciB0ZXN0cyA9IFsKKyB7IGRl
c2M6ICJ1c2luZyBsYXN0IGVsZW1lbnQiLAorICAgbWF4VW5pZm9ybVZlY3RvcnM6IG1heFVuaWZv
cm1WZWN0b3JzLAorICAgdXNlZFVuaWZvcm1WZWN0b3I6IG1heFVuaWZvcm1WZWN0b3JzIC0gMSwK
KyAgIHNoYWRlcjogImZzaGFkZXItbWF4IiwKKyAgIGNvbG9yOiBbMCwgMSwgMCwgMV0sCisgICBh
cnJheU5hbWU6ICJjb2xvcmEiLAorICAgZXh0cmFOYW1lOiAiY29sb3JiIiwKKyB9LAorIHsgZGVz
YzogInVzaW5nIGZpcnN0IGVsZW1lbnQiLAorICAgbWF4VW5pZm9ybVZlY3RvcnM6IG1heFVuaWZv
cm1WZWN0b3JzLAorICAgdXNlZFVuaWZvcm1WZWN0b3I6IDAsCisgICBzaGFkZXI6ICJmc2hhZGVy
LW1heCIsCisgICBjb2xvcjogWzAsIDEsIDAsIDFdLAorICAgYXJyYXlOYW1lOiAiY29sb3JhIiwK
KyAgIGV4dHJhTmFtZTogImNvbG9yYiIsCisgfSwKK107CisKKy8vIEdlbmVyYXRlIHRlc3Qgc2hh
ZGVycy4gV2UncmUgdHJ5aW5nIHRvIGZvcmNlIHRoZSBkcml2ZXIgdG8KKy8vIG92ZXJmbG93IGZy
b20gMSBhcnJheSBpbnRvIHRoZSBuZXh0IGlmIGl0IG9wdGltaXplcy4gU28gZm9yIGV4YW1wbGUg
aWYgaXQgd2FzIEMKKy8vCisvLyAgIGludCBiaWdbNF07CisvLyAgIGludCBsaXR0bGVbMV07Cisv
LyAgIGJpZ1s1XSA9IDEyNDsKKy8vCisvLyBXb3VsZCBlbmQgdXAgc2V0dGluZyBsaXR0bGVbMF0g
aW5zdGVhZCBvZiBiaWcuIFNvbWUgZHJpdmVycyBvcHRpbWl6ZQorLy8gd2hlcmUgaWYgeW91IG9u
bHkgdXNlIHNheSAnYmlnWzNdJyBpdCB3aWxsIGFjdHVhbGx5IG9ubHkgYWxsb2NhdGUganVzdCAx
IGVsZW1lbnQKKy8vIGZvciBiaWcuCisvLworLy8gQnV0LCBzb21lIGRyaXZlcnMgaGF2ZSBhIGJ1
ZyB3aGVyZSB0aGUgZmFjdCB0aGF0IHRoZXkgb3B0aW1pemVkIGJpZyB0byAxIGVsZW1lbnQKKy8v
IGRvZXMgbm90IGdldCBwYXNzZWQgZG93biB0byBnbFVuaWZvcm0gc28gd2hlbiBzZXR0aW5nIHRo
ZSB1bmlmb3JtICdiaWdbM10nIHRoZXkKKy8vIG92ZXJ3cml0ZSBtZW1vcnkuCisvLworLy8gSWYg
dGhlIGRyaXZlciBjcmFzaGVzLCB5ZWEuIFdlIGZvdW5kIGEgYnVnLiBXZSBjYW4gYmxhY2tsaXN0
IHRoZSBkcml2ZXIuCisvLyBPdGhlcndpc2Ugd2UgdHJ5IHZhcmlvdXMgY29tYmluYXRpb25zIHNv
IHRoYXQgc2V0dGluZyAnbGl0dGxlWzBdJyBmaXJzdAorLy8gYW5kIHRoZW4gc2V0dGluZyBhbGwg
ZWxlbWVudHMgb2YgJ2JpZycgd2UgaG9wZSBpdCB3aWxsIG92ZXJ3cml0ZSAnbGl0dGxlWzBdJwor
Ly8gd2hpY2ggd2lsbCBzaG93IHRoZSBidWcgYW5kIGFnYWluIHdlIGNhbiBibGFja2xpc3QgdGhl
IGRyaXZlci4KKy8vCisvLyBXZSBkb24ndCBrbm93IGhvdyB0aGUgZHJpdmVyIHdpbGwgb3JkZXIs
IGluIG1lbW9yeSwgdGhlIHZhcmlvdXMgdW5pZm9ybXMKKy8vIG9yIGZvciB0aGF0IG1hdHRlciB3
ZSBkb24ndCBldmVuIGtub3cgaWYgdGhleSB3aWxsIGJlIGNvbnRpZ3VvdXMgaW4gbWVtb3J5Cisv
LyBidXQgdG8gaG9wZWZ1bGx5IGV4cG9zZSBhbnkgYnVncyB3ZSB0cnkgdmFyaW91cyBjb21iaW5h
dGlvbnMuCisvLworLy8gICAgSXQgY291bGQgYmUgdGhlIGNvbXBpbGVyIG9yZGVycyB1bmlmb3Jt
cyBhbHBoYWJldGljYWxseS4KKy8vICAgIEl0IGNvdWxkIGJlIGl0IG9yZGVycyB0aGVtIGluIG9y
ZGVyIG9mIGRlY2xhcmF0aW9uLgorLy8gICAgSXQgY291bGQgYmUgaXQgb3JkZXJzIHRoZW0gaW4g
b3JkZXIgb2YgdXNhZ2UuCisvLworLy8gV2UgYWxzbyB0ZXN0IHVzaW5nIG9ubHkgZmlyc3QgZWxl
bWVudCBvZiBiaWcgb3IganVzdCB0aGUgbGFzdCBlbGVtZW50IG9mIGJpZy4KKy8vCitmb3IgKHZh
ciBuYW1lT3JkZXIgPSAwOyBuYW1lT3JkZXIgPCAyOyArK25hbWVPcmRlcikgeworICB2YXIgbmFt
ZTEgPSBuYW1lT3JkZXIgPyAiY29sb3JhIiA6ICJjb2xvcmIiOworICB2YXIgbmFtZTIgPSBuYW1l
T3JkZXIgPyAiY29sb3JiIiA6ICJjb2xvcmEiOworICBmb3IgKHZhciBsYXN0ID0gMDsgbGFzdCA8
IDI7ICsrbGFzdCkgeworICAgIHZhciB1c2VkVW5pZm9ybVZlY3RvciA9IGxhc3QgPyBtYXhVbmlm
b3JtVmVjdG9ycyAtIDIgOiAwOworICAgIGZvciAodmFyIGRlY2xPcmRlciA9IDA7IGRlY2xPcmRl
ciA8IDI7ICsrZGVjbE9yZGVyKSB7CisgICAgICB2YXIgYmlnTmFtZSAgICA9IGRlY2xPcmRlciA/
IG5hbWUxIDogbmFtZTI7CisgICAgICB2YXIgbGl0dGxlTmFtZSA9IGRlY2xPcmRlciA/IG5hbWUy
IDogbmFtZTE7CisgICAgICB2YXIgZGVjbDEgPSBiaWdOYW1lICsgIlsiICsgKG1heFVuaWZvcm1W
ZWN0b3JzIC0gMSkgKyAiXSI7CisgICAgICB2YXIgZGVjbDIgPSBsaXR0bGVOYW1lICsgIlsxXSI7
CisgICAgICBpZiAoZGVjbE9yZGVyKSB7CisgICAgICAgIHZhciB0ID0gZGVjbDE7CisgICAgICAg
IGRlY2wxID0gZGVjbDI7CisgICAgICAgIGRlY2wyID0gdDsKKyAgICAgIH0KKyAgICAgIGZvciAo
dmFyIHVzYWdlT3JkZXIgPSAwOyB1c2FnZU9yZGVyIDwgMjsgKyt1c2FnZU9yZGVyKSB7CisgICAg
ICAgIHZhciB1c2FnZTEgPSBiaWdOYW1lICsgIlsiICsgdXNlZFVuaWZvcm1WZWN0b3IgKyAiXSI7
CisgICAgICAgIHZhciB1c2FnZTIgPSBsaXR0bGVOYW1lICsgIlswXSI7CisgICAgICAgIGlmICh1
c2FnZU9yZGVyKSB7CisgICAgICAgICAgdmFyIHQgPSB1c2FnZTE7CisgICAgICAgICAgdXNhZ2Ux
ID0gdXNhZ2UyOworICAgICAgICAgIHVzYWdlMiA9IHQ7CisgICAgICAgIH0KKyAgICAgICAgdmFy
IGZTcmMgPSB3dHUucmVwbGFjZVBhcmFtcyh3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyLW1heC1hYi1h
YiIpLCB7CisgICAgICAgICAgZGVjbDE6IGRlY2wxLAorICAgICAgICAgIGRlY2wyOiBkZWNsMiwK
KyAgICAgICAgICB1c2FnZTE6IHVzYWdlMSwKKyAgICAgICAgICB1c2FnZTI6IHVzYWdlMiwKKyAg
ICAgICAgfSk7CisgICAgICAgIHZhciBkZXNjID0gInRlc3Rpbmc6ICIgKyBuYW1lMSArICI6IiAr
IG5hbWUyICsgIiB1c2luZyAiICsgKGxhc3QgPyAibGFzdCIgOiAiZmlyc3QiKSArCisgICAgICAg
ICAgICAiIGNyZWF0aW5nIHVuaWZvcm1zICIgKyBkZWNsMSArICIgIiArIGRlY2wyICsgIiBhbmQg
YWNjZXNzaW5nICIgKyB1c2FnZTEgKyAiICIgKyB1c2FnZTI7CisgICAgICAgIHRlc3RzLnB1c2go
eworICAgICAgICAgIGRlc2M6IGRlc2MsCisgICAgICAgICAgbWF4VW5pZm9ybVZlY3RvcnM6IG1h
eFVuaWZvcm1WZWN0b3JzIC0gMSwKKyAgICAgICAgICB1c2VkVW5pZm9ybVZlY3RvcjogdXNlZFVu
aWZvcm1WZWN0b3IsCisgICAgICAgICAgc291cmNlOiBmU3JjLAorICAgICAgICAgIGNvbG9yOiBb
MCwgMCwgMCwgMV0sCisgICAgICAgICAgYXJyYXlOYW1lOiBiaWdOYW1lLAorICAgICAgICAgIGV4
dHJhTmFtZTogbGl0dGxlTmFtZSwKKyAgICAgICAgfSk7CisgICAgICB9CisgICAgfQorICB9Cit9
CisKK3ZhciBhbGxSZXF1aXJlZFVuaWZvcm1Mb2NhdGlvbnNRdWVyeWFibGUgPSB0cnVlOworZnVu
Y3Rpb24gdGVzdFVuaWZvcm1PcHRpbWl6YXRpb25Jc3N1ZXModGVzdEluZGV4KSB7CisgIHZhciB0
ZXN0ID0gdGVzdHNbdGVzdEluZGV4XTsKKyAgZGVidWcoIiIpOworICBkZWJ1Zyh0ZXN0LmRlc2Mp
OworICB2YXIgZlNyYyA9IHRlc3Quc291cmNlOworICBpZiAoIWZTcmMpIHsKKyAgICBmU3JjID0g
d3R1LnJlcGxhY2VQYXJhbXMod3R1LmdldFNjcmlwdCh0ZXN0LnNoYWRlciksIHRlc3QpOworICB9
CisKKyAgdmFyIGNvbnNvbGVFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUi
KTsKKyAgd3R1LmFkZFNoYWRlclNvdXJjZSgKKyAgICAgIGNvbnNvbGVFbGVtLCAidmVydGV4IHNo
YWRlciIsIHZTcmMpOworICB3dHUuYWRkU2hhZGVyU291cmNlKAorICAgICAgY29uc29sZUVsZW0s
ICJmcmFnbWVudCBzaGFkZXIiLCBmU3JjKTsKKworICB2YXIgcHJvZ3JhbSA9IHd0dS5sb2FkUHJv
Z3JhbShnbCwgdlNyYywgZlNyYyk7CisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisKKyAgdmFy
IGNvbG9yYkxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sIHRlc3QuZXh0
cmFOYW1lICsgIlswXSIpOworICBpZiAoY29sb3JiTG9jYXRpb24pIHsKKyAgICBnbC51bmlmb3Jt
NGZ2KGNvbG9yYkxvY2F0aW9uLCBbMCwgMSwgMCwgMF0pOworICB9CisKKyAgLy8gU2V0IGp1c3Qg
dGhlIHVzZWQgdW5pZm9ybQorICB2YXIgbmFtZSA9IHRlc3QuYXJyYXlOYW1lICsgIlsiICsgdGVz
dC51c2VkVW5pZm9ybVZlY3RvciArICJdIjsKKyAgdmFyIHVuaWZvcm1Mb2NhdGlvbiA9IGdsLmdl
dFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCBuYW1lKTsKKyAgZ2wudW5pZm9ybTRmdih1bmlmb3Jt
TG9jYXRpb24sIHRlc3QuY29sb3IpOworICB3dHUuc2V0dXBRdWFkKGdsLCAxLCBwb3NpdGlvbkxv
Yyk7CisgIHd0dS5kcmF3SW5kZXhlZFF1YWQoZ2wsIDEpOworICB3dHUuY2hlY2tDYW52YXMoZ2ws
IFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKworICAvLyBTZXQgYWxsIHRo
ZSB1bnVzZWQgdW5pZm9ybXMKKyAgdmFyIGxvY2F0aW9ucyA9IFtdOworICBhbGxSZXF1aXJlZFVu
aWZvcm1Mb2NhdGlvbnNRdWVyeWFibGUgPSB0cnVlOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwg
dGVzdC5tYXhVbmlmb3JtVmVjdG9yczsgKytpaSkgeworICAgIHZhciBuYW1lID0gdGVzdC5hcnJh
eU5hbWUgKyAiWyIgKyBpaSArICJdIjsKKyAgICB2YXIgdW5pZm9ybUxvY2F0aW9uID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sIG5hbWUpOworICAgIGxvY2F0aW9ucy5wdXNoKHVuaWZv
cm1Mb2NhdGlvbik7CisgICAgaWYgKGlpID09IHRlc3QudXNlZFVuaWZvcm1WZWN0b3IpIHsKKyAg
ICAgIGNvbnRpbnVlOworICAgIH0KKyAgICAvLyBMb2NhdGlvbnMgPiB1c2VkVW5mb3JtVmVjdG9y
IG1heSBub3QgZXhpc3QuCisgICAgLy8gTG9jYXRpb25zIDw9IHVzZWRVbmlmb3JtVmVjdG9yIE1V
U1QgZXhpc3QuCisgICAgaWYgKGlpIDw9IHRlc3QudXNlZFVuaWZvcm1WZWN0b3IgJiYgKHVuaWZv
cm1Mb2NhdGlvbiA9PT0gdW5kZWZpbmVkIHx8IHVuaWZvcm1Mb2NhdGlvbiA9PT0gbnVsbCkpIHsK
KyAgICAgIGFsbFJlcXVpcmVkVW5pZm9ybUxvY2F0aW9uc1F1ZXJ5YWJsZSA9IGZhbHNlOworICAg
IH0KKyAgICBnbC51bmlmb3JtNGZ2KHVuaWZvcm1Mb2NhdGlvbiwgWzEsIDAsIDAsIDFdKTsKKyAg
fQorICBzaG91bGRCZVRydWUoImFsbFJlcXVpcmVkVW5pZm9ybUxvY2F0aW9uc1F1ZXJ5YWJsZSIp
OworICB2YXIgcG9zaXRpb25Mb2MgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAiYV9w
b3NpdGlvbiIpOworICB3dHUuc2V0dXBRdWFkKGdsLCAxLCBwb3NpdGlvbkxvYyk7CisgIHd0dS5k
cmF3SW5kZXhlZFF1YWQoZ2wsIDEpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAs
IDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKworICAvLyBDaGVjayB3ZSBjYW4gcmVhZCAmIHdy
aXRlIGVhY2ggdW5pZm9ybS4KKyAgLy8gTm90ZTogdW5pZm9ybXMgcGFzdCB0ZXN0LnVzZWRVbmlm
b3JtVmVjdG9yIG1pZ2h0IG5vdCBleGlzdC4KKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRlc3Qu
bWF4VW5pZm9ybVZlY3RvcnM7ICsraWkpIHsKKyAgICBnbC51bmlmb3JtNGZ2KGxvY2F0aW9uc1tp
aV0sIFtpaSArIDQsIGlpICsgMiwgaWkgKyAzLCBpaSArIDFdKTsKKyAgfQorCisgIHZhciBrRXBz
aWxvbiA9IDAuMDE7CisgIHZhciBpc1NhbWUgPSBmdW5jdGlvbih2MSwgdjIpIHsKKyAgICByZXR1
cm4gTWF0aC5hYnModjEgLSB2MikgPCBrRXBzaWxvbjsKKyAgfTsKKworICBmb3IgKHZhciBpaSA9
IDA7IGlpIDwgdGVzdC5tYXhVbmlmb3JtVmVjdG9yczsgKytpaSkgeworICAgIHZhciBsb2NhdGlv
biA9IGxvY2F0aW9uc1tpaV07CisgICAgaWYgKGxvY2F0aW9uKSB7CisgICAgICB2YXIgdmFsdWUg
PSBnbC5nZXRVbmlmb3JtKHByb2dyYW0sIGxvY2F0aW9uc1tpaV0pOworICAgICAgaWYgKCFpc1Nh
bWUodmFsdWVbMF0sIGlpICsgNCkgfHwKKyAgICAgICAgICAhaXNTYW1lKHZhbHVlWzFdLCBpaSAr
IDIpIHx8CisgICAgICAgICAgIWlzU2FtZSh2YWx1ZVsyXSwgaWkgKyAzKSB8fAorICAgICAgICAg
ICFpc1NhbWUodmFsdWVbM10sIGlpICsgMSkpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgibG9jYXRp
b246ICIgKyBpaSArICIgd2FzIG5vdCBjb3JyZWN0IHZhbHVlIik7CisgICAgICAgIGJyZWFrOwor
ICAgICAgfQorICAgIH0KKyAgfQorfQorCit2YXIgdGVzdEluZGV4ID0gMDsKK2Z1bmN0aW9uIHJ1
bk5leHRUZXN0KCkgeworICB0ZXN0VW5pZm9ybU9wdGltaXphdGlvbklzc3Vlcyh0ZXN0SW5kZXgr
Kyk7CisgIGlmICh0ZXN0SW5kZXggPCB0ZXN0cy5sZW5ndGgpIHsKKyAgICBzZXRUaW1lb3V0KHJ1
bk5leHRUZXN0LCAxMCk7CisgIH0gZWxzZSB7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5O
T19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBlcnJvcnMiKTsKKyAgICBkZWJ1ZygiIik7Cisg
ICAgZmluaXNoVGVzdCgpOworICB9Cit9CitydW5OZXh0VGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlm
b3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFlYWU4MGMwMGE0MjczMTg2ZmIz
NGU1MDc4ZDhhYmEwMjU1OWViNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0t
ZGVmYXVsdC12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDM2MiBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdW5pZm9ybSBkZWZhdWx0IHZhbHVl
czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9w
LWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3QtZXZhbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIiIGhlaWdodD0iMiI+IDwvY2FudmFzPgor
PHNjcmlwdCBpZD0idnNoYWRlcjAiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0
ZSB2ZWM0IHZQb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB2UG9z
aXRpb247Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIwIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSAkKHR5cGUp
IHVfdW5pZm9ybTsKKworYm9vbCBpc1plcm8oJCh0eXBlKSB2YWx1ZSkgeworICQoY2hlY2spOwor
fQorCit2b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29sb3IgPSBpc1plcm8odV91bmlmb3JtKSA/
IHZlYzQoMCwxLDAsMSkgOiB2ZWM0KDEsMCwwLDEpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSJ2c2hhZGVyMSIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBv
c2l0aW9uOwordmFyeWluZyB2ZWM0IHZfY29sb3I7Cit1bmlmb3JtICQodHlwZSkgdV91bmlmb3Jt
OworCitib29sIGlzWmVybygkKHR5cGUpIHZhbHVlKSB7CisgICAkKGNoZWNrKTsKK30KKwordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICB2X2NvbG9yID0g
aXNaZXJvKHVfdW5pZm9ybSkgPyB2ZWM0KDAsMSwwLDEpIDogdmVjNCgxLDAsMCwxKTsKK30KKzwv
c2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjEiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzQgdl9jb2xvcjsKK3ZvaWQg
bWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdl9jb2xvcjsKK30KKzwvc2NyaXB0PgorPHNj
cmlwdCBpZD0idnNoYWRlcjIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2
ZWM0IHZQb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRp
b247Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIyIiB0eXBlPSJ4LXNoYWRlci94
LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSAkKHR5cGUpIHVf
dW5pZm9ybVsyXTsKKworYm9vbCBpc1plcm8oJCh0eXBlKSB2YWx1ZSkgeworICAkKGNoZWNrKTsK
K30KKwordm9pZCBtYWluKCkKK3sKKyAgZ2xfRnJhZ0NvbG9yID0gaXNaZXJvKHVfdW5pZm9ybVsx
XSkgPyB2ZWM0KDAsMSwwLDEpIDogdmVjNCgxLDAsMCwxKTsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0idnNoYWRlcjMiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0
IHZQb3NpdGlvbjsKK3ZhcnlpbmcgdmVjNCB2X2NvbG9yOwordW5pZm9ybSAkKHR5cGUpIHVfdW5p
Zm9ybVsyXTsKKworYm9vbCBpc1plcm8oJCh0eXBlKSB2YWx1ZSkgeworICAgJChjaGVjayk7Cit9
CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgdl9j
b2xvciA9IGlzWmVybyh1X3VuaWZvcm1bMV0pID8gdmVjNCgwLDEsMCwxKSA6IHZlYzQoMSwwLDAs
MSk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIzIiB0eXBlPSJ4LXNoYWRlci94
LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordmFyeWluZyB2ZWM0IHZfY29s
b3I7Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHZfY29sb3I7Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworCit2YXIgdGVz
dHMgPSBbCit7IHR5cGU6ICdmbG9hdCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlID09IDAuMCIs
CisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0xZihsb2MsIDMuMCk7IH0K
K30sCit7IHR5cGU6ICdpbnQnLAorICBjaGVjazogInJldHVybiB2YWx1ZSA9PSAwIiwKKyAgc2V0
Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFpKGxvYywgMy4wKTsgfQorfSwKK3sg
dHlwZTogJ2Jvb2wnLAorICBjaGVjazogInJldHVybiB2YWx1ZSA9PSBmYWxzZSIsCisgIHNldEZu
OiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0xaShsb2MsIDEpOyB9Cit9LAoreyB0eXBl
OiAndmVjMicsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IDAuMCAmJiB2YWx1ZVsxXSA9
PSAwLjAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMmYobG9jLCAz
LjAsIDMuMCk7IH0KK30sCit7IHR5cGU6ICd2ZWMzJywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVb
MF0gPT0gMC4wICYmIHZhbHVlWzFdID09IDAuMCAmJiB2YWx1ZVsyXSA9PSAwLjAiLAorICBzZXRG
bjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtM2YobG9jLCAzLjAsIDMuMCwgMy4wKTsg
fQorfSwKK3sgdHlwZTogJ3ZlYzQnLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSAwLjAg
JiYgdmFsdWVbMV0gPT0gMC4wICYmIHZhbHVlWzJdID09IDAuMCAmJiB2YWx1ZVszXSA9PSAwLjAi
LAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtNGYobG9jLCAzLjAsIDMu
MCwgMy4wLCAzLjApOyB9Cit9LAoreyB0eXBlOiAnaXZlYzInLAorICBjaGVjazogInJldHVybiB2
YWx1ZVswXSA9PSAwICYmIHZhbHVlWzFdID09IDAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxv
YykgeyBnbC51bmlmb3JtMmkobG9jLCAzLCAzKTsgfQorfSwKK3sgdHlwZTogJ2l2ZWMzJywKKyAg
Y2hlY2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0gMCAmJiB2YWx1ZVsxXSA9PSAwICYmIHZhbHVlWzJd
ID09IDAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtM2kobG9jLCAz
LCAzLCAzKTsgfQorfSwKK3sgdHlwZTogJ2l2ZWM0JywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVb
MF0gPT0gMCAmJiB2YWx1ZVsxXSA9PSAwICYmIHZhbHVlWzJdID09IDAgJiYgdmFsdWVbM10gPT0g
MCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm00aShsb2MsIDMsIDMs
IDMsIDMpOyB9Cit9LAoreyB0eXBlOiAnYnZlYzInLAorICBjaGVjazogInJldHVybiB2YWx1ZVsw
XSA9PSBmYWxzZSAmJiB2YWx1ZVsxXSA9PSBmYWxzZSIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwg
bG9jKSB7IGdsLnVuaWZvcm0yaShsb2MsIDEsIDEpOyB9Cit9LAoreyB0eXBlOiAnYnZlYzMnLAor
ICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSBmYWxzZSAmJiB2YWx1ZVsxXSA9PSBmYWxzZSAm
JiB2YWx1ZVsyXSA9PSBmYWxzZSIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVu
aWZvcm0zaShsb2MsIDEsIDEsIDEpOyB9Cit9LAoreyB0eXBlOiAnYnZlYzQnLAorICBjaGVjazog
InJldHVybiB2YWx1ZVswXSA9PSBmYWxzZSAmJiB2YWx1ZVsxXSA9PSBmYWxzZSAmJiB2YWx1ZVsy
XSA9PSBmYWxzZSAmJiB2YWx1ZVszXSA9PSBmYWxzZSIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwg
bG9jKSB7IGdsLnVuaWZvcm00aShsb2MsIDEsIDEsIDEsIDEpOyB9Cit9LAoreyB0eXBlOiAnbWF0
MicsCisgIGNoZWNrOgorICAgICJyZXR1cm4gIiArCisgICAgInZhbHVlWzBdWzBdID09IDAuMCAm
JiB2YWx1ZVswXVsxXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzFdWzBdID09IDAuMCAmJiB2
YWx1ZVsxXVswXSA9PSAwLjAiLAorICB2YWx1ZUNoZWNrOgorICAgICJyZXR1cm4gIiArCisgICAg
InZhbHVlWzBdID09IDAuMCAmJiB2YWx1ZVsxXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzJd
ID09IDAuMCAmJiB2YWx1ZVszXSA9PSAwLjAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykg
eyBnbC51bmlmb3JtTWF0cml4MmZ2KGxvYywgZmFsc2UsIFsxLCAxLCAxLCAxXSk7IH0KK30sCit7
IHR5cGU6ICdtYXQzJywKKyAgY2hlY2s6CisgICAgInJldHVybiAiICsKKyAgICAidmFsdWVbMF1b
MF0gPT0gMC4wICYmIHZhbHVlWzFdWzBdID09IDAuMCAmJiB2YWx1ZVsyXVswXSA9PSAwLjAgJiYg
IiArCisgICAgInZhbHVlWzBdWzFdID09IDAuMCAmJiB2YWx1ZVsxXVsxXSA9PSAwLjAgJiYgdmFs
dWVbMl1bMV0gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVswXVsyXSA9PSAwLjAgJiYgdmFsdWVb
MV1bMl0gPT0gMC4wICYmIHZhbHVlWzJdWzJdID09IDAuMCIsCisgIHZhbHVlQ2hlY2s6CisgICAg
InJldHVybiAiICsKKyAgICAidmFsdWVbMF0gPT0gMC4wICYmIHZhbHVlWzFdID09IDAuMCAmJiB2
YWx1ZVsyXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzNdID09IDAuMCAmJiB2YWx1ZVs0XSA9
PSAwLjAgJiYgdmFsdWVbNV0gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVs2XSA9PSAwLjAgJiYg
dmFsdWVbN10gPT0gMC4wICYmIHZhbHVlWzhdID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihn
bCwgbG9jKSB7IGdsLnVuaWZvcm1NYXRyaXgzZnYobG9jLCBmYWxzZSwgWzEsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsIDFdKTsgfQorfSwKK3sgdHlwZTogJ21hdDQnLAorICBjaGVjazoKKyAgICAicmV0
dXJuICIgKworICAgICJ2YWx1ZVswXVswXSA9PSAwLjAgJiYgdmFsdWVbMV1bMF0gPT0gMC4wICYm
IHZhbHVlWzJdWzBdID09IDAuMCAmJiB2YWx1ZVszXVswXSA9PSAwLjAgJiYgIiArCisgICAgInZh
bHVlWzBdWzFdID09IDAuMCAmJiB2YWx1ZVsxXVsxXSA9PSAwLjAgJiYgdmFsdWVbMl1bMV0gPT0g
MC4wICYmIHZhbHVlWzNdWzFdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMF1bMl0gPT0gMC4w
ICYmIHZhbHVlWzFdWzJdID09IDAuMCAmJiB2YWx1ZVsyXVsyXSA9PSAwLjAgJiYgdmFsdWVbM11b
Ml0gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVswXVszXSA9PSAwLjAgJiYgdmFsdWVbMV1bM10g
PT0gMC4wICYmIHZhbHVlWzJdWzNdID09IDAuMCAmJiB2YWx1ZVszXVszXSA9PSAwLjAiLAorICB2
YWx1ZUNoZWNrOgorICAgICJyZXR1cm4gIiArCisgICAgInZhbHVlWyAwXSA9PSAwLjAgJiYgdmFs
dWVbIDFdID09IDAuMCAmJiB2YWx1ZVsgMl0gPT0gMC4wICYmIHZhbHVlWyAzXSA9PSAwLjAgJiYg
IiArCisgICAgInZhbHVlWyA0XSA9PSAwLjAgJiYgdmFsdWVbIDVdID09IDAuMCAmJiB2YWx1ZVsg
Nl0gPT0gMC4wICYmIHZhbHVlWyA3XSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWyA4XSA9PSAw
LjAgJiYgdmFsdWVbIDldID09IDAuMCAmJiB2YWx1ZVsxMF0gPT0gMC4wICYmIHZhbHVlWzExXSA9
PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzEyXSA9PSAwLjAgJiYgdmFsdWVbMTNdID09IDAuMCAm
JiB2YWx1ZVsxNF0gPT0gMC4wICYmIHZhbHVlWzE1XSA9PSAwLjAiLAorICBzZXRGbjogZnVuY3Rp
b24oZ2wsIGxvYykgeyBnbC51bmlmb3JtTWF0cml4NGZ2KGxvYywgZmFsc2UsIFsxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxXSk7IH0KK30sCit7IHR5cGU6ICdz
YW1wbGVyMkQnLAorICBjaGVjazoKKyAgICAidmVjNCB2ID0gdGV4dHVyZTJEKHZhbHVlLCB2ZWMy
KDAsIDApKTsiICsKKyAgICAicmV0dXJuIHYueCA9PSAxLjAgJiYgdi55ID09IDEuMCAmJiB2Lnog
PT0gMS4wICYmIHYudyA9PSAxLjAiLAorICB2YWx1ZUNoZWNrOgorICAgICJyZXR1cm4gdmFsdWUg
PT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0xaShsb2MsIDEp
OyB9Cit9LAoreyB0eXBlOiAnc2FtcGxlckN1YmUnLAorICBjaGVjazoKKyAgICAidmVjNCB2ID0g
dGV4dHVyZUN1YmUodmFsdWUsIHZlYzMoMCwgMCwgMCkpOyIgKworICAgICJyZXR1cm4gdi54ID09
IDEuMCAmJiB2LnkgPT0gMS4wICYmIHYueiA9PSAxLjAgJiYgdi53ID09IDEuMCIsCisgIHZhbHVl
Q2hlY2s6CisgICAgInJldHVybiB2YWx1ZSA9PSAwIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBs
b2MpIHsgZ2wudW5pZm9ybTFpKGxvYywgMSk7IH0KK30sCitdOworCit2YXIgd3R1ID0gV2ViR0xU
ZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7Cit2YXIgYyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7Cit2YXIgY2hlY2tGbjsKKword3R1LnNldHVw
VW5pdFF1YWQoZ2wsIFswLCAxXSk7CisKKy8vIFNldCB1bml0IDAgdG8gYSBub24tMCB0ZXh0dXJl
LgordmFyIGhhdmVWZXJ0ZXhUZXh0dXJlSW1hZ2VVbml0cyA9CisgICAgZ2wuZ2V0UGFyYW1ldGVy
KGdsLk1BWF9WRVJURVhfVEVYVFVSRV9JTUFHRV9VTklUUykgPj0gMjsKK3ZhciB0ZXgyRCA9IGds
LmNyZWF0ZVRleHR1cmUoKTsKK3ZhciB0ZXhDdWJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4MkQpOworZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV9DVUJFX01BUCwgdGV4Q3ViZSk7CisKK3ZhciBwaXhlbCA9IG5ldyBVaW50OEFycmF5KFsy
NTUsIDI1NSwgMjU1LCAyNTVdKTsKK3ZhciB0YXJnZXRzID0gWworICBnbC5URVhUVVJFXzJELAor
ICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBf
TkVHQVRJVkVfWCwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICBnbC5URVhU
VVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVf
WiwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCitdOworZm9yICh2YXIgaWkgPSAw
OyBpaSA8IHRhcmdldHMubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wudGV4SW1hZ2UyRCgKKyAgICAg
ICAgdGFyZ2V0c1tpaV0sIDAsIGdsLlJHQkEsIDEsIDEsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIHBpeGVsKTsKK30KKwordmFyIHNoYWRlclRlbXBsYXRlcyA9IFsKK3sgdnM6ICJ2c2hh
ZGVyMCIsIGZzOiAiZnNoYWRlcjAiLCB0eXBlOiAnZicgfSwKK3sgdnM6ICJ2c2hhZGVyMSIsIGZz
OiAiZnNoYWRlcjEiLCB0eXBlOiAndicgfSwKK3sgdnM6ICJ2c2hhZGVyMiIsIGZzOiAiZnNoYWRl
cjIiLCB0eXBlOiAnZicgfSwKK3sgdnM6ICJ2c2hhZGVyMyIsIGZzOiAiZnNoYWRlcjMiLCB0eXBl
OiAndicgfSwKK107CisKKy8vIEdldCBzaGFkZXIgdGVtcGxhdGVzCitmb3IgKHZhciBpaSA9IDA7
IGlpIDwgc2hhZGVyVGVtcGxhdGVzLmxlbmd0aDsgKytpaSkgeworICB2YXIgdGVtcGxhdGUgPSBz
aGFkZXJUZW1wbGF0ZXNbaWldOworICB0ZW1wbGF0ZS52cyA9IHd0dS5nZXRTY3JpcHQodGVtcGxh
dGUudnMpOworICB0ZW1wbGF0ZS5mcyA9IHd0dS5nZXRTY3JpcHQodGVtcGxhdGUuZnMpOworfQor
CitmdW5jdGlvbiB0ZXN0VHlwZSh0ZXN0KSB7CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoInRlc3Rp
bmc6ICIgKyB0ZXN0LnR5cGUpOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzaGFkZXJUZW1w
bGF0ZXMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIHRlbXBsYXRlID0gc2hhZGVyVGVtcGxhdGVz
W2lpXTsKKworICAgIGlmICh0ZXN0LnR5cGUuc3Vic3RyaW5nKDAsIDcpID09ICJzYW1wbGVyIiAm
JgorICAgICAgICB0ZW1wbGF0ZS50eXBlID09ICd2JyAmJgorICAgICAgICAhaGF2ZVZlcnRleFRl
eHR1cmVJbWFnZVVuaXRzKSB7CisgICAgICBjb250aW51ZTsKKyAgICB9CisKKyAgICB2YXIgdnMg
PSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZS52cywgdGVzdCk7CisgICAgdmFyIGZzID0gd3R1
LnJlcGxhY2VQYXJhbXModGVtcGxhdGUuZnMsIHRlc3QpOworCisgICAgd3R1LmFkZFNoYWRlclNv
dXJjZShjLCAidmVydGV4IHNoYWRlciIsIHZzKTsKKyAgICB3dHUuYWRkU2hhZGVyU291cmNlKGMs
ICJmcmFnbWVudCBzaGFkZXIiLCBmcyk7CisKKyAgICB2YXIgdnMgPSB3dHUubG9hZFNoYWRlcihn
bCwgdnMsIGdsLlZFUlRFWF9TSEFERVIpOworICAgIHZhciBmcyA9IHd0dS5sb2FkU2hhZGVyKGds
LCBmcywgZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICB2YXIgcHJvZ3JhbSA9IHd0dS5jcmVhdGVQ
cm9ncmFtKGdsLCB2cywgZnMpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKworICAg
IHZhciBsb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfdW5pZm9ybVsxXSIp
OworICAgIGlmICghbG9jKSB7CisgICAgICAgIHZhciBsb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRp
b24ocHJvZ3JhbSwgInVfdW5pZm9ybSIpOworICAgIH0KKworICAgIHZhciB2YWx1ZSA9IGdsLmdl
dFVuaWZvcm0ocHJvZ3JhbSwgbG9jKTsKKyAgICBUZXN0RXZhbCgiY2hlY2tGbiA9IGZ1bmN0aW9u
KHZhbHVlKSB7IiArICh0ZXN0LnZhbHVlQ2hlY2sgPyB0ZXN0LnZhbHVlQ2hlY2sgOiB0ZXN0LmNo
ZWNrKSArICI7fSIpOworICAgIGlmIChjaGVja0ZuKHZhbHVlKSkgeworICAgICAgICB0ZXN0UGFz
c2VkKCJ1bmlmb3JtIGlzIHplcm8iKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0RmFpbGVk
KCJ1bmlmb3JtIGlzIG5vdCB6ZXJvIik7CisgICAgfQorCisgICAgZGVidWcoImRlZmF1bHQgdmFs
dWUgc2hvdWxkIGJlIHplcm8iKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5jaGVj
a0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIsIDApOworCisg
ICAgZGVidWcoInRlc3QgdGVzdCBieSBzZXR0aW5nIHZhbHVlIik7CisgICAgdGVzdC5zZXRGbihn
bCwgbG9jKTsKKworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGds
LCBbMjU1LCAwLCAwLCAyNTVdLCAic2hvdWxkIGJlIHJlZCIsIDApOworCisgICAgZGVidWcoInJl
LWxpbmtpbmcgc2hvdWxkIHJlc2V0IHRvIGRlZmF1bHRzIik7CisgICAgZ2wubGlua1Byb2dyYW0o
cHJvZ3JhbSk7CisKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5jaGVja0NhbnZhcyhn
bCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIsIDApOworCisgICAgZ2wuZGVs
ZXRlUHJvZ3JhbShwcm9ncmFtKTsKKyAgICBnbC5kZWxldGVTaGFkZXIodnMpOworICAgIGdsLmRl
bGV0ZVNoYWRlcihmcyk7CisKKyAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJP
UiwgInNob3VsZCBiZSBubyBHTCBlcnJvcnMiKTsKKyAgfQorfQorCit2YXIgdGVzdE5keCA9IDA7
CitmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsKKyAgICB0ZXN0VHlwZSh0ZXN0c1t0ZXN0TmR4Kytd
KTsKKyAgICBpZiAodGVzdE5keCA+PSB0ZXN0cy5sZW5ndGgpIHsKKyAgICAgICAgZmluaXNoVGVz
dCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIHNldFRpbWVvdXQocnVuTmV4dFRlc3QsIDEpOwor
ICAgIH0KK30KKworcnVuTmV4dFRlc3QoKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1sb2NhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjYzNWM2ZDc5MDE3OGUzOTI2MWIyOWJhZmZlNTg0ZWJhNjRkMzI3NzUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwKQEAgLTAsMCArMSwx
MTYgQEAKKzwhLS0KKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKy0tPgorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiBBUEkiKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwor
dmFyIGNvbnRleHRBID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOwordmFyIGNvbnRleHRCID0gd3R1
LmNyZWF0ZTNEQ29udGV4dCgpOwordmFyIHByb2dyYW1BMSA9IHd0dS5sb2FkU3RhbmRhcmRQcm9n
cmFtKGNvbnRleHRBKTsKK3ZhciBwcm9ncmFtQTIgPSB3dHUubG9hZFN0YW5kYXJkUHJvZ3JhbShj
b250ZXh0QSk7Cit2YXIgcHJvZ3JhbUIgPSB3dHUubG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0
Qik7Cit2YXIgcHJvZ3JhbVMgPSB3dHUubG9hZFByb2dyYW1Gcm9tRmlsZShjb250ZXh0QSwgIi4u
L3Jlc291cmNlcy9zdHJ1Y3RVbmlmb3JtU2hhZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL2ZyYWdt
ZW50U2hhZGVyLmZyYWciKTsKK3ZhciBwcm9ncmFtViA9IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxl
KGNvbnRleHRBLCAiLi4vcmVzb3VyY2VzL2Zsb2F0VW5pZm9ybVNoYWRlci52ZXJ0IiwgIi4uL3Jl
c291cmNlcy9ub29wVW5pZm9ybVNoYWRlci5mcmFnIik7Cit2YXIgbG9jYXRpb25BID0gY29udGV4
dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1BMSwgJ3VfbW9kZWxWaWV3UHJvak1hdHJpeCcp
OwordmFyIGxvY2F0aW9uQiA9IGNvbnRleHRCLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtQiwg
J3VfbW9kZWxWaWV3UHJvak1hdHJpeCcpOwordmFyIGxvY2F0aW9uU3ggPSBjb250ZXh0QS5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X3N0cnVjdC54Iik7Cit2YXIgbG9jYXRpb25TeDI7
Cit2YXIgbG9jYXRpb25BcnJheTAgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3Jh
bVMsICJ1X2FycmF5WzBdIik7Cit2YXIgbG9jYXRpb25BcnJheTEgPSBjb250ZXh0QS5nZXRVbmlm
b3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X2FycmF5WzFdIik7Cit2YXIgbG9jYXRpb25WZWM0ID0g
Y29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1WLCAiZnZhbDQiKTsKKwordmFyIHZl
YyA9IFsxLCAyLCAzLCA0XTsKK3ZhciBtYXQgPSBbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwg
MTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTZdOworCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29u
dGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudXNlUHJvZ3JhbShwcm9ncmFtQTIp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLklOVkFMSURfT1BF
UkFUSU9OLCAiY29udGV4dEEudW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbkEsIGZhbHNlLCBtYXQp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAi
Y29udGV4dEEudXNlUHJvZ3JhbShwcm9ncmFtQTEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Y29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybU1hdHJpeDRmdihs
b2NhdGlvbkEsIGZhbHNlLCBtYXQpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEs
IGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybU1hdHJpeDRmdihudWxsLCBmYWxz
ZSwgbWF0KSIpOworCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5P
X0VSUk9SLCAiY29udGV4dEEudXNlUHJvZ3JhbShwcm9ncmFtUykiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51bmlmb3JtMWko
bG9jYXRpb25TeCwgMzMzKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250
ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0xZihsb2NhdGlvbkFycmF5MCwgNC4wKSIp
Oworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNv
bnRleHRBLnVuaWZvcm0xZihsb2NhdGlvbkFycmF5MSwgNS4wKSIpOworCitzaG91bGRCZSgiY29u
dGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25TeCkiLCAiMzMzIik7CitzaG91bGRC
ZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25BcnJheTApIiwgIjQuMCIp
Oworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0ocHJvZ3JhbVMsIGxvY2F0aW9uQXJyYXkx
KSIsICI1LjAiKTsKKworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5O
T19FUlJPUiwgImNvbnRleHRBLnVzZVByb2dyYW0ocHJvZ3JhbVYpIik7CitzaG91bGRHZW5lcmF0
ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTRm
dihsb2NhdGlvblZlYzQsIHZlYykiKTsKK3Nob3VsZEJlKCJjb250ZXh0QS5nZXRVbmlmb3JtKHBy
b2dyYW1WLCBsb2NhdGlvblZlYzQpIiwgInZlYyIpOworCitzaG91bGRCZU51bGwoImNvbnRleHRB
LmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtViwgXCJJRG9udEV4aXN0XCIpIik7CitzaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEubGlu
a1Byb2dyYW0ocHJvZ3JhbUExKSIpOworLy8gQWZ0ZXIgbGlua2luZyBhbGwgYm94ZXMgYXJlIGJh
ZC4KK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVS
QVRJT04sICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uQSwgZmFsc2UsIG1hdCki
KTsKKworLy8gYWZ0ZXIgcmUtbGlua2luZyB0aGUgc2FtZSBwcm9ncmFtLCBhbGwgdW5pZm9ybSBs
b2NhdGlvbnMgYmVjb21lIGludmFsaWQuCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEs
IGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudXNlUHJvZ3JhbShwcm9ncmFtUykiKTsKK2Nv
bnRleHRBLnN0ZW5jaWxNYXNrKDEpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBj
b250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLmxpbmtQcm9ncmFtKHByb2dyYW1TKSIpOworc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElPTiwg
ImNvbnRleHRBLnVuaWZvcm0xaShsb2NhdGlvblN4LCAzKSIpOworc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHRBLmdldFVu
aWZvcm0ocHJvZ3JhbVMsIGxvY2F0aW9uU3gpIik7CisKKy8vIFJldHJpZXZlIHRoZSBsb2NhdGlv
bnMgYWdhaW4sIGFuZCB0aGV5IHNob3VsZCBiZSBnb29kLgorbG9jYXRpb25TeCA9IGNvbnRleHRB
LmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfc3RydWN0LngiKTsKK2xvY2F0aW9uQXJy
YXkwID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1TLCAidV9hcnJheVswXSIp
OworZGVidWcoImhlcmUiKTsKK2NvbnRleHRBLnN0ZW5jaWxNYXNrKDApOworc2hvdWxkR2VuZXJh
dGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0x
aShsb2NhdGlvblN4LCAzKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250
ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0xZihsb2NhdGlvbkFycmF5MCwgMTIzKSIp
Oworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0ocHJvZ3JhbVMsIGxvY2F0aW9uU3gpIiwg
IjMiKTsKK3Nob3VsZEJlKCJjb250ZXh0QS5nZXRVbmlmb3JtKHByb2dyYW1TLCBsb2NhdGlvbkFy
cmF5MCkiLCAiMTIzIik7CisKKy8vIGdldFVuaWZvcm1Mb2NhdGlvbiBzaG91bGQgcmV0dXJuIGEg
ZGlmZmVyZW50IG9iamVjdCBldmVyeXRpbWUsIHNob3VsZCBub3QgY2FjaGUgYW5kIHJldHVybiB0
aGUgc2FtZSBvYmplY3QKK2RlYnVnKCJUZXN0aW5nIHRoYXQgZ2V0VW5pZm9ybUxvY2F0aW9uIHJl
dHVybnMgYSBkaWZmZXJlbnQgb2JqZWN0IGV2ZXJ5dGltZSIpOworbG9jYXRpb25TeCAgPSBjb250
ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X3N0cnVjdC54Iik7Citsb2NhdGlv
blN4MiA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfc3RydWN0Lngi
KTsKK3Nob3VsZEJlRmFsc2UoImxvY2F0aW9uU3ggPT09IGxvY2F0aW9uU3gyIik7Citsb2NhdGlv
blN4LmZvbyAgPSB7fTsKK2xvY2F0aW9uU3gyLmZvbyA9IHt9Oworc2hvdWxkQmVGYWxzZSgibG9j
YXRpb25TeC5mb28gPT09IGxvY2F0aW9uU3gyLmZvbyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91
bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2Ft
cGxlcnMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwZWQ1NzdkMTYwMzQxMWM1N2UwZDk2ODNlNTlj
NzAwNTE0N2M5ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJz
LXRlc3QuaHRtbApAQCAtMCwwICsxLDExMCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+V2ViR0wgc2FtcGxlciB1bmlmb3JtcyBjb25mb3Jt
YW5jZSB0ZXN0LjwvdGl0bGU+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBzdHlsZT0id2lkdGg6
IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKyAgPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0
IjsKK2Z1bmN0aW9uIGluaXQoKQoreworICBkZXNjcmlwdGlvbigKKyAgICAgICJUZXN0cyB0aGF0
IG9ubHkgVW5pZm9ybTFpIGFuZCBVbmlmb3JtMWl2IGNhbiBiZSB1c2VkIHRvIHNldCIgKworICAg
ICAgInNhbXBsZXIgdW5pZm9ybXMuIik7CisKKyAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNhbnZhczJkIik7CisKKyAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwor
ICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisgIHZhciBwcm9ncmFt
ID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKKworICB2YXIgdGV4dHVyZUxvYyA9IGdsLmdl
dFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CisKKyAgZ2wudW5pZm9ybTFpKHRleHR1
cmVMb2MsIDEpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAg
ICAgInVuaWZvcm0xaSBjYW4gc2V0IGEgc2FtcGxlciB1bmlmb3JtIik7CisgIGdsLnVuaWZvcm0x
aXYodGV4dHVyZUxvYywgWzFdKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwK
KyAgICAgICAgICAgICJ1bmlmb3JtMWl2IGNhbiBzZXQgYSBzYW1wbGVyIHVuaWZvcm0iKTsKKyAg
Z2wudW5pZm9ybTFmKHRleHR1cmVMb2MsIDEpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklO
VkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgInVuaWZvcm0xZiByZXR1cm5zIElOVkFMSURf
T1BFUkFUSU9OIGlmIGF0dGVtcHRpbmcgdG8gc2V0IGEgc2FtcGxlciB1bmlmb3JtIik7CisgIGds
LnVuaWZvcm0xZnYodGV4dHVyZUxvYywgWzFdKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwKKyAgICAgICAgICAgICJ1bmlmb3JtMWZ2IHJldHVybnMgSU5WQUxJ
RF9PUEVSQVRJT04gaWYgYXR0ZW1wdGluZyB0byBzZXQgYSBzYW1wbGVyIHVuaWZvcm0iKTsKKwor
ICB2YXIgbWF4VGV4dHVyZVVuaXRzID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9DT01CSU5FRF9U
RVhUVVJFX0lNQUdFX1VOSVRTKTsKKworICB2YXIgc3VjY2VzcyA9IHRydWU7CisgIGZvciAodmFy
IGlpID0gMDsgaWkgPCBtYXhUZXh0dXJlVW5pdHM7ICsraWkpIHsKKyAgICBnbC51bmlmb3JtMWko
dGV4dHVyZUxvYywgaWkpOworICAgIHN1Y2Nlc3MgPSBzdWNjZXNzICYmIChnbC5nZXRFcnJvcigp
ID09IGdsLk5PX0VSUk9SKTsKKyAgfQorICBleHBlY3RUcnVlKHN1Y2Nlc3MsICJ1bmlmb3JtMWkg
d29ya3MgZm9yIGFueSB2YWxpZCB0ZXh0dXJlIHVuaXQiKTsKKworICB2YXIgc3VjY2VzcyA9IHRy
dWU7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBtYXhUZXh0dXJlVW5pdHM7ICsraWkpIHsKKyAg
ICBnbC51bmlmb3JtMWl2KHRleHR1cmVMb2MsIFtpaV0pOworICAgIHN1Y2Nlc3MgPSBzdWNjZXNz
ICYmIChnbC5nZXRFcnJvcigpID09IGdsLk5PX0VSUk9SKTsKKyAgfQorICBleHBlY3RUcnVlKHN1
Y2Nlc3MsICJ1bmlmb3JtMWl2IHdvcmtzIGZvciBhbnkgdmFsaWQgdGV4dHVyZSB1bml0Iik7CisK
KyAgdmFyIHN1Y2Nlc3MgPSB0cnVlOworICBmb3IgKHZhciBpaSA9IG1heFRleHR1cmVVbml0czsg
aWkgPCAweDEwMDAwOyArK2lpKSB7CisgICAgZ2wudW5pZm9ybTFpKHRleHR1cmVMb2MsIGlpKTsK
KyAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiAoZ2wuZ2V0RXJyb3IoKSA9PSBnbC5JTlZBTElEX1ZB
TFVFKTsKKyAgfQorICBleHBlY3RUcnVlKHN1Y2Nlc3MsICJ1bmlmb3JtMWkgZ2VuZXJhdGVzIElO
VkFMSURfVkFMVUUgZm9yIGludmFsaWQgdGV4dHVyZSB1bml0cyIpOworCisgIHZhciBzdWNjZXNz
ID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSBtYXhUZXh0dXJlVW5pdHM7IGlpIDwgMHgxMDAwMDsg
KytpaSkgeworICAgIGdsLnVuaWZvcm0xaXYodGV4dHVyZUxvYywgW2lpXSk7CisgICAgc3VjY2Vz
cyA9IHN1Y2Nlc3MgJiYgKGdsLmdldEVycm9yKCkgPT0gZ2wuSU5WQUxJRF9WQUxVRSk7CisgIH0K
KyAgZXhwZWN0VHJ1ZShzdWNjZXNzLCAidW5pZm9ybTFpdiBnZW5lcmF0ZXMgSU5WQUxJRF9WQUxV
RSBmb3IgaW52YWxpZCB0ZXh0dXJlIHVuaXRzIik7CisKK30KKworaW5pdCgpOwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186889</attachid>
            <date>2013-02-06 11:53:33 -0800</date>
            <delta_ts>2013-02-06 16:32:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109075-20130206115010.patch</filename>
            <type>text/plain</type>
            <size>709933</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDExCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTY1MDg5ODQwZGJkOThjYTAxNWVi
ZmEyNDNjNjgxYWRjYjk5NDAxOC4uNWE5M2QyMTNmODAzYzRiZWIyMmMzZWRmMTM3NDMyZjcyZDFh
OWQ1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2NCBAQAogMjAxMy0wMi0wNiAgR3JlZ2cgVGF2YXJlcyAg
PGdtYW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIEFkZHMgZmFpbGluZyBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwOTA3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2
ZS10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRh
LXVybC10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1
ZmZlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2Nv
bnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9u
LWFuZC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1m
dW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJl
c3RyaWN0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlp
bmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmlu
Zy1hcnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQt
d29yZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJj
dWl0aW5nLW9wZXJhdG9ycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9y
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWls
YXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12
YXJ5aW5ncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3Zh
cmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
TF9TLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZl
ckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2Uy
RC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZGVsZXRlQnVmZmVyQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0Fy
cmF5cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0FycmF5c091dE9mQm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFk
QXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1Yklt
YWdlMkRIVE1MLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29z
L2Fjb3NfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRh
bl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18w
MDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29n
bGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFf
dG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVw
XzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxz
LXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9y
ZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29y
LXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmpl
Y3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29w
eS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1j
b25mb3JtYW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YjU2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiYTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiNTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1
NjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1p
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW1pcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1h
cnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZh
dWx0LXZhbHVlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLWxvY2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3Qt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3Jl
ZW4tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11
cmwtdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRy
YXdpbmctYnVmZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVz
dHJ1Y3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhz
dGVwLWdlbnR5cGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250
YWluaW5nLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1z
aG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXJzLXdpdGgtdmFyeWluZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29y
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1MX1MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLVNfVi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1Yklt
YWdlMkRCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3Vi
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhU
TUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9h
dGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xf
Zmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFt
cy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgt
aW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLXJnYmE1NTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5k
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9n
bC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFs
dWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWw6IEFkZGVkLgorCisyMDEzLTAyLTA2ICBH
cmVnZyBUYXZhcmVzICA8Z21hbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgQWRkcyB0aGUgV2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBvZ2xlcyBzdXBwb3J0IGZpbGVzLgogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MDYzCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGVkMGMwMjdlMzlmNDgy
MWQzNTdlMDE0NGFlNGIzNmIyMDdlMDZjODYuLmY0YTQ1NDcwZTc0MjA2MWYyNGI3NjhlYjE0MGM1
YjBkZGY1YTNhMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMTQzNCw3ICsxNDM0LDQ2IEBAIHdlYmtpdC5vcmcvYi83NTI3NiBbIEFu
ZHJvaWQgXSBmYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxlLXN0cmljdC12ZXJ0aWNhbC5odG1s
CiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAjIFdlYkdMIFRlc3RzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitjcmJ1Zy5jb20vMTc0MjY4
IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRt
bCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3
NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbCBbIEZhaWx1
cmUgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlm
b3JtLWFycmF5cy5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZv
cm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbCBbIEZhaWx1cmUgXQor
Y3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0
aW9uLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uv
dW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNv
bS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCBbIEZh
aWx1cmUgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVs
dGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmds
L2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sIFsgU2tpcCBdCitjcmJ1
Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMu
aHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9yZW5k
ZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwgWyBGYWlsdXJlIF0K
IGNyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLXplcm8taXNzdWVzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUu
aHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBbIEZhaWx1cmUg
XQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sIFsgRmFpbHVyZSBdCitj
cmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1n
bG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVn
LmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWls
YXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4
IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbCBb
IEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3Zhcmlh
Ymxlcy9nbC1wb2ludGNvb3JkLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQyNjggd2Vi
Z2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbCBbIFRpbWVv
dXQgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2Fz
aW5fMDAxX3RvXzAwNi5odG1sIFsgVGltZW91dCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwgWyBUaW1lb3V0IF0K
K2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFf
dG9fMDA4Lmh0bWwgWyBUaW1lb3V0IF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbCBbIFRpbWVvdXQgXQorY3JidWcu
Y29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJv
bF9mbG93XzAwMV90b18wMDguaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4
IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9f
MDA2Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQorCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1s
IFsgRmFpbHVyZSBUaW1lb3V0IENyYXNoIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sIFsgRmFp
bHVyZSBUaW1lb3V0IF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9s
aXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3
NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5o
dG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8x
NzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRt
bCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0
NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbCBb
IEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVm
ZmVyLXByZXNlcnZlLXRlc3QuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJn
bC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sIFsgQ3Jhc2ggXQorY3Ji
dWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRl
LXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQ0
NjYgd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVj
dGlvbi5odG1sIFsgU2tpcCBdCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgT3RoZXIgZmFpbHVyZXMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmNmYjVmNTAzNmM0MzU0
NDAyNjgxYzBhMzJhZDc4MTJlNmM3Y2UzZi4uYjM1MGQwZWM5MDBkNTUxMTYxYTMwN2UwYzZjODRl
YTBhZmZiNjA0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTk2OCw2ICs5NjgsNzIgQEAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWdsb2JhbC1zZWxl
Y3Rpb24uaHRtbAogIyBDdXJyZW50bHkgZmFpbGluZyBXZWJHTCB0ZXN0cyA8cmRhcjovL3Byb2Js
ZW0vOTM1NTQ2MD4KIGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtdmlkZW8uaHRtbAogCisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDkwODEKK3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3Qu
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3Qu
aHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJp
YnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK3dlYmds
L2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRt
bCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlv
bi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFy
eWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNt
YXRjaC5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIFsgRmFpbHVyZSBd
Cit3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwg
WyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1BLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CMS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIFsgU2tp
cCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5o
dG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktRF9HLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwgWyBTa2lwIF0K
K3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwg
WyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJE
Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJ
bWFnZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBbIFNraXAgXQord2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIFsg
U2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwg
WyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRP
ZkJvdW5kcy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
cmF3RWxlbWVudHMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIFsgU2tp
cCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJn
cy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJ
bWFnZTJESFRNTC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1i
aW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbCBbIEZhaWx1cmUgXQord2Vi
Z2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1l
bnQuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNz
b3ItdGVzdC5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9y
ZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2Uv
cmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwgWyBGYWls
dXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0
NC5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sIFsgRmFpbHVyZSBdCit3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sIFsgRmFpbHVyZSBd
Cit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRt
bCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5o
dG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlk
ZW8tcmdiYTU1NTEuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sIFsgRmFpbHVyZSBdCit3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbCBbIEZh
aWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5o
dG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3Qt
dmlkZW8uaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1zaXplLWxpbWl0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtc2l6ZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCBbIEZhaWx1cmUgXQorCiAjIFNlbmRpbmcgdGhl
IG1vdXNlIGRvd24gZXZlbnQgdG8gdGhlIHNjcm9sbGJhciBzdGFydHMgYSBuZXN0ZWQgcnVuIGxv
b3Agd2hpY2ggY2F1c2VzIGEgaGFuZy4KIGZhc3QvZXZlbnRzL21vdXNlZG93bi1pbi1zdWJmcmFt
ZS1zY3JvbGxiYXIuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNmMDM1YjdiMjEzNjkxNjYwZTE0MjU3Njg4NmRhZjk1YjY0ZWE3
MGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52
YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1
ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjN2Q1MWE2Yzlm
ODlmNDNkNmUyNTQwYzc3ODA4ZjQxZjBlMjZkMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVu
LXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3Qt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZl
ci1wcmVzZXJ2ZS10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTVjNWNiODVlOGE1ZmM2
MDA0YjhjYWYyNDg1YjY5NWRkMWNlOGUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXBy
ZXNlcnZlLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjlkMjJjMDIyZjE2NTA4ZTRmZDVhYmNmZDAxOWY3ZTA3Mjk1Mzg3YjcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXBy
ZXNlcnZlLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBidWZmZXItcHJlc2VydmUt
dGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0
bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9i
dWZmZXItcHJlc2VydmUtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdi
dWZmZXItdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9j
YW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzNjNjA0
MjRhYjE5OGNiNzM0M2IzN2YxZTYxODU4N2M5ZGM3YTc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2Ry
YXdpbmdidWZmZXItdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41OWI3YWM1YTU4ZDI1NjliZTBmZGE5M2QzMjUyMjUyYWQ2MDM4NjUwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdi
dWZmZXItdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdpbmdidWZmZXItdGVz
dC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sIj4u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2lu
Z2J1ZmZlci10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3Qt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRh
dGEtdXJsLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlNGFiOWNjYjkzMjA3Yzg0ZjRj
NTdkNWFjZWI1M2M2NGRhNDRhYzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3Qu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9j
YW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wY2QwNGQyODA4Y2Fm
NWM0ZGUwNWRmNmRhYjg5ODYzNGE2ZDk4OWI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciB0by1kYXRhLXVybC10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9j
YW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJs
LXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1h
dHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM2NTNmNDRhYzZlODdkZTJkNDVlMmY5ODhkMWI2MDRmYTc3YzhlMGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmli
dXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZl
LWRyYXdpbmctYnVmZmVyLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5n
LWJ1ZmZlci5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250
ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRj
YzRkMDdlMjQyZWQ3ZWFhNzYyNDYwZmVjMjA1OTZlOTUwMWY1MGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRl
LXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29u
dGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbDwvdGl0bGU+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9j
b250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0
dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQt
ZGVzdHJ1Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWU0NDlmZjY0ZTUyODg4YTY4ZjkzMGY1MWU4Y2E0ZTk4ZGRiNjI0ZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4
dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1
Y3Rpb24uaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRl
c3RydWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGMyMmI4OWUwZWU1OTg5ODE0N2MyOTU5ZDc5NTg2
MDk5MTBiZWZmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBjb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5o
dG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0
L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24t
YW5kLWRlc3RydWN0aW9uLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5
cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5j
dGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE0ZTMzMDY0NDdiNjU3ZjkxYTFjNTU4ZjNhYTEyZmIyNGVlMzZkMDAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9n
bHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1
IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlv
bi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5j
dGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
ZmJjMDc0YTY3ODcwMTI4ZTU2OTZkZjhlOGUzOGY2OTMxNmQ0NzU0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5j
dGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbHNs
LWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCI+
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5j
dGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2ds
c2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZl
cnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRl
cmFscy9mbG9hdF9saXRlcmFsLnZlcnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyODE0YjQ2
ODM4NTlhMmQ2M2E3OGYxZjFjOWNkNzk2NDJhOTcxOTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVy
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Z2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVy
YWwudmVydC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFs
cy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjVhY2Q0OWNiMzk5MmVhYjBh
NmNhMTcwYjIwOTgxM2VjZDNmYzBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0
ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFu
Y2UgVGVzdCBXcmFwcGVyIGZvciBmbG9hdF9saXRlcmFsLnZlcnQuaHRtbDwvdGl0bGU+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwiPi4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMv
ZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2lu
Zy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlMGU4ZTBlZGZmMzQ4NTMz
N2FkZWJiNzIwNzI1MzNiMTQyMDFjMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmlj
dGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJp
Y3Rpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmYyMzUwYTI1YjcwMWI5MmU3OTAyMjhmYmYxNTNkMDEx
NTEyNWQ5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0
bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFj
a2luZy1yZXN0cmljdGlvbnMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rp
b25zLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCIg
d2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmct
cmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzQzMzllNmM1OTM0YmU3MTRj
ZDViNjg1YmE0NjNjOTJjMzBiMDUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rp
b25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0
aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2YWNiMGZhY2Q1NTczYzhiZDU5ZjUxZDIyYjRkYjY3ZGI5
Mzc0MWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBzaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tp
bmctcmVzdHJpY3Rpb25zLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFy
cmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdjODhjMjlhYWNiNDA0OTlkZGU0MDMzYzE3NzM2M2FlMWIzOTMwM2YKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
YXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFy
cmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJy
YXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFp
bmluZy1hcnJheXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMGExMGM5MDllZDkyNDNkYzZjNmE0YTZjZDI4
MTc4ZjlhMDgxZjU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1h
cnJheXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXItd2l0aC1hcnJheS1vZi1z
dHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5o
dG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjNkMTNkNTljODU0YTMzYmJhMDY4NjhhMTZhMjgxMmFlODA4OGYzMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXBy
ZWNpc2lvbi1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhYmVhNDA5M2EzNDRjNDBlYjBmNTJh
MGE5MDcyMjhlMzZlYWY0NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lv
bi1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13aXRoLWdsb2Jh
bC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21h
dGNoLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNo
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRj
aC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNl
cnZlZC13b3Jkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2UyMGM0YjI0MjNmYTVkYTNmYjZi
OGM3Y2M0ZGEwNjgxMTk2YzczZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
bm9uLXJlc2VydmVkLXdvcmRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmEyOTllZmNhNjFjZWUyMWFlNzkyZWU2NWRhZjY3N2JhODFmMTYxYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1u
b24tcmVzZXJ2ZWQtd29yZHMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXItd2l0
aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbCI+Li4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5v
bi1yZXNlcnZlZC13b3Jkcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jk
cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
c2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmYTdj
YjZhMTQwOWI5MjdkZmFmZWRmMzEyZTVjYTNjNjhmZTU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQt
Y2lyY3VpdGluZy1vcGVyYXRvcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5n
LW9wZXJhdG9ycy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9y
cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13
aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDlhZDM4NzU4
MGEyYjEwMWZiOTQ4M2NjM2E0NDgyNWY2ZThjM2U5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJj
dWl0aW5nLW9wZXJhdG9ycy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13aXRo
LXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCI+
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxh
ci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFt
ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjNzMzYTg0YTJjMDA0NDQ4YTJhOThjNzM4Nzkz
ZDE0OTQ1NTQxM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1h
cnJheS1uYW1lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjYjU4OGM5ZDM5NGVkMTlkNDk4ZTcxN2M4YWNm
ODZlZjk1YjNlMGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0
bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkg
Z2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENv
bmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFy
cmF5LW5hbWVzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1p
bGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVu
aWZvcm0tYXJyYXktbmFtZXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgt
dmFyeWluZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3NzczNTJlODZmZGMwMzM0MTRjYWE2
MzdmMzUyNDk0MmMxMzI4NDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
cy13aXRoLXZhcnlpbmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5n
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjMxOTNiNDVjMzAxZjNjODNkNjY2ODljNmVkNjQ2YWJiYjc5ZGUy
N2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
c2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3Mu
aHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlm
cmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3Jk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFi
bGVzL2dsLXBvaW50Y29vcmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkNDMwM2E1NzhlZjFi
YTc1ZWI2OTA1ZGRjNjExNmNlNmUwMDM5YWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3Zhcmlh
Ymxlcy9nbC1wb2ludGNvb3JkLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA1NmY2YTA4MmRjZjUxN2U2YTYyMmQyMmUyYmVmODQ0Y2RiMjBkZTQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3Zh
cmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wtcG9p
bnRjb29yZC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wt
cG9pbnRjb29yZC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1w
b2ludGNvb3JkLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2M2FjYmY2MmVhYmMxMGI5ZTJlZjYwODBmZjgy
OWE0N2VjNjg4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUEuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42NDdiMTk2M2VmMTYyYmJiNTk4NGVlNWU3YzgzODNhMTlhODgzZmM1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBx
dWlja0NoZWNrQVBJLUEuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1C
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMWQyYzJl
YTg0NzM0MTYyZjgwYjQ5M2IzZjcwOGQzODdiMjUwODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CMS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTMyMmQ0MWEyNzUzY2Nk
ZDgzZTQ2MjI2YmJlZTNmZmU3NGY5YmZhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjEuaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sIj4u
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1C
MS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZjQ1YTNiZThiOTcxOWQ5MGZjNjIxOGRlYjk0YmNkY2Nl
NDI3NWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1CMi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODcxYTg2YWRmOTkwYWY3M2U2NzM1ZmE0ZmI0NDJlOWMzMzQ4NTg2OAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1
aWNrQ2hlY2tBUEktQjIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRt
bDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFt
ZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1CMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmZmQx
NzQ3MjVkZmFmZjBiNjBkODZkNDExYWUzNjQ1OTg0NTE5OGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMxMDY0M2JjMDVk
MDU1ZDMxZmM2ZTU0MmFlYTg0OWZjMjBmMzkyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBD
b25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjMuaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1s
Ij4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1CMy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNmQ0ZTg3MWI5MzdkYmMxMTI1OWZiYTU2OTBhMzhj
NTU1MTM1MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CNC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzhiZWFlNGEzZDg1NjU4ZjUwMTJkMGIxNzU2YzJiMDczNjY0MTA3
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBE
TyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9y
IHF1aWNrQ2hlY2tBUEktQjQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQu
aHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlm
cmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIiB3aWR0aD0iODAwIiBoZWln
aHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1DLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wY2Nh
YmQ0Y2E3NGM2OTJlNDUxMzI1YmVlYmE0ZWE0ZGE4ODNiNjE2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUzZDZiZTY2Y2NhNDhh
Njg3ZmY1MjUzN2UzNTYwNDRmNDM2MWM2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1DLmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sIj4uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM2MGM1Y2VkMDk5NTZhMjQ4OTYxZGRjNzk5NDE2MmU5ZGYyODJl
YWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktRF9HLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQzNWRlM2IwNTc3MDAwNWEzNmJiODZlN2EwZWU4Y2MyODJmYjQxOTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
cXVpY2tDaGVja0FQSS1EX0cuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURf
Ry5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDhkMmU5YWJiODdhY2MyMThjYWY4YjA5MDIyOTBmODM1NTEzY2E4ZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2Y1ZGMxYTEzNmI0ZWNmMzI3MDI1OTQ5OWE2MWZjMjEwNzkxZDA2ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1HX0kuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUdf
SS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQt
d2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUdfSS5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktTF9TLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWI2MThlOTBjMGQ3
NzhhNjkwZTdhMTlmNjI1MTFmOTEwNWZhMWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1MX1MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzQ4MDhkZjYzZjNlMzUx
ODE0YjI1YWM0NmI4NWU1YmZmOGYyMjQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktTF9TLmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwi
Pi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1MX1MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1T
X1YtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyZTgxMjc0OWY1YWVmNTY3NDQ3YjliMWU2ZDQz
NDcxNDczOTcyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktU19WLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLVNfVi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3OTk4NzhkOGM3ODZiZjUyOTJjYzY0NGZlMGIzOWQ1
ZmMwNGY5ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgcXVpY2tDaGVja0FQSS1TX1YuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbCI+Li4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLVNfVi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9Imlm
cmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2J1ZmZlckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zYTViMGQ3Nzk4ZTZlODE3NWM5MTFjNDZhMGNkNDIzZDRhZGVjMjg4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
YnVmZmVyRGF0YUJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU3
NjA4MTAyY2RlYzNiMTFhNmVkMTgyZGMyYzNlYjA3MGQzOTYyZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFC
YWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgYnVmZmVyRGF0YUJhZEFyZ3MuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRB
cmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJE
YXRhQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzEwNGYyYzA0NzViZTMzNGMyOWE4ZTdhMWVkZGMwZTA3
ZmM3ZjhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJE
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWFlY2ZlODExNDBlZDQzNjg4ODUyNGJmZmJlN2QxMGUzMzdkYmY2MgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJ
bWFnZTJELmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29weVRleEltYWdlMkQuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0
bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5o
dG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3Mt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1MjU2M2Q5YTljMzNlMWRkMGFiOTJjMmRhM2QzNjE2
MGFiZWU0NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlU
ZXhJbWFnZTJEQmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleElt
YWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTg5MzNlNDg5MjcyNmRkYjlmYjMwNzkwMmUy
ZmM5OGNiMTQ5ZDkxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIGNvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwiPi4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRC
YWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3YjI1MmNiMDBmZTA5MjYzZWQxYjQwODcyZjZiMWFj
NTdkMmRiZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1
YkltYWdlMkQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lYjFlMDM5NDVkZDI0Y2Q3MzI2YjA2MTNiMzI1NmI1MWI2NDhhY2E0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb3B5
VGV4U3ViSW1hZ2UyRC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvY29weVRleFN1YkltYWdlMkQuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbDwv
YT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRC
YWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjIyYWZhYWY0ZTEwMjBmY2IzNTBhZDQxNjhiZGE1ZDM4NTYzNTVmOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlU
ZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdz
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFy
Z3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wZTI4Yzc3ZDM4NGViN2MzN2QxNDM3Mjg3MDZiN2EyMTQ4ZjVk
MTVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCI+Li4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1h
Z2UyREJhZEFyZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZl
ckJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3ZmExOTgyYjcwYjMyODE0OWY1Mjk2
OGQ4MzEzZDFhZGY3ZWRjNDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRl
QnVmZmVyQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4YzNkNDIzNTViYjIzMTMxOGVmYzkzOWI1
ZjZmMDBlYTYzOGUwNmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIj4uLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
ZWxldGVCdWZmZXJCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZHJhd0FycmF5cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lZGM5ODU5NTRlNjRjYTRiOGNlNWFiMWU3MDM4YWYyYjFhZTk2MjczCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0Fy
cmF5cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJh
eXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40MDJkZjU5NzFlNDQ4YjczYzQ0NWNmOGJlNTFjZTdiYzU4Njhl
OWJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdB
cnJheXMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdB
cnJheXMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5o
dG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyNGRlYWQ0NTJmMzllMGU1YWZkMDIzYmNmYTNmYzFh
NmFjZmMzMDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdB
cnJheXNPdXRPZkJvdW5kcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5
c091dE9mQm91bmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ5YzBkYWNiZDAyZDJmODRmYjMwYjI3NjVh
NjE1YjhmMzliMWJiMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIGRyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwiPi4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9m
Qm91bmRzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTgxM2MzNWRkMzE1MjRlMjgwNTYzZjVkODliYjVjOWEyMmY0ZWQxZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTM3Y2Y3MTQ4YzUwNDEy
OGQ0NmQ2NWFjZWRjYTc1YWExMjIyNzBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgZHJhd0VsZW1lbnRzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitU
ZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRz
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRB
cmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyNTdk
YzE2YzdhM2ZkNzkxOGRlYzQxNTgwYTFiNWNkOTMwMTgyYTcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNC
YWRBcmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0VsZW1lbnRzQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwMTZkMTE4
ZTI3NWZjZjkwYWQ5Y2M1NDY3YzZjNmRkNjlhODI5MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRB
cmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZHJhd0VsZW1lbnRzQmFkQXJncy5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFk
QXJncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHNCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVs
c0JhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0Mzk3OThkNTk1ZmJjMTAzODAxNjk1
ZTUyODA3ZDhlZjQ4ZTAxMDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
cmVhZFBpeGVsc0JhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0Jh
ZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTBiYzBlYjlkYWE4ZjVhMWYxYTQyZGE3M2U0OTQyMzI1
ZWNiNzI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciByZWFkUGl4ZWxzQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFy
Z3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2Uy
REJhZEFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2
MzI4ZjYxZTVmYTQzY2JkMWM1NTllNGI0MTJmYWNkYzAzN2M0NGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJE
QmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJ
bWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjJhOTkxZDA1NDEw
MGU5YjI5ZDUzZjI2N2MyYTZiNWRkZTkyYmYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXhJbWFnZTJEQmFkQXJncy5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCI+
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdz
Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk2ODEyN2JhOGNjZDJlMjczOTQzYzY5MGQxODNiZWJkZmFmM2I4NTAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhJbWFnZTJESFRNTC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTkxNDM2NTJl
M2ZmMzhmM2NmZjUwNjBlYzdkZDlhOTg3MWZmNzM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXhJbWFnZTJESFRNTC5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCI+Li4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4SW1hZ2UyREhUTUwuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ1NjI2NTllYzJiYzY3MTBmZjk5MjYyMTZhZGUxNWFhNmI1N2QzNDEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFy
Z3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YjliMTNhZWRiODcxNmEwMWY0MjI2NmVhNzkwMTMyMzRjYmVmYzFlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0
ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJh
ZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4
U3ViSW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmVlMDMzZTM4MTkwNjM3OTgzOWM0NmY3ODJkYjk2ZTVjYmQ1N2M4OGUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhT
dWJJbWFnZTJESFRNTC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbAorUEFTUwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZWZiOWM2
YTM2NmY1YTM5YmMwNWI4YzgyZjI3YTMxN2M3YjQ2Y2ZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhU
TUwuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXhTdWJJbWFnZTJESFRNTC5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwu
aHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdl
MkRIVE1MLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA4ZmQ3MjBmYTQ0NTdjZDY5YjU5NDhmZmRmNmI0N2IxZDQ0OWQ1
Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
YTNjM2RmZjU4YTBjMzFiZGJiM2I3ODgwNjhjNjYyZjFhYzY1MmJkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90
b18wMDYuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBhY29zXzAwMV90b18wMDYuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFf
dG9fMDA2Lmh0bWwiPi4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fj
b3NfMDAxX3RvXzAwNi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zM2YyMGNjZTRjZTU3MjQ2ODM3NDhmNDE3NTBmYzAw
ODFlYjE4ODllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFf
dG9fMDA2Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGY1OWEwMDI1YWRkZmNiODI2ZGIxZWE0NzkzNTBmZWI2YmZiNTZiYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNp
bl8wMDFfdG9fMDA2Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0
by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgYXNpbl8wMDFfdG9fMDA2
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2Fz
aW5fMDAxX3RvXzAwNi5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sPC9hPgorPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4v
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wv
YXNpbi9hc2luXzAwMV90b18wMDYuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAx
X3RvXzAwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODUzYjM1NmM0NGUyYzdjZmExNGQ4Njky
OWQwMmUzMWRlNjFlNmRlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0
YW5fMDAxX3RvXzAwOC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjA4MTIzODQ4OGI4NTgwMTIxY2Q0MDRmZmIxM2MzNWM3YzBiYTcyN2YKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9h
dGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJ
VCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGF0YW5fMDAx
X3RvXzAwOC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wv
YXRhbi9hdGFuXzAwMV90b18wMDguaHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbDwv
YT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBz
cmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29n
bGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxv
d18wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDhjNzU1MzVkMjE5NTkyMTA1ZDc3NzliZDUyYzIxMjA2OGNkNGZiNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9m
bG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xf
Zmxvd18wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMDY4MmFhMDJmOTk3MzI0MGFjZTJiZDE0MmM5ODZjYzkyNDQ3OWI0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93
L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29u
dHJvbF9mbG93XzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIj4u
Li8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRy
b2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cv
bG9nXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1YWRkMTEzOTUxNWE4Zjcw
ODVkYTNkYzJlZjc0ZDJjMGZlYTk1YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xv
Zy9sb2dfMDAxX3RvXzAwOC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmQ0Yjk5OWU3YzY4NTMxNjc1YmNjNjNmNjdlZWJhOWIyOWFjN2I1ZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xv
Zy9sb2dfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGxvZ18wMDFfdG9f
MDA4Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cv
bG9nXzAwMV90b18wMDguaHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9s
b2cvbG9nXzAwMV90b18wMDguaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjgwZWE1YzNjNTRmYzk0NzdiZDYzN2EwN2U1
MGQ4MTRiNDAxMmFmNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJf
MDAxX3RvXzAwOC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY1ZWE4NzFhYWMwYzM4ODE0ZDk1ODY4ZDcxZWIzZGQxOWM4NTMzMmMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cy
L2xvZzJfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGxvZzJfMDAxX3Rv
XzAwOC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9n
Mi9sb2cyXzAwMV90b18wMDguaHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbDwvYT4K
KzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9
Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVz
L0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90
b18wMDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjUyZTFmNjVlMmE3ZmE4NTBjOTM1MjEwMWZkNTJhOWQyMDEzY2ZlMTcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVw
L3Ntb290aHN0ZXBfMDAxX3RvXzAwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAw
MV90b18wMDYuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhz
dGVwXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzUzY2E4MDI0N2RjZTVjY2E0NmU4NmEy
NzIzNDBlNDJiNzc1ZmQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3Rl
cF8wMDFfdG9fMDA2Lmh0bWwiPi4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQt
YXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25n
LW5hbWVzLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4YTRkODI3YTUxZDY1M2FjOTI0
NDU4NmNhMDg4ZmRmYTcxMmIxYmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVz
LXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1z
L2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9u
Zy1uYW1lcy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2YxMDhmNDg1ODcwYTNiYjg4MTg1NjQ3NTZj
ZTZmZDM1YmIzYzQwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBD
b25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmct
bmFtZXMtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWIt
bG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmct
bmFtZXMtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9Imlm
cmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0
Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTUy
MmNiMzIwYWVkMGI0MDNjZGUxY2I5YjI3ZDBkYjA5Y2QzYWYwOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMv
cHJvZ3JhbS10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MGE4
MGJjMmVmZjUzZjI1ZTcyNTk4ZjY2NWQ4MjE5NzE3OTk3MjYzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcHJvZ3JhbS10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitU
ZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRl
c3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9y
ZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NGRlYjk5NGEzYTY0OWNmNTliMTI4MTBlNzA3N2ExMGU5MGIwMzY1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVs
cy10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg2MjFmZTkxZGFiOTk2MzEyNGYzY2ZiOGIxYzU3NTgwZWIwZGU0NzEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5n
L3JlYWQtcGl4ZWxzLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciByZWFkLXBpeGVs
cy10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9y
ZWFkLXBpeGVscy10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVm
ZmVyLW9iamVjdC1hdHRhY2htZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2NzgyODcxYWY1NWE5NDMxYjBiYmIzOWMzMTg4YThhYzU5
OWU5ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1l
YnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3Qt
YXR0YWNobWVudC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVm
ZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhNGEz
ZGI5ZDYwYTM0NTBmMTIxZjU1ZTA3ZTJmMzBkNDU3MjY5YzEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9i
amVjdC1hdHRhY2htZW50Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZnJhbWVidWZmZXIt
b2JqZWN0LWF0dGFjaG1lbnQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJh
bWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0
YWNobWVudC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIiB3
aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9n
bC1zY2lzc29yLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI4
ZDk5OWQ4N2JhZjMxN2RkYjc0YWU4NDFhZTkxM2Y2ODI1ZmZmMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3Qt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRl
cmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzEzYzMwNDBkOTVjNjI2NmFlYmRhZTc5YTIxYjZmZWM3ODdhYjNjMAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9n
bC1zY2lzc29yLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC1zY2lzc29yLXRl
c3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbCI+
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2ds
LXNjaXNzb3ItdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9
ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1
MzYtaW5kaWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmEzZTQzMGYyZDk1NDM4ZTlkYjhlMmE1NzRlOWExZGJiYjk2ODUyYmQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1
NTM2LWluZGljZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRo
YW4tNjU1MzYtaW5kaWNlcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVu
ZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDY4NDQ1ZTMz
YjRhOGY5Zjk1ZjBlODk0MTJhZGRiODhkNGYyMWU0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNl
cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIG1vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0
bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGE4ZmZmZjU0ZTlmOTg4ZTZjNjkwMzEwNTU3MjQ1NTNlYTUxMjY0
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRl
cmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Jl
bmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ0NzU0MmQ3NzIxMmM4NGZkMjc2MDcyOWY3ZTNlYzhhNTVkNTViMTQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1w
bGUtY29ycnVwdGlvbi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIG11bHRpc2FtcGxlLWNv
cnJ1cHRpb24uaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0
LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3Jy
dXB0aW9uLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29y
cnVwdGlvbi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9wb2ludC1zaXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42YzA5YmVkYzEwYzZhYzc0OGE4NDg0ZjY4YTM1YTA3ZTc5YjRiYWI5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRl
cmluZy9wb2ludC1zaXplLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVl
YTc2NzE0Mjk4NDQwMjhjM2E3ODgxMWRiNWQ5OWZmYmZjNDRkNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcG9pbnQtc2l6ZS5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUv
Z2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41OTEwNjI4NzJhOGFlZjRkMjI2ZmM5ZGVkNjlhNDEwNjMxZDYxYzRjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1j
YWxscy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
c3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MzRhZjg5ZjllNTAwNDgwZjk0YmRmMzdiOWM1ODU1MjhlMzdlM2Rl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUv
Z2wtb2JqZWN0LWdldC1jYWxscy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJ
VCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLW9iamVj
dC1nZXQtY2FsbHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2Fs
bHMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3Rh
dGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
KzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHkt
dGV4LWltYWdlLTJkLWZvcm1hdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDdkMzk3MGE1NTgyNWI0NjgxZmFkMWQ0NTk2YjIxNDI0ZmFiNmI0OQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2Nv
cHktdGV4LWltYWdlLTJkLWZvcm1hdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTY4YzZlMGVhODBlNTcxOGFkYTE5NjhkODliZDA5YWRiOWQxN2MzNwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4
LWltYWdlLTJkLWZvcm1hdHMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb3B5LXRleC1p
bWFnZS0yZC1mb3JtYXRzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1p
bWFnZS0yZC1mb3JtYXRzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbDwvYT4KKzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHkt
dGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI3NTA5ZGIwYmYxN2Q2YzU3MjA3OTM1MWRhMDg1MDcxMmJk
Nzc4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL2dsLXBpeGVsc3RvcmVpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVs
c3RvcmVpLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1w
aXhlbHN0b3JlaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiYjdiNmU1OTQ4ZjUwZTJlZWNkMWQ5MzgxNDVm
YTU1ZWU3MTlmNmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBE
TyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9y
IGdsLXBpeGVsc3RvcmVpLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0
b3JlaS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
KzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4t
Y2xlYW4tY29uZm9ybWFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jNWRlMjE2M2U2MTFiYjM2Yzk1ZDA5Y2RjMDY2ZTc0MjUyNzNlNDM4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2lu
LWNsZWFuLWNvbmZvcm1hbmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9v
cmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjli
OWI5YmRhNWM2YjliYjRkMWUwODIyMWVlZTlhNzIyNzk2ZjRlYjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29u
Zm9ybWFuY2UuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBvcmlnaW4tY2xlYW4tY29uZm9y
bWFuY2UuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3Jt
YW5jZS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25m
b3JtYW5jZS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
OWI5NjI5NDQwYmJmZWQ4Yzk2MTJiYjZmYTViMjAzZDY4N2Y2MTRiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiNTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmFkNWRmYTVmMWZjYTAyM2MwZDZhYTU2ZTFkNTVhYTA5MTZkMmE1
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDog
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTFiY2Q2Nzg1OGQyNjE1MGFjYjM2
ZmM2OWI4MzY0ZWIxYjlmM2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtcmdiNTY1Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbCI+Li4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjE1MDBiNzljMjhi
Y2YwMmE5YmRjNTMxZGFmM2M1ZTM1MTgyMDUxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy1yZ2JhNDQ0NC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM3ZjA3NDZlNmNlY2Y3MDU4NDY0OTkwNzU1MmNmNzc5ZWI1YzE1M2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYmE0NDQ0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwv
aWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2JhNTU1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1y
Z2JhNTU1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTMyOTQwMjM2ZTUzZWQxZTk5MDVhNjlm
ODAyNDMxNmMzNTU4ZmE0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2Jh
NTU1MS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1
NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI0MjA1NDYzOTg3NTI4MjFmN2QxMmQ5NGM0MzRhNzkwMWJlN2JiMTYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0
bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNh
bnZhcy1yZ2JhNTU1MS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9
ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtcmdiYTU1NTEuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MGY3ODBiNTZlN2Y5
NTNiNzYxODAwZmZjMjU2M2VhN2ZkZDk2MDg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1jYW52YXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbCI+Li4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8
ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
YjRkYTI3YjQzZmU0ZWViZTAxMDNkNzg3MmRhMzI2NjEzOTY3MmFiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1pbWFnZS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
NTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NGEyZWRlOGViZGJlMTA0NmUyYzAyNjliZGM0NTQwMzEzNjFjYjY5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1h
Z2UtcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JkMmZlYTU5ODRkZTRhZTc0OWEwOTEwYmNiNGU1
M2Q4MDQwMjg4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1pbWFnZS1yZ2I1NjUuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwiPi4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2Jh
NDQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTAxMmVmMDZlOTE3M2NlOGZkMmVhOTQ3NmVl
MmQ4MjQyNDQ3ODkwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTQ0NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWI0ZmZm
YjgwN2EyZTljM2Q1OTEwM2Q4NWM0NzdmZDlkOWI3YmRkZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdl
LXJnYmE0NDQ0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0
NDQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJjYjNiNDQ5NWMyOGZiODUzMmQ3OTM0ZjFmODYwZWYxNjkyZWI1MTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1yZ2JhNTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4YWRjNDljNjk2NzVjZmZmYmM3ZmE2MGJkZjYz
NDE4MzE5YjE3M2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1
NTUxLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sIj4uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjlmZjc1ZTcyZjAxZGY3Mzc3MjYyMjc2MTQ3Y2UxNWMyY2U2OTczMzkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1s
Ij4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xZGIxODNhNTMyMmRmMWMxY2Y4ZDFjMmFmYzI5ODYyMTc0ZjU1ZjUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtdmlkZW8tcmdiNTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdi
NTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGJhNWYzMDQ3Njc0NmMxOWUxNjExNzM2MmNl
MGE4ZGM1NDY1NzU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGVkMTY2MWU0MjA3ZDhj
MDg2OTFlYTgwOTk4Njk2ZmY2NDYxZjdhOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiNTY1Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby1yZ2JhNDQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNhY2M3ZGMzZGM4
YmMxZTQ1ZWYyNjdkZjg2NmFmODAyMDEwMjEwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtdmlkZW8tcmdiYTQ0NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
dmlkZW8tcmdiYTQ0NDQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjU2NDVkYTJiMjM1NGUxMmZhZjUwZmYwYTRlZDFlZWM2Y2VjNTJhYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0
NDQ0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTQ0NDQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
dmlkZW8tcmdiYTQ0NDQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwMThiMDRiYmY1NjYxMmYzYzQ0ZjhjY2FlN2IwZGQ5YWRj
MWUzYzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5ZDI4YjVmOTUyYzY4
YTVlY2E3YjU3NGE5YTg5Y2Y1ZmExZDNmY2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElU
IC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1
MS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0NzQ4YTg0NDlmNTY1MGRkNWE4NTJmNTI1MzFhYzdmYzY2
NzhmODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3Rp
dmUtYmluZC0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE2
ODg1YmVkZWNmNjRjZTFmNGY0OTczZDZkZTA4ZTY0NmRiZTUwMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJp
bmQtMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmlu
ZC0yLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LWFjdGl2ZS1iaW5kLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2QwZTY2YTJmZmQ2MjZhYTRkOTVkMGRm
ZDFiZWQyZmU3ZWRlMDE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAi
PjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUt
YWN0aXZlLWJpbmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZjVkNDNkMzhmZjgxMjE4OTg1
YzM3OWI1MmFkZTdmMDkzZDExNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFj
dGl2ZS1iaW5kLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM2OWExMzI2NjU0NTU0ZTE2MThlMDVjZWI5MmE5ZTA4NzFlZTkyMGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LWFjdGl2ZS1iaW5kLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0
by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1hY3RpdmUt
YmluZC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5o
dG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1taXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtbWlwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDgyY2EwYTkwMWFh
MmM1OWYyYzMwYWZjNTg3OGQ4ZTk1ZDU0ZTVhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1t
aXBzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDk2OTVhMzkyNjhl
ODBiZDFjM2ZiMjNkNjc0MmJiY2ZhYTAwZDA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgdGV4dHVyZS1taXBzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLW1pcHMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbCIg
d2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLW5wb3QtdmlkZW8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMzc1NDdlOTU4NDMyNzA1ZmNiMzcwMDg2YmY1NjEzMTg4YzFjZDQ1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90
LXZpZGVvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8u
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBv
dC12aWRlby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2MTIzY2ZhMWM2YmY0NTM3OTIzZjk5NjVhMzI3Y2Ez
NjhmZTM5MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0t
IFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4g
RE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZv
ciB0ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtbnBvdC12aWRlby5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12
aWRlby5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFjMzRiMWFjZjNjN2FhMjFmNjg4YjdiMmM0YjMxY2FjZTAzYjU5Y2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGlt
aXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlODAzOTNmODZiNjJjNjI5YTRkNTY3M2RmZjQz
MmJlNzJkNDdkMGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBkOThm
OTI0MWZhMTgxNDhmYzVhZmU1ZTNhOWEzZGE0YzA5NTU3YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBD
b25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleHR1cmUtc2l6ZS1saW1pdC5odG1sPC90aXRs
ZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwiPi4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1s
aW1pdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MTYxNTFiN2U1NDM4YTQ3ZDM3ZDdiZTgzN2NlNzlhNmY4MDEwYWFlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1zaXplLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1zaXplLmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbCI+Li4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLXNpemUuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDZiYTdiMjFkNjJjM2JlY2RjNmZjYWQyNDAzOWQxYWIx
NmVkZmFkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1z
L2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4OGQwZDMwZDlkZjU4
ZTAxMmUzYWJjNDY3NDI2YzgwOTIyY2M2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXVuaWZvcm0tYXJyYXlzLmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitU
ZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMv
Z2wtdW5pZm9ybS1hcnJheXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVs
dC12YWx1ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlNTRjYmMzZGI3OWViMGFjYWZhOWNm
YjA4NDRjOGNlNGFjNzNmZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRl
ZmF1bHQtdmFsdWVzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRiMmIyZmU2ZTFkZTdiODU5OWNkMDBjNDQ1MGNjOTZiYzlhMTYwNzQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdW5p
Zm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9y
bS1kZWZhdWx0LXZhbHVlcy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3Jt
LWRlZmF1bHQtdmFsdWVzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NzljZTM0OTdiYmNmMGUyOGYxNDI3MjEwZTZjYjFkNGU3YzQy
MWUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1sb2NhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZv
cm0tbG9jYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1z
L3VuaWZvcm0tbG9jYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTQzMjFhYzNmZTQyNTMwYzUxMTMz
MWM0NWRkN2RkM2QwMDAxNTgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRl
c3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdy
YXBwZXIgZm9yIHVuaWZvcm0tbG9jYXRpb24uaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1z
L3VuaWZvcm0tbG9jYXRpb24uaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2Nh
dGlvbi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjRmY2VhMjIyMDQxNTQ0NzI4ODgyYTg2Yzk4MGQ5YTJjYzE2ODRj
ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZv
cm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWQ0
MjBkNjc2ZmE1MDRkMTYyODY4ZmEyMDE2MjY3OTVlM2I3M2ZkMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMt
dGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHVuaWZvcm0tc2FtcGxlcnMtdGVzdC5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3Vu
aWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFz
L2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0NDYxZDliYjQxZTg4MmZh
ODcyYmY1NmE2NDlmNThmNmRjMDY3ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVy
LW9mZnNjcmVlbi10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxMTcgQEAKKzwhLS0KKworLyoKKyoqIENv
cHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVu
dGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJp
YWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlz
dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMs
IGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJ
REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9S
IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK
KyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENP
UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBP
VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9S
VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBN
QVRFUklBTFMuCisqLworCistLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCByZXF1aXJlZCBidWZmZXIgY2xlYXIg
YmVoYXZpb3VyIHRlc3Q8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citi
b2R5IHsKKyAgICBoZWlnaHQ6IDMwMDBweDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CisKK3ZhciBpdGVyID0gMDsKK3ZhciBnbDE7Cit2YXIgZ2wyOworCit2
YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisKK2Z1bmN0aW9uIHRpbWVyKCkgeworICAgIGlmIChp
dGVyID09IDApIHsKKyAgICAgICAgLy8gc29tZSByYW5kb20gaGFja3kgc3R1ZmYgdG8gbWFrZSBz
dXJlIHRoYXQgd2UgZ2V0IGEgY29tcG9zaXRpbmcgc3RlcAorICAgICAgICB3aW5kb3cuc2Nyb2xs
QnkoMCwgMTApOworICAgICAgICB3aW5kb3cuc2Nyb2xsQnkoMCwgLTEwKTsKKyAgICAgICAgaXRl
cisrOworCisgICAgICAgIHNldFRpbWVvdXQodGltZXIsIDUwMCk7CisgICAgfSBlbHNlIGlmIChp
dGVyID09IDEpIHsKKyAgICAgICAgZnVuY3Rpb24gY2xlYXIoZ2wpIHsKKyAgICAgICAgICAgIC8v
IHNjaXNzb3Igd2FzIHNldCBlYXJsaWVyCisgICAgICAgICAgICBnbC5jbGVhckNvbG9yKDAsIDAs
IDEsIDEpOworICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAg
ICAgIH0KKyAgICAgICAgY2xlYXIoZ2wxKTsKKyAgICAgICAgY2xlYXIoZ2wyKTsKKworICAgICAg
ICBkZWJ1ZygiY2hlY2sgb24gc2NyZWVuIGNhbnZhcyIpOworICAgICAgICB3dHUuY2hlY2tDYW52
YXNSZWN0KGdsMSwgMCwgMTAsIDEwLCAxMCwgWzAsIDAsIDI1NSwgMjU1XSwgImNsZWFyZWQgY29y
bmVyIHNob3VsZCBiZSBibHVlLCBzdGVuY2lsIHNob3VsZCBiZSBwcmVzZXJ2ZWQiKTsKKyAgICAg
ICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbDEsIDAsIDAsIDEwLCAxMCwgWzAsIDAsIDAsIDBdLCAi
cmVtYWluZGVyIG9mIGJ1ZmZlciBzaG91bGQgYmUgY2xlYXJlZCIpOworICAgICAgICBkZWJ1Zygi
Y2hlY2sgb2ZmIHNjcmVlbiBjYW52YXMiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChn
bDIsIDAsIDEwLCAxMCwgMTAsIFswLCAwLCAyNTUsIDI1NV0sICJjbGVhcmVkIGNvcm5lciBzaG91
bGQgYmUgYmx1ZSwgc3RlbmNpbCBzaG91bGQgYmUgcHJlc2VydmVkIik7CisgICAgICAgIHd0dS5j
aGVja0NhbnZhc1JlY3QoZ2wyLCAwLCAwLCAxMCwgMTAsIFsyNTUsIDAsIDAsIDI1NV0sICJyZW1h
aW5kZXIgb2YgYnVmZmVyIHNob3VsZCBiZSB1bi1jbGVhcmVkIHJlZCIpOworCisgICAgICAgIGZp
bmlzaFRlc3QoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGdvKCkgeworICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgZW5zdXJlcyBXZWJHTCBpbXBsZW1lbnRhdGlvbnMgY29ycmVjdGx5IGNsZWFy
IHRoZSBkcmF3aW5nIGJ1ZmZlciBvbiBjb21wb3NpdGUgaWYgcHJlc2VydmVEcmF3aW5nQnVmZmVy
IGlzIGZhbHNlLiIpOworCisgICAgZGVidWcoIiIpOworCisgICAgZ2wxID0gd3R1LmNyZWF0ZTNE
Q29udGV4dCgiYyIpOworICAgIGdsMiA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKKyAgICBzaG91
bGRCZVRydWUoImdsMSAhPSBudWxsIik7CisgICAgc2hvdWxkQmVUcnVlKCJnbDIgIT0gbnVsbCIp
OworCisgICAgc2hvdWxkQmVUcnVlKCdnbDEuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2
ZURyYXdpbmdCdWZmZXIgPT0gZmFsc2UnKTsKKyAgICBzaG91bGRCZVRydWUoJ2dsMi5nZXRDb250
ZXh0QXR0cmlidXRlcygpLnByZXNlcnZlRHJhd2luZ0J1ZmZlciA9PSBmYWxzZScpOworCisgICAg
ZnVuY3Rpb24gaW5pdChnbCkgeworICAgICAgICBnbC5jbGVhckNvbG9yKDEsIDAsIDAsIDEpOwor
ICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJ
VCB8IGdsLlNURU5DSUxfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgLy8gZW5hYmxlIHNjaXNzb3Ig
aGVyZSwgYmVmb3JlIGNvbXBvc2l0aW5nLCB0byBtYWtlIHN1cmUgaXQncyBjb3JyZWN0bHkKKyAg
ICAgICAgLy8gaWdub3JlZCBhbmQgcmVzdG9yZWQKKyAgICAgICAgZ2wuc2Npc3NvcigwLCAxMCwg
MTAsIDEwKTsKKyAgICAgICAgZ2wuZW5hYmxlKGdsLlNDSVNTT1JfVEVTVCk7CisgICAgfQorCisg
ICAgaW5pdChnbDEpOworICAgIGluaXQoZ2wyKTsKKworICAgIHNldFRpbWVvdXQodGltZXIsIDUw
MCk7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZ28sIGZhbHNlKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGNhbnZhcyB3aWR0aD0iMjAiIGhlaWdo
dD0iMjAiIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibHVlOyIgaWQ9ImMiPjwvY2FudmFzPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2
ZS10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGMxOGQxYjNiY2MxZDM4YzY0OWQxODg0NjkwMDU1NzVj
ZTllZjU1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5o
dG1sCkBAIC0wLDAgKzEsMTEyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgcmVxdWlyZWQgYnVmZmVyIGNsZWFyIGJlaGF2aW91ciB0ZXN0PC90
aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+
IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpz
Ij4gPC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7CisgICAgaGVpZ2h0
OiAzMDAwcHg7Cit9Cis8L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgor
Cit2YXIgaXRlciA9IDA7Cit2YXIgZ2wxOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisK
K2Z1bmN0aW9uIHRpbWVyKCkgeworICAgIGlmIChpdGVyID09IDApIHsKKyAgICAgIGZ1bmN0aW9u
IGluaXQoZ2wpIHsKKyAgICAgICAgICBnbC5jbGVhckNvbG9yKDEsIDAsIDAsIDEpOworICAgICAg
ICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUIHwg
Z2wuU1RFTkNJTF9CVUZGRVJfQklUKTsKKworICAgICAgICAgIC8vIGVuYWJsZSBzY2lzc29yIGhl
cmUsIGJlZm9yZSBjb21wb3NpdGluZywgdG8gbWFrZSBzdXJlIGl0J3MgY29ycmVjdGx5CisgICAg
ICAgICAgLy8gaWdub3JlZCBhbmQgcmVzdG9yZWQKKyAgICAgICAgICBnbC5zY2lzc29yKDAsIDEw
LCAxMCwgMTApOworICAgICAgICAgIGdsLmVuYWJsZShnbC5TQ0lTU09SX1RFU1QpOworICAgICAg
fQorICAgICAgaW5pdChnbDEpOworICAgIH0gZWxzZSBpZiAoaXRlciA9PSAxKSB7CisgICAgICAg
IC8vIHNvbWUgcmFuZG9tIGhhY2t5IHN0dWZmIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGdldCBhIGNv
bXBvc2l0aW5nIHN0ZXAKKyAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIDEwKTsKKyAgICAgICAg
d2luZG93LnNjcm9sbEJ5KDAsIC0xMCk7CisgICAgfSBlbHNlIGlmIChpdGVyID09IDIpIHsKKyAg
ICAgICAgZnVuY3Rpb24gY2xlYXIoZ2wpIHsKKyAgICAgICAgICAgIC8vIHNjaXNzb3Igd2FzIHNl
dCBlYXJsaWVyCisgICAgICAgICAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDEsIDEpOworICAgICAg
ICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgICAgIHd0dS5j
aGVja0NhbnZhc1JlY3QoZ2wsIDAsIDEwLCAxMCwgMTAsIFswLCAwLCAyNTUsIDI1NV0sICJjbGVh
cmVkIGNvcm5lciBzaG91bGQgYmUgYmx1ZSwgc3RlbmNpbCBzaG91bGQgYmUgcHJlc2VydmVkIik7
CisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCAxMCwgMTAsIFswLCAw
LCAwLCAwXSwgInJlbWFpbmRlciBvZiBidWZmZXIgc2hvdWxkIGJlIGNsZWFyZWQiKTsKKyAgICAg
ICAgfQorICAgICAgICBjbGVhcihnbDEpOworCisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGl0ZXIrKzsKKyAgICBzZXRUaW1lb3V0KHRpbWVyLCA1
MDApOworfQorCitmdW5jdGlvbiBnbygpIHsKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVu
c3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25zIGNvcnJlY3RseSBjbGVhciB0aGUgZHJhd2luZyBi
dWZmZXIgb24gY29tcG9zaXRlIGlmIHByZXNlcnZlRHJhd2luZ0J1ZmZlciBpcyBmYWxzZS4iKTsK
KworICAgIGRlYnVnKCIiKTsKKworICAgIGdsMSA9IHd0dS5jcmVhdGUzRENvbnRleHQoImMiKTsK
KyAgICBpZiAoIWdsMSkgeworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBzaG91bGRCZVRydWUoImdsMSAhPSBudWxsIik7CisgICAgc2hvdWxkQmVU
cnVlKCdnbDEuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgPT0g
ZmFsc2UnKTsKKworICAgIHNldFRpbWVvdXQodGltZXIsIDUwMCk7Cit9CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgZ28sIGZhbHNlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPCEtLSBJbXBvcnRhbnQgdG8g
cHV0IHRoZSBjYW52YXMgYXQgdGhlIHRvcCBzbyB0aGF0IGl0J3MgYWx3YXlzIHZpc2libGUgZXZl
biBpbiB0aGUgdGVzdCBzdWl0ZSBydW5uZXIuCisgICAgIE90aGVyd2lzZSBpdCBqdXN0IGRvZXNu
J3QgZ2V0IGNvbXBvc2l0ZWQgaW4gRmlyZWZveC4gLS0+Cis8Y2FudmFzIHdpZHRoPSIyMCIgaGVp
Z2h0PSIyMCIgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsdWU7IiBpZD0iYyI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3Qu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjM3OWM2
YWZhODE0M2M4NTQ0OTM3OTUxNTUzNzNmY2NiMDRlYzI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2Fu
dmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sCkBAIC0wLDAgKzEsMTM5IEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDYW52YXMuZHJhd2lu
Z0J1ZmZlcldpZHRoLGRyYXdpbmdCdWZmZXJIZWlnaHQgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0
aW9uKCk7CitkZWJ1ZygiIik7CisKK3ZhciBnbDsKK3ZhciBvbGRWaWV3cG9ydDsKKworZnVuY3Rp
b24gZ2V0TWF4Vmlld3BvcnREaW1lbnNpb25zKCkgeworICAvLyBjcmVhdGUgYSBmcmVzaCBjYW52
YXMuIFRoaXMgY2FudmFzIHdpbGwgYmUgZGlzY2FyZGVkCisgIC8vIGFmdGVyIGV4aXRpbmcgdGhp
cyBmdW5jdGlvbi4KKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZh
cyIpOworICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB7YW50aWFsaWFzOiBmYWxz
ZX0pOworICBpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlz
dCIpOworICAgIHJldHVybiBbMCwgMF07CisgIH0gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiY29u
dGV4dCBleGlzdHMiKTsKKworICAgIC8vIEZvciBhIGRlZmF1bHQgc2l6ZSBjYW52YXMgdGhlc2Ug
c2hvdWxkIGJlIGVxdWFsLgorICAgIC8vIFdlYkdMIGNvbnRleHRzIGFyZSBub3QgYWxsb3dlZCB0
byBjaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRyYXdpbmdCdWZmZXIKKyAgICAvLyBmb3IgdGhpbmdz
IGxpa2UgaGktcmVzIGRpc3BsYXlzLgorICAgIHNob3VsZEJlKCdnbC5kcmF3aW5nQnVmZmVyV2lk
dGgnLCAnZ2wuY2FudmFzLndpZHRoJyk7CisgICAgc2hvdWxkQmUoJ2dsLmRyYXdpbmdCdWZmZXJI
ZWlnaHQnLCAnZ2wuY2FudmFzLmhlaWdodCcpOworICAgIHJldHVybiBnbC5nZXRQYXJhbWV0ZXIo
Z2wuTUFYX1ZJRVdQT1JUX0RJTVMpOworICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoZGVzaXJlZFdp
ZHRoLCBkZXNpcmVkSGVpZ2h0KSB7CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoInRlc3RpbmcgY2Fu
dmFzIHdpZHRoID0gIiArIGRlc2lyZWRXaWR0aCArICIsIGhlaWdodCA9ICIgKyBkZXNpcmVkSGVp
Z2h0KTsKKworICAvLyBNYWtlIGEgZnJlc2ggY2FudmFzLgorICB2YXIgY2FudmFzID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CisgIGNhbnZhcy53aWR0aCA9IGRlc2lyZWRXaWR0
aDsKKyAgY2FudmFzLmhlaWdodCA9IGRlc2lyZWRIZWlnaHQ7CisKKyAgLy8gVGhpcyAnZ2wnIG11
c3QgYmUgZ2xvYmFsIGZvciBzaG91bGRCZSB0byB3b3JrLgorICBnbCA9IHd0dS5jcmVhdGUzRENv
bnRleHQoY2FudmFzLCB7YW50aWFsaWFzOiBmYWxzZX0pOworICBpZiAoIWdsKSB7CisgICAgdGVz
dEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICB9IGVsc2UgeworICAgIHRlc3RQ
YXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgICAvLyBWZXJpZnkgdGhlc2Ugc3RhdHMgZGlk
bid0IGNoYW5nZSBzaW5jZSB0aGV5IGNvbWUgZnJvbSBhIGRpZmZlcmVudAorICAgIC8vIGNvbnRl
eHQuCisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5NQVhfVklFV1BPUlRfRElNUylb
MF0nLCAnbWF4U2l6ZVswXScpOworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFY
X1ZJRVdQT1JUX0RJTVMpWzFdJywgJ21heFNpemVbMV0nKTsKKworICAgIC8vIGNoZWNrIHRoZSBp
bml0aWFsIHZpZXdwb3J0IG1hdGNoZXMgdGhlIGRyYXdpbmdCdWZmZXJXaWR0aCBhbmQgZHJhd2lu
Z0J1ZmZlckhlaWdodAorICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQp
WzBdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsx
XScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbMl0n
LCAnZ2wuZHJhd2luZ0J1ZmZlcldpZHRoJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRl
cihnbC5WSUVXUE9SVClbM10nLCAnZ2wuZHJhd2luZ0J1ZmZlckhlaWdodCcpOworCisgICAgZGVi
dWcoIiIpOworICAgIGRlYnVnKCJ0ZXN0aW5nIHJlc2l6aW5nIGNhbnZhcyB0byB3aWR0aCA9ICIg
KyBkZXNpcmVkV2lkdGggKyAiLCBoZWlnaHQgPSAiICsgZGVzaXJlZEhlaWdodCk7CisKKyAgICBv
bGRWaWV3cG9ydCA9IGdsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVCk7CisKKyAgICAvLyBmbGlw
IHdpZHRoIGFuZCBoZWlnaHQKKyAgICBjYW52YXMud2lkdGggPSBkZXNpcmVkSGVpZ2h0OworICAg
IGNhbnZhcy5oZWlnaHQgPSBkZXNpcmVkV2lkdGg7CisKKyAgICAvLyBWZXJpZnkgdGhlIHZpZXdw
b3J0IGRpZG4ndCBjaGFuZ2UuCisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVX
UE9SVClbMF0nLCAnb2xkVmlld3BvcnRbMF0nKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1l
dGVyKGdsLlZJRVdQT1JUKVsxXScsICdvbGRWaWV3cG9ydFsxXScpOworICAgIHNob3VsZEJlKCdn
bC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzJdJywgJ29sZFZpZXdwb3J0WzJdJyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbM10nLCAnb2xkVmlld3BvcnRb
M10nKTsKKworICAgIC8vIGZpeCB0aGUgdmlld3BvcnQKKy8vICAgIGdsLnZpZXdwb3J0KDAsIDAs
IGdsLmRyYXdpbmdCdWZmZXJXaWR0aCwgZ2wuZHJhd2luZ0J1ZmZlckhlaWdodCk7CisKKyAgICBz
aG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICdnbC5OT19FUlJPUicpOworICB9Cit9CisKK3ZhciB3
dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBtYXhTaXplID0gZ2V0TWF4Vmlld3BvcnREaW1lbnNp
b25zKCk7CitkZWJ1ZygiTUFYX1ZJRVdQT1JUX0RJTVM6ICIgKyBtYXhTaXplWzBdICsgIiwgIiAr
IG1heFNpemVbMV0pOworCitzaG91bGRCZVRydWUoJ21heFNpemVbMF0gPiAwJyk7CitzaG91bGRC
ZVRydWUoJ21heFNpemVbMV0gPiAwJyk7CisKKy8vIHRlc3QgYSBzbWFsbCBzaXplIHRvIG1ha2Ug
c3VyZSBpdCB3b3JrcyBhdCBhbGwuCit0ZXN0KDE2LCAzMik7CisKKy8vIE1ha2UgYSBjYW52YXMg
c2xpZ2h0bHkgbGFyZ2VyIHRoYW4gdGhlIG1heCBzaXplIFdlYkdMIGNhbiBoYW5kbGUuCisvLyBG
cm9tIHNlY3Rpb24gMi4yIG9mIHRoZSBzcGVjIHRoZSBXZWJHTCBpbXBsZW1lbnRhdGlvbiBzaG91
bGQgYWxsb3cgdGhpcyB0byB3b3JrLgorCisvLyB0ZXN0IGEgc2l6ZSBsYXJnZXIgdGhhbiBNQVhf
VklFV1BPUlRfRElNUyBpbiBib3RoIGRpbWVuc2lvbnMKK3Rlc3QobWF4U2l6ZVswXSArIDMyLCA4
KTsKKworZGVidWcoIiIpCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3Qu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZlOGRmZjFh
ODkxZTU5MzkyNzU5M2JlYmM3OWUzYjIzOWNhYmI4NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZh
cy90by1kYXRhLXVybC10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxMzAgQEAKKzwhLS0KKworLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworCistLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB0b0RhdGFVUkwgdGVzdDwvdGl0
bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIHdpZHRoPSIyMCIgaGVpZ2h0PSIy
MCIgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyB3aWR0aDogMTZweDsgaGVpZ2h0OiAx
NnB4IiBpZD0iYzNkIj48L2NhbnZhcz4KKzxjYW52YXMgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiBz
dHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHgi
IGlkPSJjMmQiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cit2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgbnVtVGVzdHMgPSAxMDsKK3ZhciBnbDsKK3ZhciBj
dHg7CisKK3ZhciBtYWluID0gZnVuY3Rpb24oKSB7CisgIGRlc2NyaXB0aW9uKCk7CisgIGN0eCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjMmQiKS5nZXRDb250ZXh0KCIyZCIpOworICBnbCA9
IHd0dS5jcmVhdGUzRENvbnRleHQoImMzZCIpOworCisgIGlmICghZ2wpIHsKKyAgICB0ZXN0RmFp
bGVkKCJjYW4ndCBjcmVhdGUgM2QgY29udGV4dCIpOworICAgIHJldHVybjsKKyAgfQorCisgIHZh
ciBjbGVhclJlY3QgPSBmdW5jdGlvbihnbCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgY29sb3IpIHsK
KyAgICBnbC5jbGVhckNvbG9yKGNvbG9yWzBdIC8gMjU1LCBjb2xvclsxXSAvIDI1NSwgY29sb3Jb
Ml0gLyAyNTUsIGNvbG9yWzNdIC8gMjU1KTsKKyAgICBnbC5zY2lzc29yKHgsIHksIHdpZHRoLCBo
ZWlnaHQpOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICB9OworCisgIHZh
ciB0ZXN0U2l6ZSA9IGZ1bmN0aW9uKGdsLCB3aWR0aCwgaGVpZ2h0LCBjYWxsYmFjaykgeworICAg
IGRlYnVnKCJ0ZXN0aW5nICIgKyB3aWR0aCArICIgYnkgIiArIGhlaWdodCk7CisgICAgZ2wuY2Fu
dmFzLndpZHRoID0gd2lkdGg7CisgICAgZ2wuY2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgICBn
bC52aWV3cG9ydCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBnbC5lbmFibGUoZ2wuU0NJU1NP
Ul9URVNUKTsKKworICAgIHZhciBib3R0b21Db2xvciA9IFsyNTUsIDAsIDAsIDI1NV07CisgICAg
dmFyIHRvcENvbG9yID0gWzAsIDI1NSwgMCwgMjU1XTsKKyAgICB2YXIgcmlnaHRDb2xvciA9IFsw
LCAwLCAyNTUsIDI1NV07CisgICAgdmFyIGhhbGZIZWlnaHQgPSBNYXRoLmZsb29yKGhlaWdodCAv
IDIpOworICAgIHZhciB0b3BIZWlnaHQgPSBoZWlnaHQgLSBoYWxmSGVpZ2h0OworICAgIHZhciBj
YW52YXNUb3BIZWlnaHQgPSBoZWlnaHQgLSB0b3BIZWlnaHQ7CisgICAgY2xlYXJSZWN0KGdsLCAw
LCAwLCB3aWR0aCwgaGFsZkhlaWdodCwgYm90dG9tQ29sb3IpOworICAgIGNsZWFyUmVjdChnbCwg
MCwgaGFsZkhlaWdodCwgd2lkdGgsIHRvcEhlaWdodCwgdG9wQ29sb3IpOworICAgIGNsZWFyUmVj
dChnbCwgd2lkdGggLSAxLCAwLCAxLCBoZWlnaHQsIHJpZ2h0Q29sb3IpOworCisgICAgdmFyIGlt
ZyA9IG5ldyBJbWFnZSgpOworICAgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgIGN0
eC5jYW52YXMud2lkdGggPSB3aWR0aDsKKyAgICAgIGN0eC5jYW52YXMuaGVpZ2h0ID0gaGVpZ2h0
OworICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDApOworICAgICAgd3R1LmNoZWNrQ2FudmFz
UmVjdChjdHgsIDAsIDAsIHdpZHRoIC0gMSwgdG9wSGVpZ2h0LCB0b3BDb2xvcik7CisgICAgICB3
dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwgMCwgdG9wSGVpZ2h0LCB3aWR0aCAtIDEsIGhhbGZIZWln
aHQsIGJvdHRvbUNvbG9yKTsKKyAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoY3R4LCB3aWR0aCAt
IDEsIDAsIDEsIGhlaWdodCwgcmlnaHRDb2xvcik7CisgICAgICBkZWJ1ZygiIik7CisgICAgICBj
YWxsYmFjaygpOworICAgIH07CisgICAgaW1nLnNyYyA9IGdsLmNhbnZhcy50b0RhdGFVUkwoKTsK
KyAgfTsKKworICB2YXIgdGVzdHMgPSBbCisgICAgeyB3aWR0aDogIDE2ICAgICwgaGVpZ2h0OiAg
MTYgICAgLCB9LAorICAgIHsgd2lkdGg6ICAxNiAtIDEsIGhlaWdodDogIDE2ICAgICwgfSwKKyAg
ICB7IHdpZHRoOiAgMTYgLSAxLCBoZWlnaHQ6ICAxNiAtIDEsIH0sCisgICAgeyB3aWR0aDogIDE2
ICsgMSwgaGVpZ2h0OiAgMTYgLSAxLCB9LAorICAgIHsgd2lkdGg6ICAxNiAtIDEsIGhlaWdodDog
IDE2ICsgMSwgfSwKKyAgICB7IHdpZHRoOiAyNTYgICAgLCBoZWlnaHQ6IDI1NiAgICAsIH0sCisg
ICAgeyB3aWR0aDogMjU2IC0gMSwgaGVpZ2h0OiAyNTYgICAgLCB9LAorICAgIHsgd2lkdGg6IDI1
NiAtIDEsIGhlaWdodDogMjU2IC0gMSwgfSwKKyAgICB7IHdpZHRoOiAyNTYgKyAxLCBoZWlnaHQ6
IDI1NiAtIDEsIH0sCisgICAgeyB3aWR0aDogMjU2IC0gMSwgaGVpZ2h0OiAyNTYgKyAxLCB9LAor
ICAgIHsgd2lkdGg6IDUxMiAgICAsIGhlaWdodDogNTEyICAgICwgfSwKKyAgICB7IHdpZHRoOiA1
MTIgLSAxLCBoZWlnaHQ6IDUxMiAgICAsIH0sCisgICAgeyB3aWR0aDogNTEyIC0gMSwgaGVpZ2h0
OiA1MTIgLSAxLCB9LAorICAgIHsgd2lkdGg6IDUxMiArIDEsIGhlaWdodDogNTEyIC0gMSwgfSwK
KyAgICB7IHdpZHRoOiA1MTIgLSAxLCBoZWlnaHQ6IDUxMiArIDEsIH0sCisgIF07CisgIHZhciB0
ZXN0SW5kZXggPSAwOworICB2YXIgcnVuTmV4dFRlc3QgPSBmdW5jdGlvbigpIHsKKyAgICBpZiAo
dGVzdEluZGV4ID09IHRlc3RzLmxlbmd0aCkgeworICAgICAgZmluaXNoVGVzdCgpOworICAgICAg
cmV0dXJuOworICAgIH0KKyAgICB2YXIgdGVzdCA9IHRlc3RzW3Rlc3RJbmRleCsrXTsKKyAgICB0
ZXN0U2l6ZShnbCwgdGVzdC53aWR0aCwgdGVzdC5oZWlnaHQsIGZ1bmN0aW9uKCkgeworICAgICAg
c2V0VGltZW91dChydW5OZXh0VGVzdCwgMTAwKTsKKyAgICB9KQorICB9OworICBydW5OZXh0VGVz
dCgpOworfTsKK21haW4oKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRy
aWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRy
aWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMThjMDZhZDRl
YWI1ZWZhOTY2NjUzY2ZhODI1OWFlYjlhOTJkZmNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCkBAIC0wLDAg
KzEsMTIyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGNhbnZhcyB7CisgICAgICAgICAgICAgICAgd2lkdGg6NTBweDsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6NTBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5z
cXVhcmUgeworICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrOworICAgICAgICAg
ICAgICAgIHdpZHRoOjUwcHg7CisgICAgICAgICAgICAgICAgaGVpZ2h0OjUwcHg7CisgICAgICAg
ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZWQ7CisgICAgICAgICAgICB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAg
ICAgICAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgICAgICAgICBmdW5jdGlvbiBj
aGVja1Jlc3VsdChjdHgxLCBjdHgyLCBwcmVzZXJ2ZSkgeworICAgICAgICAgICAgICAgIHZhciBp
bWdEYXRhMSA9IGN0eDEuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpOworICAgICAgICAgICAgICAgIHZh
ciBpbWdEYXRhMiA9IGN0eDIuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpOworICAgICAgICAgICAgICAg
IHZhciBjb3JyZWN0MSA9IFsyNTUsMCwwLDI1NV07CisgICAgICAgICAgICAgICAgdmFyIGNvcnJl
Y3QyID0gcHJlc2VydmUgPyBbMjU1LDAsMCwyNTVdIDogWzAsMCwwLDI1NV07CisgICAgICAgICAg
ICAgICAgdmFyIG9rMSA9IHRydWU7CisgICAgICAgICAgICAgICAgdmFyIG9rMiA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCA0OyArK3ApIHsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKGltZ0RhdGExLmRhdGFbcF0gIT0gY29ycmVjdDFbcF0pCisgICAgICAgICAg
ICAgICAgICAgICAgICBvazEgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGltZ0Rh
dGEyLmRhdGFbcF0gIT0gY29ycmVjdDJbcF0pCisgICAgICAgICAgICAgICAgICAgICAgICBvazIg
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG9rMSAmJiBv
azIpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ1JlbmRlcmVkIG9rIHdpdGggcHJl
c2VydmVEcmF3aW5nQnVmZmVyICcgKyBwcmVzZXJ2ZSArJy4nKTsKKyAgICAgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ0RpZCBub3QgcmVuZGVyIG9rIHdp
dGggcHJlc2VydmVEcmF3aW5nQnVmZmVyICcgKyBwcmVzZXJ2ZSArICcuJyk7CisgICAgICAgICAg
ICAgICAgaWYgKHByZXNlcnZlKSB7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKQor
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHJ1blRlc3QodHJ1
ZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiBydW5UZXN0KHByZXNlcnZlKSB7CisgICAgICAgICAgICAgICAgdmFyIGMxID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2MnICsgKHByZXNlcnZlICogMyArIDEpKTsKKyAgICAgICAgICAg
ICAgICB2YXIgYzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycgKyAocHJlc2VydmUgKiAz
ICsgMikpOworICAgICAgICAgICAgICAgIHZhciBjMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdjJyArIChwcmVzZXJ2ZSAqIDMgKyAzKSk7CisgICAgICAgICAgICAgICAgdmFyIGN0eDEgPSBj
MS5nZXRDb250ZXh0KCcyZCcpOworICAgICAgICAgICAgICAgIHZhciBjdHgyID0gYzIuZ2V0Q29u
dGV4dCgnMmQnKTsKKyAgICAgICAgICAgICAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0
KGMzLCB7IGFscGhhOmZhbHNlLCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6cHJlc2VydmUgfSk7Cisg
ICAgICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcigxLCAwLCAwLCAxKTsKKyAgICAgICAgICAgICAg
ICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICAgICAgICAgICAgICBjdHgxLmRy
YXdJbWFnZShjMywgMCwgMCk7CisgICAgICAgICAgICAgICAgd3R1LndhaXRGb3JDb21wb3NpdGUo
Z2wsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBjdHgyLmRyYXdJbWFnZShjMywg
MCwgMCk7CisgICAgICAgICAgICAgICAgICAgIGNoZWNrUmVzdWx0KGN0eDEsIGN0eDIsIHByZXNl
cnZlKTsKKyAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgfQorICAgICAgICA8L3Nj
cmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxkaXY+CisgICAgICAgICAg
ICA8Y2FudmFzIGlkPSdjMSc+PC9jYW52YXM+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjMic+
PC9jYW52YXM+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjMyc+PC9jYW52YXM+CisgICAgICAg
ICAgICA8c3Bhbj5zaG91bGQgbG9vayBhcyByaWdodCBwYXR0ZXJuPC9zcGFuPgorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0nc3F1YXJlJz48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3Nx
dWFyZScgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6YmxhY2snPjwvZGl2PgorICAgICAgICAgICAg
PGRpdiBjbGFzcz0nc3F1YXJlJz48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXY+
CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjNCc+PC9jYW52YXM+CisgICAgICAgICAgICA8Y2Fu
dmFzIGlkPSdjNSc+PC9jYW52YXM+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjNic+PC9jYW52
YXM+CisgICAgICAgICAgICA8c3Bhbj5zaG91bGQgbG9vayBhcyByaWdodCBwYXR0ZXJuPC9zcGFu
PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nc3F1YXJlJz48L2Rpdj4KKyAgICAgICAgICAgIDxk
aXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSdzcXVhcmUn
PjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdD4K
KyAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdWZXJp
ZnkgdGhhdCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIgYXR0cmlidXRlIGlzIGhvbm9yZWQuJyk7Cisg
ICAgICAgICAgICBydW5UZXN0KGZhbHNlKTsKKyAgICAgICAgICAgIHZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJz
ZWQiKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwOGZj
MzkxMzQwYWE3ZThlYzljMDc4NmFiZjc1MDdiNGZkNjE1YWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9j
b250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwKQEAgLTAsMCArMSw4
NCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVz
dCB0aGF0IGNvbnRleHRzIGFyZSBmcmVlZCBhbmQgZ2FyYmFnZSBjb2xsZWN0ZWQgcmVhc29uYWJs
eTwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGls
cy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7
Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgdGFyZ2V0ID0gNTAwOwordmFyIGNvdW50
ID0gMDsKKworZGVzY3JpcHRpb24oKTsKK2RvTmV4dFRlc3QoKTsKKworLy8gQ3JlYXRlcyBhIGNh
bnZhcyBhbmQgYSB0ZXh0dXJlIHRoZW4gZXhpdHMuIFRoZXJlIGFyZQorLy8gbm8gcmVmZXJlbmNl
cyB0byBlaXRoZXIgc28gYm90aCBzaG91bGQgYmUgZ2FyYmFnZSBjb2xsZWN0ZWQuCitmdW5jdGlv
biB0ZXN0KCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFz
Iik7CisgIC8vIFRoaXMgaXMgc2FmZSBmb3IgYW55IGRldmljZS4gU2VlIGRyYXdpbmdCdWZmZXJX
aWR0aCBpbiBzcGVjLgorICBjYW52YXMud2lkdGggPSAyMDQ4OworICBjYW52YXMuaGVpZ2h0ID0g
MjA0ODsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICB2YXIgbWF4
VGV4dHVyZVNpemUgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1RFWFRVUkVfU0laRSk7CisgIHZh
ciBzaXplID0gTWF0aC5taW4oMTAyNCwgbWF4VGV4dHVyZVNpemUpOworICB2YXIgdGV4ID0gZ2wu
Y3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOwor
ICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIHNpemUsIHNpemUsIDAs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgICAgICAgbmV3IFVpbnQ4QXJy
YXkoc2l6ZSAqIHNpemUgKiA0KSk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOwor
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiU2hvdWxkIGJlIG5vIGVycm9ycyIp
OworfQorCitmdW5jdGlvbiBkb05leHRUZXN0KCkgeworICArK2NvdW50OworICBkZWJ1ZygidGVz
dCAiICsgY291bnQgKyAiIG9mICIgKyB0YXJnZXQpOworICB0ZXN0KCk7CisgIGlmIChjb3VudCA8
IHRhcmdldCkgeworICAgIHNldFRpbWVvdXQoZG9OZXh0VGVzdCwgMTAwKTsKKyAgfSBlbHNlIHsK
KyAgICBmaW5pc2hUZXN0KCk7CisgIH0KK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2Z1
bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5j
dGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
NDBkMGEyOWIwNmMwYzZiZmMzNTY2NGE5YTliMjM2MzhlZDExYTlmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbApA
QCAtMCwwICsxLDgwIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgPHRpdGxlPkdMU0wgc21vb3Roc3RlcC1nZW50eXBlIGZ1bmN0aW9uIHRlc3Q8L3RpdGxlPgor
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+CisgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1nZW5lcmF0b3IuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCisKK0dMU0xHZW5lcmF0b3IucnVuRmVh
dHVyZVRlc3QoeworICBmZWF0dXJlOiAic21vb3Roc3RlcCIsCisgIGFyZ3M6ICIkKHR5cGUpIGVk
Z2UwLCAkKHR5cGUpIGVkZ2UxLCAkKHR5cGUpIHZhbHVlIiwKKyAgYmFzZUFyZ3M6ICJlZGdlMCQo
ZmllbGQpLCBlZGdlMSQoZmllbGQpLCB2YWx1ZSQoZmllbGQpIiwKKyAgdGVzdEZ1bmM6ICIkKGZ1
bmMpKCQodHlwZSksICQodHlwZSksICQodHlwZSkpIiwKKyAgZW11RnVuYzogWyJmbG9hdCAkKGZ1
bmMpX2Jhc2UoZmxvYXQgZWRnZTAsIGZsb2F0IGVkZ2UxLCBmbG9hdCB2YWx1ZSkgeyIsCisgICAg
ICAgICAgICAiICBmbG9hdCB0ID0gY2xhbXAoKHZhbHVlIC0gZWRnZTApIC8gKGVkZ2UxIC0gZWRn
ZTApLCAwLjAsIDEuMCk7IiwKKyAgICAgICAgICAgICIgIHJldHVybiB0ICogdCAqICgzLjAgLSAy
LjAgKiB0KTsiLAorICAgICAgICAgICAgIn0iXS5qb2luKCJcbiIpLAorICBncmlkUmVzOiA4LAor
ICB0b2xlcmFuY2U6IDEsCisgIHRlc3RzOiBbCisgICAgWyIkKG91dHB1dCkgPSB2ZWM0KCIsCisg
ICAgICIgICAgJChmdW5jKSgwLjMsIDAuNywgJChpbnB1dCkueCksIiwKKyAgICAgIiAgICAkKGZ1
bmMpKDAuMiwgMC44LCAkKGlucHV0KS55KSwiLAorICAgICAiICAgIDAsIiwKKyAgICAgIiAgICAx
KTsiXS5qb2luKCJcbiIpLAorICAgIFsiJChvdXRwdXQpID0gdmVjNCgiLAorICAgICAiICAgICQo
ZnVuYykodmVjMigwLjQsIDAuNiksIHZlYzIoMC44LCAwLjkpLCAkKGlucHV0KS54eSksIiwKKyAg
ICAgIiAgICAwLCAxKTsiXS5qb2luKCJcbiIpLAorICAgIFsiJChvdXRwdXQpID0gdmVjNCgiLAor
ICAgICAiICAgICQoZnVuYykodmVjMygwLjMsIDAuNSwgMC43KSwgdmVjMygwLjcsIDAuOSwgMS4w
KSwgJChpbnB1dCkueHl6KSwiLAorICAgICAiICAgIDEpOyJdLmpvaW4oIlxuIiksCisgICAgWyIk
KG91dHB1dCkgPSAiLAorICAgICAiICAgICQoZnVuYykodmVjNCgwLjMsIDAuNCwgMC41LCAwLjIp
LCAiLAorICAgICAiICAgICAgICAgICAgdmVjNCgwLjcsIDAuNiwgMC45LCAwLjgpLCAiLAorICAg
ICAiICAgICAgICAgICAgJChpbnB1dCkpOyJdLmpvaW4oIlxuIikKKyAgXQorfSk7Cit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9s
aXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODhlNGUxZGE2ZThl
NTdkNDUwNWJhMzc3ZTg2MjljYjI1NGMwMTMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRl
cmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbApAQCAtMCwwICsxLDczIEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIENvbmZvcm1h
bmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idmVydGV4U2hhZGVyIiB0eXBlPSJ0ZXh0
L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CisKKy8vIHBhcnNpbmcgZmxvYXRpbmcgcG9pbnQg
bGl0ZXJhbHMgc2hvdWxkIHN1Y2NlZWQKK3ZvaWQgbWFpbigpIHsKKyAgZmxvYXQgemVybyA9IDAu
MDsKKyAgZmxvYXQgZnJhY3Rpb25hbENvbnN0YW50ID0gMS4wOworICBmbG9hdCBmcmFjdGlvbmFs
Q29uc3RhbnRFeHBvbmVudCA9IDEuMGUxOworICBmbG9hdCBmcmFjdGlvbmFsQ29uc3RhbnRQb3NF
eHBvbmVudCA9IDEuMGUrMTsKKyAgZmxvYXQgZnJhY3Rpb25hbENvbnN0YW50TmVnRXhwb25lbnQg
PSAxLjBlLTE7CisgIGZsb2F0IGRpZ2l0U2VxdWVuY2VFeHBvbmVudCA9IDFlMTsKKyAgZmxvYXQg
ZGlnaXRTZXF1ZW5jZVBvc0V4cG9uZW50ID0gMWUrMTsKKyAgZmxvYXQgZGlnaXRTZXF1ZW5jZU5l
Z0V4cG9uZW50ID0gMWUtMTsKKyAgZmxvYXQgcG9pbnREaWdpdCA9IC4xOworICBmbG9hdCBkaWdp
dFBvaW50PSAxLjsKKyAgZmxvYXQgdXBwZXJDYXNlRXhwb25lbnQgPSAxLjBFMTsKKyAgaGlnaHAg
ZmxvYXQgcG9zSW5SYW5nZSA9IDQ2MTE2ODYwMTg0MjczODc5MDMuOyAgLy8gMl42MiAtIDEKKyAg
aGlnaHAgZmxvYXQgcG9zT3V0UmFuZ2UgPSA0NjExNjg2MDE4NDI3Mzg3OTA1LjsgIC8vIDJeNjIg
KyAxCisgIGhpZ2hwIGZsb2F0IHBvc0h1Z2UgPSAxRTEwMDsKKyAgaGlnaHAgZmxvYXQgbmVnSW5S
YW5nZSA9IC00NjExNjg2MDE4NDI3Mzg3OTAzLjsKKyAgaGlnaHAgZmxvYXQgbmVnT3V0UmFuZ2Ug
PSAtNDYxMTY4NjAxODQyNzM4NzkwNS47CisgIGhpZ2hwIGZsb2F0IG5lZ0h1Z2UgPSAxRTEwMDsK
K30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK0dMU0xDb25mb3JtYW5jZVRl
c3Rlci5ydW5UZXN0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5p
Zm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3Jt
LXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTA4YzdlN2I2MmIxYjAwNTY1
YzdlYTdjYmNhYTZhZTI5NzJlMGNmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMjY4IEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB1bmlm
b3JtIHBhY2tpbmcgcmVzdHJjdGlvbnMgQ29uZm9ybWFuY2UgVGVzdDwvdGl0bGU+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1m
ZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9n
bHNsLWNvbmZvcm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52
YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQg
aWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVj
NCBhX3Bvc2l0aW9uOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9Qb3NpdGlv
biA9IGFfcG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0
eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cisg
ICAgdmFyeWluZyB2ZWM0IHZfdmFyeWluZzsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAg
ICAgZ2xfRnJhZ0NvbG9yID0gdl92YXJ5aW5nOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBp
ZD0idnNoYWRlckFycmF5VGVzdCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0dHJp
YnV0ZSB2ZWM0IGFfcG9zaXRpb247CisgICAgdmFyeWluZyB2ZWM0IHZfdmFyeWluZzsKKyAgICB1
bmlmb3JtICQodHlwZSkgdV91bmlmb3JtWyQobnVtVGVzdFR5cGUpXTsKKyAgICB2b2lkIG1haW4o
KQorICAgIHsKKyAgICAgICAgdl92YXJ5aW5nID0gJChjb2RlKTsKKyAgICAgICAgZ2xfUG9zaXRp
b24gPSBhX3Bvc2l0aW9uOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlckFy
cmF5VGVzdCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7CisgICAgdW5pZm9ybSAkKHR5cGUpIHVfdW5pZm9ybVskKG51bVRlc3RUeXBlKV07
CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9ICQoY29kZSk7
CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyVW5pZm9ybVRlc3QiIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247Cisg
ICAgdmFyeWluZyB2ZWM0IHZfdmFyeWluZzsKKyQodW5pZm9ybXMpCisgICAgdm9pZCBtYWluKCkK
KyAgICB7CisgICAgICAgIHZfdmFyeWluZyA9ICQoY29kZSk7CisgICAgICAgIGdsX1Bvc2l0aW9u
ID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJVbmlm
b3JtVGVzdCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7CiskKHVuaWZvcm1zKQorICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBn
bF9GcmFnQ29sb3IgPSAkKGNvZGUpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ug
c3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1ZygiIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0
VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKK3ZhciB1
bmlmb3JtVHlwZXMgPSBbCisgIHsgdHlwZTogImJvb2wiLCAgICAgICAgY29tcG9uZW50c1BlclJv
dzogMSwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCwgMCwg
MCkiLCB9LAorICB7IHR5cGU6ICJmbG9hdCIsICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDEsIHJv
d3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDAsIDApIiwgfSwK
KyAgeyB0eXBlOiAiaW50IiwgICAgICAgICBjb21wb25lbnRzUGVyUm93OiAxLCByb3dzOiAxLCBj
b2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwLCAwLCAwKSIsIH0sCisgIHsgdHlw
ZTogInZlYzIiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMiwgcm93czogMSwgY29kZTogInZl
YzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJpdmVjMiIs
ICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDIsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9y
bSQoaWQpJChpbmRleCksIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAiYnZlYzIiLCAgICAgICBjb21w
b25lbnRzUGVyUm93OiAyLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5k
ZXgpLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzMiLCAgICAgICAgY29tcG9uZW50c1BlclJv
dzogMywgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCkiLCB9
LAorICB7IHR5cGU6ICJpdmVjMyIsICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDMsIHJvd3M6IDEs
IGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDApIiwgfSwKKyAgeyB0eXBlOiAi
YnZlYzMiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiAzLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1
X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzQiLCAgICAgICAg
Y29tcG9uZW50c1BlclJvdzogNCwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkk
KGluZGV4KSkiLCB9LAorICB7IHR5cGU6ICJpdmVjNCIsICAgICAgIGNvbXBvbmVudHNQZXJSb3c6
IDQsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCkpIiwgfSwKKyAg
eyB0eXBlOiAiYnZlYzQiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dzOiAxLCBjb2Rl
OiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpKSIsIH0sCisvLyBZZXMsIHRoZSBzcGVjIHNh
eXMgbWF0MiB0YWtlcyA0IGNvbHVtbnMsIDIgcm93cy4KKyAgeyB0eXBlOiAibWF0MiIsICAgICAg
ICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dzOiAyLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlk
KSQoaW5kZXgpWzBdLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogIm1hdDMiLCAgICAgICAgY29tcG9u
ZW50c1BlclJvdzogMywgcm93czogMywgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4
KVswXSwgMCkiLCB9LAorICB7IHR5cGU6ICJtYXQ0IiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6
IDQsIHJvd3M6IDQsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleClbMF0pIiwgfSwK
Ky8vIFNhbXBsZXJzIGdlbmVyYWxseSBoYXZlIG1vcmUgcmVzdGljdGl2ZSBsaW1pdHMuCisvLyAg
eyB0eXBlOiAic2FtcGxlcjJEIiwgICBjb21wb25lbnRzUGVyUm93OiAxLCByb3dzOiAxLCBjb2Rl
OiAidmVjNCh0ZXh0dXJlMkQodV91bmlmb3JtWyQoaW5kZXgpXSwgdmVjMigwLCAwKSkpIiwgfSwK
Ky8vICB7IHR5cGU6ICJzYW1wbGVyQ3ViZSIsIGNvbXBvbmVudHNQZXJSb3c6IDEsIHJvd3M6IDEs
IGNvZGU6ICJ2ZWM0KHRleHR1cmVDdWJlKHVfdW5pZm9ybVskKGluZGV4KV0sIHZlYzMoMCwgMCwg
MCkpKSIsIH0sCitdOworCit2YXIgdkJhc2VTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVy
Iik7Cit2YXIgZkJhc2VTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyIik7Cit2YXIgdkFy
cmF5VGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoInZzaGFkZXJBcnJheVRlc3QiKTsKK3ZhciBm
QXJyYXlUZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgiZnNoYWRlckFycmF5VGVzdCIpOwordmFy
IHZVbmlmb3JtVGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoInZzaGFkZXJVbmlmb3JtVGVzdCIp
OwordmFyIGZVbmlmb3JtVGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXJVbmlmb3Jt
VGVzdCIpOworCit2YXIgdGVzdHMgPSBbXTsKK3ZhciBzaGFkZXJUeXBlcyA9IFsKKyAgeyB0eXBl
OiAidmVydGV4IiwKKyAgICAvLyBGb3IgdGVzdHMgdGhhdCBleHBlY3QgZmFpbHVyZSB3aGljaCBz
aGFkZXIgbWlnaHQgZmFpbC4KKyAgICB2ZXJ0RXhwZWN0YXRpb246IGZhbHNlLAorICAgIGZyYWdF
eHBlY3RhdGlvbjogdHJ1ZSwKKyAgICB2ZXJ0QXJyYXlUZXN0OiB2QXJyYXlUZXN0U291cmNlLAor
ICAgIGZyYWdBcnJheVRlc3Q6IGZCYXNlU291cmNlLAorICAgIHZlcnRVbmlmb3JtVGVzdDogdlVu
aWZvcm1UZXN0U291cmNlLAorICAgIGZyYWdVbmlmb3JtVGVzdDogZkJhc2VTb3VyY2UsCisgICAg
bWF4VmVjdG9yczogZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WRVJURVhfVU5JRk9STV9WRUNUT1JT
KSwKKyAgICBtaW5WZWN0b3JzOiAxMjgsICAvLyBHTFNMIEVTIDEuMC4xNyBBcHBlbmRpeCBBLjcs
CisgIH0sCisgIHsgdHlwZTogImZyYWdtZW50IiwKKyAgICAvLyBGb3IgdGVzdHMgdGhhdCBleHBl
Y3QgZmFpbHVyZSB3aGljaCBzaGFkZXIgbWlnaHQgZmFpbC4KKyAgICB2ZXJ0RXhwZWN0YXRpb246
IHRydWUsCisgICAgZnJhZ0V4cGVjdGF0aW9uOiBmYWxzZSwKKyAgICB2ZXJ0QXJyYXlUZXN0OiB2
QmFzZVNvdXJjZSwKKyAgICBmcmFnQXJyYXlUZXN0OiBmQXJyYXlUZXN0U291cmNlLAorICAgIHZl
cnRVbmlmb3JtVGVzdDogdkJhc2VTb3VyY2UsCisgICAgZnJhZ1VuaWZvcm1UZXN0OiBmVW5pZm9y
bVRlc3RTb3VyY2UsCisgICAgbWF4VmVjdG9yczogZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9GUkFH
TUVOVF9VTklGT1JNX1ZFQ1RPUlMpLAorICAgIG1pblZlY3RvcnM6IDE2LCAgLy8gR0xTTCBFUyAx
LjAuMTcgQXBwZW5kaXggQS43LAorICB9LAorXTsKK2ZvciAodmFyIHNzID0gMDsgc3MgPCBzaGFk
ZXJUeXBlcy5sZW5ndGg7ICsrc3MpIHsKKyAgdmFyIHNoYWRlclR5cGUgPSBzaGFkZXJUeXBlc1tz
c107CisgIGRlYnVnKCJtYXggIiArIHNoYWRlclR5cGUudHlwZSArICI6ICIgKyBzaGFkZXJUeXBl
Lm1heFZlY3RvcnMpOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdW5pZm9ybVR5cGVzLmxlbmd0
aDsgKytpaSkgeworICAgIHZhciBpbmZvID0gdW5pZm9ybVR5cGVzW2lpXTsKKyAgICB3dHUubG9n
KCJjaGVja2luZzogIiArIGluZm8udHlwZSk7CisgICAgLy8gQ29tcHV0ZSB0aGUgbWF4aW11bSBh
bW91bnQgb2YgdGhpcyB0eXBlIGFsbG93ZWQgaW4gYSBzaW5nbGUgYXJyYXkuCisgICAgdmFyIG51
bVZhcnMgPSBNYXRoLmZsb29yKHNoYWRlclR5cGUubWF4VmVjdG9ycyAvIGluZm8ucm93cyk7Cisg
ICAgLy8gQ29tcHV0ZSB0aGUgbWluaW11bSByZXF1aXJlZCB0byB3b3JrIGluIGEgc2luZ2xlIGFy
cmF5LgorICAgIHZhciBtaW5WYXJzID0gTWF0aC5mbG9vcihzaGFkZXJUeXBlLm1pblZlY3RvcnMg
LyBpbmZvLnJvd3MpOworICAgIC8vIFRlc3QgYXJyYXlbMV0gb2YgdGhlIHR5cGUKKyAgICB2YXIg
Y29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0i
fSk7CisgICAgdGVzdHMucHVzaCh7CisgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBh
cmFtcyhzaGFkZXJUeXBlLnZlcnRBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogMSwgY29kZTogY29k
ZX0sIGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICBmU2hhZGVyU291
cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdBcnJheVRlc3QsIHtudW1UZXN0
VHlwZTogMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUs
CisgICAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICAgIHBhc3NNc2c6IHNoYWRlclR5cGUudHlw
ZSArICIgc2hhZGVyIHdpdGggdW5pZm9ybSBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRo
IDEgZWxlbWVudCBzaG91bGQgc3VjY2VlZCIsCisgICAgfSk7CisgICAgLy8gVGVzdCBhcnJheVtt
YXhdIG9mIHRoZSB0eXBlCisgICAgLy8gTm90ZTogV2UgY2FuJ3QgdGVzdCB0aGlzIGFzIGFjdHVh
bCBHTCBkcml2ZXJzIGFyZSBvbmx5IHJlcXVpcmVkIHRvIGJlIGFibGUgdG8KKyAgICAvLyBkbyB0
aGUgbWluaW11bSBudW1iZXIuIEFmdGVyIHRoYXQgaXQgY2FuIGZhaWwgZm9yIGFueSByZWFzb24u
CisgICAgaWYgKGZhbHNlKSB7CisgICAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGlu
Zm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChudW1WYXJzIC0gMSkgKyAiXSJ9KTsKKyAg
ICAgIHRlc3RzLnB1c2goeworICAgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFt
cyhzaGFkZXJUeXBlLnZlcnRBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogbnVtVmFycywgY29kZTog
Y29kZX0sIGluZm8pLAorICAgICAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgICAgZlNo
YWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnQXJyYXlUZXN0LCB7
bnVtVGVzdFR5cGU6IG51bVZhcnMsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgICAgZlNoYWRl
clN1Y2Nlc3M6IHRydWUsCisgICAgICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgICAgICBwYXNz
TXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiAr
IGluZm8udHlwZSArICIgd2l0aCAiICsgbnVtVmFycyArICIgZWxlbWVudHMgKHRoZSBtYXhpbXVt
KSBzaG91bGQgc3VjY2VlZCIsCisgICAgICB9KTsKKyAgICB9CisKKyAgICAvLyBUZXN0IHJlcXVp
cmVkIG51bWJlciBvZiB1bmlmb3JtcworICAgIHZhciBjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMo
aW5mby5jb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG1pblZhcnMgLSAxKSArICJdIn0pOwor
ICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMo
c2hhZGVyVHlwZS52ZXJ0QXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIGNvZGU6IGNv
ZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgZlNoYWRlclNv
dXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnQXJyYXlUZXN0LCB7bnVtVGVz
dFR5cGU6IG1pblZhcnMsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNnOiBzaGFkZXJU
eXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiArIGluZm8udHlwZSAr
ICIgd2l0aCAiICsgbWluVmFycyArICIgZWxlbWVudHMgKHRoZSBtaW5pbXVtIHJlcXVpcmVkKSBz
aG91bGQgc3VjY2VlZCIsCisgICAgfSk7CisKKyAgICAvLyBUZXN0IGFycmF5W21heCArIDFdIGFj
Y2Vzc2luZyBsYXN0IGVsZW1lbnQuIFdlYkdMIHJlcXVpcmVzIHRoaXMgdG8gZmFpbC4KKyAgICB2
YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJb
IiArIG51bVZhcnMgKyAiXSJ9KTsKKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3Vy
Y2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUudmVydEFycmF5VGVzdCwge251bVRlc3RU
eXBlOiBudW1WYXJzICsgMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nl
c3M6IHNoYWRlclR5cGUudmVydEV4cGVjdGF0aW9uLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1
LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51
bVZhcnMgKyAxLCBjb2RlOiBjb2RlfSwgaW5mbyksCisgICAgICBmU2hhZGVyU3VjY2Vzczogc2hh
ZGVyVHlwZS5mcmFnRXhwZWN0YXRpb24sCisgICAgICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAg
ICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkg
b2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgZWxlbWVudHMg
KG9uZSBwYXN0IG1heGltdW0pIGFjY2Vzc2luZyBsYXN0IGVsZW1lbnQgc2hvdWxkIGZhaWwiLAor
ICAgIH0pOworCisgICAgLy8gVGVzdCBhcnJheVttYXggKyAxXSBhY2Nlc3NpbmcgZmlyc3QgZWxl
bWVudC4gV2ViR0wgcmVxdWlyZXMgdGhpcyB0byBmYWlsIGJ1dCBFUyBhbGxvd3MgdHJ1bmNhdGlu
ZyBhcnJheS4KKyAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lk
OiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgICAgdGVzdHMucHVzaCh7CisgICAgICB2U2hhZGVyU291
cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRBcnJheVRlc3QsIHtudW1UZXN0
VHlwZTogbnVtVmFycyArIDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNj
ZXNzOiBzaGFkZXJUeXBlLnZlcnRFeHBlY3RhdGlvbiwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0
dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ0FycmF5VGVzdCwge251bVRlc3RUeXBlOiBu
dW1WYXJzICsgMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHNo
YWRlclR5cGUuZnJhZ0V4cGVjdGF0aW9uLAorICAgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICAg
ICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCB1bmlmb3JtIGFycmF5
IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIGVsZW1lbnRz
IChvbmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3NpbmcgZmlyc3QgZWxlbWVudCBzaG91bGQgZmFpbCIs
CisgICAgfSk7CisKKyAgICAvLyBUZXN0IG1heCB1bmlmb3JtcyBvZiB0eXBlLgorICAgIC8vIE5v
dGU6IFdlIGNhbid0IHRlc3QgdGhpcyBhcyBhY3R1YWwgR0wgZHJpdmVycyBhcmUgb25seSByZXF1
aXJlZCB0byBiZSBhYmxlIHRvCisgICAgLy8gZG8gdGhlIG1pbmltdW0gbnVtYmVyLiBBZnRlciB0
aGF0IGl0IGNhbiBmYWlsIGZvciBhbnkgcmVhc29uLgorICAgIGlmIChmYWxzZSkgeworICAgIH0K
KworICAgIHZhciBnZW5lcmF0ZUNvZGUgPSBmdW5jdGlvbihudW1WYXJzKSB7CisgICAgICB2YXIg
dW5pZm9ybXMgPSBbXTsKKyAgICAgIHZhciBjb2RlcyA9IFtdOworICAgICAgZm9yICh2YXIgdXUg
PSAwOyB1dSA8IG51bVZhcnM7ICsrdXUpIHsKKyAgICAgICAgdW5pZm9ybXMucHVzaCgiICAgIHVu
aWZvcm0gIiArIGluZm8udHlwZSArICIgdV91bmlmb3JtIiArIHV1ICsgIjsiKTsKKyAgICAgICAg
Y29kZXMucHVzaCh3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUsIHtpZDogdXUsIGluZGV4OiAi
In0pKTsKKyAgICAgIH0KKyAgICAgIHJldHVybiB7CisgICAgICAgIHVuaWZvcm1zOiB1bmlmb3Jt
cy5qb2luKCJcbiIpLAorICAgICAgICBjb2RlOiBjb2Rlcy5qb2luKCIgKyBcbiAgICAgICAgICAg
ICIpLAorICAgICAgfTsKKyAgICB9OworCisgICAgLy8gVGVzdCBtYXgrMSB1bmlmb3JtcyBvZiB0
eXBlLgorICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQ
YXJhbXMoc2hhZGVyVHlwZS52ZXJ0VW5pZm9ybVRlc3QsIGdlbmVyYXRlQ29kZShudW1WYXJzICsg
MSksIGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUudmVydEV4cGVjdGF0
aW9uLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5m
cmFnVW5pZm9ybVRlc3QsIGdlbmVyYXRlQ29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAgICAg
ZlNoYWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUuZnJhZ0V4cGVjdGF0aW9uLAorICAgICAgbGlua1N1
Y2Nlc3M6IGZhbHNlLAorICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIg
d2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgdW5pZm9ybXMgb2YgIiArIGluZm8udHlwZSArICIg
KG9uZSBwYXN0IG1heGltdW0pIHNob3VsZCBmYWlsIiwKKyAgICB9KTsKKworICAgIC8vIFRlc3Qg
cmVxdWlyZWQgdW5pZm9ybXMgb2YgdHlwZS4KKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFk
ZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUudmVydFVuaWZvcm1UZXN0LCBn
ZW5lcmF0ZUNvZGUobWluVmFycyksIGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUs
CisgICAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdV
bmlmb3JtVGVzdCwgZ2VuZXJhdGVDb2RlKG1pblZhcnMpLCBpbmZvKSwKKyAgICAgIGZTaGFkZXJT
dWNjZXNzOiB0cnVlLAorICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNnOiBz
aGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoICIgKyBtaW5WYXJzICsgIiB1bmlmb3JtcyBv
ZiAiICsgaW5mby50eXBlICsgIiAodGhlIG1pbmltdW0gcmVxdWlyZWQpIHNob3VsZCBzdWNjZWVk
IiwKKyAgICB9KTsKKyAgfQorfQorR0xTTENvbmZvcm1hbmNlVGVzdGVyLnJ1blRlc3RzKHRlc3Rz
KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJl
c3RyaWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJp
Y3Rpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjczNjQyMzI2ZjYxNDgyNmRjMDRjMTRlMDg2ZWQ0MzI1
NDYzYWQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNr
aW5nLXJlc3RyaWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMjIwIEBACis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB2YXJ5aW5nIHBhY2tpbmcgcmVz
dHJjdGlvbnMgQ29uZm9ybWFuY2UgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNz
cyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNl
LXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQgaWQ9InZzaGFkZXJBcnJh
eVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRp
b247Cit2YXJ5aW5nICQodHlwZSkgdl92YXJ5aW5nWyQobnVtVGVzdFR5cGUpXTsKK3ZvaWQgbWFp
bigpCit7CisgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgICQodmNvZGUpCit9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gt
ZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHZhcnlpbmcgJCh0
eXBlKSB2X3ZhcnlpbmdbJChudW1UZXN0VHlwZSldOworICAgIHZvaWQgbWFpbigpCisgICAgewor
ICAgICAgICBnbF9GcmFnQ29sb3IgPSAkKGZjb2RlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgaWQ9InZzaGFkZXJWYXJ5aW5nVGVzdCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+Cith
dHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworJCh2YXJ5aW5ncykKKyAgICB2b2lkIG1haW4oKQor
ICAgIHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgICAgICAkKHZjb2Rl
KQorICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlclZhcnlpbmdUZXN0IiB0eXBl
PSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyQo
dmFyeWluZ3MpCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9
ICQoZmNvZGUpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rl
c2NyaXB0aW9uKCk7CitkZWJ1ZygiIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIg
Z2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKK3ZhciB2YXJ5aW5nVHlwZXMg
PSBbCisgIHsgdHlwZTogImZsb2F0IiwgICAgICAgY29tcG9uZW50c1BlclJvdzogMSwgcm93czog
MSwgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gMS4wOyIsICAgICAgICAgICAgICBm
Y29kZTogInZlYzQodl92YXJ5aW5nJChpZCkkKGluZGV4KSwgMCwgMCwgMCkiLCB9LAorICB7IHR5
cGU6ICJ2ZWMyIiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDIsIHJvd3M6IDEsIHZjb2RlOiAi
dl92YXJ5aW5nJChpZCkkKGluZGV4KSA9IHZlYzIoMCwgMCk7IiwgICAgICAgZmNvZGU6ICJ2ZWM0
KHZfdmFyeWluZyQoaWQpJChpbmRleCksIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAidmVjMyIsICAg
ICAgICBjb21wb25lbnRzUGVyUm93OiAzLCByb3dzOiAxLCB2Y29kZTogInZfdmFyeWluZyQoaWQp
JChpbmRleCkgPSB2ZWMzKDAsIDAsIDApOyIsICAgIGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlk
KSQoaW5kZXgpLCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzQiLCAgICAgICAgY29tcG9uZW50c1Bl
clJvdzogNCwgcm93czogMSwgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gdmVjNCgw
LCAwLCAwLCAwKTsiLCBmY29kZTogInZlYzQodl92YXJ5aW5nJChpZCkkKGluZGV4KSkiLCB9LAor
Ly8gWWVzLCB0aGUgc3BlYyBzYXlzIG1hdDIgdGFrZXMgNCBjb2x1bW5zLCAyIHJvd3MuICAgIHZj
b2RlOiAiIiwKKyAgeyB0eXBlOiAibWF0MiIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0LCBy
b3dzOiAyLCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkgPSBtYXQyKDEuMCk7IiwgZmNv
ZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleClbMF0sIDAsIDApIiwgfSwKKyAgeyB0eXBl
OiAibWF0MyIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiAzLCByb3dzOiAzLCB2Y29kZTogInZf
dmFyeWluZyQoaWQpJChpbmRleCkgPSBtYXQzKDEuMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWlu
ZyQoaWQpJChpbmRleClbMF0sIDApIiwgfSwKKyAgeyB0eXBlOiAibWF0NCIsICAgICAgICBjb21w
b25lbnRzUGVyUm93OiA0LCByb3dzOiA0LCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkg
PSBtYXQ0KDEuMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleClbMF0pIiwg
fSwKK107CisKK3ZhciB2QXJyYXlUZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgidnNoYWRlckFy
cmF5VGVzdCIpOwordmFyIGZBcnJheVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVy
QXJyYXlUZXN0Iik7Cit2YXIgdlZhcnlpbmdUZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgidnNo
YWRlclZhcnlpbmdUZXN0Iik7Cit2YXIgZlZhcnlpbmdUZXN0U291cmNlID0gd3R1LmdldFNjcmlw
dCgiZnNoYWRlclZhcnlpbmdUZXN0Iik7CisKK3ZhciBtaW5WYXJ5aW5nVmVjdG9ycyA9IDg7Cit2
YXIgbWF4VmFyeWluZ1ZlY3RvcnMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZBUllJTkdfVkVD
VE9SUyk7Cit2YXIgdGVzdHMgPSBbXTsKKworZm9yICh2YXIgaWkgPSAwOyBpaSA8IHZhcnlpbmdU
eXBlcy5sZW5ndGg7ICsraWkpIHsKKyAgdmFyIGluZm8gPSB2YXJ5aW5nVHlwZXNbaWldOworICB3
dHUubG9nKCJjaGVja2luZzogIiArIGluZm8udHlwZSk7CisgIC8vIENvbXB1dGUgdGhlIG1heGlt
dW0gYW1vdW50IG9mIHRoaXMgdHlwZSBhbGxvd2VkIGluIGEgc2luZ2xlIGFycmF5LgorICB2YXIg
bnVtVmFycyA9IE1hdGguZmxvb3IobWF4VmFyeWluZ1ZlY3RvcnMgLyBpbmZvLnJvd3MpOworICAv
LyBDb21wdXRlIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHRvIHdvcmsgaW4gYSBzaW5nbGUgYXJyYXku
CisgIHZhciBtaW5WYXJzID0gTWF0aC5mbG9vcihtaW5WYXJ5aW5nVmVjdG9ycyAvIGluZm8ucm93
cyk7CisgIC8vIFRlc3QgYXJyYXlbMV0gb2YgdGhlIHR5cGUKKyAgdmFyIHZjb2RlID0gd3R1LnJl
cGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgIHZhciBm
Y29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBd
In0pOworICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFt
cyh2QXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IDEsIHZjb2RlOiB2Y29kZX0sIGluZm8p
LAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBs
YWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogMSwgZmNvZGU6IGZjb2Rl
fSwgaW5mbyksCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IHRy
dWUsCisgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBpbmZv
LnR5cGUgKyAiIHdpdGggMSBlbGVtZW50IHNob3VsZCBzdWNjZWVkIiwKKyAgfSk7CisgIC8vIGRv
IHRoZSBtaW5pbXVtIG51bWJlci4gQWZ0ZXIgdGhhdCBpdCBjYW4gZmFpbCBmb3IgYW55IHJlYXNv
bi4KKyAgaWYgKGZhbHNlKSB7CisgICAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5m
by52Y29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChudW1WYXJzIC0gMSkgKyAiXSJ9KTsKKyAg
ICB2YXIgZmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6ICIiLCBpbmRl
eDogIlsiICsgKG51bVZhcnMgLSAxKSArICJdIn0pOworICAgIHRlc3RzLnB1c2goeworICAgICAg
dlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRl
c3RUeXBlOiBudW1WYXJzLCB2Y29kZTogdmNvZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNj
ZXNzOiB0cnVlLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoZkFycmF5
VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzLCBmY29kZTogZmNvZGV9LCBpbmZvKSwK
KyAgICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisg
ICAgICBwYXNzTXNnOiAic2hhZGVycyB3aXRoIHZhcnlpbmcgYXJyYXkgb2YgIiArIGluZm8udHlw
ZSArICIgd2l0aCAiICsgbnVtVmFycyArICIgZWxlbWVudHMgKHRoZSBtYXhpbXVtKSBzaG91bGQg
c3VjY2VlZCIsCisgICAgfSk7CisgIH0KKworICAvLyBUZXN0IHJlcXVpcmVkIG51bWJlciBvZiB1
bmlmb3JtcworICB2YXIgdmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLnZjb2RlLCB7aWQ6
ICIiLCBpbmRleDogIlsiICsgKG1pblZhcnMgLSAxKSArICJdIn0pOworICB2YXIgZmNvZGUgPSB3
dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG1pblZh
cnMgLSAxKSArICJdIn0pOworICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUu
cmVwbGFjZVBhcmFtcyh2QXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIHZj
b2RlOiB2Y29kZX0sIGluZm8pLAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFk
ZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlw
ZTogbWluVmFycywgZmNvZGU6IGZjb2RlfSwgaW5mbyksCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRy
dWUsCisgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2
YXJ5aW5nIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIG1pblZhcnMgKyAiIGVs
ZW1lbnRzICh0aGUgbWluaW11bSByZXF1aXJlZCkgc2hvdWxkIHN1Y2NlZWQiLAorICB9KTsKKwor
ICAvLyBUZXN0IGFycmF5W21heCArIDFdIGFjY2Vzc2luZyBsYXN0IGVsZW1lbnQuIFdlYkdMIHJl
cXVpcmVzIHRoaXMgdG8gZmFpbC4KKyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5m
by52Y29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIG51bVZhcnMgKyAiXSJ9KTsKKyAgdmFyIGZj
b2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby5mY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiAr
IG51bVZhcnMgKyAiXSJ9KTsKKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1
LnJlcGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzICsg
MSwgdmNvZGU6IHZjb2RlfSwgaW5mbyksCisgICAgdlNoYWRlclN1Y2Nlc3M6IGZhbHNlLAorICAg
IGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1U
ZXN0VHlwZTogbnVtVmFycyArIDEsIGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgIGZTaGFkZXJT
dWNjZXNzOiBmYWxzZSwKKyAgICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzogInNo
YWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIChu
dW1WYXJzICsgMSkgKyAiIGVsZW1lbnRzIChvbmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3NpbmcgbGFz
dCBlbGVtZW50IHNob3VsZCBmYWlsIiwKKyAgfSk7CisKKyAgLy8gVGVzdCBhcnJheVttYXggKyAx
XSBhY2Nlc3NpbmcgZmlyc3QgZWxlbWVudC4gV2ViR0wgcmVxdWlyZXMgdGhpcyB0byBmYWlsIGJ1
dCBFUyBhbGxvd3MgdHJ1bmNhdGluZyBhcnJheS4KKyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQ
YXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgIHZhciBmY29kZSA9
IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0pOwor
ICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2QXJy
YXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCB2Y29kZTogdmNvZGV9LCBp
bmZvKSwKKyAgICB2U2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgZlNoYWRlclNvdXJjZTogd3R1
LnJlcGxhY2VQYXJhbXMoZkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzICsg
MSwgZmNvZGU6IGZjb2RlfSwgaW5mbyksCisgICAgZlNoYWRlclN1Y2Nlc3M6IGZhbHNlLAorICAg
IGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgICBwYXNzTXNnOiAic2hhZGVycyB3aXRoIHZhcnlpbmcg
YXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgZWxl
bWVudHMgKG9uZSBwYXN0IG1heGltdW0pIGFjY2Vzc2luZyBmaXJzdCBlbGVtZW50IHNob3VsZCBm
YWlsIiwKKyAgfSk7CisKKyAgLy8gVGVzdCBtYXggdW5pZm9ybXMgb2YgdHlwZS4KKyAgLy8gTm90
ZTogV2UgY2FuJ3QgdGVzdCB0aGlzIGFzIGFjdHVhbCBHTCBkcml2ZXJzIGFyZSBvbmx5IHJlcXVp
cmVkIHRvIGJlIGFibGUgdG8KKyAgLy8gZG8gdGhlIG1pbmltdW0gbnVtYmVyLiBBZnRlciB0aGF0
IGl0IGNhbiBmYWlsIGZvciBhbnkgcmVhc29uLgorICBpZiAoZmFsc2UpIHsKKyAgfQorCisgIHZh
ciBnZW5lcmF0ZUNvZGUgPSBmdW5jdGlvbihudW1WYXJzKSB7CisgICAgdmFyIHZhcnlpbmdzID0g
W107CisgICAgdmFyIHZjb2RlcyA9IFtdOworICAgIHZhciBmY29kZXMgPSBbXTsKKyAgICBmb3Ig
KHZhciB1dSA9IDA7IHV1IDwgbnVtVmFyczsgKyt1dSkgeworICAgICAgdmFyeWluZ3MucHVzaCgi
ICAgIHZhcnlpbmcgIiArIGluZm8udHlwZSArICIgdl92YXJ5aW5nIiArIHV1ICsgIjsiKTsKKyAg
ICAgIHZjb2Rlcy5wdXNoKHd0dS5yZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogdXUsIGlu
ZGV4OiAiIn0pKTsKKyAgICAgIGZjb2Rlcy5wdXNoKHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNv
ZGUsIHtpZDogdXUsIGluZGV4OiAiIn0pKTsKKyAgICB9CisgICAgcmV0dXJuIHsKKyAgICAgIHZh
cnlpbmdzOiB2YXJ5aW5ncy5qb2luKCJcbiIpLAorICAgICAgdmNvZGU6IHZjb2Rlcy5qb2luKCJc
biAgICAgICAgICAgICIpLAorICAgICAgZmNvZGU6IGZjb2Rlcy5qb2luKCIgKyBcbiAgICAgICAg
ICAgICIpLAorICAgIH07CisgIH07CisKKyAgLy8gVGVzdCBtYXgrMSB2YXJ5aW5ncyBvZiB0eXBl
LgorICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2
VmFyeWluZ1Rlc3RTb3VyY2UsIGdlbmVyYXRlQ29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAg
IHZTaGFkZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBh
cmFtcyhmVmFyeWluZ1Rlc3RTb3VyY2UsIGdlbmVyYXRlQ29kZShudW1WYXJzICsgMSksIGluZm8p
LAorICAgIGZTaGFkZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBsaW5rU3VjY2VzczogZmFsc2UsCisg
ICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgdmFyeWluZ3Mg
b2YgIiArIGluZm8udHlwZSArICIgKG9uZSBwYXN0IG1heGltdW0pIHNob3VsZCBmYWlsIiwKKyAg
fSk7CisKKyAgLy8gVGVzdCByZXF1aXJlZCB2YXJ5aW5ncyBvZiB0eXBlLgorICB0ZXN0cy5wdXNo
KHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2VmFyeWluZ1Rlc3RTb3Vy
Y2UsIGdlbmVyYXRlQ29kZShtaW5WYXJzKSwgaW5mbyksCisgICAgdlNoYWRlclN1Y2Nlc3M6IHRy
dWUsCisgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoZlZhcnlpbmdUZXN0U291
cmNlLCBnZW5lcmF0ZUNvZGUobWluVmFycyksIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0
cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGgg
IiArIG1pblZhcnMgKyAiIHZhcnlpbmdzIG9mICIgKyBpbmZvLnR5cGUgKyAiICh0aGUgbWluaW11
bSByZXF1aXJlZCkgc2hvdWxkIHN1Y2NlZWQiLAorICB9KTsKK30KKworR0xTTENvbmZvcm1hbmNl
VGVzdGVyLnJ1blRlc3RzKHRlc3RzKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmRkYzY4YTk0MmQ2NDRmN2YwZmYzZTZmZjVhMjFkYTIxYmFmYTc3MWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250
YWluaW5nLWFycmF5cy5odG1sCkBAIC0wLDAgKzEsMTU3IEBACisKKzwhLS0KKworLyoKKyoqIENv
cHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVu
dGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJp
YWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlz
dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMs
IGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJ
REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9S
IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK
KyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENP
UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBP
VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9S
VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBN
QVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkdMU0wgQXJyYXkgb2YgU3RydWN0cyBDb250
YWluaW5nIEFycmF5czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0Pgor
Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiwgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmli
dXRlIHZlYzQgYV9wb3NpdGlvbjsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfUG9zaXRpb24g
PSBhX3Bvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMCIsIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CitzdHJ1Y3Qg
bXlfc3RydWN0IHsKKyAgdmVjNCBjb2xvclsyXTsKK307Cit1bmlmb3JtIG15X3N0cnVjdCB1X2Nv
bG9yc1syXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9jb2xvcnNb
MF0uY29sb3JbMF07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIxIiwgdHlwZT0i
eC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3N0cnVjdCBt
eV9zdHJ1Y3QgeworICB2ZWM0IGNvbG9yWzJdOworfTsKK3VuaWZvcm0gbXlfc3RydWN0IHVfY29s
b3JzWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X2NvbG9yc1sw
XS5jb2xvclsxXTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlci13aXRoLW9uZS1l
bGVtZW50LWFycmF5cyIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CitzdHJ1Y3QgbXlfc3RydWN0IHsKKyAgdmVjNCBjb2xvclsxXTsKK307Cit1
bmlmb3JtIG15X3N0cnVjdCB1X2NvbG9yc1sxXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xf
RnJhZ0NvbG9yID0gdV9jb2xvcnNbMF0uY29sb3JbMF07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
aWQ9ImZzaGFkZXIzIiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVk
aXVtcCBmbG9hdDsKK3N0cnVjdCBteV9zdHJ1Y3QgeworICB2ZWM0IGNvbG9yMVsyXTsKKyAgdmVj
NCBjb2xvcjJbMl07Cit9OwordW5pZm9ybSBteV9zdHJ1Y3QgdV9jb2xvcnNbMl07Cit2b2lkIG1h
aW4odm9pZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfY29sb3JzWzBdLmNvbG9yMVswXSArIHVf
Y29sb3JzWzBdLmNvbG9yMlswXSArIHVfY29sb3JzWzFdLmNvbG9yMVsxXSArdV9jb2xvcnNbMV0u
Y29sb3IyWzFdOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOword3R1LnNldHVwVW5pdFF1YWQoZ2wp
OworCitmb3IgKHZhciBpaSA9IDA7IGlpIDwgMjsgKytpaSkgeworICB2YXIgcHJvZ3JhbSA9IHd0
dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIiArIGlpXSwgWyJhX3Bvc2l0
aW9uIl0pOworICB2YXIgcmVkX2xvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAi
dV9jb2xvcnNbMF0uY29sb3JbIiArIGlpICArICJdIik7CisgIHZhciBncmVlbl9sb2MgPSBnbC5n
ZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzBdLmNvbG9yWyIgKyAoMSAtIGlp
KSArICJdIik7CisgIGdsLnVuaWZvcm00ZnYocmVkX2xvYywgWzEsIDAsIDAsIDFdKTsKKyAgZ2wu
dW5pZm9ybTRmdihncmVlbl9sb2MsIFswLCAxLCAwLCAxXSk7CisgIHd0dS5kcmF3UXVhZChnbCk7
CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwgMjU1XSwgIlNob3VsZCBiZSByZWQi
KTsKK30KKwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAi
ZnNoYWRlci13aXRoLW9uZS1lbGVtZW50LWFycmF5cyJdLCBbImFfcG9zaXRpb24iXSk7Cit2YXIg
Z3JlZW5fbG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1swXS5j
b2xvclswXSIpOworZ2wudW5pZm9ybTRmdihncmVlbl9sb2MsIFswLCAxLCAwLCAxXSk7Cit3dHUu
ZHJhd1F1YWQoZ2wpOword3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAiU2hv
dWxkIGJlIGdyZWVuIik7CisKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2
c2hhZGVyIiwgImZzaGFkZXIzIl0sIFsiYV9wb3NpdGlvbiJdKTsKK3ZhciBudW1Vbmlmb3JtcyA9
IGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2wuQUNUSVZFX1VOSUZPUk1TKTsKK3No
b3VsZEJlKCJudW1Vbmlmb3JtcyIsICI0Iik7Cit2YXIgdW5pZm9ybXMgPSBbXQorZm9yICh2YXIg
aWkgPSAwOyBpaSA8IG51bVVuaWZvcm1zOyArK2lpKSB7CisgIHVuaWZvcm1zLnB1c2goZ2wuZ2V0
QWN0aXZlVW5pZm9ybShwcm9ncmFtLCBpaSkubmFtZSk7Cit9Cit1bmlmb3Jtcy5zb3J0KCk7Citz
aG91bGRCZSgidW5pZm9ybXNbMF0iLCAnInVfY29sb3JzWzBdLmNvbG9yMVswXSInKTsKK3Nob3Vs
ZEJlKCJ1bmlmb3Jtc1sxXSIsICcidV9jb2xvcnNbMF0uY29sb3IyWzBdIicpOworc2hvdWxkQmUo
InVuaWZvcm1zWzJdIiwgJyJ1X2NvbG9yc1sxXS5jb2xvcjFbMF0iJyk7CitzaG91bGRCZSgidW5p
Zm9ybXNbM10iLCAnInVfY29sb3JzWzFdLmNvbG9yMlswXSInKTsKK3ZhciBsb2MwMCA9IGdsLmdl
dFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMF0uY29sb3IxIik7Cit2YXIgbG9j
MDEgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzBdLmNvbG9yMiIp
OwordmFyIGxvYzEwID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1sx
XS5jb2xvcjEiKTsKK3ZhciBsb2MxMSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAi
dV9jb2xvcnNbMV0uY29sb3IyIik7CitzaG91bGRCZVRydWUoImxvYzAwICE9IHVuZGVmaW5lZCIp
Oworc2hvdWxkQmVUcnVlKCJsb2MwMSAhPSB1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgibG9j
MTAgIT0gdW5kZWZpbmVkIik7CitzaG91bGRCZVRydWUoImxvYzExICE9IHVuZGVmaW5lZCIpOwor
Z2wudW5pZm9ybTRmdihsb2MwMCwgWzEsIDAsIDAsIDBdKTsKK2dsLnVuaWZvcm00ZnYobG9jMDEs
IFswLCAxLCAwLCAwXSk7CitnbC51bmlmb3JtNGZ2KGxvYzEwLCBbMCwgMCwgMCwgMCwgMCwgMCwg
MSwgMF0pOworZ2wudW5pZm9ybTRmdihsb2MxMSwgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDFdKTsK
K3ZhciBsb2MxMDEgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzFd
LmNvbG9yMVsxXSIpOwordmFyIGxvYzExMSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFt
LCAidV9jb2xvcnNbMV0uY29sb3IyWzFdIik7CitzaG91bGRCZVRydWUoImxvYzEwMSAhPSB1bmRl
ZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgibG9jMTExICE9IHVuZGVmaW5lZCIpOword3R1LmRyYXdR
dWFkKGdsLCBbMCwgMCwgMCwgMF0pOworZ2wudW5pZm9ybTRmdihsb2MxMDEsIFswLCAwLCAwLCAw
XSk7CitnbC51bmlmb3JtNGZ2KGxvYzExMSwgWzAsIDAsIDAsIDBdKTsKK3d0dS5kcmF3UXVhZChn
bCwgWzAsIDAsIDAsIDBdKTsKK3d0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMjU1LCAwLCAwXSwg
IlNob3VsZCBiZSB5ZWxsb3ciKTsKKworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
InRoZXJlIHNob3VsZCBiZSBubyBlcnJvcnMiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21h
dGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA4OGFjZjlhYWJlNzkzM2JlMjA4M2Y2NTUyNTM2YTdkNzll
OGJkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFy
aWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxMjQgQEAKKzwhLS0KKwor
LyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiog
UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz
b24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0
aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo
LAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBN
YXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxz
IGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJz
dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMg
QVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBF
WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFN
QUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F
Q1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT
IElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgQ29uZm9y
bWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBpZD0iZnNoYWRlcldpdGhNZWRpdW1wR2xvYmFsIiB0eXBlPSJ0ZXh0L3NvbWV0aGlu
Zy1ub3QtamF2YXNjcmlwdCI+CisvLyBUaGVyZSBpcyBubyBkZWZhdWx0IHByZWNpc2lvbiBpbiBm
cmFnbWVudCBzaGFkZXJzLCBzbyBzcGVjaWZ5IG1lZGl1bXAuCitwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKKwordW5pZm9ybSB2ZWM0IGZvbzsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFn
Q29sb3IgPSBmb287Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJXaXRoTWVkaXVt
cEdsb2JhbFN0cnVjdCIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorLy8g
VGhlcmUgaXMgbm8gZGVmYXVsdCBwcmVjaXNpb24gaW4gZnJhZ21lbnQgc2hhZGVycywgc28gc3Bl
Y2lmeSBtZWRpdW1wLgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3N0cnVjdCBmb28KK3sK
KyAgIHZlYzQgYmFyOworfTsKKwordW5pZm9ybSBmb28gYmF6OworCit2b2lkIG1haW4oKQorewor
ICAgIGdsX0ZyYWdDb2xvciA9IGJhei5iYXI7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZz
aGFkZXJXaXRoSGlnaHBHbG9iYWwiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKy8vIERlZmF1
bHQgcHJlY2lzaW9uIGZvciB2ZXJ0ZXggc2hhZGVycyBpcyBoaWdocC4KK3VuaWZvcm0gdmVjNCBm
b287CisKK3ZvaWQgbWFpbigpIHsKKyAgICBnbF9Qb3NpdGlvbiA9IGZvbzsKK30KKzwvc2NyaXB0
PgorPHNjcmlwdCBpZD0idnNoYWRlcldpdGhIaWdocEdsb2JhbFN0cnVjdCIgdHlwZT0ieC1zaGFk
ZXIveC12ZXJ0ZXgiPgorLy8gRGVmYXVsdCBwcmVjaXNpb24gZm9yIHZlcnRleCBzaGFkZXJzIGlz
IGhpZ2hwLgorc3RydWN0IGZvbworeworICAgdmVjNCBiYXI7Cit9OworCit1bmlmb3JtIGZvbyBi
YXo7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSBiYXouYmFyOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIkNoZWNrcyBzaGFk
ZXJzIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyBhbmQgcHJlY2lzaW9uIHF1YWxpZmllciBtaXNtYXRj
aC4iKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCit2YXIgZ2xzbFRlc3RzID0gW107
CisKK2dsc2xUZXN0cy5wdXNoKHsKKyAgdlNoYWRlcklkOiAndnNoYWRlcldpdGhIaWdocEdsb2Jh
bCcsCisgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICBmU2hhZGVySWQ6ICdmc2hhZGVyV2l0aE1l
ZGl1bXBHbG9iYWwnLAorICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgbGlua1N1Y2Nlc3M6IGZh
bHNlLAorICBwYXNzTXNnOiAibWlzbWF0Y2hpbmcgcHJlY2lzaW9uIGZvciB1bmlmb3JtcyBjYXVz
ZXMgbGluayBlcnJvciAoYXMgZXhwZWN0ZWQpIiwKK30pOworCitnbHNsVGVzdHMucHVzaCh7Cisg
IHZTaGFkZXJJZDogJ3ZzaGFkZXJXaXRoSGlnaHBHbG9iYWxTdHJ1Y3QnLAorICB2U2hhZGVyU3Vj
Y2VzczogdHJ1ZSwKKyAgZlNoYWRlcklkOiAnZnNoYWRlcldpdGhNZWRpdW1wR2xvYmFsU3RydWN0
JywKKyAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgcGFz
c01zZzogIm1pc21hdGNoaW5nIHByZWNpc2lvbiBmb3Igc3RydWN0dXJlIHVuaWZvcm1zIGNhdXNl
cyBsaW5rIGVycm9yIChhcyBleHBlY3RlZCkiLAorfSk7CisKK0dMU0xDb25mb3JtYW5jZVRlc3Rl
ci5ydW5UZXN0cyhnbHNsVGVzdHMpOworCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjOGExNjBmNzVh
NWExNDBlNDM4ZTM5OWNjNmQ4ZTM0NmM5YjQwZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwKQEAgLTAsMCArMSw3MjQgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdM
U0wgQ29uZm9ybWFuY2UgVGVzdHMgLSBOb24gUmVzZXJ2ZWQgV29yZHM8L3RpdGxlPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wt
ZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
Z2xzbC1jb25mb3JtYW5jZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0IGlkPSJ2ZXJ0ZXhTaGFkZXIwIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlw
dCI+CitzdHJ1Y3QgJHJlcGxhY2VNZSB7CisgIHZlYzQgJHJlcGxhY2VNZTsKK307CitzdHJ1Y3Qg
Rm9vIHsKKyAgJHJlcGxhY2VNZSAkcmVwbGFjZU1lOworfTsKK2F0dHJpYnV0ZSB2ZWM0IHBvc2l0
aW9uOwordm9pZCBtYWluKCkKK3sKKyAgICBGb28gZjsKKyAgICBmLiRyZXBsYWNlTWUuJHJlcGxh
Y2VNZSA9IHBvc2l0aW9uOworICAgIGdsX1Bvc2l0aW9uID0gZi4kcmVwbGFjZU1lLiRyZXBsYWNl
TWU7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyMCIgdHlwZT0idGV4
dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2
ZWM0ICRyZXBsYWNlTWUoKSB7CisgICAgcmV0dXJuIHZlYzQoMCwxLDAsMSk7Cit9Cit2b2lkIG1h
aW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9ICRyZXBsYWNlTWUoKTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0idmVydGV4U2hhZGVyMSIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFz
Y3JpcHQiPgorYXR0cmlidXRlIHZlYzQgJHJlcGxhY2VNZTsKK3ZvaWQgbWFpbigpCit7CisgICAg
Z2xfUG9zaXRpb24gPSAkcmVwbGFjZU1lOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFn
bWVudFNoYWRlcjEiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OwordmVjNCBmb28odmVjNCAkcmVwbGFjZU1lKSB7CisgIHJldHVy
biAkcmVwbGFjZU1lOworfQordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSBmb28o
dmVjNCgxLDAsMSwxKSk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlcjIi
IHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ZhcnlpbmcgdmVjNCAkcmVw
bGFjZU1lOworYXR0cmlidXRlIHZlYzQgcG9zaXRpb247Cit2b2lkIG1haW4oKQoreworICAgIGds
X1Bvc2l0aW9uID0gcG9zaXRpb247CisgICAgJHJlcGxhY2VNZSA9IHBvc2l0aW9uOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNoYWRlcjIiIHR5cGU9InRleHQvc29tZXRoaW5n
LW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordmFyeWluZyB2ZWM0
ICRyZXBsYWNlTWU7Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9ICRyZXBsYWNl
TWU7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlcjMiIHR5cGU9InRleHQv
c29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0IHBvc2l0aW9uOwordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHBvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJmcmFnbWVudFNoYWRlcjMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZh
c2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0ICRyZXBsYWNl
TWU7Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9ICRyZXBsYWNlTWU7Cit9Cis8
L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgRFhXb3JkcyA9IFsKKyAgIkJ1
ZmZlciIsCisgICJkb3VibGUiLAorICAidWludCIsCisgICJoYWxmIiwKKyAgImR3b3JkIiwKKyAg
InN0cmluZyIsCisgICJ0ZXh0dXJlIiwKKyAgInBpeGVsc2hhZGVyIiwKKyAgInZlcnRleHNoYWRl
ciIsCisgICJzd2l0Y2giLAorICAibWluMTZmbG9hdCIsCisgICJtaW4xMGZsb2F0IiwKKyAgIm1p
bjE2aW50IiwKKyAgIm1pbjEyaW50IiwKKyAgIm1pbjE2dWludCIsCisgICJ2ZWN0b3IiLAorICAi
bWF0cml4IiwKKyAgImZsb2F0MiIsCisgICJmbG9hdDMiLAorICAiZmxvYXQ0IiwKKyAgImZsb2F0
MXgxIiwKKyAgImZsb2F0MXgyIiwKKyAgImZsb2F0MXgzIiwKKyAgImZsb2F0MXg0IiwKKyAgImZs
b2F0MngxIiwKKyAgImZsb2F0MngyIiwKKyAgImZsb2F0MngzIiwKKyAgImZsb2F0Mng0IiwKKyAg
ImZsb2F0M3gxIiwKKyAgImZsb2F0M3gyIiwKKyAgImZsb2F0M3gzIiwKKyAgImZsb2F0M3g0IiwK
KyAgImZsb2F0NHgxIiwKKyAgImZsb2F0NHgyIiwKKyAgImZsb2F0NHgzIiwKKyAgImZsb2F0NHg0
IiwKKyAgImludDF4MSIsCisgICJpbnQxeDIiLAorICAiaW50MXgzIiwKKyAgImludDF4NCIsCisg
ICJpbnQyeDEiLAorICAiaW50MngyIiwKKyAgImludDJ4MyIsCisgICJpbnQyeDQiLAorICAiaW50
M3gxIiwKKyAgImludDN4MiIsCisgICJpbnQzeDMiLAorICAiaW50M3g0IiwKKyAgImludDR4MSIs
CisgICJpbnQ0eDIiLAorICAiaW50NHgzIiwKKyAgImludDR4NCIsCisgICJkb3VibGUxeDEiLAor
ICAiZG91YmxlMXgyIiwKKyAgImRvdWJsZTF4MyIsCisgICJkb3VibGUxeDQiLAorICAiZG91Ymxl
MngxIiwKKyAgImRvdWJsZTJ4MiIsCisgICJkb3VibGUyeDMiLAorICAiZG91YmxlMng0IiwKKyAg
ImRvdWJsZTN4MSIsCisgICJkb3VibGUzeDIiLAorICAiZG91YmxlM3gzIiwKKyAgImRvdWJsZTN4
NCIsCisgICJkb3VibGU0eDEiLAorICAiZG91YmxlNHgyIiwKKyAgImRvdWJsZTR4MyIsCisgICJk
b3VibGU0eDQiLAorICAiYWJvcnQiLAorICAiYWJzIiwKKyAgImFjb3MiLAorICAiYWxsIiwKKyAg
IkFsbE1lbW9yeUJhcnJpZXIiLAorICAiQWxsTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiLAor
ICAiYW55IiwKKyAgImFzZG91YmxlIiwKKyAgImFzZmxvYXQiLAorICAiYXNpbiIsCisgICJhc2lu
dCIsCisgICJhc2ludCIsCisgICJhc3VpbnQiLAorICAiYXN1aW50IiwKKyAgImF0YW4iLAorICAi
YXRhbjIiLAorICAiY2VpbCIsCisgICJjbGFtcCIsCisgICJjbGlwIiwKKyAgImNvcyIsCisgICJj
b3NoIiwKKyAgImNvdW50Yml0cyIsCisgICJjcm9zcyIsCisgICJEM0RDT0xPUnRvVUJZVEU0IiwK
KyAgImRkeCIsCisgICJkZHhfY29hcnNlIiwKKyAgImRkeF9maW5lIiwKKyAgImRkeSIsCisgICJk
ZHlfY29hcnNlIiwKKyAgImRkeV9maW5lIiwKKyAgImRlZ3JlZXMiLAorICAiZGV0ZXJtaW5hbnQi
LAorICAiRGV2aWNlTWVtb3J5QmFycmllciIsCisgICJEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdy
b3VwU3luYyIsCisgICJkaXN0YW5jZSIsCisgICJkb3QiLAorICAiZHN0IiwKKyAgImVycm9yZiIs
CisgICJFdmFsdWF0ZUF0dHJpYnV0ZUF0Q2VudHJvaWQiLAorICAiRXZhbHVhdGVBdHRyaWJ1dGVB
dFNhbXBsZSIsCisgICJFdmFsdWF0ZUF0dHJpYnV0ZVNuYXBwZWQiLAorICAiZXhwIiwKKyAgImV4
cDIiLAorICAiZjE2dG9mMzIiLAorICAiZjMydG9mMTYiLAorICAiZmFjZWZvcndhcmQiLAorICAi
Zmlyc3RiaXRoaWdoIiwKKyAgImZpcnN0Yml0bG93IiwKKyAgImZsb29yIiwKKyAgImZtYSIsCisg
ICJmbW9kIiwKKyAgImZyYWMiLAorICAiZnJleHAiLAorICAiZndpZHRoIiwKKyAgIkdldFJlbmRl
clRhcmdldFNhbXBsZUNvdW50IiwKKyAgIkdldFJlbmRlclRhcmdldFNhbXBsZVBvc2l0aW9uIiwK
KyAgIkdyb3VwTWVtb3J5QmFycmllciIsCisgICJHcm91cE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBT
eW5jIiwKKyAgIkludGVybG9ja2VkQWRkIiwKKyAgIkludGVybG9ja2VkQW5kIiwKKyAgIkludGVy
bG9ja2VkQ29tcGFyZUV4Y2hhbmdlIiwKKyAgIkludGVybG9ja2VkQ29tcGFyZVN0b3JlIiwKKyAg
IkludGVybG9ja2VkRXhjaGFuZ2UiLAorICAiSW50ZXJsb2NrZWRNYXgiLAorICAiSW50ZXJsb2Nr
ZWRNaW4iLAorICAiSW50ZXJsb2NrZWRPciIsCisgICJJbnRlcmxvY2tlZFhvciIsCisgICJpc2Zp
bml0ZSIsCisgICJpc2luZiIsCisgICJpc25hbiIsCisgICJsZGV4cCIsCisgICJsZW5ndGgiLAor
ICAibGVycCIsCisgICJsaXQiLAorICAibG9nIiwKKyAgImxvZzEwIiwKKyAgImxvZzIiLAorICAi
bWFkIiwKKyAgIm1heCIsCisgICJtaW4iLAorICAibW9kZiIsCisgICJtc2FkNCIsCisgICJtdWwi
LAorICAibm9pc2UiLAorICAibm9ybWFsaXplIiwKKyAgInBvdyIsCisgICJwcmludGYiLAorICAi
UHJvY2VzczJEUXVhZFRlc3NGYWN0b3JzQXZnIiwKKyAgIlByb2Nlc3MyRFF1YWRUZXNzRmFjdG9y
c01heCIsCisgICJQcm9jZXNzMkRRdWFkVGVzc0ZhY3RvcnNNaW4iLAorICAiUHJvY2Vzc0lzb2xp
bmVUZXNzRmFjdG9ycyIsCisgICJQcm9jZXNzUXVhZFRlc3NGYWN0b3JzQXZnIiwKKyAgIlByb2Nl
c3NRdWFkVGVzc0ZhY3RvcnNNYXgiLAorICAiUHJvY2Vzc1F1YWRUZXNzRmFjdG9yc01pbiIsCisg
ICJQcm9jZXNzVHJpVGVzc0ZhY3RvcnNBdmciLAorICAiUHJvY2Vzc1RyaVRlc3NGYWN0b3JzTWF4
IiwKKyAgIlByb2Nlc3NUcmlUZXNzRmFjdG9yc01pbiIsCisgICJyYWRpYW5zIiwKKyAgInJjcCIs
CisgICJyZWZsZWN0IiwKKyAgInJlZnJhY3QiLAorICAicmV2ZXJzZWJpdHMiLAorICAicm91bmQi
LAorICAicnNxcnQiLAorICAic2F0dXJhdGUiLAorICAic2lnbiIsCisgICJzaW4iLAorICAic2lu
Y29zIiwKKyAgInNpbmgiLAorICAic21vb3Roc3RlcCIsCisgICJzcXJ0IiwKKyAgInN0ZXAiLAor
ICAidGFuIiwKKyAgInRhbmgiLAorICAidGV4MUQiLAorICAidGV4MUQiLAorICAidGV4MURiaWFz
IiwKKyAgInRleDFEZ3JhZCIsCisgICJ0ZXgxRGxvZCIsCisgICJ0ZXgxRHByb2oiLAorICAidGV4
MkQiLAorICAidGV4MkQiLAorICAidGV4MkRiaWFzIiwKKyAgInRleDJEZ3JhZCIsCisgICJ0ZXgy
RGxvZCIsCisgICJ0ZXgyRHByb2oiLAorICAidGV4M0QiLAorICAidGV4M0QiLAorICAidGV4M0Ri
aWFzIiwKKyAgInRleDNEZ3JhZCIsCisgICJ0ZXgzRGxvZCIsCisgICJ0ZXgzRHByb2oiLAorICAi
dGV4Q1VCRSIsCisgICJ0ZXhDVUJFIiwKKyAgInRleENVQkViaWFzIiwKKyAgInRleENVQkVncmFk
IiwKKyAgInRleENVQkVsb2QiLAorICAidGV4Q1VCRXByb2oiLAorICAidHJhbnNwb3NlIiwKKyAg
InRydW5jIgorXTsKKwordmFyIEdMU0xfNF8yMF8xMV93b3JkcyA9IFsKKyAgImF0dHJpYnV0ZSIs
CisgICJjb25zdCIsCisgICJ1bmlmb3JtIiwKKyAgInZhcnlpbmciLAorICAiY29oZXJlbnQiLAor
ICAidm9sYXRpbGUiLAorICAicmVzdHJpY3QiLAorICAicmVhZG9ubHkiLAorICAid3JpdGVvbmx5
IiwKKyAgImF0b21pY191aW50IiwKKyAgImxheW91dCIsCisgICJjZW50cm9pZCIsCisgICJmbGF0
IiwKKyAgInNtb290aCIsCisgICJub3BlcnNwZWN0aXZlIiwKKyAgInBhdGNoIiwKKyAgInNhbXBs
ZSIsCisgICJicmVhayIsCisgICJjb250aW51ZSIsCisgICJkbyIsCisgICJmb3IiLAorICAid2hp
bGUiLAorICAic3dpdGNoIiwKKyAgImNhc2UiLAorICAiZGVmYXVsdCIsCisgICJpZiIsCisgICJl
bHNlIiwKKyAgInN1YnJvdXRpbmUiLAorICAiaW4iLAorICAib3V0IiwKKyAgImlub3V0IiwKKyAg
ImZsb2F0IiwKKyAgImRvdWJsZSIsCisgICJpbnQiLAorICAidm9pZCIsCisgICJib29sIiwKKyAg
InRydWUiLAorICAiZmFsc2UiLAorICAiaW52YXJpYW50IiwKKyAgImRpc2NhcmQiLAorICAicmV0
dXJuIiwKKyAgIm1hdDIiLAorICAibWF0MyIsCisgICJtYXQ0IiwKKyAgImRtYXQyIiwKKyAgImRt
YXQzIiwKKyAgImRtYXQ0IiwKKyAgIm1hdDJ4MiIsCisgICJtYXQyeDMiLAorICAibWF0Mng0IiwK
KyAgImRtYXQyeDIiLAorICAiZG1hdDJ4MyIsCisgICJkbWF0Mng0IiwKKyAgIm1hdDN4MiIsCisg
ICJtYXQzeDMiLAorICAibWF0M3g0IiwKKyAgImRtYXQzeDIiLAorICAiZG1hdDN4MyIsCisgICJk
bWF0M3g0IiwKKyAgIm1hdDR4MiIsCisgICJtYXQ0eDMiLAorICAibWF0NHg0IiwKKyAgImRtYXQ0
eDIiLAorICAiZG1hdDR4MyIsCisgICJkbWF0NHg0IiwKKyAgInZlYzIiLAorICAidmVjMyIsCisg
ICJ2ZWM0IiwKKyAgIml2ZWMyIiwKKyAgIml2ZWMzIiwKKyAgIml2ZWM0IiwKKyAgImJ2ZWMyIiwK
KyAgImJ2ZWMzIiwKKyAgImJ2ZWM0IiwKKyAgImR2ZWMyIiwKKyAgImR2ZWMzIiwKKyAgImR2ZWM0
IiwKKyAgInVpbnQiLAorICAidXZlYzIiLAorICAidXZlYzMiLAorICAidXZlYzQiLAorICAibG93
cCIsCisgICJtZWRpdW1wIiwKKyAgImhpZ2hwIiwKKyAgInByZWNpc2lvbiIsCisgICJzYW1wbGVy
MUQiLAorICAic2FtcGxlcjJEIiwKKyAgInNhbXBsZXIzRCIsCisgICJzYW1wbGVyQ3ViZSIsCisg
ICJzYW1wbGVyMURTaGFkb3ciLAorICAic2FtcGxlcjJEU2hhZG93IiwKKyAgInNhbXBsZXJDdWJl
U2hhZG93IiwKKyAgInNhbXBsZXIxREFycmF5IiwKKyAgInNhbXBsZXIyREFycmF5IiwKKyAgInNh
bXBsZXIxREFycmF5U2hhZG93IiwKKyAgInNhbXBsZXIyREFycmF5U2hhZG93IiwKKyAgImlzYW1w
bGVyMUQiLAorICAiaXNhbXBsZXIyRCIsCisgICJpc2FtcGxlcjNEIiwKKyAgImlzYW1wbGVyQ3Vi
ZSIsCisgICJpc2FtcGxlcjFEQXJyYXkiLAorICAiaXNhbXBsZXIyREFycmF5IiwKKyAgInVzYW1w
bGVyMUQiLAorICAidXNhbXBsZXIyRCIsCisgICJ1c2FtcGxlcjNEIiwKKyAgInVzYW1wbGVyQ3Vi
ZSIsCisgICJ1c2FtcGxlcjFEQXJyYXkiLAorICAidXNhbXBsZXIyREFycmF5IiwKKyAgInNhbXBs
ZXIyRFJlY3QiLAorICAic2FtcGxlcjJEUmVjdFNoYWRvdyIsCisgICJpc2FtcGxlcjJEUmVjdCIs
CisgICJ1c2FtcGxlcjJEUmVjdCIsCisgICJzYW1wbGVyQnVmZmVyIiwKKyAgImlzYW1wbGVyQnVm
ZmVyIiwKKyAgInVzYW1wbGVyQnVmZmVyIiwKKyAgInNhbXBsZXIyRE1TIiwKKyAgImlzYW1wbGVy
MkRNUyIsCisgICJ1c2FtcGxlcjJETVMiLAorICAic2FtcGxlcjJETVNBcnJheSIsCisgICJpc2Ft
cGxlcjJETVNBcnJheSIsCisgICJ1c2FtcGxlcjJETVNBcnJheSIsCisgICJzYW1wbGVyQ3ViZUFy
cmF5IiwKKyAgInNhbXBsZXJDdWJlQXJyYXlTaGFkb3ciLAorICAiaXNhbXBsZXJDdWJlQXJyYXki
LAorICAidXNhbXBsZXJDdWJlQXJyYXkiLAorICAiaW1hZ2UxRCIsCisgICJpaW1hZ2UxRCIsCisg
ICJ1aW1hZ2UxRCIsCisgICJpbWFnZTJEIiwKKyAgImlpbWFnZTJEIiwKKyAgInVpbWFnZTJEIiwK
KyAgImltYWdlM0QiLAorICAiaWltYWdlM0QiLAorICAidWltYWdlM0QiLAorICAiaW1hZ2UyRFJl
Y3QiLAorICAiaWltYWdlMkRSZWN0IiwKKyAgInVpbWFnZTJEUmVjdCIsCisgICJpbWFnZUN1YmUi
LAorICAiaWltYWdlQ3ViZSIsCisgICJ1aW1hZ2VDdWJlIiwKKyAgImltYWdlQnVmZmVyIiwKKyAg
ImlpbWFnZUJ1ZmZlciIsCisgICJ1aW1hZ2VCdWZmZXIiLAorICAiaW1hZ2UxREFycmF5IiwKKyAg
ImlpbWFnZTFEQXJyYXkiLAorICAidWltYWdlMURBcnJheSIsCisgICJpbWFnZTJEQXJyYXkiLAor
ICAiaWltYWdlMkRBcnJheSIsCisgICJ1aW1hZ2UyREFycmF5IiwKKyAgImltYWdlQ3ViZUFycmF5
IiwKKyAgImlpbWFnZUN1YmVBcnJheSIsCisgICJ1aW1hZ2VDdWJlQXJyYXkiLAorICAiaW1hZ2Uy
RE1TIiwKKyAgImlpbWFnZTJETVMiLAorICAidWltYWdlMkRNUyIsCisgICJpbWFnZTJETVNBcnJh
eSIsCisgICJpaW1hZ2UyRE1TQXJyYXkiLAorICAidWltYWdlMkRNU0FycmF5IiwKKyAgInN0cnVj
dCIKK107CisKK3ZhciBHTFNMXzRfMjBfMTFfZnV0dXJlX3dvcmRzID0gWworICAiY29tbW9uIiwK
KyAgInBhcnRpdGlvbiIsCisgICJhY3RpdmUiLAorICAiYXNtIiwKKyAgImNsYXNzIiwKKyAgInVu
aW9uIiwKKyAgImVudW0iLAorICAidHlwZWRlZiIsCisgICJ0ZW1wbGF0ZSIsCisgICJ0aGlzIiwK
KyAgInBhY2tlZCIsCisgICJyZXNvdXJjZSIsCisgICJnb3RvIiwKKyAgImlubGluZSIsCisgICJu
b2lubGluZSIsCisgICJwdWJsaWMiLAorICAic3RhdGljIiwKKyAgImV4dGVybiIsCisgICJleHRl
cm5hbCIsCisgICJpbnRlcmZhY2UiLAorICAibG9uZyIsCisgICJzaG9ydCIsCisgICJoYWxmIiwK
KyAgImZpeGVkIiwKKyAgInVuc2lnbmVkIiwKKyAgInN1cGVycCIsCisgICJpbnB1dCIsCisgICJv
dXRwdXQiLAorICAiaHZlYzIiLAorICAiaHZlYzMiLAorICAiaHZlYzQiLAorICAiZnZlYzIiLAor
ICAiZnZlYzMiLAorICAiZnZlYzQiLAorICAic2FtcGxlcjNEUmVjdCIsCisgICJmaWx0ZXIiLAor
ICAic2l6ZW9mIiwKKyAgImNhc3QiLAorICAibmFtZXNwYWNlIiwKKyAgInVzaW5nIiwKKyAgInJv
d19tYWpvciIKK107CisKK3ZhciBHTFNMXzFfMF8xN193b3JkcyA9IFsKKyAgImF0dHJpYnV0ZSIs
CisgICJjb25zdCIsCisgICJ1bmlmb3JtIiwKKyAgInZhcnlpbmciLAorICAiYnJlYWsiLAorICAi
Y29udGludWUiLAorICAiZG8iLAorICAiZm9yIiwKKyAgIndoaWxlIiwKKyAgImlmIiwKKyAgImVs
c2UiLAorICAiaW4iLAorICAib3V0IiwKKyAgImlub3V0IiwKKyAgImZsb2F0IiwKKyAgImludCIs
CisgICJ2b2lkIiwKKyAgImJvb2wiLAorICAidHJ1ZSIsCisgICJmYWxzZSIsCisgICJsb3dwIiwK
KyAgIm1lZGl1bXAiLAorICAiaGlnaHAiLAorICAicHJlY2lzaW9uIiwKKyAgImludmFyaWFudCIs
CisgICJkaXNjYXJkIiwKKyAgInJldHVybiIsCisgICJtYXQyIiwKKyAgIm1hdDMiLAorICAibWF0
NCIsCisgICJ2ZWMyIiwKKyAgInZlYzMiLAorICAidmVjNCIsCisgICJpdmVjMiIsCisgICJpdmVj
MyIsCisgICJpdmVjNCIsCisgICJidmVjMiIsCisgICJidmVjMyIsCisgICJidmVjNCIsCisgICJz
YW1wbGVyMkQiLAorICAic2FtcGxlckN1YmUiLAorICAic3RydWN0IgorXQorCit2YXIgR0xTTF8x
XzBfMTdfRnV0dXJlV29yZHMgPSBbCisgICJhc20iLAorICAiY2xhc3MiLAorICAidW5pb24iLAor
ICAiZW51bSIsCisgICJ0eXBlZGVmIiwKKyAgInRlbXBsYXRlIiwKKyAgInRoaXMiLAorICAicGFj
a2VkIiwKKyAgImdvdG8iLAorICAic3dpdGNoIiwKKyAgImRlZmF1bHQiLAorICAiaW5saW5lIiwK
KyAgIm5vaW5saW5lIiwKKyAgInZvbGF0aWxlIiwKKyAgInB1YmxpYyIsCisgICJzdGF0aWMiLAor
ICAiZXh0ZXJuIiwKKyAgImV4dGVybmFsIiwKKyAgImludGVyZmFjZSIsCisgICJmbGF0IiwKKyAg
ImxvbmciLAorICAic2hvcnQiLAorICAiZG91YmxlIiwKKyAgImhhbGYiLAorICAiZml4ZWQiLAor
ICAidW5zaWduZWQiLAorICAic3VwZXJwIiwKKyAgImlucHV0IiwKKyAgIm91dHB1dCIsCisgICJo
dmVjMiIsCisgICJodmVjMyIsCisgICJodmVjNCIsCisgICJkdmVjMiIsCisgICJkdmVjMyIsCisg
ICJkdmVjNCIsCisgICJmdmVjMiIsCisgICJmdmVjMyIsCisgICJmdmVjNCIsCisgICJzYW1wbGVy
MUQiLAorICAic2FtcGxlcjNEIiwKKyAgInNhbXBsZXIxRFNoYWRvdyIsCisgICJzYW1wbGVyMkRT
aGFkb3ciLAorICAic2FtcGxlcjJEUmVjdCIsCisgICJzYW1wbGVyM0RSZWN0IiwKKyAgInNhbXBs
ZXIyRFJlY3RTaGFkb3ciLAorICAic2l6ZW9mIiwKKyAgImNhc3QiLAorICAibmFtZXNwYWNlIiwK
KyAgInVzaW5nIgorXTsKKworZGVzY3JpcHRpb24oKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0
aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOwordmFyIGMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworCit2YXIgYmFkV29yZHMgPSBbCisgIHsgd29yZHM6
IERYV29yZHMgfSwKKyAgeyB3b3JkczogR0xTTF80XzIwXzExX3dvcmRzLCB9LAorICB7IHdvcmRz
OiBHTFNMXzRfMjBfMTFfZnV0dXJlX3dvcmRzLCB9CitdOworCit2YXIgcmVzZXJ2ZWRXb3Jkc0xp
c3RzID0gWworICBHTFNMXzFfMF8xN193b3JkcywKKyAgR0xTTF8xXzBfMTdfRnV0dXJlV29yZHMK
K107CisKK3ZhciByZXNlcnZlZFdvcmRzID0geyB9OworZm9yICh2YXIgaWkgPSAwOyBpaSA8IHJl
c2VydmVkV29yZHNMaXN0cy5sZW5ndGg7ICsraWkpIHsKKyAgdmFyIGxpc3QgPSByZXNlcnZlZFdv
cmRzTGlzdHNbaWldOworICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgbGlzdC5sZW5ndGg7ICsramop
IHsKKyAgICByZXNlcnZlZFdvcmRzW2xpc3RbampdXSA9IHRydWU7CisgIH0KK30KKwordmFyIGNo
ZWNrZWRXb3JkcyA9IHt9OworCit2YXIgc3JjID0gW107Citmb3IgKHZhciBpaSA9IDA7IGlpIDwg
NDsgKytpaSkgeworICB2YXIgdnNyYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2ZXJ0ZXhT
aGFkZXIiICsgaWkpLnRleHQ7CisgIHZhciBmc3JjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImZyYWdtZW50U2hhZGVyIiArIGlpKS50ZXh0OworICBzcmMucHVzaCh7dnNyYzogdnNyYywgZnNy
YzogZnNyY30pOworfQorCit2YXIgYmFkV29yZE5keCA9IDA7Cit2YXIgbGlzdE5keCA9IDA7CisK
K2Z1bmN0aW9uIHRlc3ROZXh0V29yZCgpIHsKKyAgdmFyIGxpc3QgPSBiYWRXb3Jkc1tiYWRXb3Jk
TmR4XS53b3JkczsKKyAgaWYgKGxpc3ROZHggPj0gbGlzdC5sZW5ndGgpIHsKKyAgICArK2JhZFdv
cmROZHg7CisgICAgaWYgKGJhZFdvcmROZHggPj0gYmFkV29yZHMubGVuZ3RoKSB7CisgICAgICBm
aW5pc2hUZXN0KCk7CisgICAgICByZXR1cm47CisgICAgfQorICAgIGxpc3ROZHggPSAwOworICAg
IGxpc3QgPSBiYWRXb3Jkc1tiYWRXb3JkTmR4XS53b3JkczsKKyAgfQorICB0ZXN0V29yZChsaXN0
W2xpc3ROZHhdKTsKKyAgKytsaXN0TmR4OworICBzZXRUaW1lb3V0KHRlc3ROZXh0V29yZCwxKTsK
K30KK3Rlc3ROZXh0V29yZCgpOworCitmdW5jdGlvbiB0ZXN0V29yZCh3b3JkKSB7CisgIGlmICh3
b3JkIGluIHJlc2VydmVkV29yZHMgfHwgd29yZCBpbiBjaGVja2VkV29yZHMpIHsKKyAgICByZXR1
cm47CisgIH0KKyAgY2hlY2tlZFdvcmRzW3dvcmRdID0gdHJ1ZTsKKyAgZGVidWcoIiIpOworICBk
ZWJ1ZygidGVzdGluZzogIiArIHdvcmQpOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzcmMu
bGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIHZzID0gc3JjW2lpXS52c3JjLnJlcGxhY2UoL1wkcmVw
bGFjZU1lL2csIHdvcmQpOworICAgIHZhciBmcyA9IHNyY1tpaV0uZnNyYy5yZXBsYWNlKC9cJHJl
cGxhY2VNZS9nLCB3b3JkKTsKKworICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywgInZlcnRleCBz
aGFkZXIiLCB2cyk7CisgICAgd3R1LmFkZFNoYWRlclNvdXJjZShjLCAiZnJhZ21lbnQgc2hhZGVy
IiwgZnMpOworCisgICAgdmFyIHN1Y2Nlc3MgPSB0cnVlOworICAgIHZhciBwcm9ncmFtID0gd3R1
LmxvYWRQcm9ncmFtKGdsLCB2cywgZnMsIGZ1bmN0aW9uKG1zZykgeworICAgICAgZGVidWcobXNn
KTsKKyAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKKyAgICB9KTsKKyAgICBpZiAoc3VjY2Vzcykgewor
ICAgICAgdGVzdFBhc3NlZCgic2hhZGVyIHdpdGg6ICciICsgd29yZCArICInIGNvbXBpbGVkIik7
CisgICAgfSBlbHNlIHsKKyAgICAgIHRlc3RGYWlsZWQoInNoYWRlciB3aXRoOiAnIiArIHdvcmQg
KyAiJyBmYWlsZWQgdG8gY29tcGlsZSIpOworICAgIH0KKyAgICBpZiAocHJvZ3JhbSkgeworICAg
ICAgZ2wuZGVsZXRlUHJvZ3JhbShwcm9ncmFtKTsKKyAgICB9CisgICAgd3R1LmdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gR0wgZXJyb3JzIik7CisgIH0KK30K
KworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJj
dWl0aW5nLW9wZXJhdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1
aXRpbmctb3BlcmF0b3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM3NTQ4ZjM2YzkyYjBmNzY0MjVlNTRj
MjZlN2ZiOWJjYmI4MmQ3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sCkBAIC0wLDAgKzEsMTkxIEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgIDx0aXRsZT5X
ZWJHTCBzaG9ydC1jaXJjdWl0IGV2YWx1YXRpb248L3RpdGxlPgorICAgICAgPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4K
KyAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFu
dHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CisgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2Ny
aXB0PgorICAgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKworICAgIDwhLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICBXZWJHTCBTaGFkZXJzCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgorICAgIDwhLS0gUGFzcyB0aHJvdWdoIFNoYWRl
cnMgLS0+CisgICAgPHNjcmlwdCBpZD0idnNoYWRlcjAiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4
Ij4KKyAgICAgIC8qIFBBU1MtVEhST1VHSCBWRVJURVggU0hBREVSICovCisgICAgICBhdHRyaWJ1
dGUgdmVjNCB2UG9zaXRpb247CisKKyAgICAgIHZvaWQgbWFpbigpCisgICAgICB7CisgICAgICAg
IGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAg
PHNjcmlwdCBpZD0iZnNoYWRlcjAiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgICAg
LyogUEFTUy1USFJPVUdIIEZSQUdNRU5UIFNIQURFUiAqLworICAgICAgcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7CisgICAgICB2YXJ5aW5nIHZlYzQgdlBhc3NUaHJvdWdoOworCisgICAgICB2b2lk
IG1haW4oKQorICAgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2UGFzc1Rocm91Z2g7Cisg
ICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8IS0tIGJhc2ljIGNvbmRpdG9uYWwgc2hvcnQg
Y2lyY3VpdCBTaGFkZXJzIC0tPgorICAgIDxzY3JpcHQgaWQ9InZzaGFkZXIxIiB0eXBlPSJ4LXNo
YWRlci94LXZlcnRleCI+CisgICAgICBhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisgICAgICB2
YXJ5aW5nIHZlYzQgdlBhc3NUaHJvdWdoOworCisgICAgICB2b2lkIG1haW4oKQorICAgICAgewor
ICAgICAgICBpbnQgeCA9IDE7CisgICAgICAgICQodmFyaWFibGVzKQorICAgICAgCisgICAgICAg
IGlmICgkKGNvbmRpdGlvbikpCisgICAgICAgIHsgLypkbyBub3RoaW5nKi8gfQorCisgICAgICAg
IC8qIGlmIHggd2FzIHVubW9kaWZpZWQgcmV0dXJuIGdyZWVuLCBlbHNlIHJldHVybiByZWQgKi8K
KyAgICAgICAgdlBhc3NUaHJvdWdoID0gKHggPT0gMSkgPyB2ZWM0KDAsIDEsIDAsIDEpIDogdmVj
NCgxLCAwLCAwLCAxKTsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgICB9
CisgICAgPC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0IGlkPSJmc2hhZGVyMSIgdHlwZT0ieC1zaGFk
ZXIveC1mcmFnbWVudCI+CisgICAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworICAgICAg
dm9pZCBtYWluKCkKKyAgICAgIHsKKyAgICAgICAgaW50IHggPSAxOworICAgICAgICAkKHZhcmlh
YmxlcykKKyAgICAgICAgCisgICAgICAgIGlmICgkKGNvbmRpdGlvbikpCisgICAgICAgIHsgLypk
byBub3RoaW5nKi8gfQorCisgICAgICAgIGdsX0ZyYWdDb2xvciA9ICh4ID09IDEpID8gdmVjNCgw
LCAxLCAwLCAxKSA6IHZlYzQoMSwgMCwgMCwgMSk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisK
KyAgICA8IS0tIE1haW4gYm9keSBvZiB0aGUgV2ViZ2wgcHJvZ3JhbSAtLT4KKyAgICA8c2NyaXB0
PgorICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgIGRlc2NyaXB0aW9uKCk7CisKKyAgICAgIHZhciB3
dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQo
KTsKKyAgICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKwor
ICAgICAgd3R1LnNldHVwVW5pdFF1YWQoZ2wsIFswLCAxXSk7CisKKyAgICAgIHZhciBzaGFkZXJU
ZW1wbGF0ZXMgPSBbCisgICAgICB7IHZzOiAidnNoYWRlcjEiLCBmczogImZzaGFkZXIwIiB9LCAv
LyBiYXNpYyB2ZXJ0ZXggc2hvcnQtY2lyY3VpdCB0ZXN0CisgICAgICB7IHZzOiAidnNoYWRlcjAi
LCBmczogImZzaGFkZXIxIiB9LCAvLyBiYXNpYyBmcmFnbWVudCBzaG9ydC1jaXJjdWl0IHRlc3QK
KyAgICAgIF07CisKKyAgICAgIC8qIHJlcGxhY2UgdGhlIG5hbWVzIG9mIHRoZSBzaGFkZXJzIGlu
IHRoZSB0ZW1wYXRlIHZhcmlhYmxlcyB3aXRoCisgICAgICAqIHRoZSBzaGFkZXJzIHRoZW1zZWx2
ZXMgKi8KKyAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzaGFkZXJUZW1wbGF0ZXMubGVuZ3Ro
OyArK2lpKSB7CisgICAgICAgIHZhciB0ZW1wbGF0ZSA9IHNoYWRlclRlbXBsYXRlc1tpaV07Cisg
ICAgICAgIHRlbXBsYXRlLnZzID0gd3R1LmdldFNjcmlwdCh0ZW1wbGF0ZS52cyk7CisgICAgICAg
IHRlbXBsYXRlLmZzID0gd3R1LmdldFNjcmlwdCh0ZW1wbGF0ZS5mcyk7CisgICAgICB9CisKKyAg
ICAgIC8qIGRlZmluZSB0aGUgY29uZGl0b24gdGhhdCB3aWxsIGJlIHVzZWQgaW4gdGhlIHNoYWRl
cnMuIElmIGFkZGl0aW9uYWwKKyAgICAgICAqIHZhcmlhYmxlcyBhcmUgbmVlZGVkIHRoYXQgYXJl
IG5vdCBwcmVzZW50IGkgdGhlIHNoYWRlciB0aGV5IG15IGJlCisgICAgICAgKiBkZWZpbmVkIGlu
IHRoZSB2YXJpYWJsZXMgdmFyaWFibGUgKi8KKyAgICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAg
eyBjb25kaXRpb246ICJ0cnVlIHx8ICh4ID0gMCkgPT0gMSIsIHZhcmlhYmxlczogIiIgfSwgLyog
dGVzdCBiYXNpYyAnb3InIHNob3J0IGNpcmN1aXQgKi8KKyAgICAgICAgeyBjb25kaXRpb246ICJm
YWxzZSAmJiAoeCA9IDApID09IDEiLCB2YXJpYWJsZXM6ICIiIH0sIC8qIHRlc3QgYmFzaWMgJ2Fu
ZCcgc2hvcnQgY2lyY3VpdCAqLworICAgICAgICB7IGNvbmRpdGlvbjogIihqID09IDMgJiYgaiA9
PSBrKSB8fCAoaiA+ICh4ID0gMCkpIiwgdmFyaWFibGVzOiAiaW50IGogPSAzO1xuaW50IGsgPSAz
OyIgfSwgLyogdGVzdCBiYXNpYyAnb3InIHNob3J0IGNpcmN1aXQgd2l0aCBhY3R1YWwgY29uZGl0
aW9uICovCisgICAgICAgIHsgY29uZGl0aW9uOiAiKGogPT0gMyAmJiBqID09IGspICYmIChqID4g
KHggPSAwKSkiLCB2YXJpYWJsZXM6ICJpbnQgaiA9IDM7XG5pbnQgayA9IDQ7IiB9LCAvKiB0ZXN0
IGJhc2ljICdhbmQnIHNob3J0IGNpcmN1aXQgd2l0aCBhY3R1YWwgY29uZGl0aW9uICovCisgICAg
ICAgIHsgY29uZGl0aW9uOiAiKGogKyAzID4gayAmJiAoKGogPCAxMCkgfHwgKHggKyA1ID4gaiAr
ICh4ID0gMCkpKSB8fCAoIHggPSAwICkgPT0gNykiLCB2YXJpYWJsZXM6ICJpbnQgaiA9IDU7XG5p
bnQgayA9IDM7IiB9LCAvKiBjb21wbGV4IHRlc3QgKi8KKyAgICAgICAgeyBjb25kaXRpb246ICJq
ICsgMSA9PSA2ID8geCA9PSAxIHx8IGogPiAoeCA9IDApIDogKHggPSAwKSA9PSAxICYmICh4ID0g
MCkgPD0gMSIsIHZhcmlhYmxlczogImludCBqID0gNTsiIH0sIC8qIG5lc3RlZCB3aXRoIHRlcm5h
cnkgb3BlcmF0b3IgKi8KKyAgICAgIF07CisKKyAgICAgIGZ1bmN0aW9uIHRlc3RTaG9ydENpcmN1
aXQodGVzdCkgeworICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgIGRlYnVnKCJ0ZXN0aW5nIHNo
b3J0IGNpcmN1aXQgY29uZGl0aW9uOiAiICsgdGVzdC5jb25kaXRpb24pOworCisgICAgICAgIC8q
IFNldHRpbmcgY2xlYXIgY29sb3IgdG8gYmx1ZSAqLworICAgICAgICBnbC5jbGVhckNvbG9yKDAu
MCwgMC4wLCAxLjAsIDEuMCk7CisKKyAgICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHNoYWRl
clRlbXBsYXRlcy5sZW5ndGg7ICsraWkpIHsKKworICAgICAgICAgIC8qIGNsZWFyIHRoZSBzY3Jl
ZW4gc28gdGhhdCBzdWJzZXF1ZW50IHRlc3RzIGRvbid0IGNvbmZsaWN0ICovCisgICAgICAgICAg
Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgICAgICAgdmFyIHRlbXBsYXRlID0g
c2hhZGVyVGVtcGxhdGVzW2lpXTsKKworICAgICAgICAgIHZhciB2cyA9IHd0dS5yZXBsYWNlUGFy
YW1zKHRlbXBsYXRlLnZzLCB0ZXN0KTsKKyAgICAgICAgICB2YXIgZnMgPSB3dHUucmVwbGFjZVBh
cmFtcyh0ZW1wbGF0ZS5mcywgdGVzdCk7CisKKyAgICAgICAgICB3dHUuYWRkU2hhZGVyU291cmNl
KGMsICJ2ZXJ0ZXggc2hhZGVyIiwgdnMpOworICAgICAgICAgIHd0dS5hZGRTaGFkZXJTb3VyY2Uo
YywgImZyYWdtZW50IHNoYWRlciIsIGZzKTsKKworICAgICAgICAgIHZhciB2cyA9IHd0dS5sb2Fk
U2hhZGVyKGdsLCB2cywgZ2wuVkVSVEVYX1NIQURFUik7CisgICAgICAgICAgdmFyIGZzID0gd3R1
LmxvYWRTaGFkZXIoZ2wsIGZzLCBnbC5GUkFHTUVOVF9TSEFERVIpOworICAgICAgICAgIHZhciBw
cm9ncmFtID0gd3R1LmNyZWF0ZVByb2dyYW0oZ2wsIHZzLCBmcyk7CisKKyAgICAgICAgICBnbC51
c2VQcm9ncmFtKHByb2dyYW0pOworCisgICAgICAgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICAg
ICAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3Jl
ZW4iLCAwKTsKKworICAgICAgICAgIGdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSk7CisgICAgICAg
ICAgZ2wuZGVsZXRlU2hhZGVyKHZzKTsKKyAgICAgICAgICBnbC5kZWxldGVTaGFkZXIoZnMpOwor
CisgICAgICAgICAgd3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQg
YmUgbm8gR0wgZXJyb3JzIik7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgdmFyIHRlc3RO
ZHggPSAwOworICAgICAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKSB7CisgICAgICAgICAgdGVzdFNo
b3J0Q2lyY3VpdCh0ZXN0c1t0ZXN0TmR4KytdKTsKKyAgICAgICAgICBpZiAodGVzdE5keCA+PSB0
ZXN0cy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgIHNldFRpbWVvdXQocnVuTmV4dFRlc3QsIDEpOworICAgICAg
ICAgIH0KKyAgICAgIH0KKworICAgICAgcnVuTmV4dFRlc3QoKTsKKworICAgICAgdmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CisKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJh
eS1uYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJh
eS1uYW1lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkZTBkNDU2OGZjYTY3MDIwNWZmZWUyYTRkZTE4NDU2
YmQyOTU0OGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxh
ci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwKQEAgLTAsMCArMSwxMzEgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkdMU0wgc2ltaWxhciBuYW1lcyBp
c3N1ZTwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorCis8c2NyaXB0
IGlkPSJ2c2hhZGVyIiwgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQg
YV9wb3NpdGlvbjsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0
aW9uOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMSIsIHR5cGU9Ingtc2hhZGVy
L3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9u
YW1lQ29sbGlzaW9uWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit1bmlm
b3JtIHZlYzQgdV9uYW1lWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3Ig
PSB1X25hbWVDb2xsaXNpb25bMF0gKyB1X25hbWVDb2xsaXNpb24yWzBdICsgdV9uYW1lWzBdOwor
fQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMiIsIHR5cGU9Ingtc2hhZGVyL3gtZnJh
Z21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29s
bGlzaW9uMlsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb25bMl07Cit1bmlmb3JtIHZl
YzQgdV9uYW1lWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25h
bWVDb2xsaXNpb24yWzBdICsgdV9uYW1lQ29sbGlzaW9uWzBdICsgdV9uYW1lWzBdOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMyIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9u
WzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNp
b24yWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xs
aXNpb25bMF0gKyB1X25hbWVbMF0gKyB1X25hbWVDb2xsaXNpb24yWzBdOworfQorPC9zY3JpcHQ+
Cis8c2NyaXB0IGlkPSJmc2hhZGVyNCIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uMlsyXTsK
K3VuaWZvcm0gdmVjNCB1X25hbWVbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJd
Owordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb24y
WzBdICsgdV9uYW1lWzBdICsgdV9uYW1lQ29sbGlzaW9uWzBdOworfQorPC9zY3JpcHQ+Cis8c2Ny
aXB0IGlkPSJmc2hhZGVyNSIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9u
IG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwordW5pZm9ybSB2ZWM0IHVf
bmFtZUNvbGxpc2lvblsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb24yWzJdOwordm9p
ZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVbMF0gKyB1X25hbWVDb2xs
aXNpb25bMF0gKyB1X25hbWVDb2xsaXNpb24yWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSJmc2hhZGVyNiIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNv
bGxpc2lvbjJbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordm9pZCBtYWlu
KHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVbMF0gKyB1X25hbWVDb2xsaXNpb24y
WzBdICsgdV9uYW1lQ29sbGlzaW9uWzBdOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciB3dHUgPSBXZWJHTFRl
c3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOword3R1LnNl
dHVwVW5pdFF1YWQoZ2wpOworCitmb3IgKHZhciBpaSA9IDA7IGlpIDwgNjsgKytpaSkgeworICB2
YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIiAr
IChpaSArIDEpXSwgWyJhX3Bvc2l0aW9uIl0pOworICB2YXIgbG9jMSA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihwcm9ncmFtLCAidV9uYW1lWzBdIik7CisgIHZhciBsb2MyID0gZ2wuZ2V0VW5pZm9y
bUxvY2F0aW9uKHByb2dyYW0sICJ1X25hbWVDb2xsaXNpb25bMF0iKTsKKyAgdmFyIGxvYzMgPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfbmFtZUNvbGxpc2lvbjJbMF0iKTsKKyAg
Z2wudW5pZm9ybTRmdihsb2MxLCBbMSwgMCwgMCwgMF0pOworICBnbC51bmlmb3JtNGZ2KGxvYzIs
IFswLCAxLCAwLCAwXSk7CisgIGdsLnVuaWZvcm00ZnYobG9jMywgWzAsIDAsIDAsIDFdKTsKKyAg
d3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMjU1LCAyNTUsIDAsIDI1
NV0sICJTaG91bGQgYmUgeWVsbG93Iik7Cit9CisKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsICJ0aGVyZSBzaG91bGQgYmUgbm8gZXJyb3JzIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXJzLXdpdGgtdmFyeWluZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjFiZGMwN2M3MjMwYjdlOTM2ZWU1
MTFjMGJjYzBmYmU5Zjg5YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMt
d2l0aC12YXJ5aW5ncy5odG1sCkBAIC0wLDAgKzEsMTE2IEBACis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIENvbmZvcm1hbmNlIFRlc3Rz
PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idmVydGV4U2hhZGVyTm9WYXJ5aW5nIiB0eXBlPSJ0ZXh0
L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0
aW9uID0gdmVjNCgwLDAsMCwwKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydGV4U2hh
ZGVyVW51c2VkVmFyeWluZyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgor
dmFyeWluZyB2ZWM0IHZfdmFyeWluZzsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlv
biA9IHZlYzQoMCwwLDAsMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hh
ZGVyVW51c2VkVmFyeWluZyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgor
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3ZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisKK3Zv
aWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLDAsMCwwKTsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXJVc2VkVmFyeWluZyIgdHlwZT0idGV4dC9z
b21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3Zh
cnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9y
ID0gdl92YXJ5aW5nOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorLy8gR0xTTCAxLjAuMTcgNC4z
LjUKKyJ1c2Ugc3RyaWN0IjsKK0dMU0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0cyhbCisgIHsK
KyAgICB2U2hhZGVySWQ6ICJ2ZXJ0ZXhTaGFkZXJOb1ZhcnlpbmciLAorICAgIHZTaGFkZXJTdWNj
ZXNzOiB0cnVlLAorICAgIGZTaGFkZXJJZDogImZyYWdtZW50U2hhZGVyVW51c2VkVmFyeWluZyIs
CisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAg
cGFzc01zZzogInZlcnRleCBzaGFkZXIgd2l0aCBubyB2YXJ5aW5nIGFuZCBmcmFnbWVudCBzaGFk
ZXIgd2l0aCB1bnVzZWQgdmFyeWluZyBtdXN0IHN1Y2NlZWQiLAorICB9LAorICB7CisgICAgdlNo
YWRlcklkOiAidmVydGV4U2hhZGVyTm9WYXJ5aW5nIiwKKyAgICB2U2hhZGVyU3VjY2VzczogdHJ1
ZSwKKyAgICBmU2hhZGVySWQ6ICJmcmFnbWVudFNoYWRlclVzZWRWYXJ5aW5nIiwKKyAgICBmU2hh
ZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzog
InZlcnRleCBzaGFkZXIgd2l0aCBubyB2YXJ5aW5nIGFuZCBmcmFnbWVudCBzaGFkZXIgd2l0aCB1
c2VkIHZhcnlpbmcgbXVzdCBmYWlsIiwKKyAgfSwKKyAgeworICAgIHZTaGFkZXJJZDogInZlcnRl
eFNoYWRlclVudXNlZFZhcnlpbmciLAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZT
aGFkZXJJZDogImZyYWdtZW50U2hhZGVyVW51c2VkVmFyeWluZyIsCisgICAgZlNoYWRlclN1Y2Nl
c3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInZlcnRleCBz
aGFkZXIgd2l0aCB1bnVzZWQgdmFyeWluZyBhbmQgZnJhZ21lbnQgc2hhZGVyIHdpdGggdW51c2Vk
IHZhcnlpbmcgbXVzdCBzdWNjZWVkIiwKKyAgfSwKKyAgeworICAgIHZTaGFkZXJJZDogInZlcnRl
eFNoYWRlclVudXNlZFZhcnlpbmciLAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZT
aGFkZXJJZDogImZyYWdtZW50U2hhZGVyVXNlZFZhcnlpbmciLAorICAgIGZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6ICJ2ZXJ0ZXggc2hh
ZGVyIHdpdGggdW51c2VkIHZhcnlpbmcgYW5kIGZyYWdtZW50IHNoYWRlciB3aXRoIHVzZWQgdmFy
eWluZyBtdXN0IHN1Y2NlZWQiLAorICB9LAorXSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJp
YWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdlYTc0NzExMTgwMjY3NWM5NDBiOTI0MzY5MWQ3NzMxZjA5ZGUzNzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwKQEAg
LTAsMCArMSwxNjMgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKwor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
ICA8dGl0bGU+Z2wtcG9pbnRjb29yZCBUZXN0PC90aXRsZT4KKyAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cisg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0Pgor
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjI1NiIg
aGVpZ2h0PSIyNTYiPgorPC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1z
aGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKKyAgICB1bmlm
b3JtIGZsb2F0IHVQb2ludFNpemU7CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICBnbF9Q
b2ludFNpemUgPSB1UG9pbnRTaXplOworICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247Cisg
ICAgfQorICA8L3NjcmlwdD4KKworICA8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICB2b2lkIG1h
aW4oKQorICAgIHsKKyAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoCisgICAgICAgIGdsX1BvaW50
Q29vcmQueCwKKyAgICAgICAgZ2xfUG9pbnRDb29yZC55LAorICAgICAgICAwLAorICAgICAgICAx
KTsKKyAgICB9CisgIDwvc2NyaXB0PgorCisgIDxzY3JpcHQ+CisgICAgInVzZSBzdHJpY3QiOwor
ICAgIGRlc2NyaXB0aW9uKCJDaGVja3MgZ2xfUG9pbnRDb29yZCBhbmQgZ2xfUG9pbnRTaXplIik7
CisgICAgZGVidWcoIiIpOworCisgICAgLy8gTk9URTogSSdtIG5vdCAxMDAlIGNvbmZpZGVudCBp
biB0aGlzIHRlc3QuIEkgdGhpbmsgaXQgaXMgY29ycmVjdC4KKworICAgIHZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKKyAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7
CisgICAgc2hvdWxkQmVOb25OdWxsKCJnbCIpOworICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVw
UHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisgICAg
c2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKworICAgIHZhciBjYW52
YXMgPSBnbC5jYW52YXM7CisgICAgdmFyIHdpZHRoID0gY2FudmFzLndpZHRoOworICAgIHZhciBo
ZWlnaHQgPSBjYW52YXMuaGVpZ2h0OworICAgIHNob3VsZEJlKCJ3aWR0aCIsICJoZWlnaHQiKTsK
KworICAgIHZhciBtYXhQb2ludFNpemUgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuQUxJQVNFRF9QT0lO
VF9TSVpFX1JBTkdFKVsxXTsKKyAgICBzaG91bGRCZVRydWUoIm1heFBvaW50U2l6ZSA+PSAxIik7
CisgICAgLy8gVGhlIG1pbmltdW0gYW5kIG1heGltdW0gcG9pbnQgc2l6ZXMgbWF5IGJlIGZsb2F0
aW5nLXBvaW50IG51bWJlcnMuCisgICAgc2hvdWxkQmVUcnVlKCJNYXRoLmZsb29yKG1heFBvaW50
U2l6ZSkgPj0gMSIpOworICAgIG1heFBvaW50U2l6ZSA9IE1hdGguZmxvb3IobWF4UG9pbnRTaXpl
KTsKKyAgICBzaG91bGRCZVRydWUoIm1heFBvaW50U2l6ZSAlIDEgPT0gMCIpOworCisgICAgbWF4
UG9pbnRTaXplID0gTWF0aC5taW4obWF4UG9pbnRTaXplLCA2NCk7CisgICAgdmFyIHBvaW50V2lk
dGggPSBtYXhQb2ludFNpemUgLyB3aWR0aDsKKyAgICB2YXIgcG9pbnRTdGVwID0gTWF0aC5mbG9v
cihtYXhQb2ludFNpemUgLyA0KTsKKyAgICB2YXIgcG9pbnRTdGVwID0gTWF0aC5tYXgoMSwgcG9p
bnRTdGVwKTsKKworICAgIHZhciBwb2ludFNpemVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24o
cHJvZ3JhbSwgInVQb2ludFNpemUiKTsKKyAgICBnbC51bmlmb3JtMWYocG9pbnRTaXplTG9jLCBt
YXhQb2ludFNpemUpOworCisgICAgdmFyIHBpeGVsT2Zmc2V0ID0gKG1heFBvaW50U2l6ZSAlIDIp
ID8gKDEgLyB3aWR0aCkgOiAwOworICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZm
ZXIoKTsKKyAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsK
KyAgICBnbC5idWZmZXJEYXRhKAorICAgICAgICBnbC5BUlJBWV9CVUZGRVIsCisgICAgICAgIG5l
dyBGbG9hdDMyQXJyYXkoCisgICAgICAgICAgWy0wLjUgKyBwaXhlbE9mZnNldCwgLTAuNSArIHBp
eGVsT2Zmc2V0LAorICAgICAgICAgICAgMC41ICsgcGl4ZWxPZmZzZXQsIC0wLjUgKyBwaXhlbE9m
ZnNldCwKKyAgICAgICAgICAgLTAuNSArIHBpeGVsT2Zmc2V0LCAgMC41ICsgcGl4ZWxPZmZzZXQs
CisgICAgICAgICAgICAwLjUgKyBwaXhlbE9mZnNldCwgIDAuNSArIHBpeGVsT2Zmc2V0XSksCisg
ICAgICAgIGdsLlNUQVRJQ19EUkFXKTsKKyAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgw
KTsKKyAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwg
MCk7CisKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVS
X0JJVCk7CisKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlBPSU5UUywgMCwgNCk7CisgICAgc2hvdWxk
QmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKworICAgIGZ1bmN0aW9uIHMycChz
KSB7CisgICAgICByZXR1cm4gKHMgKyAxLjApICogMC41ICogd2lkdGg7CisgICAgfQorCisgICAg
Ly9mdW5jdGlvbiBwcmludCh4LCB5KSB7CisgICAgLy8gIHZhciBiID0gbmV3IFVpbnQ4QXJyYXko
NCk7CisgICAgLy8gIGdsLnJlYWRQaXhlbHMoeCwgeSwgMSwgMSwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgYik7CisgICAgLy8gIGRlYnVnKCIiICsgeCArICIsIiArIHkgKyAiOiAiICsgYlsw
XSArICIsIiArIGJbMV0gKyAiLCIgKyBiWzJdKTsKKyAgICAvL30KKyAgICAvLworICAgIC8vZm9y
ICh2YXIgaWkgPSAwOyBpaSA8IDEwMDsgKytpaSkgeworICAgIC8vICBwcmludChpaSwgaWkpOwor
ICAgIC8vfQorCisgICAgZm9yICh2YXIgcHkgPSAwOyBweSA8IDI7ICsrcHkpIHsKKyAgICAgIGZv
ciAodmFyIHB4ID0gMDsgcHggPCAyOyArK3B4KSB7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAg
ICAgdmFyIHBvaW50WCA9IC0wLjUgKyBweCArIHBpeGVsT2Zmc2V0OworICAgICAgICB2YXIgcG9p
bnRZID0gLTAuNSArIHB5ICsgcGl4ZWxPZmZzZXQ7CisgICAgICAgIGZvciAodmFyIHl5ID0gMDsg
eXkgPCBtYXhQb2ludFNpemU7IHl5ICs9IHBvaW50U3RlcCkgeworICAgICAgICAgIGZvciAodmFy
IHh4ID0gMDsgeHggPCBtYXhQb2ludFNpemU7IHh4ICs9IHBvaW50U3RlcCkgeworICAgICAgICAg
ICAgLy8gZm9ybXVsYSBmb3IgcyBhbmQgdCBmcm9tIE9wZW5HTCBFUyAyLjAgc3BlYyBzZWN0aW9u
IDMuMworICAgICAgICAgICAgdmFyIHh3ID0gczJwKHBvaW50WCk7CisgICAgICAgICAgICB2YXIg
eXcgPSBzMnAocG9pbnRZKTsKKyAgICAgICAgICAgIC8vZGVidWcoInh3OiAiICsgeHcgKyAiIHl3
OiAiICsgeXcpOworICAgICAgICAgICAgdmFyIHUgPSB4eCAvIG1heFBvaW50U2l6ZSAqIDIgLSAx
OworICAgICAgICAgICAgdmFyIHYgPSB5eSAvIG1heFBvaW50U2l6ZSAqIDIgLSAxOworICAgICAg
ICAgICAgdmFyIHhmID0gTWF0aC5mbG9vcihzMnAocG9pbnRYICsgdSAqIHBvaW50V2lkdGgpKTsK
KyAgICAgICAgICAgIHZhciB5ZiA9IE1hdGguZmxvb3IoczJwKHBvaW50WSArIHYgKiBwb2ludFdp
ZHRoKSk7CisgICAgICAgICAgICAvL2RlYnVnKCJ4ZjogIiArIHhmICsgIiB5ZjogIiArIHlmKTsK
KyAgICAgICAgICAgIHZhciBzID0gMC41ICsgKHhmICsgMC41IC0geHcpIC8gbWF4UG9pbnRTaXpl
OworICAgICAgICAgICAgdmFyIHQgPSAwLjUgKyAoeWYgKyAwLjUgLSB5dykgLyBtYXhQb2ludFNp
emU7CisgICAgICAgICAgICAvL2RlYnVnKCJzOiAiICsgcyArICIgdDogIiArIHQpOworICAgICAg
ICAgICAgdmFyIGNvbG9yID0gW01hdGguZmxvb3IocyAqIDI1NSksIE1hdGguZmxvb3IoKDEgLSB0
KSAqIDI1NSksIDBdOworICAgICAgICAgICAgdmFyIG1zZyA9ICJwaXhlbCAiICsgeGYgKyAiLCIg
KyB5ZiArICIgc2hvdWxkIGJlICIgKyBjb2xvcjsKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZh
c1JlY3QoZ2wsIHhmLCB5ZiwgMSwgMSwgY29sb3IsIG1zZywgNCk7CisgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICB9CisgICAgfQorCisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CisgIDwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktQS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5Yjk5NTg3ZjllMjZkZTMwZTE3NmFiYWE0
NTExMWZhYjFkMjE0OGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQS5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdo
dCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBo
ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK
KyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u
IGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdp
dGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBy
aWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0
ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0
bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQg
dG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisq
KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz
aGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u
cyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJB
UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJ
RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1F
UkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO
RlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI
VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBP
VEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUK
KyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklB
TFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy
ZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3Jp
cHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJh
dG9ycy1BLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJn
R2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2
YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFy
IHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3Jz
KSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcg
RXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAg
ICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRy
aWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAg
ICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5
IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dl
biwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9B
bHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2Uo
YXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsK
KyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2
ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJl
IHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3Nl
cnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9i
amVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNo
ZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAg
ICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxp
ZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2Fy
Z3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikr
IikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwg
YXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRo
ZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRl
bGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAg
ICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xl
YW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24o
YSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAg
ICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAg
ICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0
Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUs
IGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2Fu
dmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5Pjwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWZj
Yzc0Yzg4MjEyOWVhOTU4YzQxODlkMWMyMDI4MDdiYmM4MzE4NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sCkBAIC0wLDAgKzEsODQgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1
aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWph
dmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1CMS5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBm
dW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQg
d2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRB
cmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAo
dmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25h
bWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0
aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25h
bWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2Vu
LmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRo
IHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJn
R2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJz
KSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2
YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJp
ZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVh
ZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFs
c2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRo
YXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJn
VmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3Mu
bWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIiki
LAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykp
OworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdv
cmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBz
aG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0
LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigp
e3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8v
IGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAg
ICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wu
Y3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAp
CisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25h
bWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5q
b2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJu
VmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dl
bi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAg
IHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9
CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4K
KzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1CMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ZWU5MDhiNDI3MTRkZWZmOTU1ZTUyZDhhYTc1MmE1MzJl
ZjczOWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjIuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91
bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9
Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQjIu
anMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+
CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0
b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFy
Z3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9t
VGVzdENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAg
ICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihu
YW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIg
YXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdz
ID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0
ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJh
dGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5j
dGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlU
cmllZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsK
KyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAg
ICB9CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZh
bGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQK
KyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFs
aWQgYXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRv
U291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdW
YWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBh
c3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MK
KyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAo
ZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisg
ICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsg
b2sgPSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVy
biB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVm
ZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlm
IChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1
cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1
cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAg
ICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICBy
ZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7
CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0
RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9z
aXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mODcyYzlmNmIy
MmIwZDJmNTliNGEyZjc5ZTlmNDRkYjVjNjg5NWYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQor
CisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisq
KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl
cnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lh
dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGlu
IHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0
IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp
c2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl
IE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlh
bHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl
cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1
YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFM
UyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoq
IEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS
UkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFV
VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBE
QU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB
Q1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O
TkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO
R1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0
eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxp
Y2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVj
a0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlw
dCIgc3JjPSJhcmdHZW5lcmF0b3JzLUIzLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9u
cyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJh
bmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBm
dW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFt
ZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisg
ICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJH
TCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07Cisg
ICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJh
dGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9t
VGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0
b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAg
ICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMg
PSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nb
c3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVk
QXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAg
ICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUg
Z2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0
eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVu
Y3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAg
ICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAg
ICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hl
biBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3
b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3Vy
Y2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBH
TFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2Ug
bmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8g
ZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVC
dWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAg
ICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIr
YXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwi
KSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNs
ZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RD
b3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZh
aWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9z
Y3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFk
Pjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CNC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDRkY2FhMzdiNDQ4YzNkY2M3NmZjOTdkNzM1NjZlYTUwYWRkYjkzNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1s
CkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3Nz
IiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5p
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1CNC5qcyI+PC9z
Y3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8g
VGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29y
aworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRz
CitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291
bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7
CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAi
IGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4g
PSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsK
KyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFj
aCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFs
aWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFy
Z3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hl
Y2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAg
ICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAg
ICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkg
Y2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAg
ICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdz
OiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2Uo
YSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5
LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0
aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAg
ICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlv
bihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAg
ICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRy
dWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVl
LCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYp
IGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5y
ZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVy
biB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmpl
Y3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBv
azsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9
IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihl
KSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjph
YnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDk0NTU3ZDU5Y2Y5M2YwMzE3
MDNlOGM3M2MzMzMwMzVhYzc0MDNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUMuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFy
Z0dlbmVyYXRvcnMtQy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVk
IGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5l
cmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7
CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2Vu
ZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJv
dyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIp
KTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFs
cmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51
ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCBy
YW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5l
cihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICgh
Z2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRv
U291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9
IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlm
IHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBh
cmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAg
ICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3Jl
dHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAg
IGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7
CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdp
dGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1l
KyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9p
bigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBw
bHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xl
YW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGlu
ZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJv
dmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0
T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1
bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAg
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsg
fSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFu
ZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwg
ZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0
eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwv
Ym9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
RF9HLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjVjMjQzM2VhOTIyZjM5NmQ1YjU2NDdiZjBmNjg5YzVmMzk5Yzc2NAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbApAQCAtMCww
ICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxz
Y3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4v
dXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlw
dCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtRF9HLmpzIj48L3NjcmlwdD4K
KworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRo
YXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3
aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3Rz
LnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEw
MDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAg
IGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlz
c2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dl
bmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAg
aWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1
bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdz
CisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2Vu
LCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgewor
ICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYg
KGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAg
ICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2
YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2Vy
LCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChn
ZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFt
ZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpv
aW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHko
Z2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wg
ZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2Vy
dE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3Jl
dHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsK
KyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0
IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIg
dGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZh
bHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVl
IGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1Nv
dXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7
IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAg
ICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2go
ZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAg
ICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRl
O308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1HX0kuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNDFmYzlmODRkMzc4ZjBhMGE5NDI3
MTQ1NTYxMjNiYTViZmUxODYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUdfSS5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENv
cHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVu
dGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJp
YWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlz
dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMs
IGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJ
REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9S
IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK
KyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENP
UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBP
VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9S
VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBN
QVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9j
c3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWph
dmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxp
Y2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJn
R2VuZXJhdG9ycy1HX0kuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmll
ZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2Vu
ZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkg
eworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dl
bmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhy
b3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQi
KSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBh
bHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGlu
dWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQg
cmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5u
ZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAo
IWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50
b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10g
PSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBp
ZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQg
YXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAg
ICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXty
ZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAg
ICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2
OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3
aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFt
ZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpv
aW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFw
cGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNs
ZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxp
bmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFi
b3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2Vy
dE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChm
dW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7
IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJh
bmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUs
IGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxz
dHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8
L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUxfUy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk0NDIwY2VlMWY4MDg3ZWRhYjYzZmQ5YzI4ZDU3NjE4YjE1NTI2MTIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwKQEAgLTAs
MCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4u
L3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3Jp
cHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxp
Y2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLUxfUy5qcyI+PC9zY3JpcHQ+
CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0
aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8g
d2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0
cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAx
MDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAg
ICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1p
c3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdH
ZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAg
IGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBm
dW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJn
cworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdl
biwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsK
KyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlm
IChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
ICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAg
dmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tl
ciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAo
Z2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25h
bWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5q
b2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5
KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdM
IGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3Nl
cnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXty
ZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAg
ICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7
CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBp
dCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVy
IHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5W
YWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1
ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9T
b3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkg
eyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAg
ICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNo
KGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7Cisg
ICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0
ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktU19WLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGIyOGViNDJlMzEwMjMyMTc1MzYx
NjAzZDJjNTJlNjA2NGE2ZDMyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1TX1YuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFy
Z0dlbmVyYXRvcnMtU19WLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZp
ZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdl
bmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigp
IHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdH
ZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRo
cm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0
IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIg
YWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRp
bnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50
IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVu
bmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYg
KCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3Qu
dG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNd
ID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8g
aWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVk
IGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAg
ICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7
cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAg
ICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBy
djsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQg
d2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25h
bWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5q
b2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5h
cHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBj
bGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxs
aW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBh
Ym92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3Nl
cnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAo
ZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisg
ICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYp
OyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCBy
YW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1l
LCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8
c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5Pgor
PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRB
cmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY2NzZlNzc5MDViNDYxMzRhY2IwYmI5ZjMyODZjZDdhNGNhYjM1MTkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sCkBAIC0wLDAgKzEs
NzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91
cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy
Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh
bmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMi
KSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu
ZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks
IG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwg
Y29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hv
bSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxs
IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoq
IFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg
QU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU
RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5Z
CisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU
SU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VU
IE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9S
IE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGls
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4K
KworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICB2YXIgY2FudmFzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xD
b250ZXh0KGNhbnZhcykpOworICB2YXIgYnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIHZhciBl
YnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCBidWYpOworICBnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBlYnVmKTsK
KyAgcmV0dXJuIFtnbCwgYnVmLCBlYnVmXTsKK30KKworVGVzdHMudGVzdEJ1ZmZlckRhdGEgPSBm
dW5jdGlvbihnbCkgeworICAgIGFzc2VydE9rKCJ6ZXJvIHNpemUgZGF0YSIsCisgICAgICAgIGZ1
bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXko
MCksIGdsLlNUQVRJQ19EUkFXKTt9KTsKKyAgICBhc3NlcnRGYWlsKCJiYWQgdGFyZ2V0IiwKKyAg
ICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLlRFWFRVUkVfMkQsIG5ldyBGbG9hdDMy
QXJyYXkoWzEsMiwzXSksIGdsLlNUQVRJQ19EUkFXKTt9KTsKKy8vICAgIGFzc2VydEZhaWwoImFy
cmF5IGZvciBkYXRhIiwKKy8vICAgICAgICBmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJS
QVlfQlVGRkVSLCBbMSwyLDNdLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgYXNzZXJ0RmFpbCgi
YmFkIHVzYWdlIiwKKyAgICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JV
RkZFUiwgbmV3IEZsb2F0MzJBcnJheShbMSwyLDNdKSwgZ2wuVEVYVFVSRV8yRCk7fSk7CisgICAg
YXNzZXJ0RmFpbCgibnVsbCBkYXRhIiwKKyAgICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRh
KGdsLkFSUkFZX0JVRkZFUiwgbnVsbCwgZ2wuU1RBVElDX0RSQVcpO30pOworICAgIGFzc2VydEZh
aWwoInVuZGVmaW5lZCBkYXRhIiwKKyAgICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGds
LkFSUkFZX0JVRkZFUiwgdW5kZWZpbmVkLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgYXNzZXJ0
T2soZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBuZXcg
RmxvYXQzMkFycmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgdGhyb3dFcnJv
cihnbCwgJ2J1ZmZlckRhdGEnKTsKKyAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwg
bnVsbCk7CisgICAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlf
QlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7fSk7Cisg
ICAgdGhyb3dFcnJvcihnbCwgJ2J1ZmZlckRhdGEnKTsKKyAgICBnbC5iaW5kQnVmZmVyKGdsLkVM
RU1FTlRfQVJSQVlfQlVGRkVSLCBudWxsKTsKKyAgICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wu
YnVmZmVyRGF0YShnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgbmV3IFVpbnQxNkFycmF5KFsxLDIs
M10pLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgdGhyb3dFcnJvcihnbCwgJ2J1ZmZlckRhdGEn
KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsLCBidWYsIGVidWYpIHsKKyAgICBn
bC5kZWxldGVCdWZmZXIoYnVmKTsKKyAgICBnbC5kZWxldGVCdWZmZXIoZWJ1Zik7Cit9CisKKwor
PC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8
L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2Nh
bnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
SW1hZ2UyRC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lNWE0ZjJmYzA2NmFmMWU1YzdkYzUyMzE4ZGUwMjkxMWI1OGI4NTIxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbApAQCAtMCwwICsxLDEz
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgor
CitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENv
bnRleHQoY2FudmFzKSk7CisgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0
aW9uKGdsKSB7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgIHZhciB0ZXhDdWJlTWFwID0gZ2wuY3JlYXRlVGV4
dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFw
KTsKKyAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgs
IHRleEN1YmVNYXApIHsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7Cisg
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG51bGwpOworICBnbC5kZWxldGVU
ZXh0dXJlKHRleCk7CisgIGdsLmRlbGV0ZVRleHR1cmUodGV4Q3ViZU1hcCk7Cit9CisKK1Rlc3Rz
LnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDEsMSwwKTsKKyAgZ2wuY29weVRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDIsMSwwKTsKKyAgZ2wuY29weVRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDEsMiwwKTsKKyAgZ2wuY29weVRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDE2LDE2LDApOworICBnbC5jb3B5
VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxNSwxNSwxLDEsMCk7CisgIHZh
ciB2YWxpZF90YXJnZXRzID0gWworICAgIGdsLlRFWFRVUkVfMkQsCisgICAgZ2wuVEVYVFVSRV9D
VUJFX01BUF9QT1NJVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwK
KyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJF
X01BUF9ORUdBVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAg
ICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKKyAgXTsKKyAgdmFsaWRfdGFyZ2V0cy5m
b3JFYWNoKGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmNvcHlUZXhJ
bWFnZTJEKHQsIDAsIGdsLlJHQkEsIDAsMCwxLDEsMCk7fSk7CisgIH0pOworfQorVGVzdHMudGVz
dFJvdW5kdHJpcCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIHNoID0gbmV3IEZpbHRlcihnbCwg
J2lkZW50aXR5LWZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuY2xlYXJDb2xv
cigxLjAsIDAuMCwgMC4wLCAxLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQp
OworICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICBnbC5yZWFkUGl4ZWxzKDAs
MCwxLDEsZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICBhc3NlcnRFcXVhbHMo
WzI1NSwwLDAsMjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXV0pOworICAgIC8v
IHJlZCB0ZXh0dXJlCisgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgMCwwLDE2LDE2LDApOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRl
cmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOwor
ICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVS
LCBnbC5MSU5FQVIpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVY
VFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLmNsZWFyQ29sb3IoMC4wLCAwLjAs
IDEuMCwgMS4wKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICAvLyBi
bHVlIGZyYW1lYnVmZmVyCisgICAgZ2wucmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVO
U0lHTkVEX0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFswLDAsMjU1LDI1NV0sIFtidWZb
MF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICBzaC5hcHBseSgpOyAvLyBwYWludCBp
dCB3aXRoIHRleHR1cmUKKyAgICBnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgYnVmKTsKKyAgICBhc3NlcnRFcXVhbHMoWzI1NSwwLDAsMjU1XSwgW2J1Zlsw
XSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXV0pOworICAgIHNoLmRlc3Ryb3koKTsKK30KKworVGVz
dHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0i
aWRlbnRpdHktZmxpcC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUg
dmVjMyBWZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29y
ZDA7Cit2b2lkIG1haW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LnMsIDEuMC1UZXgu
dCwgMC4wLCAwLjApOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7Cit9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZyYWciIHR5cGU9Ingtc2hhZGVyL3gtZnJh
Z21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2FtcGxlcjJEIFRl
eHR1cmU7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHZl
YzQgYyA9IHRleHR1cmUyRChUZXh0dXJlLCB0ZXhDb29yZDAuc3QpOworICAgIGdsX0ZyYWdDb2xv
ciA9IGM7Cit9Cis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9
PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdo
dD0iMTYiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleElt
YWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I0ZGNjMjJlOWFlMDAxNjI3MTg1ZjgxZWRm
MWNhOTcyYjM4YTExZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJ
bWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTA5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3Nz
IiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0
aW9uICgpIHsKKyAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7
CisgICAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgICAg
cmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgdmFyIHRl
eCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwg
dGV4KTsKKyAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0
ZXgpIHsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgIGdsLmRlbGV0
ZVRleHR1cmUodGV4KTsKK30KKworVGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihnbCkg
eworICAgIGFzc2VydE9rKCJoZWlnaHQgPiBiYWNrSGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxNywx
LDApOworICAgIH0pOworICAgIGFzc2VydE9rKCJ3aWR0aCA+IGJhY2tXaWR0aCIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDAsMCwgMSwxNywwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieCArIHdpZHRoID4gYmFja1dp
ZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgZ2wuUkdCQSwgMTYsMCwgMSwxLDApOworICAgIH0pOworICAgIGFzc2VydE9rKCJ5ICsg
aGVpZ2h0ID4gYmFja0hlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMTYsIDEsMSwwKTsKKyAgICB9KTsKKyAg
ICBhc3NlcnRPaygiTmVnYXRpdmUgWCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIC0xLDAsIDEsMSwwKTsKKyAgICB9KTsK
KyAgICBhc3NlcnRPaygiTmVnYXRpdmUgWSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlU
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsLTEsIDEsMSwwKTsKKyAgICB9
KTsKKyAgICBhc3NlcnRGYWlsKCJOZWdhdGl2ZSBoZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAg
ICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIC0xLDEs
MCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTmVnYXRpdmUgd2lkdGgiLCBmdW5jdGlvbigp
eworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAw
LDAsIDEsLTEsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTm9uIDAgYm9yZGVyIiwgZnVu
Y3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgMCwwLCAxLDEsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTmVnYXRpdmUgYm9y
ZGVyIixmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCAwLDAsIDEsMSwtMSk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soIkdvb2Qg
QXJncyIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIDAsMCwgMTYsMTYsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgi
TlBPVCB0ZXh0dXJlIHRvID4gbGV2ZWwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlU
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDEsIGdsLlJHQkEsIDAsMCwgMTUsMTYsMCk7CisgICAg
fSk7CisgICAgYXNzZXJ0RmFpbCgiQmFkIHRhcmdldCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGds
LmNvcHlUZXhJbWFnZTJEKGdsLkZMT0FULCAwLCBnbC5SR0JBLCAwLDAsIDE2LDE2LDApOworICAg
IH0pOworICAgIGFzc2VydEZhaWwoIkJhZCBpbnRlcm5hbCBmb3JtYXQiLCBmdW5jdGlvbigpewor
ICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5GTE9BVCwgMCww
LCAxNiwxNiwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRGYWlsKCJOZWdhdGl2ZSBsZXZlbCIsIGZ1
bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIC0xLCBn
bC5SR0JBLCAwLDAsIDE2LDE2LDApOworICAgIH0pOworfQorCisKK1Rlc3RzLmVuZFVuaXQgPSBm
dW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFi
c29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0i
MTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5
VGV4U3ViSW1hZ2UyRC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkNTFiM2VhYjljYjQzYTllZmJiMTY2YjBh
ZmMzNjhhOGUwYzlkODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
U3ViSW1hZ2UyRC5odG1sCkBAIC0wLDAgKzEsMTQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBo
cmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9u
ICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2
YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgcmV0dXJuIFtn
bF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgdmFyIHRleCA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAg
dmFyIHRleEN1YmVNYXAgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfQ1VCRV9NQVAsIHRleEN1YmVNYXApOworICByZXR1cm4gW2dsXQorfQorCitUZXN0
cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLHRleCx0ZXhDdWJlTWFwKSB7CisgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NV
QkVfTUFQLCBudWxsKTsKKyAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworICBnbC5kZWxldGVUZXh0
dXJlKHRleEN1YmVNYXApOworfQorCisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24o
Z2wpIHsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCww
LDE2LDE2LDApOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAs
IDAsMCwxLDEpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAs
IDAsMCwyLDEpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAs
IDAsMCwxLDIpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAs
IDAsMCwxNiwxNik7CisgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAs
MCwgMTUsMTUsMSwxKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
MSwxLCAwLDAsMTUsMTUpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCAxNSwxNSwgMCwwLDEsMSk7CisgIHZhciB2YWxpZF90YXJnZXRzID0gWworICAgIGdsLlRFWFRV
UkVfMkQsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZF
X1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oK
KyAgXTsKKyAgdmFsaWRfdGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRP
ayhmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRCh0LCAwLCBnbC5SR0JBLCAw
LDAsMSwxLDApOworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRCh0LCAwLCAwLDAsMCwwLDEs
MSk7CisgICAgfSk7CisgIH0pOworfQorVGVzdHMudGVzdFJvdW5kdHJpcCA9IGZ1bmN0aW9uKGds
KSB7CisgICAgdmFyIHNoID0gbmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcsICdp
ZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuY2xlYXJDb2xvcigxLjAsIDAuMCwgMC4wLCAxLjApOwor
ICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIHZhciBidWYgPSBuZXcgVWlu
dDhBcnJheSg0KTsKKyAgICBnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgYnVmKTsKKyAgICBhc3NlcnRFcXVhbHMoWzI1NSwwLDAsMjU1XSwgW2J1ZlswXSwg
YnVmWzFdLCBidWZbMl0sIGJ1ZlszXV0pOworICAgIC8vIHJlZCB0ZXh0dXJlCisgICAgZ2wuY2xl
YXJDb2xvcigwLjAsIDAuMCwgMC4wLCAwLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZF
Ul9CSVQpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJykpOwor
ICAgIGdsLmNsZWFyQ29sb3IoMS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUKTsKKyAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCAwLDAsMCwwLDE2LDE2KTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQs
IGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0
ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsK
KyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRF
UiwgZ2wuTElORUFSKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC5jbGVhckNvbG9yKDAuMCwgMC4w
LCAxLjAsIDEuMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgLy8g
Ymx1ZSBmcmFtZWJ1ZmZlcgorICAgIGdsLnJlYWRQaXhlbHMoMCwwLDEsMSxnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBidWYpOworICAgIGFzc2VydEVxdWFscyhbMCwwLDI1NSwyNTVdLCBbYnVm
WzBdLCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXSk7CisgICAgc2guYXBwbHkoKTsgLy8gcGFpbnQg
d2l0aCB0ZXh0dXJlCisgICAgZ2wucmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFsyNTUsMCwwLDI1NV0sIFtidWZbMF0s
IGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICBzaC5kZXN0cm95KCk7Cit9CisKK1Rlc3Rz
LmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9Imlk
ZW50aXR5LWZsaXAtdmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZl
YzMgVmVydGV4OworYXR0cmlidXRlIHZlYzIgVGV4OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQw
Owordm9pZCBtYWluKCkKK3sKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KFRleC5zLCAxLjAtVGV4LnQs
IDAuMCwgMC4wKTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBsZXIyRCBUZXh0
dXJlOworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB2ZWM0
IGMgPSB0ZXh0dXJlMkQoVGV4dHVyZSwgdGV4Q29vcmQwLnN0KTsKKyAgICBnbF9GcmFnQ29sb3Ig
PSBjOworfQorPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwv
c3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9
IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhT
dWJJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyYzQ3NGM1NTQwOTVlMTJmNzI1ZmJh
Y2ZjOTk4YjA4ZmU3M2IyMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5
VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDExMSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0
ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQg
PSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdnbCcpOworICAgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykp
OworICAgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7Cisg
ICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5U
RVhUVVJFXzJELCB0ZXgpOworICAgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0g
ZnVuY3Rpb24oZ2wsdGV4KSB7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVs
bCk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2Uy
RCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgMCwwLCAxNiwxNiwgMCk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9WQUxVRSwgIndpZHRoID4gZHN0IHRleCB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAg
IGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAxNywxKTsK
KyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiaGVpZ2h0
ID4gZHN0IHRleCBoZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwgMSwxNyk7CisgICAgfSk7CisgICAgLy8g
VGhlIHNwZWMgc2F5cyB0aGUgc291cmNlIGltYWdlIGRpbWVuc2lvbnMgY2FuIGJlIG91dCBvZiBy
YW5nZS4KKyAgICBhc3NlcnRPaygieCA+IGRzdCB0ZXggd2lkdGgiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDE2LDAsIDEs
MSk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInkgPiBkc3QgdGV4IHdpZHRoIiwgZnVuY3Rpb24o
KXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAw
LDE2LCAxLDEpOworICAgIH0pOworICAgIGFzc2VydE9rKCJ4IDwgMCIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgLTEsMCwg
MSwxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieSA8IDAiLCBmdW5jdGlvbigpeworICAgICAg
ICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsLTEsIDEsMSk7
CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIndpZHRo
IDwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIDAsMCwgMCwwLCAtMSwxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX1ZBTFVFLCAiaGVpZ2h0IDwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGds
LmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAxLC0xKTsKKyAg
ICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAieG9mZnNldCA8
IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCAtMSwwLCAwLDAsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX1ZBTFVFLCAieW9mZnNldCA8IDAiLCBmdW5jdGlvbigpeworICAgICAgICBn
bC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLC0xLCAwLDAsIDE2LDE2KTsK
KyAgICB9KTsKKyAgICBhc3NlcnRPaygieCA8IDAgZnVsbCB3aWR0aCIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgLTEsMCwg
MTYsMTYpOworICAgIH0pOworICAgIGFzc2VydE9rKCJ5IDwgMCBmdWxsIGhlaWdodCIsIGZ1bmN0
aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAs
MCwgMCwtMSwgMTYsMTYpOworICAgIH0pOworICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7CisgICAg
ICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAxNiwx
Nik7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFk
IHRhcmdldCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLkZM
T0FULCAwLCAwLDAsIDAsMCwgMTYsMTYpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2ws
IGdsLklOVkFMSURfVkFMVUUsICIiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3Vi
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAtMSwgMCwwLCAwLDAsIDE2LDE2KTsKKyAgICB9KTsKK30K
KworCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c3R5
bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8
Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWUwY2JjMDFkODhkYzJiOGZhNzIxYjI2ZGFhZjU2ODFiNDU4MTYyOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDY1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisK
K1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSBnZXRHTENvbnRleHQoY2FudmFzKTsK
KyAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnRlc3REZWxldGVCdWZmZXIgPSBmdW5jdGlvbihn
bCkgeworICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgIm51bWJlciAiLCBmdW5jdGlvbigpeyBn
bC5kZWxldGVCdWZmZXIoMSk7IH0pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwg
Im51bGwiLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIobnVsbCk7IH0pOworICBhc3NlcnRU
aHJvd05vR0xFcnJvcihnbCwgIjAiLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoMCk7IH0p
OworICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgImZhbHNlIiwgZnVuY3Rpb24oKXsgZ2wuZGVs
ZXRlQnVmZmVyKGZhbHNlKTsgfSk7CisgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidHJ1ZSIs
IGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcih0cnVlKTsgfSk7CisgIGFzc2VydFRocm93Tm9H
TEVycm9yKGdsLCAie30iLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoe30pOyB9KTsKKyAg
dmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2ws
ICJ0ZXggYXMgYnVmIiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKHRleCk7IH0pOworICB2
YXIgYnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7IGdsLmRl
bGV0ZUJ1ZmZlcihidWYpOyB9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVm
ZmVyKGJ1Zik7IH0pOworICBhc3NlcnRPayhmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoYnVm
KTsgfSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZVRleHR1cmUodGV4KTsgfSk7
Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxz
dHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4K
KzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5
PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTVjMWQ4ZGUyZWQ5Yjlm
N2M2YTA4ZDBiMzJhOTQ3Y2MyMTA2ZmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0FycmF5cy5odG1sCkBAIC0wLDAgKzEsMTM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3Nz
IiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK3ZhciB2ZXJ0cyA9IFswLjAsIDAuMCwg
MC4wLCAgIDEuMCwgMC4wLCAwLjAsICAgMC4wLCAxLjAsIDAuMF07Cit2YXIgbm9ybWFscyA9IFsw
LjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMF07Cit2YXIgdGV4
Y29vcmRzID0gWzAuMCwwLjAsICAxLjAsMC4wLCAgMC4wLDEuMF07CisKK1Rlc3RzLnN0YXJ0VW5p
dCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsK
KyAgdmFyIHByb2cgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFnJyk7CisgIHByb2cudXNl
KCk7CisgIHZhciBzaCA9IHByb2cuc2hhZGVyLnByb2dyYW07CisvLyAgIGxvZyhnbC5nZXRTaGFk
ZXJJbmZvTG9nKHByb2cuc2hhZGVyc1sxXSkpOworICB2YXIgdiA9IGdsLmdldEF0dHJpYkxvY2F0
aW9uKHNoLCAnVmVydGV4Jyk7CisgIHZhciBuID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdO
b3JtYWwnKTsKKyAgdmFyIHQgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ1RleCcpOworICBy
ZXR1cm4gW2dsLHByb2csdixuLHRdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsLCBw
cm9nLCB2LG4sdCkgeworICBhc3NlcnQoMCA9PSBnbC5nZXRFcnJvcigpKTsKKyAgcmV0dXJuIFtn
bCwgcHJvZywgdixuLHRdOworfQorVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgcHJvZywg
dixuLHQpIHsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5kaXNhYmxl
VmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsK
K30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBwcm9n
LmRlc3Ryb3koKTsKK30KKworVGVzdHMudGVzdERyYXdBcnJheXNWQk8gPSBmdW5jdGlvbihnbCwg
cHJvZywgdixuLHQpIHsKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsIHtzaXplOjMsIGRhdGE6UXVh
ZC52ZXJ0aWNlc30pOworICB2Ym8uZHJhdyh2KTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tFcnJvcihn
bCwgInZiby5kcmF3IikpOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wu
VFJJQU5HTEVTLCA1LCAxKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRy
YXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA1KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNz
ZXJ0KDAgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0
RHJhd0FycmF5c1ZCT011bHRpID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIC8vIGNy
ZWF0ZXMgVkJPcyBmb3IgdGhlIHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAgLy8gdmVy
dGV4QXR0cmliUG9pbnRlciBhbmQgY2FsbHMgZHJhd0FycmF5cworICB2YXIgdmJvID0gbmV3IFZC
TyhnbCwKKyAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAgIHtzaXplOjMsIGRh
dGE6UXVhZC5ub3JtYWxzfSwKKyAgICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSk7Cisg
IHZiby5kcmF3KHYsIG4sIHQpOworICBhc3NlcnQoMCA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRy
YXciKSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDUsIDEpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5H
TEVTLCAwLCAyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgMCwgNik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDEsIDUpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDEsIDYpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDYsIDEpO30pOworICBnbC5iaW5kQnVmZmVyKGdsLkFS
UkFZX0JVRkZFUiwgdmJvLnZib3NbMV0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMs
IGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDUsIDEpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRy
YXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9u
KCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDUpO30pOworICBhc3NlcnRGYWlsKGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDYpO30pOworICBhc3NlcnRG
YWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDYsIDEpO30pOworICB2
Ym8uZGVzdHJveSgpOworICBhc3NlcnQoMCA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3ki
KSk7Cit9CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNoYWRlci94
LXZlcnRleCI+CisgIGF0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZlYzMgTm9y
bWFsOworICBhdHRyaWJ1dGUgdmVjMiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsK
KyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXggKiBOb3Jt
YWwsIDEuMCk7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Qb3NpdGlv
bjsKKyAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZy
YWdtZW50Ij4KKyAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2ZWM0IHRl
eENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIHZlYzQgYyA9IHRleENvb3JkMDsKKyAg
ICBnbF9GcmFnQ29sb3IgPSBjOworICB9Cis8L3NjcmlwdD4KKworCis8c3R5bGU+Y2FudmFzeyBw
b3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+CisgIDxjYW52YXMgaWQ9
ImdsIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0M2VlODU3
Njc0MDkwOGNiMTAwMGFmNGVmMmE2Zjg3NmU5ODgxNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbApAQCAtMCwwICsxLDMwNSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9
ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCit2YXIg
dmVydHMgPSBbMC4wLCAwLjAsIDAuMCwgICAxLjAsIDAuMCwgMC4wLCAgIDAuMCwgMS4wLCAwLjBd
OwordmFyIG5vcm1hbHMgPSBbMC4wLCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wLCAgIDAuMCwg
MC4wLCAxLjBdOwordmFyIHRleGNvb3JkcyA9IFswLjAsMC4wLCAgMS4wLDAuMCwgIDAuMCwxLjBd
OworCit2YXIgdmVydHNBID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0cyk7Cit2YXIgbm9ybWFsc0Eg
PSBuZXcgRmxvYXQzMkFycmF5KG5vcm1hbHMpOwordmFyIHRleGNvb3Jkc0EgPSBuZXcgRmxvYXQz
MkFycmF5KHRleGNvb3Jkcyk7CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAg
dmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3
cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgdmFyIHByb2cgPSBuZXcgU2hh
ZGVyKGdsLCAndmVydCcsICdmcmFnJyk7CisgIHByb2cudXNlKCk7CisgIHZhciB2ID0gcHJvZy5h
dHRyaWIoJ1ZlcnRleCcpOworICB2YXIgbiA9IHByb2cuYXR0cmliKCdOb3JtYWwnKTsKKyAgdmFy
IHQgPSBwcm9nLmF0dHJpYignVGV4Jyk7CisgIHJldHVybiBbZ2wscHJvZyx2LG4sdF07Cit9CisK
K1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHJldHVybiBbZ2ws
IHByb2csIHYsbix0XTsKK30KK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHByb2csIHYs
bix0KSB7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZGlzYWJsZVZl
cnRleEF0dHJpYkFycmF5KG4pOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodCk7Cit9
CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgcHJvZy5k
ZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzRW1wdHkgPSBmdW5jdGlvbihnbCwg
cHJvZywgdixuLHQpIHsKKyAgdmFyIGIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1
ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGIpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZF
UiwgbmV3IEZsb2F0MzJBcnJheShbXSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgYXNzZXJ0T2soZnVu
Y3Rpb24oKXtnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwg
MCk7fSkKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiemVybyBzaXplIGFycmF5IiwKKyAgICAgIGZ1bmN0
aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEpO30pOworICBnbC5kZWxldGVC
dWZmZXIoYik7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzT3V0T2ZCb3VuZHMgPSBmdW5jdGlv
bihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFyIGIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGIpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZ
X0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbXSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgYXNzZXJ0
T2soZnVuY3Rpb24oKXtnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxz
ZSwgMCwgMCk7fSk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6ZSBhcnJheSIsCisgICAg
ICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxKTt9KTsKKyAgYXNz
ZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ6ZXJvIHNpemUgYXJyYXkgMTAw
MDAiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMTAw
MDApO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8g
c2l6ZSBhcnJheSAxMDAwMDAwMDAwMDAwMCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCAwLCAxMDAwMDAwMDAwMDAwMCk7fSk7CisgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiemVybyBzaXplIGFycmF5IGZyYWN0aW9uIiwKKyAg
ICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEuNik7fSk7Cisg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBvZmZzZXQiLAor
ICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgLTEpO30pOwor
ICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50IG91dCBvZiBy
YW5nZSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAx
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNv
dW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIC0x
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInBvc2l0aXZlIGNv
dW50LCBuZWdhdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgLTEsIDEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZB
TFVFLCAibmVnYXRpdmUgY291bnQsIHBvc2l0aXZlIG9mZnNldCIsCisgICAgICBmdW5jdGlvbigp
e2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCAtMSk7fSk7CisgIGdsLmRlbGV0ZUJ1ZmZl
cihiKTsKK30KKworCitUZXN0cy50ZXN0RHJhd0FycmF5c1dpdGhEYXRhT3V0T2ZCb3VuZHMgPSBm
dW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFyIGIgPSBnbC5jcmVhdGVCdWZmZXIoKTsK
KyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGIpOworICBnbC5idWZmZXJEYXRhKGds
LkFSUkFZX0JVRkZFUiwgdmVydHNBLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZlcnRleEF0dHJp
YlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4
QXR0cmliQXJyYXkodik7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9O
LCAiMyBlbGVtZW50IGFycmF5IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDMsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJB
VElPTiwgIjMgZWxlbWVudCBhcnJheSAxMDAwMCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxMDAwMCk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLCAiMyBlbGVtZW50IGFycmF5IDEwMDAwMDAwMDAwMDAwIiwKKyAg
ICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEwMDAwMDAwMDAw
MDAwKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmcmFj
dGlvbmFsIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDMsIDEuNik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJu
ZWdhdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFO
R0xFUywgMCwgLTEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElP
TiwgImNvdW50IG91dCBvZiByYW5nZSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMo
Z2wuVFJJQU5HTEVTLCAwLCA0KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9W
QUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9W
QUxVRSwgInBvc2l0aXZlIGNvdW50LCBuZWdhdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24o
KXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgLTEsIDIpO30pOworICBhc3NlcnRHTEVycm9y
KGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgY291bnQsIHBvc2l0aXZlIG9mZnNldCIs
CisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCAtMSk7fSk7
CisgIGdsLmRlbGV0ZUJ1ZmZlcihiKTsKK30KKworVGVzdHMudGVzdERyYXdBcnJheXNNdWx0aU91
dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciBicyA9IFtdOwor
ICBicy5wdXNoKGdsLmNyZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIGJzW2JzLmxlbmd0aC0xXSk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVS
LCB2ZXJ0c0EsIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAz
LCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1ZmZlcigpKTsK
KyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0xXSk7CisgIGds
LmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBub3JtYWxzQSwgZ2wuU1RBVElDX0RSQVcpOwor
ICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Cisg
IGJzLnB1c2goZ2wuY3JlYXRlQnVmZmVyKCkpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JV
RkZFUiwgYnNbYnMubGVuZ3RoLTFdKTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIs
IHRleGNvb3Jkc0EsIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0
LCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJh
eSh2KTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmVuYWJsZVZlcnRl
eEF0dHJpYkFycmF5KHQpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElP
TiwgIm11bHRpIGFycmF5IDEiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgMywgMik7fSk7CisgIGJzLnB1c2goZ2wuY3JlYXRlQnVmZmVyKCkpOworICBnbC5i
aW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbYnMubGVuZ3RoLTFdKTsKKyAgZ2wuYnVmZmVy
RGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkodmVydHMuY29uY2F0KHZlcnRz
KSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgYnMucHVzaChnbC5jcmVhdGVCdWZmZXIoKSk7CisgIGds
LmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1ticy5sZW5ndGgtMV0pOworICBnbC5idWZm
ZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheSh0ZXhjb29yZHMuY29uY2F0
KHRleGNvb3JkcykpLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
diwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIGJzWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwg
ZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMl0pOwor
ICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHQsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Cisg
IGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJB
cnJheShuKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodCk7CisgIGFzc2VydEdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgMiIsCisgICAgICBmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAzLCAyKTt9KTsKKyAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJheSAzIiwKKyAgICAgIGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDQsIDIpO30pOworICBnbC5iaW5k
QnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMF0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCBic1szXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQs
IGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzJdKTsK
KyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0LCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwor
ICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmli
QXJyYXkobik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDQiLAorICAgICAgZnVu
Y3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywgMik7fSk7CisgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgNSIsCisgICAgICBm
dW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA0LCAyKTt9KTsKKyAgZ2wuYmlu
ZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzBdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRl
cih2LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZ
X0JVRkZFUiwgYnNbMV0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FU
LCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1s0XSk7
CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodCwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsK
KyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJp
YkFycmF5KG4pOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKKyAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJheSA2IiwKKyAgICAgIGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOworICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDciLAorICAgICAg
ZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywgMik7fSk7CisgIGdsLmJp
bmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1szXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50
ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIGJzWzNdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9B
VCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMl0p
OworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHQsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7
CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRy
aWJBcnJheShuKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodCk7CisgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgOCIsCisgICAgICBm
dW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA0LCAxKTt9KTsKKyAgYXNzZXJ0
R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIC0xLCAyKTt9KTsKKyAgYXNzZXJ0
R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ6ZXJvIGNvdW50Pz8/IiwKKyAgICAg
IGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDQpO30pOworICBhc3Nl
cnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDkiLAorICAg
ICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNCk7fSk7CisgIGJz
LmZvckVhY2goZnVuY3Rpb24oYil7IGdsLmRlbGV0ZUJ1ZmZlcihiKSB9KTsKK30KKworCitUZXN0
cy50ZXN0RHJhd0FycmF5c1ZCT091dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0
KSB7CisgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLCB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9
KTsKKyAgdmJvLnVzZSh2KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJ
T04sICIxIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDYs
IDEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUg
Y291bnQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMiwg
LTEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMiLAor
ICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNyk7fSk7Cisg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiNCIsCisgICAgICBmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA2KTt9KTsKKyAgdmJvLmRlc3Ry
b3koKTsKK30KKworVGVzdHMudGVzdERyYXdBcnJheXNWQk9NdWx0aU91dE9mQm91bmRzID0gZnVu
Y3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhlIHF1YWQg
YXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRlciBhbmQgY2Fs
bHMgZHJhd0FycmF5cworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICB7c2l6ZTozLCBkYXRh
OlF1YWQudmVydGljZXN9LAorICAgIHtzaXplOjMsIGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAgICB7
c2l6ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSk7CisgIHZiby51c2UodiwgbiwgdCk7CisgIGFz
c2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMSIsCisgICAgICBmdW5jdGlv
bigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA2LCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDIsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICIyIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDcpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwgIjMiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMSwgNik7fSk7CisgIHZiby5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3RE
cmF3QXJyYXlzT09CU2hhZGVySnVnZ2xlID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7Cisg
IHZhciB2Ym8gPSBuZXcgVkJPKGdsLAorICAgIHtzaXplOjMsIGRhdGE6WzAsMCwwXX0sCisgICAg
e3NpemU6MywgZGF0YTpbMCwwLDAsMCwwLDBdfSk7CisgIHZiby5pbml0KCk7CisgIGdsLmJpbmRC
dWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJvc1swXSk7CisgIGdsLnZlcnRleEF0dHJpYlBv
aW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0
cmliQXJyYXkodik7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAi
b2Zmc2V0IHRvbyBiaWciLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFO
R0xFUywgMCwgMik7fSk7CisgIHZhciBzaDIgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFn
Jyk7CisgIHNoMi51c2UoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52
Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihzaDIuYXR0cmliKCdWZXJ0ZXgnKSwg
MywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXko
c2gyLmF0dHJpYignVmVydGV4JykpOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCAwLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJvZmZzZXQgdG9vIGJpZyAyIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMpO30pOworICBwcm9nLnVzZSgpOworICBnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKHByb2cuYXR0cmliKCdWZXJ0ZXgnKSwgMywgZ2wuRkxPQVQsIGZhbHNl
LCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkocHJvZy5hdHRyaWIoJ1ZlcnRl
eCcpKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywg
MCwgMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAib2Zm
c2V0IHRvbyBiaWcgMyIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5H
TEVTLCAwLCAzKTt9KTsKKyAgc2gyLmRlc3Ryb3koKTsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgIGF0dHJpYnV0ZSB2ZWMzIFZl
cnRleDsKKyAgYXR0cmlidXRlIHZlYzMgTm9ybWFsOworICBhdHRyaWJ1dGUgdmVjMiBUZXg7CisK
KyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX1Bv
c2l0aW9uID0gdmVjNChWZXJ0ZXggKiBOb3JtYWwsIDEuMCk7CisgICAgdGV4Q29vcmQwID0gdmVj
NChUZXgsMC4wLDAuMCkgKyBnbF9Qb3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSJmcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgewor
ICAgIGdsX0ZyYWdDb2xvciA9IHRleENvb3JkMDsKKyAgfQorPC9zY3JpcHQ+CisKKworPHN0eWxl
PmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorICA8
Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+PC9jYW52YXM+Cis8L2JvZHk+PC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDE2ODVkYWE2ZDZlODk5
MWQ1MDMxZWNiOTFkMDgyNjVhN2U0MzY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzLmh0bWwKQEAgLTAsMCArMSwxNDMgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENv
cHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVu
dGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJp
YWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlz
dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMs
IGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJ
REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9S
IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK
KyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENP
UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBP
VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9S
VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBN
QVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9j
c3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWph
dmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxp
Y2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKwordmFyIHZlcnRzID0gWzAuMCwgMC4w
LCAwLjAsICAgMS4wLCAwLjAsIDAuMCwgICAwLjAsIDEuMCwgMC4wXTsKK3ZhciBub3JtYWxzID0g
WzAuMCwgMC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wXTsKK3ZhciB0
ZXhjb29yZHMgPSBbMC4wLDAuMCwgIDEuMCwwLjAsICAwLjAsMS4wXTsKK3ZhciBpbmRpY2VzID0g
WzAsMSwyXQorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4
dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHZhciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3Zl
cnQnLCAnZnJhZycpOworICBwcm9nLnVzZSgpOworICB2YXIgc2ggPSBwcm9nLnNoYWRlci5wcm9n
cmFtOworICB2YXIgdiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnVmVydGV4Jyk7CisgIHZh
ciBuID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdOb3JtYWwnKTsKKyAgdmFyIHQgPSBnbC5n
ZXRBdHRyaWJMb2NhdGlvbihzaCwgJ1RleCcpOworICByZXR1cm4gW2dsLHByb2csdixuLHRdOwor
fQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBhc3NlcnQo
MCA9PSBnbC5nZXRFcnJvcigpKTsKKyAgcmV0dXJuIFtnbCwgcHJvZywgdixuLHRdOworfQorVGVz
dHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgZ2wuZGlzYWJsZVZl
cnRleEF0dHJpYkFycmF5KHYpOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobik7Cisg
IGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1
bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBwcm9nLmRlc3Ryb3koKTsKK30KKworVGVzdHMu
dGVzdERyYXdFbGVtZW50c1ZCTyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAgIHZh
ciB2Ym8gPSBuZXcgVkJPKGdsLAorICAgICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRh
OlF1YWQudmVydGljZXN9LAorICAgICAgICAgICAgICAgICAgICAgICB7ZWxlbWVudHM6dHJ1ZSwg
ZGF0YTpRdWFkLmluZGljZXN9KTsKKyAgdmJvLmRyYXcodik7CisgIGFzc2VydChnbC5OT19FUlJP
UiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRyYXciKSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7
Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7
fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
NiwgZ2wuVU5TSUdORURfU0hPUlQsIDAqMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wu
ZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMCwgZ2wuVU5TSUdORURfU0hPUlQsIDIqMSk7fSk7
CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwg
Z2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFzc2VydChn
bC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKK1Rlc3Rz
LnRlc3REcmF3RWxlbWVudHNWQk9NdWx0aSA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgewor
ICAvLyBjcmVhdGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFycmF5cywgYmluZHMgdGhlbSB3aXRoCisg
IC8vIHZlcnRleEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxzIGRyYXdFbGVtZW50cworICB2YXIgdmJv
ID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZl
cnRpY2VzfSwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLm5vcm1hbHN9
LAorICAgICAgICAgICAgICAgICAgICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSwKKyAg
ICAgICAgICAgICAgICAgICAge2VsZW1lbnRzOnRydWUsIGRhdGE6UXVhZC5pbmRpY2VzfSk7Cisg
IHZiby5kcmF3KHYsIG4sIHQpOworICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihn
bCwgInZiby5kcmF3IikpOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhn
bC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRPayhm
dW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDAsIGdsLlVOU0lHTkVEX1NI
T1JULCAyKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKjIpO30pOworICBhc3NlcnRPayhmdW5j
dGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JU
LCA1KjIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNv
dW50ICsgb2Zmc2V0IG91dCBvZiByYW5nZSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA2KjIpO30pOworICBhc3Nl
cnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50ICsgb2Zmc2V0IG91dCBv
ZiByYW5nZSAyIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCBudWxsKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52
Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2Us
IDAsIDApOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdM
RVMsIDUsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAyKjIp
O30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMs
IDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2ds
LmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA1KjIpO30p
OworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50ICsgb2Zm
c2V0IG91dCBvZiByYW5nZSAzIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDYqMik7fSk7CisgIGFzc2VydEdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiY291bnQgKyBvZmZzZXQgb3V0IG9mIHJhbmdl
IDQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBn
bC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGds
Lk5PX0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9InZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgYXR0
cmlidXRlIHZlYzMgVmVydGV4OworICBhdHRyaWJ1dGUgdmVjMyBOb3JtYWw7CisgIGF0dHJpYnV0
ZSB2ZWMyIFRleDsKKworICB2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOworICB2b2lkIG1haW4oKQor
ICB7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRleCAqIE5vcm1hbCwgMS4wKTsKKyAgICB0
ZXhDb29yZDAgPSB2ZWM0KFRleCwwLjAsMC4wKSArIGdsX1Bvc2l0aW9uOworICB9Cis8L3Njcmlw
dD4KKzxzY3JpcHQgaWQ9ImZyYWciIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICBwcmVj
aXNpb24gbWVkaXVtcCBmbG9hdDsKKworICB2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOworICB2b2lk
IG1haW4oKQorICB7CisgICAgdmVjNCBjID0gdGV4Q29vcmQwOworICAgIGdsX0ZyYWdDb2xvciA9
IGM7CisgIH0KKzwvc2NyaXB0PgorCisKKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRl
OyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKyAgPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxIiBo
ZWlnaHQ9IjEiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVt
ZW50c0JhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTAyYjZmNDlmYjQwOGZkYTUwZDY5ZWIwMmI4
OWVjOWVhNjgzYmY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1l
bnRzQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMjA5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBo
cmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3RzLmF1dG9ydW4gPSBmYWxzZTsK
Ky8vIFRlc3RzLm1lc3NhZ2UgPSAiQ2F1dGlvbjogTWF5IGNyYXNoIHlvdXIgYnJvd3NlciI7CisK
K3ZhciB2ZXJ0cyA9IFswLjAsIDAuMCwgMC4wLCAgIDEuMCwgMC4wLCAwLjAsICAgMC4wLCAxLjAs
IDAuMF07Cit2YXIgbm9ybWFscyA9IFswLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjAsICAg
MC4wLCAwLjAsIDEuMF07Cit2YXIgdGV4Y29vcmRzID0gWzAuMCwwLjAsICAxLjAsMC4wLCAgMC4w
LDEuMF07Cit2YXIgaW5kaWNlcyA9IFs2MDAwMDAwMCwxLDJdCisKK1Rlc3RzLnN0YXJ0VW5pdCA9
IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdn
bCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAg
dmFyIHByb2cgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFnJyk7CisgIHByb2cudXNlKCk7
CisgIHZhciBzaCA9IHByb2cuc2hhZGVyLnByb2dyYW07CisgIHZhciB2ID0gZ2wuZ2V0QXR0cmli
TG9jYXRpb24oc2gsICdWZXJ0ZXgnKTsKKyAgdmFyIG4gPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihz
aCwgJ05vcm1hbCcpOworICB2YXIgdCA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnVGV4Jyk7
CisgIHJldHVybiBbZ2wscHJvZyx2LG4sdF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24o
Z2wsIHByb2csIHYsbix0KSB7CisgIGFzc2VydCgwID09IGdsLmdldEVycm9yKCkpOworICByZXR1
cm4gW2dsLCBwcm9nLCB2LG4sdF07Cit9CitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLCBw
cm9nLCB2LG4sdCkgeworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmRp
c2FibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5
KHQpOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7Cisg
IHByb2cuZGVzdHJveSgpOworfQorCisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk8gPSBmdW5j
dGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAg
ICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAge2VsZW1lbnRzOnRydWUsIGRhdGE6WzAsMSwyLDIwMDAsIDQwODAyLCA1
ODg3OTkyXX0pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodik7fSk7CisgIGFz
c2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5V
TlNJR05FRF9TSE9SVCwgNSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNz
ZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJ
R05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSk7fSk7CisgIGFzc2VydEZh
aWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05F
RF9TSE9SVCwgMSoyKTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9S
ID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworVGVzdHMudGVzdERyYXdF
bGVtZW50c1ZCT0J5dGUgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgICB2YXIgdmJv
ID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFk
LnZlcnRpY2VzfSwKKyAgICAgICAgICAgICAgICAgICAgICAge2VsZW1lbnRzOnRydWUsIHR5cGU6
Z2wuVU5TSUdORURfQllURSwgZGF0YTpbMCwxLDIsMjAwMCwgNDA4MDIsIDU4ODc5OTJdfSk7Cisg
IGFzc2VydEZhaWwoZnVuY3Rpb24oKXt2Ym8uZHJhdyh2KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5j
dGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUs
IDUpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFO
R0xFUywgNiwgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7
Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7
CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1
LCBnbC5VTlNJR05FRF9CWVRFLCAxKTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGds
Lk5PX0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworVGVzdHMu
dGVzdERyYXdFbGVtZW50c1ZCT011bHRpID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7Cisg
IC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhlIHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAg
Ly8gdmVydGV4QXR0cmliUG9pbnRlciBhbmQgY2FsbHMgZHJhd0VsZW1lbnRzCisgIC8vIFRoZSBx
dWFkIGhhcyA2IHZlcnRpY2VzCisgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLAorICAgICAgICAgICAg
ICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAgICAgICAgICAgICAgICAg
ICB7c2l6ZTozLCBkYXRhOlF1YWQubm9ybWFsc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXpl
OjIsIGRhdGE6UXVhZC50ZXhjb29yZHN9LAorICAgICAgICAgICAgICAgICAgICB7ZWxlbWVudHM6
dHJ1ZSwgZGF0YTpbMCwxLDIsNiwyMDAwLCAyNTZdfSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24o
KXt2Ym8uZHJhdyh2LCBuLCB0KTt9KTsKKyAgZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
MywgZ2wuVU5TSUdORURfU0hPUlQsIDApOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7Cisg
IGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBn
bC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0Vs
ZW1lbnRzKGdsLlRSSUFOR0xFUywgMiwgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3Nl
cnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lH
TkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDQsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVE
X1NIT1JULCAxKjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRz
KGdsLlRSSUFOR0xFUywgMiwgZ2wuVU5TSUdORURfU0hPUlQsIDIqMik7fSk7CisgIGFzc2VydEZh
aWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05F
RF9TSE9SVCwgMyoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRG
YWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdO
RURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMSk7fSk7CisgIGFzc2VydEZh
aWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05F
RF9TSE9SVCwgNioyKTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52
Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2Us
IDAsIDApOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9T
SE9SVCwgMCk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJ
QU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5j
dGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JU
LCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5H
TEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24o
KXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoy
KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdM
RVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9u
KCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEp
O30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDYqMik7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFz
c2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisK
K1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk9NdWx0aUJ5dGUgPSBmdW5jdGlvbihnbCwgcHJvZywg
dixuLHQpIHsKKyAgLy8gY3JlYXRlcyBWQk9zIGZvciB0aGUgcXVhZCBhcnJheXMsIGJpbmRzIHRo
ZW0gd2l0aAorICAvLyB2ZXJ0ZXhBdHRyaWJQb2ludGVyIGFuZCBjYWxscyBkcmF3RWxlbWVudHMK
KyAgLy8gVGhlIHF1YWQgaGFzIDYgdmVydGljZXMKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisg
ICAgICAgICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30sCisgICAgICAg
ICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAgICAgICAgICAgICAg
ICAgICAge3NpemU6MiwgZGF0YTpRdWFkLnRleGNvb3Jkc30sCisgICAgICAgICAgICAgICAgICAg
IHtlbGVtZW50czp0cnVlLCB0eXBlOmdsLlVOU0lHTkVEX0JZVEUsIGRhdGE6WzAsMSwyLDYsMjAw
MCwgMjU2XX0pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodiwgbiwgdCk7fSk7
CisgIGdsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDAp
OworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
NCwgZ2wuVU5TSUdORURfQllURSwgLTEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wu
ZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgLTEsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOwor
ICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGds
LlVOU0lHTkVEX0JZVEUsIDUpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0Vs
ZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2Vy
dE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMiwgZ2wuVU5TSUdO
RURfQllURSwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVu
Y3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA0LCBnbC5VTlNJR05FRF9CWVRF
LCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklB
TkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9u
KCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMiwgZ2wuVU5TSUdORURfQllURSwgMik7
fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAxLCBnbC5VTlNJR05FRF9CWVRFLCAzKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2ds
LmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOwor
ICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwg
Z2wuVU5TSUdORURfQllURSwgMSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRFLCA2KTt9KTsKKyAgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0
cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9CWVRFLCAwKTsKKyAgYXNzZXJ0T2soZnVu
Y3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRF
LCA1KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklB
TkdMRVMsIDYsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30p
OworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
NSwgZ2wuVU5TSUdORURfQllURSwgMSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9CWVRFLCAxKTt9KTsKKyAg
YXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGds
LlVOU0lHTkVEX0JZVEUsIDYpO30pOworICB2Ym8uZGVzdHJveSgpOworICBhc3NlcnQoZ2wuTk9f
RVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0
U2hhcmVkQnVmZmVycyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICB2YXIgdmJvID0g
Z2wuY3JlYXRlQnVmZmVyKCk7CisgIHZhciB2ZXJ0c0FyciA9IG5ldyBVaW50MTZBcnJheShbMCwx
LDMsMyw0LDUsNiw3LDhdKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZibyk7
CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0c0FyciwgZ2wuU1RBVElDX0RS
QVcpOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FS
UkFZX0JVRkZFUiwgdmJvKX0pOworICBnbC5kZWxldGVCdWZmZXIodmJvKTsKK30KKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgIGF0dHJp
YnV0ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZlYzMgTm9ybWFsOworICBhdHRyaWJ1dGUg
dmVjMiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAg
eworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXggKiBOb3JtYWwsIDEuMCk7CisgICAgdGV4
Q29vcmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Qb3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+
Cis8c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBt
YWluKCkKKyAgeworICAgIHZlYzQgYyA9IHRleENvb3JkMDsKKyAgICBnbF9GcmFnQ29sb3IgPSBj
OworICB9Cis8L3NjcmlwdD4KKworCis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsg
fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+CisgIDxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMSIgaGVp
Z2h0PSIxIj48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0Jh
ZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTY5NjEzOTYwNTE2MzYzYjM1ZDRkMTcxOThjN2ZhY2Jj
N2QyOGU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFy
Z3MuaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4v
dW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7Cisg
IHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0g
d3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHJldHVybiBbZ2xdOworfQor
CitUZXN0cy50ZXN0UmVhZFBpeGVscyA9IGZ1bmN0aW9uKGdsKSB7CisgIC8vIHdlIGNhbid0IGtu
b3cgaWYgdGhpcyBpcyBnb2luZyB0byBmYWlsIGJlY2F1c2Ugb2YgbmVnYXRpdmUgd2lkdGgKKyAg
Ly8gb3IgYmVjYXVzZSB0aGUgYnVmZmVyIHNpemUgZG9lc24ndCBtYXRjaCB0aGUgZGltZW5zaW9u
cy4KKyAgYXNzZXJ0U29tZUdMRXJyb3IoZ2wsICJuZWdhdGl2ZSB3aWR0aCIsCisgICAgICBmdW5j
dGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLC0xLDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUs
CisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoNCkpO30pOworICBhc3NlcnRTb21lR0xFcnJvcihn
bCwgICJuZWdhdGl2ZSBoZWlnaHQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAs
MCwxLC0xLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFy
cmF5KDQpKTt9KTsKKyAgYXNzZXJ0T2soIm5lZ2F0aXZlIHgiLAorICAgICAgZnVuY3Rpb24oKXtn
bC5yZWFkUGl4ZWxzKC0xLDAsMSwxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAg
ICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsKKyAgYXNzZXJ0T2soIm5lZ2F0aXZlIHkiLAorICAg
ICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsLTEsMSwxLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsKKyAgYXNzZXJ0T2soImhl
aWdodCA+IGJhY2tidWZmZXIgaGVpZ2h0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVs
cygwLDAsMTYsMTcsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVp
bnQ4QXJyYXkoMTYqMTcqNCkpO30pOworICBhc3NlcnRPaygid2lkdGggPiBiYWNrYnVmZmVyIHdp
ZHRoIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMTcsMTYsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMTcqMTYqNCkpO30p
OworICBhc3NlcnRPaygid2lkdGgsIGhlaWdodCA9IDAiLAorICAgICAgZnVuY3Rpb24oKXtnbC5y
ZWFkUGl4ZWxzKDAsMCwwLDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAg
bmV3IFVpbnQ4QXJyYXkoMCkpO30pOworICAvLyB3ZSBjYW4ndCBrbm93IGlmIHRoaXMgaXMgZ29p
bmcgdG8gZmFpbCBiZWNhdXNlIG9mIG5lZ2F0aXZlIHdpZHRoCisgIC8vIG9yIGJlY2F1c2UgdGhl
IGJ1ZmZlciBzaXplIGRvZXNuJ3QgbWF0Y2ggdGhlIGRpbWVuc2lvbnMuCisgIGFzc2VydFNvbWVH
TEVycm9yKGdsLCAiYmFkIGZvcm1hdCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMo
MCwwLDEsMSwgZ2wuRkxPQVQsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4
QXJyYXkoNCo0KSk7fSk7CisgIC8vIHdlIGNhbid0IGtub3cgaWYgdGhpcyBpcyBnb2luZyB0byBm
YWlsIGJlY2F1c2Ugb2YgbmVnYXRpdmUgd2lkdGgKKyAgLy8gb3IgYmVjYXVzZSB0aGUgYnVmZmVy
IHNpemUgZG9lc24ndCBtYXRjaCB0aGUgZGltZW5zaW9ucy4KKyAgYXNzZXJ0U29tZUdMRXJyb3Io
Z2wsICJiYWQgdHlwZSIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwg
Z2wuQUxQSEEsIGdsLkZMT0FULAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDEqNCkpO30pOwor
fQorCitUZXN0cy50ZXN0UmVhZFBpeGVsc1NPUElNRyA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFy
IGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpIik7CisgICAgd2hpbGUgKCFpbWcuY29t
cGxldGUpIHt9CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5k
VGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIC8vIFNPUCBmYWlsdXJlCisgICAgYXNz
ZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0aHJvdyBiZWNhdXNlIGltZyBpcyBmcm9tIGFub3RoZXIg
ZG9tYWluIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpO30pOworICAgIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGFzc2VydE9rKCJjYW52YXMgc3Rp
bGwgb3JpZ2luLWNsZWFuIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMSwx
LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQp
KTt9KTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cit9CitUZXN0cy50ZXN0UmVhZFBpeGVs
c1NPUENhbnZhcyA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpIik7CisgICAgd2hpbGUgKCFpbWcuY29tcGxldGUpIHt9CisgICAgdmFyIGMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYyIpOworICAgIGMuZ2V0Q29udGV4dCgiMmQiKS5k
cmF3SW1hZ2UoaW1nLCAwLCAwKTsKKyAgICBhc3NlcnRGYWlsKCJjYW52YXMgdGhyb3dzIGJlY2F1
c2Ugbm90IG9yaWdpbiBjbGVhbiIsCisgICAgICBmdW5jdGlvbigpe2MuZ2V0Q29udGV4dCgiMmQi
KS5nZXRJbWFnZURhdGEoMCwwLDEsMSk7fSk7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1
cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIC8vIFNP
UCBmYWlsdXJlCisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0aHJvdyBiZWNhdXNlIGNh
bnZhcyBpcyBub3Qgb3JpZ2luIGNsZWFuIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBj
KTt9KTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBhc3Nl
cnRPaygiY2FudmFzIHN0aWxsIG9yaWdpbi1jbGVhbiIsCisgICAgICBmdW5jdGlvbigpe2dsLnJl
YWRQaXhlbHMoMCwwLDEsMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBu
ZXcgVWludDhBcnJheSg0KSk7fSk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworfQorCitU
ZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+PGJv
ZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzxj
YW52YXMgaWQ9ImMiIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4Ij48L2NhbnZhcz4KKzxpbWcgaWQ9
ImkiIHNyYz0iaHR0cDovL3d3dy5vcGVuZ2wub3JnL2ltZy9vcGVuZ2xfbG9nby5qcGciPgorPC9i
b2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdz
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI3NzI0ODdiZjM0ZWMyNzEzMTBhYWYzMGZkNWUwZTY4YTM0MjEzZGMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTA2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisK
K1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY2FudmFzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgICAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRH
TENvbnRleHQoY2FudmFzKSk7CisgICAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0g
ZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgcmV0dXJuIFtnbF0KK30KKwor
VGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgpIHsKKyAgICBnbC5iaW5kVGV4dHVyZShn
bC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cit9CisKK1Rl
c3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgZGF0YSA9IG5ldyBV
aW50OEFycmF5KDQpOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9O
LCAibm90IGVub3VnaCBkYXRhIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAyLDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUs
IGRhdGEpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFU
SU9OLCAibm90IGVub3VnaCBkYXRhIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLDIsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZ
VEUsIGRhdGEpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5V
TSwgImJhZCB0YXJnZXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLkZM
T0FULCAwLCBnbC5SR0JBLCAxLDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOwor
ICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCBpbnRl
cm5hbCBmb3JtYXQvZm9ybWF0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5GTE9BVCwgMSwxLDAsZ2wuRkxPQVQsZ2wuVU5TSUdORURfQllU
RSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgImJvcmRlciA+IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEsMSw0OCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51
bGwpOworICAgIH0pOworICAgIC8vIFRoZSBzcGVjIHNheXMgemVybyBzaXplIGlzIE9LLiBJZiB5
b3UgZGlzYWdyZWUgcGxlYXNlIGxpc3QgdGhlIHNlY3Rpb24KKyAgICAvLyBpbiB0aGUgc3BlYyB0
aGF0IGRldGFpbHMgdGhpcyBpc3N1ZS4KKyAgICBhc3NlcnRPaygiemVybyBzaXplIiwgZnVuY3Rp
b24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAw
LDAsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2Vy
dEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSB3aWR0aCIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgLTEs
MSwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0
R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGhlaWdodCIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwt
MSwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0
R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIGZvcm1hdCIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwxLDAsZ2wu
RkxPQVQsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIHR5cGUiLCBmdW5jdGlvbigpeworICAgICAgICBn
bC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEsMSwwLGdsLlJHQkEsZ2wu
VEVYVFVSRV8yRCwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sICJub3QgZW5vdWdoIGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBn
bC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEsMSwwLGdsLlJHQkEsZ2wu
VU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoMykpOworICAgIH0pOworICAgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZm9ybWF0IGFuZCB0eXBlIGluY29tcGF0
aWJsZSIsZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5SR0JBLCAxLDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX1NIT1JUXzVfNl81LCBudWxsKTsK
KyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZv
cm1hdCBhbmQgdHlwZSBpbmNvbXBhdGlibGUiLGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCLCAxLDEsMCxnbC5SR0IsZ2wuVU5TSUdORURf
U0hPUlRfNF80XzRfNCwgbnVsbCk7CisgICAgfSk7Cit9CisKKworVGVzdHMuZW5kVW5pdCA9IGZ1
bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJz
b2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIx
NiIgaGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdl
MkRIVE1MLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTc3MmY2YjI2YzQyOWFkZGRlYzBkZjQ4YTk5YzlmM2I3
OGY5NGQ1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1M
Lmh0bWwKQEAgLTAsMCArMSwxNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Vu
aXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0i
Li4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICAg
IHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIgZ2wg
PSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgICBnbC52aWV3cG9ydCgw
LDAsY2FudmFzLndpZHRoLGNhbnZhcy5oZWlnaHQpOworICAgIGdsLmNsZWFyQ29sb3IoMCwwLDEs
MSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9C
SVQpOworICAgIGdsLmRpc2FibGUoZ2wuREVQVEhfVEVTVCk7CisgICAgcmV0dXJuIFtnbF07Cit9
CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRl
VGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAg
dmFyIHRleEN1YmVNYXAgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUo
Z2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4Q3ViZU1hcCk7CisgICAgcmV0dXJuIFtnbF0KK30KKwor
VGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgdGV4LCB0ZXhDdWJlTWFwKSB7CisgICAgZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0
ZXgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG51bGwpOworICAg
IGdsLmRlbGV0ZVRleHR1cmUodGV4Q3ViZU1hcCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJE
ID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBnbC5lbmFibGUoZ2wuQkxFTkQpOworICAgIHZhciBpbWcg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaScpOworICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2MnKTsKKyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpOworICAg
IGN0eC5kcmF3SW1hZ2UoaW1nLDAsMCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpOworICAgIGdsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RP
X0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9X
UkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLnRleFBhcmFt
ZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOwor
ICAgIHZhciBmID0gbmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcsICdpZGVudGl0
eS1mcmFnJyk7CisgICAgZ2wuYmxlbmRGdW5jKGdsLk9ORSwgZ2wuWkVSTyk7CisgICAgZi5hcHBs
eSgpOworICAgIGYuZGVzdHJveSgpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgZiA9IG5ldyBG
aWx0ZXIoZ2wsICdpZGVudGl0eS1oZmxpcC12ZXJ0JywgJ2lkZW50aXR5LWZyYWcnKTsKKyAgICBn
bC5ibGVuZEZ1bmMoZ2wuU1JDX0FMUEhBLCBnbC5PTkVfTUlOVVNfU1JDX0FMUEhBKTsKKyAgICBm
LmFwcGx5KCk7CisgICAgZi5kZXN0cm95KCk7CisgICAgdmFyIHZhbGlkX3RhcmdldHMgPSBbCisg
ICAgICAgIGdsLlRFWFRVUkVfMkQsCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJ
VkVfWCwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgICAgICBn
bC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfTkVHQVRJVkVfWSwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAor
ICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKKyAgICBdOworICAgIHZhbGlk
X3RhcmdldHMuZm9yRWFjaChmdW5jdGlvbih0KSB7CisgICAgICAgIGFzc2VydE9rKGZ1bmN0aW9u
KCl7Z2wudGV4SW1hZ2UyRCh0LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRF
LCBjKTt9KTsKKyAgICAgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKHQsIDEs
IGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpO30pOworICAgIH0pOworfQor
CitUZXN0cy50ZXN0VGV4SW1hZ2UyRE5vblNPUCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIGlt
ZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpMicpOworICAgIHdoaWxlICghaW1nLmNvbXBs
ZXRlKSB7fQorICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsKKyAgICB2
YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpOworICAgIGN0eC5kcmF3SW1hZ2UoaW1nLDAsMCk7
CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhJbWFnZTJEIHdpdGggY3Jvc3Mtb3Jp
Z2luIGltYWdlIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wu
dGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLCBpbWcpO30pOworICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4SW1hZ2Uy
RCB3aXRoIGRpcnR5IG9yaWdpbiBjYW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAg
ICAgZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpO30pOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVu
Y3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mbGlwLXZl
cnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0
dHJpYnV0ZSB2ZWMyIFRleDsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigp
Cit7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgucywgMS4wLVRleC50LCAwLjAsIDAuMCk7Cisg
ICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRleCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0iaWRlbnRpdHktaGZsaXAtdmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0
cmlidXRlIHZlYzMgVmVydGV4OworYXR0cmlidXRlIHZlYzIgVGV4OworCit2YXJ5aW5nIHZlYzQg
dGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KDEuMC1UZXgu
cywgVGV4LnQsIDAuMCwgMC4wKTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4LCAxLjAp
OworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mcmFnIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBs
ZXIyRCBUZXh0dXJlOworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sK
KyAgICB2ZWM0IGMgPSB0ZXh0dXJlMkQoVGV4dHVyZSwgdGV4Q29vcmQwLnN0KTsKKyAgICBnbF9G
cmFnQ29sb3IgPSBjOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJn
bCIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iYyIgd2lk
dGg9IjI1NiIgaGVpZ2h0PSIyNTYiPjwvY2FudmFzPgorPGltZyBpZD0iaSIgd2lkdGg9IjI1NiIg
aGVpZ2h0PSIyNTYiICBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFO
U1VoRVVnQUFBUUFBQUFFQUNBWUFBQUJjY3FobUFBQVRWRWxFUVZSNG5PM2QrVlBVZDU3SGNmMmI5
azlZK3o0NCtxSzdPWm9HRlZBNVZmQkd6YWg5Y3hwTnpHRU9vUnVhNWxCRXVlL0RLNGZaN01hcG1T
bTNNbHNodTh4T2RDcERKdDN2L2FFQkFVSEFPTUc0ejBmVjUzZnFVL1Y2ZmQ3ZlQvZTMyYkVEQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUF3T3ZCa2FyN2wrMytHd0Jzazh4VXJUMHJUYjh2eDJRNDVqYW5s
dTdZc1dQbnNnWGdUZVl3YWs4NVUzWHY1WmlNMytYYlVoL2wyZElDQmM2MDgwV1oxdXI5MmJhU0hS
UUI4R2F5R2RVV3UxSHpvU05GTytaTTFmMmNiVExNNTFsVDV3b2M1cmtET2JiWi9WbTJTRW0yM1Z2
c3lqaFY1bkpRQnNDYnhHWlFWdG1ONnA0TW8vWVBkcU5HSEtsYXlVclhKOXpXbEVTaDB4SXZ6c21Z
TDNIWjU0cHpNbTZWdVJ5Uk1wZlRXK3B5VUFiQW04Qm1WTlZuR05UVGRxUDZ2ek9NR3JHbmFNU1px
cE5zazE3eWJLbFM2RFRML2l4Ym90UmxqNWZsT3ViTDNJNjVNcGZqVnJuYkVhbFlLSU5TbDMzNXZR
R0Ezd0tiVVcyeEdkV1JES1A2Nnd5aldoWUx3SkdpRldlYVRySk5CbkZiVTJTUDNTVDdzNnhTbW11
WGNyY3pVZTUyeHN0ekhmUGxic2RjdWR0NXF5elgzbEtXbHhrc3pYR2VLOG14bnl6SnlTamVRUmtB
cnplYlFWbGxNNnA3YlViMTQ5VUY0RWpWU21hYVRyTFM5ZUt5cE1nZWU3b2N5TFpKbWRzaEZYbVpV
cEhuWEZFR0IvT3pKc3JkanFFeXQvTm1XYTQ5WEpidDlKYTZNazRWdTdoRUJGNUxOcjJxM21aUXo5
Z002dTlYRkVCcXNnQ2NhVHJKWEpnRWNpMHBzdGRoa3YzWk5pbk5UWmJBb2Z3c09aU2ZKUWZ6TXFV
OHo1a29kenNTWmJtT2VJWGIrWFc1MnpGYTVuTGNLblBaSTJVTGw0akZmS0lBdkI3TU9yWEZabEJI
YkFiMTF6YWora21HVWJOdUFXU202NWRLWUhkR21oUmxXcVE4enlGSENuTGsrTDVjT1Y2VUswY0tY
Vks1SjFzTzVtZEtoZHNwWmF2S29EVFgwVlBpY2lUTElIdEZHVkFJd0svTllsQlcyZlRxWHB0Qi9k
aG1TSjcrTHlxQXJIUzk1SmlUSlZEZ05FbGxRWlo0S2d1bHJycFU2cXRMSlhCc3Y1d3QzeU1uOXJ2
bGFJRkxEaTh2ZzF4SDRtQis1cCtXbDBGcGpyMmxKTWNSTE02eW55dk96amh4SUl0N0ErQlhZOUdy
NnEwTDQvOVNBYVJveEw3dy9MOVdBV1NiREpKclRaRmlkNFo0anhaSlUvMXh1ZkhoT2VtK2VrNmls
MC9MQjc0cWFUeFRKb0dqKytWczJSNDV2ajlYamhUa3lPSGRDNDhKQzJWd2FIZm1ueXJjem4rdmNE
c215bkx0UXlVNUdUZUxjekxDcFRrMlQzR1c3Vmh4VnNhZTdkNGY0STFsMXFrdFZvTTZZak9vdnJZ
YTFEOHNGb0I5V1FFNDE1a0E4dTFwY3ZSQWpud1VPaUxETFFHNTE5MG85MjQyeWxSSG5ReUcvWEx6
Nm5tSlhxcVdEM3lWMG5DNlZQeEg5OG5ac3QxeWZGK3VIQzEwU2RYZWJEbVVueXlEcW9Mczd3N2xa
MzViN25iOHNjeHQvN2RTbDMya0pDZWpxeVFuNDBwSlRrYlpEaVlDNE5XemFKVlZWcjJxMTJaUVBi
WWExSDlmdXdCMFN3V1FsYTZYTEZPeUFBb3lUZkxXNFQzU2Z1V00zTDNSSUEvN0w4dkQvc3Z5WmU4
bCtlelcyM0t2dTFFbU8ycGxvTmtuM1ZmUFNldmIxZksrdDFJYXo1Uko3Y2xpOFIwcGt0T2wrWEtz
S0ZrR0J4ZktvSEp2MWw4UDVtZit1U0xQOGZ2eVhNZE1tZHNSS1hjNXFvdGRHUVhidlYvQUc4V2lW
OVZiOWFvWnExNDFhek9veFdiY1hBSGtXbE9rSkM5RGFrOFh5NjFQTDhpRG5vdExCYkJVQkgyWDVZ
dmJsK1JCejBXNWU2TkJKdHBycEwvWkp6Yy9PaS9YUDNoTFdpNmVrdmM4aDZXdXVrUzhWYy9LWVBF
QzhXaGh6cE9xZ3V6dkt2ZG1mWFY0ZDJiM3dmek05dy9sWlRFTkFLK0NXYWV3V0hXcWlFMnYrdHFx
Vi8ydzJRTElOaGtrUDJOaC9LODlJbU50SWZtaTk5S3o4UGNsMTVkTDY1SjgwWHRKUHIvMXR0eS8y
U2gzdXh2a3p2VjZHWStGcE8rYVY2NS84RHVKWER3cFZ6eUhwTzdVUWhtVTVNdlJJcGRVN2MyUlE3
dXo1TVIrOXgrT0ZibnVIaTNNaVZRVnVLb1A3ODR1MnU3OUEzN1RMRnBsbFZXbjZyWHFWWSt0ZXRX
UEd4YkFzZ3ZBdlU2VHZIVm90OFN1bkpZN04rcmx5NzYxZy85bGIzSjlzV3g5ZnZ1U2ZINzdiWG5R
YzFIdWRUZklURmVkakxXRnBQZWFSN28rZUV2Q2pTZmx5b1ZEVWxkZEtzSGpCK1RDNFVJNVZad25W
UVU1aWJjcTlueDF1alMvNThRQjk5WHFZbmY1RHFZQjRPVllkTS9HZjZ0ZTlZL2s4Ly9HQmVDeUdL
WEVuU0UxMVFlazU1UHpjdjltNDhyUXJ4UDhMMjVma2k5dXZ5MmZyMXFmM2JxWW5BeHVOTWgwWjUy
TVJJTnkrMU9QWFAvd2Q5Sis1WXcwMTUrUWQ4NGZsSnFUeFhMaGNJR2NMTTc3K1VoQnp0OHVWQmEy
bnF2Y2UvWnN4WjZ5N2Q1TDREZGxjZnkzNkZWZlcvU3FINndHbGF3dWdNV3ZBVHZUbGhXQXlTQjVH
YWx5ZEgrT2ZGUnpSRWFqUWZuODF0dnJoLzZGd1Y5Y0YrV3pXeGZsd2EyTGNyL25vdHpyYnBTWjYv
VXkxVlVua3gyMU10d1NrSjVQTGtqSGUyZWxxZjY0WEQ1M1VFSW5EaVF1SEM2WXJ5N09tejFXNUhy
WStGYkY0UjFNQThEbVdMVEtLc3V5OGQ5cVVMK3dBSlovQzNDUE0xM09IdHd0YmUrZWx1bnI5ZkxG
dXNGL1B2U2YzMW83K0E5Nm5xMzdQUmZsZmsrajNMK1ovRmp4N28wR21lNnFrNG4yR2hscThVdlB4
K2VsL2NvWnVWWjNYQzZmcS9pNTdsVHgzMnBPSG5nVU9sVWMvalI0bEV0Q1lDTVduYXJlb2xmTldQ
U3FXYXRCOWRPYUJiREdsNEJjRnFNVXUyMFNPblZBYm41OFR1NTJOMjdxdFA5OGc5QS9XQXo5UXZB
WDE3M0ZFdWh1a0x2ZERjbkpvTE5XeG1NMU1oanh5ODJQemtubisyY1NzWGRQejRjYlQ4eCtHS2g4
K0ZId1NPME9TZ0JZbTFtbnNKaDFxb2hGcjF3WS81WHhad1d3L3RlQXM5S1R2d3R3WkgrMlhBMVZ5
WEJyVUI3MFhGei90Rjluek45SzhPOTFOOGk5aGZBdnJqczNHdVRPalhxWlhuaEVHRyt2a2RGb1VB
YkQvcDk3UGo3L3Q1NnI1Ny9wdStiNXBPWGQ2cVBidmRmQWE4ZWkzVlZsMGFsNkxYcmxZNHRPK2FO
RnIwcHN0Z0QyT05MbHpNSGRFbjJuV3FZNjYrU3pseHp6SHl3Yjg1OEwvVHJCdjN2aldmZ1gxOHox
NUpydXFwT3B6bHFaYUE4bHhtS2h2NDlHZzMvb0QvcyszdTY5Qmw0N0ZwMmkzcUpWelZoMHlsbXJU
dm1UVlorOEFGejVIc0R6QlpCak5rcHhyazJDcHc1STkwZm41TTZOaGhlZTlsc09mdmZtZzMvbity
UHd6MXl2azVtdU9wbGVXSk1kdGZISmpwcnZKanRxS0FCZ3VlVDRyNGlZZGNxdnpicGRQMWoweXZq
cUFyQ3Y5U0pRdWw3Y3RsU3AycGN0SHdZclphZ2xJUGR2TnE1LzJyL2dZbTlUd2IreDllQlBkOVhK
VkhJU21KL3FyUDFtdXJPR1J3QmdPWk4yVjVWRnAreTFhQmZHZjUweXNWUUFhM3dIWUxFQXN0TDFz
dHVSTHFjcjhxWDE4aW1aN0tpVkJ6MFhYeGo2alovdk54bjg2eHNIUC9rSVVDZFRuWFh4NmM3YXYw
eDExUFJzOTE0RHJ4MlRUbEZ2MGlwbXpEcmxyRVduL01taVY4bG1DaURiYkpBRHVUWUpudHd2TjY3
K1RtYXUxeWREdm1ib3QzNng5eXo0OVM4Wi9OckZOVC9kVmZ2N3FjNjZrOXU5MThCcnhheGVQZjRy
NGhzVmdIUGg5d0J6clNsU1ZaUXRId1FxWlREaWw3dmRqVnM3N2JjWS9KbXRCMSttT21zVGt4MjFU
NmE2YWtlMmU2K0IxNDVKdTZ2S3BGUDJtclRLeDJidHMvRi84VnVBTHlxQTNmWTBPVjJlTHkyWFRz
cEVlNDNjZjhHei9UWUVYeVk3YW1XeW95WSsxVkh6L1ZSblhmTjI3elh3MmxrYS83WEtXWXRXK1pO
RnA1VE5GRUMyeVNEN1hWWUpuTmduWFIrK0pkTmRkWnMrN1grZDROZktaRWVOVEhiVXpFOTIxRHlh
NVBJUFdDbE5yYkNZdGNueDM2VGQ5WU5acDRoYmRLcU5DMkJoL0s4c3pKTDMvWWRsSU95VE96Y2F0
dnd4M3NZMytyOG8rRExaRVVwTXROYzhtZWhnL0FlZVkxTHZxakpwbGIwbWplS3hXYXY0MGF4Vkps
WVh3RnB2QW1hbTZTVGZuaWJWWlhrU2VmdWtqTVZDY3JkN0V5UCtlcWY5bG9KZnUySHdKenBxWktL
OVJzYmJRL0hKOXREM2s1MDFqUC9BYWlhTm90NmtTWTcvWnEzaUo3Tk9LWXNYZ0M4cWdDeVRRZmJs
V01WL2ZKOTBmbkJXSmp0clY0ejNXem50bjd2UnYvNTg2TGNhL0djck5EL1JIbm8wMmM3NEQ2eVFw
bFpZVEZwRnhLUlZMSTMvS3d2ZytSZUI3Q25KM3dGd1dWTGtjR0dXdk9jL0xQM05YcG01WHYvTFQv
dE5Cbjl5RThFZlQ0WS9NUjRMUFJsdkR6SCtBNnVaTllwS2szWlhiL3JDK0cvU0toS2JMWUM4akRR
NVZaWW40WXNuWkxRdEtIZHViQzcwbXgzemYwbnd4OXRETWg0THlWZ3NGQitQQmI4ZmIyZjhCNTZU
cmxIVXAyc1YweWFOWW1uODMwd0JaS1hyWlYrMlJYekg5MG5IKzJkbG9xTW1XUUN2NExSLytlQ0hs
b0svRUg0Wmp3WG54MlBCUjJQdFFjWi9ZRG1UUnBtYXJsWTBtVFM3dmtyVEtQNXEwaXArTnV1VVl0
bWdBQnlwV25GWmpIS29JRk91ZUE5Slg1TkhwcnZxTmgzNnpaNzJ2eVQ0QytGUGpMWUZuNHpIZ296
L3dHb216YTdkNlpwZE1aTkc4WTFKbzNoaTFpNDgvMitpQVBJeVV1VmtxVnVhR2svSVNEUW9NOWRm
M1dtL012ZzFXdzcrV0N3a1kyMUJHVzBMeGtmYmd0K1B4VUtNLzhCcWFacGR1OVBVaWlhVFJ2R1ZT
YXY0eTlJbkFCc1VRR2E2WG9xeUxlSTlWaVR0NzUyUjhmYlFxc0MvNHROK2k4RWZhd3ZLYURRb0k5
SEEvR2hiOEp1eEtPTS84QnlUNWw5VDA5U0tRTHBHTVdUU0t2N1RyRlU4TmV1VWllVUZZRnYxWXlD
T1ZLM2ttSlBqLzd2ZWc5Sjd6U05UbmJXdjZMUi9CY0ZmV0NQUlFId2tHdmpMU0RUQW0zL0FldExW
eWp5VFJ2bU9TYXVZTk9zVTM1cDF5bjlzVkFCdVc2cWNMTTJWYXczSFpiZzFJTk5kcithMFgvc3ov
SzBGZnpRYWxORm9JSG42UndPL0gya0w4dVlmOENJbXphNUNrMjdYZTJhdGNzcWlVOGJYTFlBVWpX
U202NlF3eXl6ZVk0VVN1M0pheG1LaHRVUC9pMC83bWhXaFh4SDh0dldDSDVTUmFFQkdvNEhFU0t2
L3lXaHJnTXMvWURQU2Rjb2lzMWJ4dmtXbmZHclJLK05yRllBOVJTdlpab01jM091VWR6d0g1ZmEx
Q3pMUlVmTlBQZTNIMXpqdDF3dis0aHB1RGNSSG9vSHZSNklCTHYrQXpUTHJsRVZtbmZLaFJhZDhh
bDN6NThDMDRyYWx5SW1TWExuV2NFeUdXdjB5MlZrclUxM1BoLzZsVHZzTmdqKzZRZkJIV2dNeTNC
cVE0VmIvL0hCcjRORkkxTS9sSDdBVkZyMHFZTkdySGxyMXFxYzJneXErL0UxQVo1cE9Dck5NNGps
YUlHMVhUc3RvVy9DZmQ5cS9WUEFETXR6cVR3eTMrSjhNTS80REwyWG5paEl3cXVJMm8xcnNLUnJK
Tmhta1lxOURMbCtva0Z1Zm5KZng5cHBub1YvdmMvdXRudmF4TmNiOFRRVS9JTU90ZmhscThjZUhX
L3pmRDBjREY3WjdJNEhmcXAwMnZTcGcwNnNlMmd6cXB4bEdUZHllb3BGY2E0b2NMM0hKcC9WSFpU
RGlrNG1PelkzNEwzM2FiKzdFWHd6K3d2TE5EN2NFYm8yMEJqSzNleE9CMzdLZE5xTTZZRE9vSDJZ
WTFVK2RhYnA0UWFaSkxoelpLOUYzcTJVa0dwQ0pEVS83MEtzNzdUY012bCtHV255SndZanZ5VkJM
NEozdDNqemdUYkRUWmxRSE1veWFoOWxtL2RPS1BjNzRwZlBsMHZQeE9SbUxoWDZkMDM1VHdWOVlF
Vjk4c01VL05SRG04Zzk0VlhiYVU3VUJsOFg0OEVTSjYra245VWQrSGdoN0V1UHRvVmR6MnJkdEp2
UXZEdjVneExld3ZIOGNpSGc3aGxvQ2x1M2VOT0JOc3ROdFN3MzRqeGM5YkgybmVuYW94VGMzM2g2
YUg0dUY0dVB0d2NSNDhuL3UvUk5PKzgwRzN5ZERFZC8vRElSOTl3YkN2c2J0M2l6Z1RiVHphcWd5
MFBQeHVmQklOQkFiYnc4OUdvK0Zac2Rqb2JueDl0RGNhQ3c0UDlvV2pJL0Znb214V0NBeCtncE8r
K0cxeHZ4VndSK00rR1F3N1AxeE1PeDdQQmoyOWZaSHZGWGJ2VkhBbTJybjRwcnNyS2tkNndpRlI5
dERzZkgybXRoSUxQUm9yQzA0TzlZV21odU5oZVpHMndMekk5RmdmTFF0a0JpTkJoTFBoZjRYblBh
TGF5RGlrNEd3VHdiQzN2OGRhUFkrSElqNFB1cHY5akwrQTcrQ25jdlhlSHRON1dnc0dCNk5oV0tq
c1ZCc0pCcDhOQm9Oem81RUEzTUxhMzY0TlJBZmFmVW5ocFByNVU3N2xjR1hnYkQzN3dOaHo1Lzdt
NzBqQTJIUG1XM2VFK0QvclpXRjBCYXNIVzRMaGtlaWdkaElMQlFiYmcwOEdtNE56QTYzK09lR1cv
eHpRNjMrK2FFV2YzeW94WmRJcm1XaGIzays5SU5Mb1Y4S3Z2UTNlK01EemQ0ZitwczkvOUVmOXJZ
TlJIeU9iZDREQUF0V0ZNSm9XN0IydURVWUhvb0dZa1BSUUd5b3hmOW9xTVUzT3hUeHpRMUZmSE5E
TGI3NW9ZZ3ZQaGp4SnBaV2VPM2dKOFB2U2ZRM2VYOGFDSHRuKzV1OU0zM05YUDRCcjdNVmhURGNH
cWdkYnZXSEIxdjlzY0ZXZjJ3dzRuODBHUEhORG9hOWM0TVIzOXhnMkRzM0VQYk9ENFM5OFlHd0p6
RVE5aVQ2bTczUzMreVZ2bWJQZkgrelo3NnZ5Zk8wdjluN3A3NW1iMjkvTTVkL3dHL0pjNFV3MU9J
UDkwZjhzY0dJUDlZZjhjY0d3cjVIQTJIdjdFQ3pkMjZnMlR2WGx3eDl2Sy9aODIxL3MrZS8rcG84
My9ZM2VUN3JhL1kwY2ZrSC9MYnRYTDJHV255MUEyRmZ1Qy9zamZXSHZiSCtacytqdnJEM1ptK1Ra
NmkzeVRQVzEreVo3R3Z5WE85cjl2aTM5MDhIOE0rd29oQjZtN3hsdDY5NVR3NkVmZWNHdzE1ZmY1
UG5uYjVtVDZEMzJvVUQyL3gzQXZnVjdkeXhZOGZPZ1NhdnU3L0prOVYzemF2ZTdqOElBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUlDVi9nOXRQSkVRdTFYdm1RQUFBQUJKUlU1RXJrSmdnZz09Ij4KKzxpbWcg
aWQ9ImkyIiBzcmM9Imh0dHA6Ly9tYXNoYWJsZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMDgv
MDgvdGh1bmRlcmJpcmQtbG9nby02NHg2NC5wbmciPgorCis8L2JvZHk+PC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZmNTM2MWQzNTJi
ZGRmY2ZiOWZmZTQ5Y2MyZWYwNjBmMDFiODU1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxMTAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
dHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3Rh
cnRVbml0ID0gZnVuY3Rpb24gKCkgeworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChj
YW52YXMpKTsKKyAgICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihn
bCkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1
cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFy
ZG93biA9IGZ1bmN0aW9uKGdsLHRleCkgeworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVf
MkQsIG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30KKworVGVzdHMudGVzdFRl
eEltYWdlMkQgPSBmdW5jdGlvbihnbCkgeworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgZ2wuUkdCQSwgMiwyLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhB
cnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pKTsKKyAgICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAyLDEs
Z2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAg
ICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm5vdCBl
bm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwwLCAwLCAxLDIsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhB
cnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZB
TElEX0VOVU0sICJiYWQgdGFyZ2V0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1h
Z2UyRChnbC5GTE9BVCwgMCwgMCwwLCAxLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcg
VWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBn
bC5JTlZBTElEX1ZBTFVFLCAid2lkdGggb3V0IG9mIHJhbmdlIiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLDAsIDAsIDMsMSxnbC5SR0JBLGds
LlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0p
KTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiaGVp
Z2h0IG91dCBvZiByYW5nZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAxLDMsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcg
VWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNz
ZXJ0T2soInplcm8gc2l6ZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAwLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcg
VWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRTb21lR0xFcnJvcihn
bCwgIm5lZ2F0aXZlIHdpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLDAsIDAsIC0xLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBu
ZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRTb21lR0xFcnJv
cihnbCwgIm5lZ2F0aXZlIGhlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1Yklt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAxLC0xLGdsLlJHQkEsZ2wuVU5TSUdORURfQllU
RSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIHgiLCBmdW5jdGlvbigpeworICAgICAg
ICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsLTEsMSwxLDEsZ2wuUkdCQSxnbC5V
TlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgeSIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwxLC0xLDEsMSxn
bC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAg
IH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCBmb3JtYXQi
LCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IDAsMCwgMSwxLGdsLkZMT0FULGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAs
MCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwg
ImJhZCB0eXBlIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLDAsIDEsMSxnbC5SR0JBLGdsLlRFWFRVUkVfMkQsIG5ldyBVaW50OEFycmF5
KFswLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRhIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4
U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVE
X0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvcm1hdCBkb2VzIG5vdCBtYXRjaCBpbnRl
cm5hbCBmb3JtYXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIDAsMCwgMSwxLGdsLlJHQixnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhB
cnJheShbMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJ0eXBlIGRvZXMgbm90IG1hdGNoIG9yaWdpbmFsIiwgZnVuY3Rpb24oKXsK
KyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxnbC5S
R0JBLGdsLlVOU0lHTkVEX1NIT1JUXzRfNF80XzQsIG5ldyBVaW50MTZBcnJheShbMF0pKTsKKyAg
ICB9KTsKK30KKworCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3Jp
cHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+
PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4K
KzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJE
SFRNTC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMjg0ZmQ4NDdjMjNjNGM3OTFhZmMxM2I4OTU0Zjk1MmYxN2JjODRiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbApAQCAtMCwwICsx
LDE2NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0
aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
PgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBnbCA9IHdyYXBHTENvbnRleHQo
Z2V0R0xDb250ZXh0KGNhbnZhcykpOworICAgIGdsLnZpZXdwb3J0KDAsMCxjYW52YXMud2lkdGgs
Y2FudmFzLmhlaWdodCk7CisgICAgZ2wuY2xlYXJDb2xvcigwLDAsMSwxKTsKKyAgICBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgZ2wuZGlz
YWJsZShnbC5ERVBUSF9URVNUKTsKKyAgICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMuc2V0dXAg
PSBmdW5jdGlvbihnbCkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAg
Z2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICB2YXIgdGV4Q3ViZU1hcCA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVf
TUFQLCB0ZXhDdWJlTWFwKTsKKyAgICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9
IGZ1bmN0aW9uKGdsLCB0ZXgsIHRleEN1YmVNYXApIHsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5U
RVhUVVJFXzJELCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleCk7CisgICAgZ2wuYmlu
ZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVy
ZSh0ZXhDdWJlTWFwKTsKK30KKworVGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihnbCkg
eworICAgIGdsLmVuYWJsZShnbC5CTEVORCk7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpJyk7CisgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycp
OworICAgIHZhciBjdHggPSBjLmdldENvbnRleHQoJzJkJyk7CisgICAgY3R4LmRyYXdJbWFnZShp
bWcsMCwwKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7CisgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpOworICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNM
QU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVY
VFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wu
VEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5F
QVIpOworICAgIHZhciBmID0gbmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcsICdp
ZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuYmxlbmRGdW5jKGdsLk9ORSwgZ2wuWkVSTyk7CisgICAg
Zi5hcHBseSgpOworICAgIGYuZGVzdHJveSgpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgZ2wu
dGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLCBjKTsKKyAgICBmID0gbmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5LWhmbGlwLXZlcnQn
LCAnaWRlbnRpdHktZnJhZycpOworICAgIGdsLmJsZW5kRnVuYyhnbC5TUkNfQUxQSEEsIGdsLk9O
RV9NSU5VU19TUkNfQUxQSEEpOworICAgIGYuYXBwbHkoKTsKKyAgICBmLmRlc3Ryb3koKTsKKyAg
ICB2YXIgdmFsaWRfdGFyZ2V0cyA9IFsKKyAgICAgICAgZ2wuVEVYVFVSRV8yRCwKKyAgICAgICAg
Z2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVf
TUFQX05FR0FUSVZFX1gsCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwK
KyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAgICAgICBnbC5URVhU
VVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVH
QVRJVkVfWgorICAgIF07CisgICAgdmFsaWRfdGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsK
KyAgICAgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAgICBnbC50ZXhJbWFn
ZTJEKHQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpOworICAgICAg
ICAgICAgICAgIGdsLnRleFN1YkltYWdlMkQodCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgYyk7CisgICAgICAgIH0pOworICAgICAgICBhc3NlcnRPayhmdW5jdGlvbigpewor
ICAgICAgICAgICAgICAgIGdsLnRleEltYWdlMkQodCwgMSwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgYyk7CisgICAgICAgICAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRCh0LCAx
LCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTsKKyAgICAgICAgfSk7CisgICAg
fSk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJETm9uU09QID0gZnVuY3Rpb24oZ2wpIHsKKyAg
ICB2YXIgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2kyJyk7CisgICAgd2hpbGUgKCFp
bWcuY29tcGxldGUpIHt9CisgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycp
OworICAgIHZhciBjdHggPSBjLmdldENvbnRleHQoJzJkJyk7CisgICAgY3R4LmRyYXdJbWFnZShp
bWcsMCwwKTsKKyAgICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgInRleEltYWdlMkQgd2l0aCBj
cm9zcy1vcmlnaW4gaW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rp
b24oKXtnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIGltZyk7fSk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0
ZXhTdWJJbWFnZTJEIHdpdGggY3Jvc3Mtb3JpZ2luIGltYWdlIHNob3VsZCB0aHJvdyBleGNlcHRp
b24uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCAwLDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7fSk7CisgICAgYXNzZXJ0VGhy
b3dOb0dMRXJyb3IoZ2wsICJ0ZXhJbWFnZTJEIHdpdGggZGlydHkgb3JpZ2luIGNhbnZhcyBzaG91
bGQgdGhyb3cgZXhjZXB0aW9uLiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7fSk7
CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhTdWJJbWFnZTJEIHdpdGggZGlydHkg
b3JpZ2luIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIsCisgICAgICBmdW5jdGlvbigp
e2dsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBjKTt9KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZmxpcC12ZXJ0IiB0eXBlPSJ4LXNo
YWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMiBU
ZXg7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHRleENv
b3JkMCA9IHZlYzQoVGV4LnMsIDEuMC1UZXgudCwgMC4wLCAwLjApOworICAgIGdsX1Bvc2l0aW9u
ID0gdmVjNChWZXJ0ZXgsIDEuMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5
LWhmbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZl
cnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3Zv
aWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQwID0gdmVjNCgxLjAtVGV4LnMsIFRleC50LCAwLjAs
IDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRleCwgMS4wKTsKK30KKzwvc2NyaXB0
PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSBzYW1wbGVyMkQgVGV4dHVyZTsK
KwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBjID0g
dGV4dHVyZTJEKFRleHR1cmUsIHRleENvb3JkMC5zdCk7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsK
K30KKzwvc2NyaXB0PgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIyNTYi
IGhlaWdodD0iMjU2Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImMiIHdpZHRoPSIyNTYiIGhlaWdo
dD0iMjU2Ij48L2NhbnZhcz4KKzxpbWcgaWQ9ImkiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiAg
c3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFB
RUFDQVlBQUFCY2NxaG1BQUFUVkVsRVFWUjRuTzNkK1ZQVWQ1N0hjZjJiOWs5WSt6NDQrcUs3T1pv
R0ZWQTVWZkJHemFoOWN4cE56R0VPb1J1YTVsQkV1ZS9ESzRmWjdNYXBtU20zTWxzaHU4eE9kQ3BE
SnQzdi9hRUJBVUhBT01HNHowZlY1M2ZxVS9WNmZkN2ZUL2UzMmJFREFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBd092QmthcjdsKzMrR3dCc2s4eFVyVDByVGI4dngyUTQ1amFubHU3WXNXUG5zZ1hnVGVZ
d2FrODVVM1h2NVppTTMrWGJVaC9sMmRJQ0JjNjA4MFdaMXVyOTJiYVNIUlFCOEdheUdkVVd1MUh6
b1NORk8rWk0xZjJjYlRMTTUxbFQ1d29jNXJrRE9iYlovVm0yU0VtMjNWdnN5amhWNW5KUUJzQ2J4
R1pRVnRtTjZwNE1vL1lQZHFOR0hLbGF5VXJYSjl6V2xFU2gweEl2enNtWUwzSFo1NHB6TW02VnVS
eVJNcGZUVytweVVBYkFtOEJtVk5WbkdOVFRkcVA2dnpPTUdyR25hTVNacXBOc2sxN3liS2xTNkRU
TC9peGJvdFJsajVmbE91YkwzSTY1TXBmalZybmJFYWxZS0lOU2wzMzV2UUdBM3dLYlVXMnhHZFdS
REtQNjZ3eWpXaFlMd0pHaUZXZWFUckpOQm5GYlUyU1AzU1Q3czZ4U21tdVhjcmN6VWU1MnhzdHpI
ZlBsYnNkY3VkdDVxeXpYM2xLV2x4a3N6WEdlSzhteG55ekp5U2plUVJrQXJ6ZWJRVmxsTTZwN2JV
YjE0OVVGNEVqVlNtYWFUckxTOWVLeXBNZ2VlN29jeUxaSm1kc2hGWG1aVXBIblhGRUdCL096SnNy
ZGpxRXl0L05tV2E0OVhKYnQ5SmE2TWs0VnU3aEVCRjVMTnIycTNtWlF6OWdNNnU5WEZFQnFzZ0Nj
YVRySlhKZ0VjaTBwc3RkaGt2M1pOaW5OVFpiQW9md3NPWlNmSlFmek1xVTh6NWtvZHpzU1pibU9l
SVhiK1hXNTJ6RmE1bkxjS25QWkkyVUxsNGpGZktJQXZCN01PclhGWmxCSGJBYjExemFqK2ttR1Vi
TnVBV1NtNjVkS1lIZEdtaFJsV3FROHp5RkhDbkxrK0w1Y09WNlVLMGNLWFZLNUoxc081bWRLaGRz
cFphdktvRFRYMFZQaWNpVExJSHRGR1ZBSXdLL05ZbEJXMmZUcVhwdEIvZGhtU0o3K0x5cUFySFM5
NUppVEpWRGdORWxsUVpaNEtndWxycnBVNnF0TEpYQnN2NXd0M3lNbjlydmxhSUZMRGk4dmcxeEg0
bUIrNXArV2wwRnBqcjJsSk1jUkxNNnlueXZPempoeElJdDdBK0JYWTlHcjZxMEw0LzlTQWFSb3hM
N3cvTDlXQVdTYkRKSnJUWkZpZDRaNGp4WkpVLzF4dWZIaE9lbStlazZpbDAvTEI3NHFhVHhUSm9H
aisrVnMyUjQ1dmo5WGpoVGt5T0hkQzQ4SkMyVndhSGZtbnlyY3puK3ZjRHNteW5MdFF5VTVHVGVM
Y3pMQ3BUazJUM0dXN1ZoeFZzYWU3ZDRmNEkxbDFxa3RWb002WWpPb3ZyWWExRDhzRm9COVdRRTQx
NWtBOHUxcGN2UkFqbndVT2lMRExRRzUxOTBvOTI0MnlsUkhuUXlHL1hMejZubUpYcXFXRDN5VjBu
QzZWUHhIOThuWnN0MXlmRit1SEMxMFNkWGViRG1Vbnl5RHFvTHM3dzdsWjM1YjduYjhzY3h0Lzdk
U2wzMmtKQ2VqcXlRbjQwcEpUa2JaRGlZQzROV3phSlZWVnIycTEyWlFQYllhMUg5ZnV3QjBTd1dR
bGE2WExGT3lBQW95VGZMVzRUM1NmdVdNM0wzUklBLzdMOHZEL3N2eVplOGwrZXpXMjNLdnUxRW1P
MnBsb05rbjNWZlBTZXZiMWZLK3QxSWF6NVJKN2NsaThSMHBrdE9sK1hLc0tGa0dCeGZLb0hKdjFs
OFA1bWYrdVNMUDhmdnlYTWRNbWRzUktYYzVxb3RkR1FYYnZWL0FHOFdpVjlWYjlhb1pxMTQxYXpP
b3hXYmNYQUhrV2xPa0pDOURhazhYeTYxUEw4aURub3RMQmJCVUJIMlg1WXZibCtSQnowVzVlNk5C
SnRwcnBML1pKemMvT2kvWFAzaExXaTZla3ZjOGg2V3V1a1M4VmMvS1lQRUM4V2hoenBPcWd1enZL
dmRtZlhWNGQyYjN3ZnpNOXcvbFpURU5BSytDV2Fld1dIV3FpRTJ2K3RxcVYvMncyUUxJTmhra1Ay
TmgvSzg5SW1OdElmbWk5OUt6OFBjbDE1ZEw2NUo4MFh0SlByLzF0dHkvMlNoM3V4dmt6dlY2R1kr
RnBPK2FWNjUvOER1SlhEd3BWenlIcE83VVFobVU1TXZSSXBkVTdjMlJRN3V6NU1SKzl4K09GYm51
SGkzTWlWUVZ1S29QNzg0dTJ1NzlBMzdUTEZwbGxWV242clhxVlkrdGV0V1BHeGJBc2d2QXZVNlR2
SFZvdDhTdW5KWTdOK3JseTc2MWcvOWxiM0o5c1d4OWZ2dVNmSDc3YlhuUWMxSHVkVGZJVEZlZGpM
V0ZwUGVhUjdvK2VFdkNqU2ZseW9WRFVsZGRLc0hqQitUQzRVSTVWWnduVlFVNWliY3E5bngxdWpT
LzU4UUI5OVhxWW5mNURxWUI0T1ZZZE0vR2Y2dGU5WS9rOC8vR0JlQ3lHS1hFblNFMTFRZWs1NVB6
Y3Y5bTQ4clFyeFA4TDI1ZmtpOXV2eTJmcjFxZjNicVluQXh1Tk1oMFo1Mk1SSU55KzFPUFhQL3dk
OUorNVl3MDE1K1FkODRmbEpxVHhYTGhjSUdjTE03NytVaEJ6dDh1VkJhMm5xdmNlL1pzeFo2eTdk
NUw0RGRsY2Z5MzZGVmZXL1NxSDZ3R2xhd3VnTVd2QVR2VGxoV0F5U0I1R2FseWRIK09mRlJ6UkVh
alFmbjgxdHZyaC82RndWOWNGK1d6V3hmbHdhMkxjci9ub3R6cmJwU1o2L1V5MVZVbmt4MjFNdHdT
a0o1UExrakhlMmVscWY2NFhENTNVRUluRGlRdUhDNllyeTdPbXoxVzVIclkrRmJGNFIxTUE4RG1X
TFRLS3N1eThkOXFVTCt3QUpaL0MzQ1BNMTNPSHR3dGJlK2VsdW5yOWZMRnVzRi9QdlNmMzFvNytB
OTZucTM3UFJmbGZrK2ozTCtaL0ZqeDdvMEdtZTZxazRuMkdobHE4VXZQeCtlbC9jb1p1VlozWEM2
ZnEvaTU3bFR4MzJwT0huZ1VPbFVjL2pSNGxFdENZQ01XbmFyZW9sZk5XUFNxV2F0QjlkT2FCYkRH
bDRCY0ZxTVV1MjBTT25WQWJuNThUdTUyTjI3cXRQOThnOUEvV0F6OVF2QVgxNzNGRXVodWtMdmRE
Y25Kb0xOV3htTTFNaGp4eTgyUHprbm4rMmNTc1hkUHo0Y2JUOHgrR0toOCtGSHdTTzBPU2dCWW0x
bW5zSmgxcW9oRnIxd1kvNVh4WndXdy90ZUFzOUtUdnd0d1pIKzJYQTFWeVhCclVCNzBYRnovdEY5
bnpOOUs4TzkxTjhpOWhmQXZyanMzR3VUT2pYcVpYbmhFR0crdmtkRm9VQWJEL3A5N1BqNy90NTZy
NTcvcHUrYjVwT1hkNnFQYnZkZkFhOGVpM1ZWbDBhbDZMWHJsWTR0TythTkZyMHBzdGdEMk9OTGx6
TUhkRW4ybldxWTY2K1N6bHh6ekh5d2I4NThML1RyQnYzdmpXZmdYMTh6MTVKcnVxcE9wemxxWmFB
OGx4bUtodjQ5R2czL29EL3MrM3U2OUJsNDdGcDJpM3FKVnpWaDB5bG1yVHZtVFZaKzhBRno1SHNE
ekJaQmpOa3B4cmsyQ3B3NUk5MGZuNU02TmhoZWU5bHNPZnZmbWczL24rclB3ejF5dms1bXVPcGxl
V0pNZHRmSEpqcHJ2Smp0cUtBQmd1ZVQ0cjRpWWRjcXZ6YnBkUDFqMHl2anFBckN2OVNKUXVsN2N0
bFNwMnBjdEh3WXJaYWdsSVBkdk5xNS8yci9nWW05VHdiK3g5ZUJQZDlYSlZISVNtSi9xclAxbXVy
T0dSd0JnT1pOMlY1VkZwK3kxYUJmR2Y1MHlzVlFBYTN3SFlMRUFzdEwxc3R1UkxxY3I4cVgxOGlt
WjdLaVZCejBYWHhqNmpaL3ZOeG44NnhzSFAva0lVQ2RUblhYeDZjN2F2MHgxMVBSczkxNERyeDJU
VGxGdjBpcG16RHJsckVXbi9NbWlWOGxtQ2lEYmJKQUR1VFlKbnR3dk42NytUbWF1MXlkRHZtYm90
MzZ4OXl6NDlTOFovTnJGTlQvZFZmdjdxYzY2azl1OTE4QnJ4YXhlUGY0cjRoc1ZnSFBoOXdCenJT
bFNWWlF0SHdRcVpURGlsN3ZkalZzNzdiY1kvSm10QjErbU9tc1RreDIxVDZhNmFrZTJlNitCMTQ1
SnU2dktwRlAybXJUS3gyYnRzL0YvOFZ1QUx5cUEzZlkwT1YyZUx5MlhUc3BFZTQzY2Y4R3ovVFlF
WHlZN2FtV3lveVkrMVZIei9WUm5YZk4yN3pYdzJsa2EvN1hLV1l0VytaTkZwNVRORkVDMnlTRDdY
VllKbk5nblhSKytKZE5kZFpzKzdYK2Q0TmZLWkVlTlRIYlV6RTkyMUR5YTVQSVBXQ2xOcmJDWXRj
bngzNlRkOVlOWnA0aGJkS3FOQzJCaC9LOHN6SkwzL1lkbElPeVRPemNhdHZ3eDNzWTMrcjhvK0RM
WkVVcE10TmM4bWVoZy9BZWVZMUx2cWpKcGxiMG1qZUt4V2F2NDBheFZKbFlYd0ZwdkFtYW02U1Rm
bmliVlpYa1NlZnVrak1WQ2NyZDdFeVArZXFmOWxvSmZ1Mkh3SnpwcVpLSzlSc2JiUS9ISjl0RDNr
NTAxalAvQWFpYU5vdDZrU1k3L1pxM2lKN05PS1lzWGdDOHFnQ3lUUWZibFdNVi9mSjkwZm5CV0pq
dHJWNHozV3pudG43dlJ2LzU4NkxjYS9HY3JORC9SSG5vMDJjNzRENnlRcGxaWVRGcEZ4S1JWTEkz
L0t3dmcrUmVCN0NuSjN3RndXVkxrY0dHV3ZPYy9MUDNOWHBtNVh2L0xUL3ROQm45eUU4RWZUNFkv
TVI0TFBSbHZEekgrQTZ1Wk5ZcEtrM1pYYi9yQytHL1NLaEtiTFlDOGpEUTVWWlluNFlzblpMUXRL
SGR1YkM3MG14M3pmMG53eDl0RE1oNEx5VmdzRkIrUEJiOGZiMmY4QjU2VHJsSFVwMnNWMHlhTllt
bjgzMHdCWktYclpWKzJSWHpIOTBuSCsyZGxvcU1tV1FDdjRMUi8rZUNIbG9LL0VINFpqd1hueDJQ
QlIyUHRRY1ovWURtVFJwbWFybFkwbVRTN3ZrclRLUDVxMGlwK051dVVZdG1nQUJ5cFduRlpqSEtv
SUZPdWVBOUpYNU5IcHJ2cU5oMzZ6WjcydnlUNEMrRlBqTFlGbjR6SGdvei93R29temE3ZDZacGRN
Wk5HOFkxSm8zaGkxaTQ4LzIraUFQSXlVdVZrcVZ1YUdrL0lTRFFvTTlkZjNXbS9NdmcxV3c3K1dD
d2tZMjFCR1cwTHhrZmJndCtQeFVLTS84QnFhWnBkdTlQVWlpYVRSdkdWU2F2NHk5SW5BQnNVUUdh
NlhvcXlMZUk5VmlUdDc1MlI4ZmJRcXNDLzR0TitpOEVmYXd2S2FEUW9JOUhBL0doYjhKdXhLT00v
OEJ5VDVsOVQwOVNLUUxwR01XVFNLdjdUckZVOE5ldVVpZVVGWUZ2MVl5Q09WSzNrbUpQai83dmVn
OUo3elNOVG5iV3Y2TFIvQmNGZldDUFJRSHdrR3ZqTFNEVEFtMy9BZXRMVnlqeVRSdm1PU2F1WU5P
c1UzNXAxeW45c1ZBQnVXNnFjTE0yVmF3M0haYmcxSU5OZHIrYTBYL3N6L0swRmZ6UWFsTkZvSUhu
NlJ3Ty9IMmtMOHVZZjhDSW16YTVDazI3WGUyYXRjc3FpVThiWExZQVVqV1NtNjZRd3l5emVZNFVT
dTNKYXhtS2h0VVAvaTAvN21oV2hYeEg4dHZXQ0g1U1JhRUJHbzRIRVNLdi95V2hyZ01zL1lEUFNk
Y29pczFieHZrV25mR3JSSytOckZZQTlSU3ZaWm9NYzNPdVVkendINWZhMUN6TFJVZk5QUGUzSDF6
anQxd3YrNGhwdURjUkhvb0h2UjZJQkx2K0F6VExybEVWbW5mS2hSYWQ4YWwzejU4QzA0cmFseUlt
U1hMbldjRXlHV3YweTJWa3JVMTNQaC82bFR2c05nais2UWZCSFdnTXkzQnFRNFZiLy9IQnI0TkZJ
MU0vbEg3QVZGcjBxWU5HckhscjFxcWMyZ3lxKy9FMUFaNXBPQ3JOTTRqbGFJRzFYVHN0b1cvQ2Zk
OXEvVlBBRE10enFUd3kzK0o4TU0vNERMMlhuaWhJd3F1STJvMXJzS1JySk5obWtZcTlETGwrb2tG
dWZuSmZ4OXBwbm9WL3ZjL3V0bnZheE5jYjhUUVUvSU1PdGZobHE4Y2VIVy96ZkQwY0RGN1o3STRI
ZnFwMDJ2U3BnMDZzZTJnenFweGxHVGR5ZW9wRmNhNG9jTDNISnAvVkhaVERpazRtT3pZMzRMMzNh
Yis3RVh3eit3dkxORDdjRWJvMjBCakszZXhPQjM3S2ROcU02WURPb0gyWVkxVStkYWJwNFFhWkpM
aHpaSzlGM3EyVWtHcENKRFUvNzBLczc3VGNNdmwrR1dueUp3WWp2eVZCTDRKM3QzanpnVGJEVFps
UUhNb3lhaDlsbS9kT0tQYzc0cGZQbDB2UHhPUm1MaFg2ZDAzNVR3VjlZRVY5OHNNVS9OUkRtOGc5
NFZYYmFVN1VCbDhYNDhFU0o2K2tuOVVkK0hnaDdFdVB0b1ZkejJyZHRKdlF2RHY1Z3hMZXd2SDhj
aUhnN2hsb0NsdTNlTk9CTnN0TnRTdzM0anhjOWJIMm5lbmFveFRjMzNoNmFINHVGNHVQdHdjUjQ4
bi91L1JOTys4MEczeWRERWQvL0RJUjk5d2JDdnNidDNpemdUYlR6YXFneTBQUHh1ZkJJTkJBYmJ3
ODlHbytGWnNkam9ibng5dERjYUN3NFA5b1dqSS9GZ29teFdDQXgrZ3BPKytHMXh2eFZ3UitNK0dR
dzdQMXhNT3g3UEJqMjlmWkh2RlhidlZIQW0ycm40cHJzcktrZDZ3aUZSOXREc2ZIMm10aElMUFJv
ckMwNE85WVdtaHVOaGVaRzJ3THpJOUZnZkxRdGtCaU5CaExQaGY0WG5QYUxheURpazRHd1R3YkMz
djhkYVBZK0hJajRQdXB2OWpMK0E3K0NuY3ZYZUh0TjdXZ3NHQjZOaFdLanNWQnNKQnA4TkJvTnpv
NUVBM01MYTM2NE5SQWZhZlVuaHBQcjVVNzdsY0dYZ2JEMzd3Tmh6NS83bTcwakEySFBtVzNlRStE
L3JaV0YwQmFzSFc0TGhrZWlnZGhJTEJRYmJnMDhHbTROekE2MytPZUdXL3h6UTYzKythRVdmM3lv
eFpkSXJtV2hiM2srOUlOTG9WOEt2dlEzZStNRHpkNGYrcHM5LzlFZjlyWU5SSHlPYmQ0REFBdFdG
TUpvVzdCMnVEVVlIb29HWWtQUlFHeW94ZjlvcU1VM094VHh6UTFGZkhORExiNzVvWWd2UGhqeEpw
WldlTzNnSjhQdlNmUTNlWDhhQ0h0bis1dTlNMzNOWFA0QnI3TVZoVERjR3FnZGJ2V0hCMXY5c2NG
V2Yyd3c0bjgwR1BITkRvYTljNE1SMzl4ZzJEczNFUGJPRDRTOThZR3dKekVROWlUNm03M1MzK3lW
dm1iUGZIK3paNzZ2eWZPMHY5bjdwNzVtYjI5L001ZC93Ry9KYzRVdzFPSVA5MGY4c2NHSVA5WWY4
Y2NHd3I1SEEySHY3RUN6ZDI2ZzJUdlhsd3g5dksvWjgyMS9zK2UvK3BvODMvWTNlVDdyYS9ZMGNm
a0gvTGJ0WEwyR1dueTFBMkZmdUMvc2pmV0h2YkgrWnMranZyRDNabStUWjZpM3lUUFcxK3laN0d2
eVhPOXI5dmkzOTA4SDhNK3dvaEI2bTd4bHQ2OTVUdzZFZmVjR3cxNWZmNVBubmI1bVQ2RDMyb1VE
Mi94M0F2Z1Y3ZHl4WThmT2dTYXZ1Ny9KazlWM3phdmU3ajhJQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJ
Q1YvZzl0UEpFUXUxWHZtUUFBQUFCSlJVNUVya0pnZ2c9PSI+Cis8aW1nIGlkPSJpMiIgc3JjPSJo
dHRwOi8vbWFzaGFibGUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA4LzA4L3RodW5kZXJiaXJk
LWxvZ28tNjR4NjQucG5nIj4KKworPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAw
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBlM2M1NjNkZTY1MzZhZTgyNGFkODFkYmMzNTcwMjA0MTI1NmYw
MDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1s
CkBAIC0wLDAgKzEsMTMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
R0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBhY29zXzAwMV90b18wMDYuaHRtbDwvdGl0bGU+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
b2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJl
eGFtcGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWln
aHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09w
ZW5HTEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJlZmVy
ZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFjb3NfZmxvYXRfZnJhZ194
dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAi
dGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFjb3NfZmxvYXRfZnJhZ194
dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX2Zsb2F0X2ZyYWdfeHZh
cnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJh
Y29zX3ZlYzJfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjog
bnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFj
b3NfdmVjMl9mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFjb3Nf
dmVjMl9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAiYWNvc192ZWMzX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVy
dGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICJhY29zX3ZlYzNfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bmFtZSI6ICJhY29zX3ZlYzNfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJu
IjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7
CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc19mbG9hdF92ZXJ0X3h2YXJ5X3JlZi52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIK
KyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhY29zX2Zsb2F0X3ZlcnRfeHZhcnkudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogImFjb3NfZmxvYXRfdmVydF94dmFyeS50ZXN0Lmh0bWwi
LCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJl
ZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc192ZWMyX3Zl
cnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAg
ICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFjb3NfdmVjMl92
ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX3ZlYzJfdmVydF94
dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisg
ICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiYWNvc192ZWMzX3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwi
OiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogImFjb3NfdmVjM192ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJh
Y29zX3ZlYzNfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBh
cmUiCisgICAgfQorICBdCit9KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAw
Ni5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
Y2Y3NTdlOWYwYTE4MGMxN2M2ZmZhNGUxNjJhNDY2NDQzNTc3ODk4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsxLDEzMCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9U
IEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5j
LgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29y
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRv
IGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoq
IHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn
ZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGll
cyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl
IE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k
IHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3Bp
ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUg
TUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiog
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBP
RiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBP
UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhF
UiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVz
dDogYXNpbl8wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3Mi
IC8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIg
aGVpZ2h0PSI1MDAiIHN0eWxlPSJ3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzwvYm9keT4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVu
KHsKKyAgInRlc3RzIjogWworICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJhc2luX2Zsb2F0X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJhc2luX2Zsb2F0X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm5hbWUiOiAiYXNpbl9mbG9hdF9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAg
ICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNl
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl92ZWMyX2ZyYWdfeHZhcnlf
cmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhc2luX3ZlYzJfZnJhZ194dmFyeS5m
cmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhc2luX3ZlYzJfZnJhZ194dmFyeS50ZXN0
Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAg
ICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVm
YXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFzaW5fdmVj
M19mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAK
KyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl92ZWMz
X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl92ZWMzX2Zy
YWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0s
IAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogImFzaW5fZmxvYXRfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiYXNpbl9mbG9hdF92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFt
ZSI6ICJhc2luX2Zsb2F0X3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogImFzaW5fdmVjMl92ZXJ0X3h2YXJ5X3JlZi52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsK
KyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhc2luX3ZlYzJfdmVydF94dmFyeS52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl92ZWMyX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVu
Y2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFzaW5fdmVjM192ZXJ0X3h2
YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0
ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhc2luX3ZlYzNfdmVydF94
dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl92ZWMzX3ZlcnRfeHZhcnku
dGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0
YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2ZlM2E0YThkNTcxNzJlZTM0ZTcw
NTcwZGQ4MTFmNjYwMDNmYzgyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRh
bl8wMDFfdG9fMDA4Lmh0bWwKQEAgLTAsMCArMSwxNTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEt
LSB0aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQuIERPIE5PVCBFRElULgorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIGNvbmZvcm1hbmNlIHRlc3Q6IGF0YW5fMDAxX3RvXzAwOC5o
dG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0i
d2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0Pgor
InVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAg
ICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
YXRhbl9mbG9hdF9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwi
OiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
YXRhbl9mbG9hdF9mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0
YW5fZmxvYXRfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBh
cmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiYXRhbl92ZWMyX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm5hbWUiOiAiYXRhbl92ZWMyX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0
dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFt
IjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzNfZnJhZ194dmFyeV9yZWYuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fdmVjM19mcmFnX3h2YXJ5LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fdmVjM19mcmFnX3h2YXJ5LnRlc3QuaHRtbCIs
IAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9mcmFn
X3h2YXJ5eXZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAor
ICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX2Zsb2F0
X2ZyYWdfeHZhcnl5dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX2Zs
b2F0X2ZyYWdfeHZhcnl5dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBh
cmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5eXZhcnlfcmVmLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzJfZnJhZ194dmFyeXl2YXJ5LmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5eXZhcnkudGVzdC5odG1s
IiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJy
ZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzNfZnJh
Z194dmFyeXl2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAK
KyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMz
X2ZyYWdfeHZhcnl5dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX3Zl
YzNfZnJhZ194dmFyeXl2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFy
ZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICJhdGFuX2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogImF0YW5fZmxvYXRfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAiYXRhbl9mbG9hdF92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAg
InBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhdGFuX3ZlYzJfdmVydF94dmFyeV9y
ZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXRhbl92ZWMyX3ZlcnRfeHZhcnku
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZy
YWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fdmVjMl92ZXJ0X3h2YXJ5LnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9CisgIF0KK30pOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDU3YmZhMTUxMWE2Y2ZjNDRlMzAzZGQzNmMzNTM3YWUzMzBhYmQyOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5o
dG1sCkBAIC0wLDAgKzEsMjUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBjb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sPC90
aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9vZ2xlcy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxj
YW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6
IDE2cHg7IGhlaWdodDogMTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOworT3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7Cisg
ICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9k
ZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAg
InJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUi
OiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAx
LjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAg
ICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAg
ICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiZm9yX2JyZWFrX2ZyYWcuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5h
bWUiOiAiZm9yX2JyZWFrX2ZyYWcudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21w
YXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1
bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50Ijog
MSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFs
dWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAg
ICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAg
IH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4
cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRl
c3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImZvcl9icmVha192ZXJ0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFn
IgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJmb3JfYnJlYWtfdmVydC50ZXN0Lmh0bWwiLCAK
KyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVy
ZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7
CisgICAgICAgICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00
ZnYiLCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAg
ICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisg
ICAgICAgICAgICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1v
ZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFk
ZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVy
IjogImZvcl9jb250aW51ZV9mcmFnLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImZv
cl9jb250aW51ZV9mcmFnLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9y
bXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAor
ICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjog
WworICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAg
ICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9Cisg
ICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3Rl
ZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJmb3JfY29udGludWVfdmVydC52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIK
KyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX2NvbnRpbnVlX3ZlcnQudGVzdC5odG1sIiwg
CisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZl
cmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVm
YXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0Ijog
eworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3Jt
NGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAg
ICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAor
ICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJmb3JfbmVzdGVkX2JyZWFrX2ZyYWcuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUi
OiAiZm9yX25lc3RlZF9icmVha19mcmFnLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAi
Y29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAg
ICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3Vu
dCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAg
InZhbHVlIjogWworICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAg
ICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAg
ICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVs
dC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAg
ICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJmb3JfbmVzdGVkX2Jy
ZWFrX3ZlcnQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9uZXN0ZWRfYnJlYWtf
dmVydC50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisg
ICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAg
ICAgICAgICJyZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAg
ICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAg
ICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAg
ICAgICAgICAgICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogImZvcl9uZXN0ZWRfY29udGludWVfZnJhZy5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibmFtZSI6ICJmb3JfbmVzdGVkX2NvbnRpbnVlX2ZyYWcudGVzdC5odG1s
IiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJy
ZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0
IjogeworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlm
b3JtNGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisg
ICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEu
MAorICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogImZvcl9uZXN0ZWRfY29udGludWVfdmVydC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im5hbWUiOiAiZm9yX25lc3RlZF9jb250aW51ZV92ZXJ0LnRlc3QuaHRtbCIsIAorICAgICAgInBh
dHRlcm4iOiAiY29tcGFyZSIKKyAgICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9s
b2dfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjQ0OTljOWM5Zjc2ZGM2MGEwZmU4NzAyMWNhYjBjMTE4YTYwZjcxMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEs
MTU2IEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
LiBETyBOT1QgRURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3Jt
YW5jZSB0ZXN0OiBsb2dfMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVz
dHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRo
PSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwv
Y2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVu
bmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX2Zsb2F0X2ZyYWdfeHZhcnlfcmVmLmZyYWci
CisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfZmxvYXRfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAK
KyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVy
ZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ19mbG9hdF9mcmFnX3h2
YXJ5MDFfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAg
InRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVm
YXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfZmxvYXRfZnJhZ194
dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ19mbG9hdF9mcmFnX3h2
YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICJsb2dfdmVjMl9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwi
OiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
bG9nX3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2df
dmVjMl9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAibG9nX3ZlYzJfZnJhZ194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAibG9nX3ZlYzJfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJuYW1lIjogImxvZ192ZWMyX2ZyYWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ192ZWMzX2ZyYWdfeHZhcnlfcmVmLmZyYWci
CisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5LmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJuYW1lIjogImxvZ192ZWMzX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVu
Y2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5
MDFfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRl
c3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5
MDEuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nX3ZlYzNfZnJhZ194dmFyeTAx
LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7
CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJs
b2dfZmxvYXRfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJn
cmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
bG9nX2Zsb2F0X3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ19m
bG9hdF92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICJsb2dfZmxvYXRfdmVydF94dmFyeTAxX3JlZi52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICJsb2dfZmxvYXRfdmVydF94dmFyeTAxLnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibmFtZSI6ICJsb2dfZmxvYXRfdmVydF94dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAg
InBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xv
ZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFhYWExNzhmMjhjYWYyODU5NWE3MWRkNmRjNWE3MzIwNDA2MDg5NmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCkBA
IC0wLDAgKzEsMTU2IEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xT
TCBjb25mb3JtYW5jZSB0ZXN0OiBsb2cyXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2Vz
L29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2ds
ZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFt
cGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6
IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5H
TEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5j
ZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfZmxvYXRfZnJhZ194dmFy
eV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVz
dFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfZmxvYXRfZnJhZ194dmFy
eS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnku
dGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsK
KyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cy
X2Zsb2F0X2ZyYWdfeHZhcnkwMV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjog
bnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxv
ZzJfZmxvYXRfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxv
ZzJfZmxvYXRfZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29t
cGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMyX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9
LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibmFtZSI6ICJsb2cyX3ZlYzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJw
YXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5MDFfcmVm
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzJfZnJhZ194dmFyeTAxLmZy
YWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5MDEudGVz
dC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAg
ICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2Rl
ZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3Zl
YzNfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwg
CisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVm
YXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVj
M19mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfdmVjM19m
cmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9
LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAibG9nMl92ZWMzX2ZyYWdfeHZhcnkwMV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5MDEuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5h
bWUiOiAibG9nMl92ZWMzX2ZyYWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJu
IjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7
CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nMl9mbG9hdF92ZXJ0X3h2YXJ5X3JlZi52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIK
KyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnkudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfZmxvYXRfdmVydF94dmFyeS50ZXN0Lmh0bWwi
LCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJl
ZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nMl9mbG9hdF92
ZXJ0X3h2YXJ5MDFfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2Rl
ZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAor
ICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImxvZzJfZmxv
YXRfdmVydF94dmFyeTAxLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2Rl
ZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0
X3ZlcnRfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisg
ICAgfQorICBdCit9KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAx
X3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45NWVlOTc5NTQ4Y2FmN2NiNmU1MjNmMzgxMmY1YjA5ZTRkODQ2MzY0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90
b18wMDYuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0
bWw8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3
aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJz
bW9vdGhzdGVwX2Zsb2F0X2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9yZWYuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0ZXBfZmxvYXRfZnJhZ194dmFyeV9lZGdlY29u
c3RxdWFydGVyLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfZmxv
YXRfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRl
cm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAic21vb3Roc3RlcF92ZWMyX2ZyYWdfeHZhcnlfZWRn
ZWNvbnN0cXVhcnRlcl9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwg
CisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVm
YXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0
ZXBfdmVjMl9mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm5hbWUiOiAic21vb3Roc3RlcF92ZWMyX2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgewor
ICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290
aHN0ZXBfdmVjM19mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLmZyYWciCisgICAgICB9
LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzNfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFy
dGVyLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVjM19mcmFn
X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJj
b21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfZmxvYXRfdmVydF94dmFyeV9lZGdlY29u
c3RxdWFydGVyX3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAg
ICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVw
X2Zsb2F0X3ZlcnRfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im5hbWUiOiAic21vb3Roc3RlcF9mbG9hdF92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVz
dC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAg
ICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogInNtb290
aHN0ZXBfdmVjMl92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfdmVjMl92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1
YXJ0ZXIudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVjMl92ZXJ0
X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJj
b21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfdmVjM192ZXJ0X3h2YXJ5X2VkZ2Vjb25z
dHF1YXJ0ZXJfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAg
ICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBf
dmVjM192ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJu
YW1lIjogInNtb290aHN0ZXBfdmVjM192ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5o
dG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMDFhODRmNzAzYjcxYWRiZjU0MjczMTgyYmE2NTIyMGEyMjZhNjM2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1l
cy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxODcgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEJpbmRBdHRyaWJMb2NhdGlvbiBMb25nIE5hbWVz
IENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMg
c3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyIgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBo
ZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9InRleHQvc29t
ZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbiQoc3VmZml4
KTsKK2F0dHJpYnV0ZSB2ZWM0IHZDb2xvciQoc3VmZml4KTsKK3ZhcnlpbmcgdmVjNCBjb2xvcjsK
K3ZvaWQgbWFpbigpCit7CisgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uJChzdWZmaXgpOworICBj
b2xvciA9IHZDb2xvciQoc3VmZml4KTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRl
ciIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7CisKK3ZhcnlpbmcgdmVjNCBjb2xvcjsKK3ZvaWQgbWFpbigpCit7CisgIGdsX0Zy
YWdDb2xvciA9IGNvbG9yOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdXNpbmcgbG9uZyBuYW1lcyB3aXRoIGJpbmRB
dHRyaWJMb2NhdGlvbiB3b3JrLiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENv
bnRleHQiKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dCgiY2FudmFzIik7CitzaG91bGRCZU5vbk51bGwoImdsIik7CisKK2Z1bmN0aW9u
IGZhaWwoeCx5LCBidWYsIHNob3VsZEJlKQoreworICB2YXIgaSA9ICh5KjUwK3gpICogNDsKKyAg
dmFyIHJlYXNvbiA9ICJwaXhlbCBhdCAoIit4KyIsIit5KyIpIGlzICgiK2J1ZltpXSsiLCIrYnVm
W2krMV0rIiwiK2J1ZltpKzJdKyIsIitidWZbaSszXSsiKSwgc2hvdWxkIGJlICIrc2hvdWxkQmU7
CisgIHRlc3RGYWlsZWQocmVhc29uKTsKK30KKworZnVuY3Rpb24gcGFzcygpCit7CisgIHRlc3RQ
YXNzZWQoImRyYXdpbmcgaXMgY29ycmVjdCIpOworfQorCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hl
Y2tpbmcgZ2wuYmluZEF0dHJpYkxvY2F0aW9uIHdpdGggbG9uZyBuYW1lcy4iKTsKKwordmFyIHBy
b2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisKK3ZhciBzdWZmaXggPSAibG9uZyI7Citmb3Ig
KHZhciBpaSA9IDA7IGlpIDwgNTsgKytpaSkgeworICBzdWZmaXggPSBzdWZmaXggKyBzdWZmaXg7
Cit9Cit2YXIgcmVwbGFjZW1lbnRzID0geworICBzdWZmaXg6IHN1ZmZpeAorfTsKKwordmFyIHZz
cmMgPSB3dHUucmVwbGFjZVBhcmFtcyh3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyIiksIHJlcGxhY2Vt
ZW50cyk7Cit2YXIgZnNyYyA9IHd0dS5yZXBsYWNlUGFyYW1zKHd0dS5nZXRTY3JpcHQoImZzaGFk
ZXIiKSwgcmVwbGFjZW1lbnRzKTsKKwordmFyIHZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIHZzcmMs
IGdsLlZFUlRFWF9TSEFERVIpOwordmFyIGZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIGZzcmMsIGds
LkZSQUdNRU5UX1NIQURFUik7CisKK3ZhciBhdHRyaWJzID0geworICB2UG9zaXRpb246ICJ2UG9z
aXRpb24iICsgc3VmZml4LAorICB2Q29sb3I6ICJ2Q29sb3IiICsgc3VmZml4Cit9OworCitnbC5h
dHRhY2hTaGFkZXIocHJvZ3JhbSwgdnMpOworZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIGZzKTsK
KwordmFyIHBvc2l0aW9ucyA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworZ2wuYmluZEJ1ZmZlcihnbC5B
UlJBWV9CVUZGRVIsIHBvc2l0aW9ucyk7CitnbC5idWZmZXJEYXRhKAorICBnbC5BUlJBWV9CVUZG
RVIsCisgIG5ldyBGbG9hdDMyQXJyYXkoCisgICAgICBbIDEuMCwgIDEuMCwgMC4wLAorICAgICAg
IC0xLjAsICAxLjAsIDAuMCwKKyAgICAgICAtMS4wLCAtMS4wLCAwLjAsCisgICAgICAgIDEuMCwg
IDEuMCwgMC4wLAorICAgICAgIC0xLjAsIC0xLjAsIDAuMCwKKyAgICAgICAgMS4wLCAtMS4wLCAw
LjBdKSwKKyAgZ2wuU1RBVElDX0RSQVcpOworCit2YXIgY29sb3JzID0gZ2wuY3JlYXRlQnVmZmVy
KCk7CitnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgY29sb3JzKTsKK2dsLmJ1ZmZlckRh
dGEoCisgIGdsLkFSUkFZX0JVRkZFUiwKKyAgbmV3IEZsb2F0MzJBcnJheSgKKyAgICAgIFsgMCwx
LDAsMSwKKyAgICAgICAgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAs
MSwKKyAgICAgICAgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAsMV0pLAorICBnbC5TVEFUSUNfRFJB
Vyk7CisKK2Z1bmN0aW9uIHNldEJpbmRMb2NhdGlvbnMoY29sb3JMb2NhdGlvbiwgcG9zaXRpb25M
b2NhdGlvbikgeworICBnbC5iaW5kQXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgcG9zaXRpb25Mb2Nh
dGlvbiwgYXR0cmlicy52UG9zaXRpb24pOworICBnbC5iaW5kQXR0cmliTG9jYXRpb24ocHJvZ3Jh
bSwgY29sb3JMb2NhdGlvbiwgYXR0cmlicy52Q29sb3IpOworICBnbC5saW5rUHJvZ3JhbShwcm9n
cmFtKTsKKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKyAgdmFyIGxpbmtlZCA9IChnbC5nZXRQ
cm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSAhPSAwKTsKKyAgYXNzZXJ0
TXNnKGxpbmtlZCwgInByb2dyYW0gbGlua2VkIHN1Y2Nlc3NmdWxseSIpOworCisgIGRlYnVnKCJ2
UG9zaXRpb246IiArIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sIGF0dHJpYnMudlBvc2l0
aW9uKSkKKyAgZGVidWcoInZDb2xvciAgIDoiICsgZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3Jh
bSwgYXR0cmlicy52Q29sb3IpKQorICBhc3NlcnRNc2coZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJv
Z3JhbSwgYXR0cmlicy52UG9zaXRpb24pID09IHBvc2l0aW9uTG9jYXRpb24sCisgICAgICAgICAg
ICAibG9jYXRpb24gb2YgdlBvc2l0aW9uIHNob3VsZCBiZSAiICsgcG9zaXRpb25Mb2NhdGlvbik7
CisgIGFzc2VydE1zZyhnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCBhdHRyaWJzLnZDb2xv
cikgPT0gY29sb3JMb2NhdGlvbiwKKyAgICAgICAgICAgICJsb2NhdGlvbiBvZiB2Q29sb3Igc2hv
dWxkIGJlICIgKyBjb2xvckxvY2F0aW9uKTsKKworICB2YXIgcGxvYyA9IGdsLmdldEF0dHJpYkxv
Y2F0aW9uKHByb2dyYW0sIGF0dHJpYnMudlBvc2l0aW9uKTsKKyAgdmFyIGNsb2MgPSBnbC5nZXRB
dHRyaWJMb2NhdGlvbihwcm9ncmFtLCBhdHRyaWJzLnZDb2xvcik7CisgIGdsLmJpbmRCdWZmZXIo
Z2wuQVJSQVlfQlVGRkVSLCBwb3NpdGlvbnMpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJh
eShwb3NpdGlvbkxvY2F0aW9uKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihwb3NpdGlvbkxv
Y2F0aW9uLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFS
UkFZX0JVRkZFUiwgY29sb3JzKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoY29sb3JM
b2NhdGlvbik7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoY29sb3JMb2NhdGlvbiwgNCwgZ2wu
RkxPQVQsIGZhbHNlLCAwLCAwKTsKK30KKworZnVuY3Rpb24gY2hlY2tEcmF3KGNvbG9yTG9jYXRp
b24sIHBvc2l0aW9uTG9jYXRpb24sIHIsIGcsIGIsIGEpIHsKKyAgd3R1LmRyYXdRdWFkKGdsKTsK
KyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbciwgZywgYiwgYV0sICJzaG91bGQgYmUgZ3JlZW4iKTsK
KworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkocG9zaXRpb25Mb2NhdGlvbik7CisgIGds
LmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShjb2xvckxvY2F0aW9uKTsKK30KKworc2V0QmluZExv
Y2F0aW9ucygyLCAzKTsKK2NoZWNrRHJhdygyLCAzLCAwLCAyNTUsIDAsIDI1NSk7CisKK3NldEJp
bmRMb2NhdGlvbnMoMCwgMyk7CitnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CitnbC52
ZXJ0ZXhBdHRyaWI0ZigwLCAxLCAwLCAwLCAxKTsKK2NoZWNrRHJhdygwLCAzLCAyNTUsIDAsIDAs
IDI1NSk7CisKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCitkZWJ1ZygiIik7
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3Jh
bXMvcHJvZ3JhbS10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThjMmFlY2I0NGFmMzc3NWI4NWQ0ZWYy
YWNmOWRjN2U1NzNlMWI1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVz
dC5odG1sCkBAIC0wLDAgKzEsNDIyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgUHJvZ3JhbSBDb21waWxpbmcvTGlua2luZyBDb25mb3JtYW5j
ZSBUZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFk
ZXIveC12ZXJ0ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247CisgICAgdm9pZCBt
YWluKCkKKyAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXItcmVkIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVj
NCgxLCAwLCAwLCAxKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXItZ3Jl
ZW4iIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHZvaWQgbWFpbigpCisgICAgewor
ICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAsIDEsIDAsIDEpOworICAgIH0KKzwvc2NyaXB0
PgorPHNjcmlwdCBpZD0iZnNoYWRlci1zZXR0YWJsZSIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVu
dCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9ybSB2ZWM0IHVfY29s
b3I7CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHVfY29s
b3I7CisgICAgfQorPC9zY3JpcHQ+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIiIGhlaWdo
dD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgordmFyIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOworZnVuY3Rpb24gZ28oKSB7CisgICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgcHJvZ3JhbSBjb21waWxpbmcvbGlua2luZy91c2luZyB3b3JrcyBjb3JyZWN0bHku
Iik7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7CisK
KyAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjYW52YXMiKTsKKyAgICBpZiAoIWds
KSB7CisgICAgICAgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisK
KyAgICBnbC5jbGVhckNvbG9yKDAuMCwgMC4wLCAwLjAsIDAuMCk7CisgICAgZ2wuY2xlYXIoZ2wu
Q09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworCisgICAgZnVuY3Rpb24g
ZG9BcnJheXNIYXZlU2FtZUNvbnRlbnRzKGEsIGIpIHsKKyAgICAgICAgdmFyIGZsYWdzID0gW107
CisgICAgICAgIGZ1bmN0aW9uIGhhc1VudXNlZFZhbHVlKGEsIHZhbHVlKSB7CisgICAgICAgICAg
ICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgYS5sZW5ndGg7ICsraWkpIHsKKyAgICAgICAgICAgICAg
ICBpZiAoYVtpaV0gPT09IHZhbHVlICYmICFmbGFnc1tpaV0pIHsKKyAgICAgICAgICAgICAgICAg
ICAgZmxhZ3NbaWldID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICB9CisKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGlmIChhLmxlbmd0aCAh
PT0gYi5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgYS5sZW5ndGg7IGlpKyspIHsK
KyAgICAgICAgICAgICAgICBpZiAoIWhhc1VudXNlZFZhbHVlKGIsIGFbaWldKSkgeworICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorICAgICAgICB9IGNhdGNoIChleCkgeworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICB9CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworLy8vLy8vLyBDaGVjayBj
b21waWxlU2hhZGVyKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIHZhciB2
cyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3Vy
Y2UodnMsICJhdHRyaWJ1dGUgdmVjNCBhVmVydGV4OyBhdHRyaWJ1dGUgdmVjNCBhQ29sb3I7IHZh
cnlpbmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgdkNvbG9yID0gYUNvbG9yOyBnbF9Qb3Np
dGlvbiA9IGFWZXJ0ZXg7IH0iKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKHZzKTsKKworICAgIGFz
c2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0
cnVlLAorICAgICAgICAgICAgICAiZ29vZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBjb21waWxlIik7
CisKKyAgICAvLyBWZXJpZnkgdGhhdCBjb25zdGFudHMgcmVtb3ZlZCBmcm9tIHRoZSBXZWJHTCBz
cGVjIGdlbmVyYXRlIElOVkFMSURfRU5VTSBlcnJvcnMKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIGVycm9ycyBhdCB0aGlzIHBvaW50Iik7CisgICAg
YXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcih2cywgZGVza3RvcEdMWydJTkZPX0xPR19M
RU5HVEgnXSkgPT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0U2hhZGVyUGFyYW1ldGVyIHNo
b3VsZCByZXR1cm4gbnVsbCIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9F
TlVNLCAiSU5GT19MT0dfTEVOR1RIIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFNoYWRl
clBhcmFtZXRlciBpbiBXZWJHTCIpOworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0
ZXIodnMsIGRlc2t0b3BHTFsnU0hBREVSX1NPVVJDRV9MRU5HVEgnXSkgPT09IG51bGwsICJpbnZh
bGlkIGNhbGwgdG8gZ2V0U2hhZGVyUGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOworICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiU0hBREVSX1NPVVJDRV9MRU5H
VEggaXMgbm90IGEgdmFsaWQgYXJndW1lbnQgdG8gZ2V0U2hhZGVyUGFyYW1ldGVyIGluIFdlYkdM
Iik7CisKKyAgICB2YXIgdnMyID0gZ2wuY3JlYXRlU2hhZGVyKGdsLlZFUlRFWF9TSEFERVIpOwor
ICAgIGdsLnNoYWRlclNvdXJjZSh2czIsICJhdHRyaWJ1dGUgdmVjNCBhVmVydGV4OyBhdHRyaWJ1
dGUgdmVjNCBhQ29sb3I7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgdkNvbG9y
ID0gYUNvbG9yOyBnbF9Qb3NpdGlvbiA9IGFWZXJ0ZXggKiAwLjU7IH0iKTsKKyAgICBnbC5jb21w
aWxlU2hhZGVyKHZzMik7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZz
MiwgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAgICJnb29kIHZlcnRl
eCBzaGFkZXIgIzIgc2hvdWxkIGNvbXBpbGUiKTsKKworICAgIHZhciB2c0JhZCA9IGdsLmNyZWF0
ZVNoYWRlcihnbC5WRVJURVhfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UodnNCYWQsICJX
SUxMIE5PVCBDT01QSUxFOyIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIodnNCYWQpOworCisgICAg
Ly8gR0xTTCAxLjAuMTcgc2VjdGlvbiAxMC4yNy4gY29tcGlsZSBzaGFkZXIgZG9lcyBub3QgaGF2
ZSB0byByZXR1cm4gZmFpbHVyZS4KKyAgICAvL2Fzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0
ZXIodnNCYWQsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSBmYWxzZSwKKyAgICAvLyAgICAgICAgICAi
YmFkIHZlcnRleCBzaGFkZXIgc2hvdWxkIGZhaWwgdG8gY29tcGlsZSIpOworCisgICAgdmFyIGZz
ID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291
cmNlKGZzLCAicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZv
aWQgbWFpbigpIHsgZ2xfRnJhZ0NvbG9yID0gdkNvbG9yOyB9Iik7CisgICAgZ2wuY29tcGlsZVNo
YWRlcihmcyk7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzLCBnbC5D
T01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImdvb2QgZnJhZ21lbnQgc2hh
ZGVyIHNob3VsZCBjb21waWxlIik7CisKKyAgICB2YXIgZnMyID0gZ2wuY3JlYXRlU2hhZGVyKGds
LkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZzMiwgInByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OyB2YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IGdsX0ZyYWdD
b2xvciA9IHZDb2xvciAqIDAuNTsgfSIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMyKTsKKwor
ICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnMyLCBnbC5DT01QSUxFX1NUQVRV
UykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImdvb2QgZnJhZ21lbnQgc2hhZGVyICMyIHNob3Vs
ZCBjb21waWxlIik7CisKKyAgICB2YXIgZnNCYWQgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuRlJBR01F
TlRfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UoZnNCYWQsICJXSUxMIE5PVCBDT01QSUxF
OyIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnNCYWQpOworCisgICAgLy8gR0xTTCAxLjAuMTcg
c2VjdGlvbiAxMC4yNy4gY29tcGlsZSBzaGFkZXIgZG9lcyBub3QgaGF2ZSB0byByZXR1cm4gZmFp
bHVyZS4KKyAgICAvL2Fzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnNCYWQsIGdsLkNP
TVBJTEVfU1RBVFVTKSA9PSBmYWxzZSwKKyAgICAvLyAgICAgICAgICAiYmFkIGZyYWdtZW50IHNo
YWRlciBzaG91bGQgZmFpbCB0byBjb21waWxlIik7CisKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIGVycm9ycyBhdCB0aGlzIHBvaW50Iik7CisKKy8v
Ly8vLy8gQ2hlY2sgYXR0YWNoU2hhZGVyKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
KworICAgIGZ1bmN0aW9uIGNoZWNrQXR0YWNoU2hhZGVyKGFscmVhZHlfYXR0YWNoZWRfc2hhZGVy
cywgc2hhZGVyLCBleHBlY3RlZF9lcnJvcl9jb2RlLCBlcnJtc2cpIHsKKyAgICAgICAgdmFyIHBy
b2cgPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxy
ZWFkeV9hdHRhY2hlZF9zaGFkZXJzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgZ2wuYXR0YWNo
U2hhZGVyKHByb2csIGFscmVhZHlfYXR0YWNoZWRfc2hhZGVyc1tpXSk7CisgICAgICAgIGlmKGds
LmdldEVycm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2Us
ICJ1bmV4cGVjdGVkIGVycm9yIGluIGF0dGFjaFNoYWRlcigpIik7CisgICAgICAgIGdsLmF0dGFj
aFNoYWRlcihwcm9nLCBzaGFkZXIpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGV4cGVj
dGVkX2Vycm9yX2NvZGUsIGVycm1zZyk7CisgICAgfQorCisgICAgY2hlY2tBdHRhY2hTaGFkZXIo
W10sIHZzLCBnbC5OT19FUlJPUiwgImF0dGFjaGluZyBhIHZlcnRleCBzaGFkZXIgc2hvdWxkIHN1
Y2NlZWQiKTsKKyAgICBjaGVja0F0dGFjaFNoYWRlcihbdnNdLCB2cywgZ2wuSU5WQUxJRF9PUEVS
QVRJT04sCisgICAgICAgICAgICAgICAgICAgICAgImF0dGFjaGluZyBhbiBhbHJlYWR5IGF0dGFj
aGVkIHZlcnRleCBzaGFkZXIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7Cisg
ICAgY2hlY2tBdHRhY2hTaGFkZXIoW10sIGZzLCBnbC5OT19FUlJPUiwgImF0dGFjaGluZyBhIGZy
YWdtZW50IHNoYWRlciBzaG91bGQgc3VjY2VlZCIpOworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFtm
c10sIGZzLCBnbC5JTlZBTElEX09QRVJBVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAiYXR0
YWNoaW5nIGFuIGFscmVhZHkgYXR0YWNoZWQgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBnZW5lcmF0
ZSBJTlZBTElEX09QRVJBVElPTiIpOworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFt2c10sIHZzMiwg
Z2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAgICAgICAgImF0dGFjaGluZyBz
aGFkZXJzIG9mIHRoZSBzYW1lIHR5cGUgdG8gYSBwcm9ncmFtIHNob3VsZCBnZW5lcmF0ZSBJTlZB
TElEX09QRVJBVElPTiIpOworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFtmc10sIGZzMiwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAgICAgICAgImF0dGFjaGluZyBzaGFkZXJz
IG9mIHRoZSBzYW1lIHR5cGUgdG8gYSBwcm9ncmFtIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09Q
RVJBVElPTiIpOworCisvLy8vLy8vIENoZWNrIGRldGFjaFNoYWRlcigpIC8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vCisKKyAgICBmdW5jdGlvbiBjaGVja0RldGFjaFNoYWRlcihhbHJlYWR5
X2F0dGFjaGVkX3NoYWRlcnMsIHNoYWRlciwgZXhwZWN0ZWRfZXJyb3JfY29kZSwgZXJybXNnKSB7
CisgICAgICAgIHZhciBwcm9nID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGFscmVhZHlfYXR0YWNoZWRfc2hhZGVycy5sZW5ndGg7ICsraSkKKyAgICAg
ICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nLCBhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnNbaV0p
OworICAgICAgICBpZihnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAg
YXNzZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBhdHRhY2hTaGFkZXIoKSIpOwor
ICAgICAgICBnbC5kZXRhY2hTaGFkZXIocHJvZywgc2hhZGVyKTsKKyAgICAgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBleHBlY3RlZF9lcnJvcl9jb2RlLCBlcnJtc2cpOworICAgIH0KKworICAgIGNo
ZWNrRGV0YWNoU2hhZGVyKFt2c10sIHZzLCBnbC5OT19FUlJPUiwgImRldGFjaGluZyBhIHZlcnRl
eCBzaGFkZXIgc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICBjaGVja0RldGFjaFNoYWRlcihbZnNdLCB2
cywgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAgICAgICAgImRldGFjaGlu
ZyBhIG5vdCBhbHJlYWR5IGF0dGFjaGVkIHZlcnRleCBzaGFkZXIgc2hvdWxkIGdlbmVyYXRlIElO
VkFMSURfT1BFUkFUSU9OIik7CisgICAgY2hlY2tEZXRhY2hTaGFkZXIoW2ZzXSwgZnMsIGdsLk5P
X0VSUk9SLCAiZGV0YWNoaW5nIGEgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBzdWNjZWVkIik7Cisg
ICAgY2hlY2tEZXRhY2hTaGFkZXIoW3ZzXSwgZnMsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAg
ICAgICAgICAgICAgICAgICAgICJkZXRhY2hpbmcgYSBub3QgYWxyZWFkeSBhdHRhY2hlZCBmcmFn
bWVudCBzaGFkZXIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7CisKKy8vLy8v
Ly8gQ2hlY2sgZ2V0QXR0YWNoZWRTaGFkZXJzKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8KKworICAgIGZ1bmN0aW9uIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKHNoYWRlcnNfdG9fYXR0
YWNoLCBzaGFkZXJzX3RvX2RldGFjaCwgZXhwZWN0ZWRfc2hhZGVycywgZXJybXNnKSB7CisgICAg
ICAgIHZhciBwcm9nID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHNoYWRlcnNfdG9fYXR0YWNoLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgZ2wuYXR0
YWNoU2hhZGVyKHByb2csIHNoYWRlcnNfdG9fYXR0YWNoW2ldKTsKKyAgICAgICAgaWYoZ2wuZ2V0
RXJyb3IoKSAhPSBnbC5OT19FUlJPUikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVu
ZXhwZWN0ZWQgZXJyb3IgaW4gYXR0YWNoU2hhZGVyKCkiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzaGFkZXJzX3RvX2RldGFjaC5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGdsLmRl
dGFjaFNoYWRlcihwcm9nLCBzaGFkZXJzX3RvX2RldGFjaFtpXSk7CisgICAgICAgIGlmKGdsLmdl
dEVycm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJ1
bmV4cGVjdGVkIGVycm9yIGluIGRldGFjaFNoYWRlcigpIik7CisgICAgICAgIGFzc2VydE1zZyhk
b0FycmF5c0hhdmVTYW1lQ29udGVudHMoZ2wuZ2V0QXR0YWNoZWRTaGFkZXJzKHByb2cpLCBleHBl
Y3RlZF9zaGFkZXJzKSwgZXJybXNnKTsKKyAgICB9CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRl
cnMoW10sIFtdLCBbXSwgImdldEF0dGFjaGVkU2hhZGVycyBzaG91bGQgcmV0dXJuIGFuIGVtcHR5
IGxpc3QgYnkgZGVmYXVsdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmc10sIFtd
LCBbZnNdLCAiYXR0YWNoaW5nIGEgc2luZ2xlIHNoYWRlciBzaG91bGQgZ2l2ZSB0aGUgZXhwZWN0
ZWQgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbXSwgW2Zz
LCB2c10sCisgICAgICAgICJhdHRhY2hpbmcgc29tZSBzaGFkZXJzIHNob3VsZCBnaXZlIHRoZSBl
eHBlY3RlZCBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzXSwgW2ZzXSwg
W10sICJhdHRhY2hpbmcgYSBzaGFkZXIgYW5kIGRldGFjaGluZyBpdCBzaG91ZCBsZWF2ZSBhbiBl
bXB0eSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzLCB2c10sIFtmcywg
dnNdLCBbXSwKKyAgICAgICAgImF0dGFjaGluZyBzb21lIHNoYWRlcnMgYW5kIGRldGFjaGluZyB0
aGVtIGluIHNhbWUgb3JkZXIgc2hvdWQgbGVhdmUgYW4gZW1wdHkgbGlzdCIpOworICAgIGNoZWNr
R2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbdnMsIGZzXSwgW10sCisgICAgICAgICJhdHRh
Y2hpbmcgc29tZSBzaGFkZXJzIGFuZCBkZXRhY2hpbmcgdGhlbSBpbiByYW5kb20gb3JkZXIgc2hv
dWQgbGVhdmUgYW4gZW1wdHkgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtm
cywgdnNdLCBbdnNdLCBbZnNdLAorICAgICAgICAiYXR0YWNoaW5nIGFuZCBkZXRhY2hpbmcgc29t
ZSBzaGFkZXJzIHNob3VsZCBsZWF2ZSB0aGUgZGlmZmVyZW5jZSBsaXN0Iik7CisgICAgY2hlY2tH
ZXRBdHRhY2hlZFNoYWRlcnMoW2ZzLCB2c10sIFtmc10sIFt2c10sCisgICAgICAgICJhdHRhY2hp
bmcgYW5kIGRldGFjaGluZyBzb21lIHNoYWRlcnMgc2hvdWxkIGxlYXZlIHRoZSBkaWZmZXJlbmNl
IGxpc3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbZnNCYWRdLCBbXSwgW2ZzQmFk
XSwKKyAgICAgICAgImF0dGFjaGluZyBhIHNoYWRlciB0aGF0IGZhaWxlZCB0byBjb21waWxlIHNo
b3VsZCBzdGlsbCBzaG93IGl0IGluIHRoZSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNo
YWRlcnMoW2ZzLCB2c0JhZF0sIFtdLCBbZnMsIHZzQmFkXSwKKyAgICAgICAgImF0dGFjaGluZyBz
aGFkZXJzLCBpbmNsdWRpbmcgb25lIHRoYXQgZmFpbGVkIHRvIGNvbXBpbGUsIHNob3VsZCBzdGls
bCBzaG93IHRoZSBpdCBpbiB0aGUgbGlzdCIpOworCisvLy8vLy8vIENoZWNrIGxpbmtQcm9ncmFt
KCkgYW5kIHVzZVByb2dyYW0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIGZ1
bmN0aW9uIGNoZWNrTGlua0FuZFVzZShzaGFkZXJzLCBkZWxldGVTaGFkZXJBZnRlckF0dGFjaCwg
ZXhwZWN0ZWRfc3RhdHVzLCB0ZXN0SW52YWxpZEVudW1zLCBlcnJtc2cpIHsKKyAgICAgICAgdmFy
IHByb2cgPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
c2hhZGVycy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2cs
IHNoYWRlcnNbaV0pOworICAgICAgICAgICAgaWYgKGRlbGV0ZVNoYWRlckFmdGVyQXR0YWNoKQor
ICAgICAgICAgICAgICAgIGdsLmRlbGV0ZVNoYWRlcihzaGFkZXJzW2ldKTsKKyAgICAgICAgfQor
ICAgICAgICBnbC5iaW5kQXR0cmliTG9jYXRpb24ocHJvZywgMCwgImFWZXJ0ZXgiKTsKKyAgICAg
ICAgZ2wuYmluZEF0dHJpYkxvY2F0aW9uKHByb2csIDEsICJhQ29sb3IiKTsKKyAgICAgICAgZ2wu
bGlua1Byb2dyYW0ocHJvZyk7CisgICAgICAgIGlmIChnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VS
Uk9SKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBs
aW5rUHJvZ3JhbSgpIik7CisgICAgICAgIGFzc2VydE1zZyhnbC5nZXRQcm9ncmFtUGFyYW1ldGVy
KHByb2csIGdsLkxJTktfU1RBVFVTKSA9PSBleHBlY3RlZF9zdGF0dXMsIGVycm1zZyk7CisgICAg
ICAgIHZhciBpbmZvbG9nID0gZ2wuZ2V0UHJvZ3JhbUluZm9Mb2cocHJvZyk7CisgICAgICAgIGlm
IChnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZh
bHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBnZXRQcm9ncmFtSW5mb0xvZygpIik7CisgICAgICAg
IGlmICh0eXBlb2YoaW5mb2xvZykgIT0gInN0cmluZyIpCisgICAgICAgICAgICBhc3NlcnRNc2co
ZmFsc2UsICJnZXRQcm9ncmFtSW5mb0xvZygpIGRpZCBub3QgcmV0dXJuIGEgc3RyaW5nIik7Cisg
ICAgICAgIGlmIChleHBlY3RlZF9zdGF0dXMgPT0gdHJ1ZSAmJiBnbC5nZXRQcm9ncmFtUGFyYW1l
dGVyKHByb2csIGdsLkxJTktfU1RBVFVTKSA9PSBmYWxzZSkKKyAgICAgICAgICAgIGRlYnVnKGlu
Zm9sb2cpOworICAgICAgICBpZiAoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJPUikKKyAgICAg
ICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gZ2V0UHJvZ3JhbVBh
cmFtZXRlcigpIik7CisgICAgICAgIAorICAgICAgICBpZiAodGVzdEludmFsaWRFbnVtcykgewor
ICAgICAgICAgICAgLy8gVmVyaWZ5IHRoYXQgY29uc3RhbnRzIHJlbW92ZWQgZnJvbSB0aGUgV2Vi
R0wgc3BlYyBnZW5lcmF0ZSBJTlZBTElEX0VOVU0gZXJyb3JzCisgICAgICAgICAgICBhc3NlcnRN
c2coZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9nLCBkZXNrdG9wR0xbJ0lORk9fTE9HX0xFTkdU
SCddKSA9PT0gbnVsbCwgImludmFsaWQgY2FsbCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIHNob3Vs
ZCByZXR1cm4gbnVsbCIpOworICAgICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX0VOVU0sICJJTkZPX0xPR19MRU5HVEggaXMgbm90IGEgdmFsaWQgYXJndW1lbnQgdG8gZ2V0
UHJvZ3JhbVBhcmFtZXRlciBpbiBXZWJHTCIpOworICAgICAgICAgICAgYXNzZXJ0TXNnKGdsLmdl
dFByb2dyYW1QYXJhbWV0ZXIocHJvZywgZGVza3RvcEdMWydBQ1RJVkVfQVRUUklCVVRFX01BWF9M
RU5HVEgnXSkgPT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBz
aG91bGQgcmV0dXJuIG51bGwiKTsKKyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wu
SU5WQUxJRF9FTlVNLCAiQUNUSVZFX0FUVFJJQlVURV9NQVhfTEVOR1RIIGlzIG5vdCBhIHZhbGlk
IGFyZ3VtZW50IHRvIGdldFByb2dyYW1QYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICAgICAgICAg
IGFzc2VydE1zZyhnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2csIGRlc2t0b3BHTFsnQUNUSVZF
X1VOSUZPUk1fTUFYX0xFTkdUSCddKSA9PT0gbnVsbCwgImludmFsaWQgY2FsbCB0byBnZXRQcm9n
cmFtUGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOworICAgICAgICAgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJBQ1RJVkVfVU5JRk9STV9NQVhfTEVOR1RIIGlz
IG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFByb2dyYW1QYXJhbWV0ZXIgaW4gV2ViR0wiKTsK
KyAgICAgICAgfQorCisgICAgICAgIGdsLnVzZVByb2dyYW0ocHJvZyk7CisgICAgICAgIGlmIChl
eHBlY3RlZF9zdGF0dXMgPT0gdHJ1ZSkKKyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IsICJ1c2luZyBhIHZhbGlkIHByb2dyYW0gc2hvdWxkIHN1Y2NlZWQiKTsKKyAg
ICAgICAgaWYgKGV4cGVjdGVkX3N0YXR1cyA9PSBmYWxzZSkKKyAgICAgICAgICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ1c2luZyBhbiBpbnZhbGlkIHByb2dy
YW0gc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7CisgICAgICAgIHJldHVybiBw
cm9nOworICAgIH0KKworICAgIHZhciBwcm9nR29vZDEgPSBjaGVja0xpbmtBbmRVc2UoW3ZzLCBm
c10sIGZhbHNlLCB0cnVlLCB0cnVlLCAidmFsaWQgcHJvZ3JhbSBzaG91bGQgbGluayIpOworICAg
IHZhciBwcm9nR29vZDIgPSBjaGVja0xpbmtBbmRVc2UoW3ZzLCBmczJdLCBmYWxzZSwgdHJ1ZSwg
ZmFsc2UsICJ2YWxpZCBwcm9ncmFtICMyIHNob3VsZCBsaW5rIik7CisgICAgdmFyIHByb2dCYWQx
ID0gY2hlY2tMaW5rQW5kVXNlKFt2c10sIGZhbHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdp
dGggbm8gZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2YXIgcHJv
Z0JhZDIgPSBjaGVja0xpbmtBbmRVc2UoW2ZzXSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgInByb2dy
YW0gd2l0aCBubyB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2YXIg
cHJvZ0JhZDMgPSBjaGVja0xpbmtBbmRVc2UoW3ZzQmFkLCBmc10sIGZhbHNlLCBmYWxzZSwgZmFs
c2UsICJwcm9ncmFtIHdpdGggYmFkIHZlcnRleCBzaGFkZXIgc2hvdWxkIGZhaWwgdG8gbGluayIp
OworICAgIHZhciBwcm9nQmFkNCA9IGNoZWNrTGlua0FuZFVzZShbdnMsIGZzQmFkXSwgZmFsc2Us
IGZhbHNlLCBmYWxzZSwgInByb2dyYW0gd2l0aCBiYWQgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBm
YWlsIHRvIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0JhZDUgPSBjaGVja0xpbmtBbmRVc2UoW3ZzQmFk
LCBmc0JhZF0sIGZhbHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggYmFkIHNoYWRlcnMg
c2hvdWxkIGZhaWwgdG8gbGluayIpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEpOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ1c2luZyBhIHZhbGlkIHByb2dy
YW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wgZXJyb3IiKTsKKworICAgIHZhciB2YnVmID0gZ2wu
Y3JlYXRlQnVmZmVyKCk7CisgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZidWYp
OworICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLAorICAgICAgICAgICAgICAgICAg
bmV3IEZsb2F0MzJBcnJheShbCisgICAgICAgICAgICAgICAgICAgICAgMC4wLCAwLjAsIDAuMCwg
MS4wLAorICAgICAgICAgICAgICAgICAgICAgIDEuMCwgMC4wLCAwLjAsIDEuMCwKKyAgICAgICAg
ICAgICAgICAgICAgICAxLjAsIDEuMCwgMC4wLCAxLjAsCisgICAgICAgICAgICAgICAgICAgICAg
MC4wLCAxLjAsIDAuMCwgMS4wXSksCisgICAgICAgICAgICAgICAgICBnbC5TVEFUSUNfRFJBVyk7
CisgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCA0LCBnbC5GTE9BVCwgZmFsc2UsIDAsIDAp
OworICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICAgIGdsLnZlcnRleEF0dHJp
YjNmKDEsIDEuMCwgMC4wLCAwLjApOworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMgYXQgdGhpcyBwb2ludCAjMiIpOworCisgICAgZ2wu
dXNlUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAw
LCAzKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiZHJhd2luZyB3aXRo
IGEgdmFsaWQgcHJvZ3JhbSBzaG91bGRuJ3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworCisgICAg
Z2wudXNlUHJvZ3JhbShwcm9nQmFkMSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX09QRVJBVElPTiwgInVzaW5nIGFuIGludmFsaWQgcHJvZ3JhbSBzaG91bGQgZ2VuZXJhdGUg
SU5WQUxJRF9PUEVSQVRJT04iKTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwg
Myk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlRyeSB0byB1c2UgYW4g
aW52YWxpZCBwcm9ncmFtIHNob3VsZCBub3QgY2hhbmdlIHRoZSBjdXJyZW50IHJlbmRlcmluZyBz
dGF0ZSIpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDIpOworICAgIGdsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SLCAiZHJhd2luZyB3aXRoIGEgdmFsaWQgcHJvZ3JhbSBzaG91bGRuJ3QgZ2VuZXJhdGUgYSBH
TCBlcnJvciIpOworICAgIGdsLmRldGFjaFNoYWRlcihwcm9nR29vZDIsIGZzMik7CisgICAgZ2wu
YXR0YWNoU2hhZGVyKHByb2dHb29kMiwgZnNCYWQpOworICAgIGdsLmxpbmtQcm9ncmFtKHByb2dH
b29kMik7CisgICAgYXNzZXJ0TXNnKGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ0dvb2QyLCBn
bC5MSU5LX1NUQVRVUykgPT0gZmFsc2UsCisgICAgICAgICAgICAgICJsaW5raW5nIHNob3VsZCBm
YWlsIHdpdGggaW4tdXNlIGZvcm1lcmx5IGdvb2QgcHJvZ3JhbSwgd2l0aCBuZXcgYmFkIHNoYWRl
ciBhdHRhY2hlZCIpOworCisgICAgLy8gSW52YWxpZCBsaW5rIGxlYXZlcyBwcmV2aW91cyB2YWxp
ZCBwcm9ncmFtIGludGFjdC4KKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7
CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImRyYXdpbmcgd2l0aCBhIHZh
bGlkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wgZXJyb3IiKTsKKworICAgIGdsLnVz
ZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwg
NCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImRyYXdpbmcgd2l0aCBh
IHZhbGlkIHdoZW4gbGFzdCB1c2VkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wgZXJy
b3IiKTsKKworICAgIHZhciBwcm9nR29vZDEgPSBjaGVja0xpbmtBbmRVc2UoW3ZzLCBmc10sIHRy
dWUsIHRydWUsIGZhbHNlLCAiZGVsZXRlIHNoYWRlcnMgYWZ0ZXIgYXR0YWNoaW5nIHRoZW0gYW5k
IGJlZm9yZSBsaW5raW5nIHByb2dyYW0gc2hvdWxkIG5vdCBhZmZlY3QgbGlua1Byb2dyYW0iKTsK
KyAgICBnbC51c2VQcm9ncmFtKHByb2dHb29kMSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklB
TkdMRVMsIDAsIDQpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJkcmF3
aW5nIHdpdGggYSB2YWxpZCB3aGVuIGxhc3QgdXNlZCBwcm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0
ZSBhIEdMIGVycm9yIik7CisKKy8vLy8vLy8gQ2hlY2sgZGVsZXRlUHJvZ3JhbSgpIGFuZCBkZWxl
dGVTaGFkZXIoKSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgZ2wudXNlUHJv
Z3JhbShwcm9nR29vZDEpOworICAgIGdsLmRlbGV0ZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUiwgImRlbGV0ZSB0aGUgY3VycmVudCBwcm9ncmFtIHNob3VsZG4ndCBjaGFu
Z2UgdGhlIGN1cnJlbnQgcmVuZGVyaW5nIHN0YXRlIik7CisKKyAgICBnbC5saW5rUHJvZ3JhbShw
cm9nR29vZDEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJUaGUgY3Vy
cmVudCBwcm9ncmFtIHNob3VsZG4ndCBiZSBkZWxldGVkIik7CisKKyAgICB2YXIgZnMzID0gZ2wu
Y3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZz
MywgInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyB2YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lkIG1h
aW4oKSB7IGdsX0ZyYWdDb2xvciA9IHZDb2xvcjsgfSIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIo
ZnMzKTsKKworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnMzLCBnbC5DT01Q
SUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImdvb2QgZnJhZ21lbnQgc2hhZGVy
IHNob3VsZCBjb21waWxlIik7CisKKyAgICBnbC5kZWxldGVTaGFkZXIoZnMzKTsKKyAgICBnbC5j
b21waWxlU2hhZGVyKGZzMyk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZB
TFVFLCAiYW4gdW5hdHRhY2hlZCBzaGFkZXIgc2hvdWxkIGJlIGRlbGV0ZWQgaW1tZWRpYXRlbHki
KTsKKworICAgIGZzMyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOworICAg
IGdsLnNoYWRlclNvdXJjZShmczMsICJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgdmFyeWluZyB2
ZWM0IHZDb2xvcjsgdm9pZCBtYWluKCkgeyBnbF9GcmFnQ29sb3IgPSB2Q29sb3I7IH0iKTsKKyAg
ICBnbC5jb21waWxlU2hhZGVyKGZzMyk7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFy
YW1ldGVyKGZzMywgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAgICJn
b29kIGZyYWdtZW50IHNoYWRlciBzaG91bGQgY29tcGlsZSIpOworCisgICAgZ2wuZGV0YWNoU2hh
ZGVyKHByb2dHb29kMSwgZnMpOworICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nR29vZDEsIGZzMyk7
CisKKyAgICBnbC5kZWxldGVTaGFkZXIoZnMzKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzMyk7
CisgICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcihmczMsIGdsLkNPTVBJTEVfU1RB
VFVTKSA9PSB0cnVlLAorICAgICAgICAgICAgICAiYW4gYXR0YWNoZWQgc2hhZGVyIHNob3VsZG4n
dCBiZSBkZWxldGVkIik7CisKKyAgICBnbC51c2VQcm9ncmFtKG51bGwpOworICAgIGdsLmxpbmtQ
cm9ncmFtKHByb2dHb29kMSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZB
TFVFLCAiYSBkZWxldGUtbWFya2VkIHByb2dyYW0gc2hvdWxkIGJlIGRlbGV0ZWQgb25jZSBpdCdz
IG5vIGxvbmdlciB0aGUgY3VycmVudCBwcm9ncmFtIik7CisKKyAgICBnbC5jb21waWxlU2hhZGVy
KGZzMyk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiYSBkZWxl
dGUtbWFya2VkIHNoYWRlciBzaG91bGQgYmUgZGVsZXRlZCBvbmNlIGFsbCBpdHMgYXR0YWNobWVu
dHMgYXJlIHJlbW92ZWQiKTsKKworLy8vLy8vLy8gQ2hlY2sgbGlua1Byb2dyYW0oKSB3aXRoIHJl
bGlua2VkIHByb2dyYW0gLy8vLy8vLy8vLworICAgIHZhciB2cyA9IHd0dS5sb2FkU2hhZGVyRnJv
bVNjcmlwdChnbCwgInZzaGFkZXIiKTsKKyAgICB2YXIgZnMgPSB3dHUubG9hZFNoYWRlckZyb21T
Y3JpcHQoZ2wsICJmc2hhZGVyLXJlZCIpOworICAgIHZhciBwcmcgPSB3dHUuY3JlYXRlUHJvZ3Jh
bShnbCwgdnMsIGZzKTsKKyAgICBnbC51c2VQcm9ncmFtKHByZyk7CisgICAgdmFyIHBvc0xvYyA9
IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByZywgImFfcG9zaXRpb24iKTsKKyAgICB3dHUuc2V0dXBV
bml0UXVhZChnbCwgcG9zTG9jKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5jaGVj
a0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwgMjU1XSwgInNob3VsZCBiZSByZWQiKTsKKyAgICBnbC5z
aGFkZXJTb3VyY2UoZnMsIHd0dS5nZXRTY3JpcHQoImZzaGFkZXItZ3JlZW4iKSk7CisgICAgZ2wu
Y29tcGlsZVNoYWRlcihmcyk7CisgICAgZ2wubGlua1Byb2dyYW0ocHJnKTsKKyAgICAvLyBQcm9n
cmFtIHNob3VsZCBiZSBuZXcgcHJvZ3JhbSBhdCB0aGlzIHBvaW50IHdpdGhvdXQgY2FsbGluZyB1
c2VQcm9ncmFtCisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2ws
IFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKyAgICB2YXIgcHJnID0gd3R1
LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXItc2V0dGFibGUiXSwgWyJhX3Bv
c2l0aW9uIl0pOworICAgIHZhciBjb2xvckxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcmcs
ICJ1X2NvbG9yIik7CisgICAgZ2wudW5pZm9ybTRmKGNvbG9yTG9jLCAxLCAwLCAwLCAxKTsKKyAg
ICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwg
MjU1XSwgInNob3VsZCBiZSByZWQiKTsKKyAgICBnbC5saW5rUHJvZ3JhbShwcmcpOworICAgIC8v
IFByb2dyYW0ncyB1bmlmb3JtcyBzaG91bGQgYmUgY2xlYXJlZCBhdCB0aGlzIHBvaW50IHdpdGhv
dXQgY2FsbGluZyB1c2VQcm9ncmFtCisgICAgd3R1LmRyYXdRdWFkKGdsLCBbMCwgMjU1LCAwLCAy
NTVdKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAwLCAwLCAwXSwgInNob3VsZCBiZSB0
cmFucGFyZW50IGJsYWNrIik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
InNob3VsZCBiZSBubyBlcnJvcnMiKTsKK30KKworZGVidWcoIiIpOworZ28oKTsKKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQt
cGl4ZWxzLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNmQ4OWQ5Njg5Y2E1ZDhiZGMyOGNlZTRmYzZk
MjBkMDY2M2ZmZTE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0
Lmh0bWwKQEAgLTAsMCArMSwyNDYgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIFJlYWRQaXhlbHMgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIw
MCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4Ij48L2NhbnZh
cz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJDaGVja3MgdGhhdCBSZWFk
UGl4ZWxzIHdvcmtzIGFzIGV4cGVjdGVkLiIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
Cit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4YW1wbGUiKTsKK3ZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKworaW5pdFRlc3RpbmdIYXJuZXNzV2Fp
dFVudGlsRG9uZSgpOworCit2YXIgYWN0dWFsOwordmFyIGV4cGVjdGVkOwordmFyIHdpZHRoID0g
MjsKK3ZhciBoZWlnaHQgPSAyOwordmFyIGNvbnRpbnVlVGVzdEZ1bmMgPSBjb250aW51ZVRlc3RQ
YXJ0MTsKKworZ2wuY2xlYXJDb2xvcigxLCAxLCAxLCAxKTsKK2dsLmNsZWFyKGdsLkNPTE9SX0JV
RkZFUl9CSVQpOworCisvLyBSZXNpemUgdGhlIGNhbnZhcyB0byAyeDIuIFRoaXMgaXMgYW4gYXR0
ZW1wdCB0byBnZXQgc3R1ZmYgaW4gdGhlIGJhY2tidWZmZXIuCisvLyB0aGF0IHNob3VsZG4ndCBi
ZSB0aGVyZS4KK2NhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0IiwgZnVu
Y3Rpb24oZSkgeyBlLnByZXZlbnREZWZhdWx0KCk7IH0sIGZhbHNlKTsKK2NhbnZhcy5hZGRFdmVu
dExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRyZXN0b3JlZCIsIGNvbnRpbnVlVGVzdEFmdGVyQ29udGV4
dFJlc3RvcmVkLCBmYWxzZSk7CitjYW52YXMud2lkdGggPSB3aWR0aDsKK2NhbnZhcy5oZWlnaHQg
PSBoZWlnaHQ7CitpZiAoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5DT05URVhUX0xPU1RfV0VCR0wpIHsK
KyAgY29udGludWVUZXN0UGFydDEoKTsKK30KKworZnVuY3Rpb24gY29udGludWVUZXN0QWZ0ZXJD
b250ZXh0UmVzdG9yZWQoKSB7CisgIHdpbmRvdy5nbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2Fu
dmFzKTsKKyAgdmFyIGZ1bmMgPSBjb250aW51ZVRlc3RGdW5jOworICB3aW5kb3cuY29udGludWVU
ZXN0RnVuYyA9IGZ1bmN0aW9uKCkgeyB0ZXN0RmFpbGVkKCJzaG91bGQgbm90IGJlIGhlcmUiKTsg
fTsKKyAgZnVuYygpOworfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3RQYXJ0MSgpIHsKKyAgZ2wu
Y2xlYXJDb2xvcigwLjUsIDAuNywgMS4wLCAxKTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVS
X0JJVCk7CisKKyAgdmFyIGlubmVyQ29sb3IgPSBbMC41LCAwLjcsIDEuMCwgMV07CisgIHZhciBv
dXRlckNvbG9yID0gWzAsIDAsIDAsIDBdOworCisgIHZhciB0ZXN0cyA9IFsKKyAgICB7IG1zZzog
J2luIHJhbmdlJywgY2hlY2tDb2xvcjogaW5uZXJDb2xvciwgeDogIDAsIHk6ICAwLAorICAgICAg
b25lQ29sb3I6IGlubmVyQ29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9LAorICAgIHsgbXNnOiAnb2Zm
IHRvcCBsZWZ0JywgY2hlY2tDb2xvcjogb3V0ZXJDb2xvciwgeDogLTEsIHk6IC0xLAorICAgICAg
b25lQ29sb3I6IGlubmVyQ29sb3IsIG9uZVg6IDEsIG9uZVk6IDF9LAorICAgIHsgbXNnOiAnb2Zm
IGJvdHRvbSByaWdodCcsIGNoZWNrQ29sb3I6IG91dGVyQ29sb3IsIHg6ICAxLCB5OiAgMSwKKyAg
ICAgIG9uZUNvbG9yOiBpbm5lckNvbG9yLCBvbmVYOiAwLCBvbmVZOiAwfSwKKyAgICB7IG1zZzog
J2NvbXBsZXRlbHkgb2ZmIHRvcCAnLCBjaGVja0NvbG9yOiBvdXRlckNvbG9yLCB4OiAgMCwgeTog
LTIsCisgICAgICBvbmVDb2xvcjogb3V0ZXJDb2xvciwgb25lWDogMCwgb25lWTogMH0sCisgICAg
eyBtc2c6ICdjb21wbGV0ZWx5IG9mZiBib3R0b20nLCBjaGVja0NvbG9yOiBvdXRlckNvbG9yLCB4
OiAgMCwgeTogIDIsCisgICAgICBvbmVDb2xvcjogb3V0ZXJDb2xvciwgb25lWDogMCwgb25lWTog
MH0sCisgICAgeyBtc2c6ICdjb21wbGV0ZWx5IG9mZiBsZWZ0JywgY2hlY2tDb2xvcjogb3V0ZXJD
b2xvciwgeDogLTIsIHk6ICAwLAorICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3IsIG9uZVg6IDAs
IG9uZVk6IDB9LAorICAgIHsgbXNnOiAnY29tcGxldGVsZXkgb2ZmIHJpZ2h0JywgY2hlY2tDb2xv
cjogb3V0ZXJDb2xvciwgeDogIDIsIHk6ICAwLAorICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3Is
IG9uZVg6IDAsIG9uZVk6IDB9CisgIF07CisKKyAgZm9yICh2YXIgdHQgPSAwOyB0dCA8IHRlc3Rz
Lmxlbmd0aDsgKyt0dCkgeworICAgIHZhciB0ZXN0ID0gdGVzdHNbdHRdOworICAgIGRlYnVnKCIi
KTsKKyAgICBkZWJ1ZygiY2hlY2tpbmc6ICIgKyB0ZXN0Lm1zZyk7CisgICAgY2hlY2tCdWZmZXIo
dGVzdC5jaGVja0NvbG9yLCB0ZXN0LngsIHRlc3QueSwKKyAgICAgICAgICAgICAgICB0ZXN0Lm9u
ZUNvbG9yLCB0ZXN0Lm9uZVgsIHRlc3Qub25lWSk7CisgIH0KKworICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIEdMIGVycm9ycyIpOworCisgIGZ1
bmN0aW9uIGNoZWNrQnVmZmVyKGNoZWNrQ29sb3IsIHgsIHksIG9uZUNvbG9yLCBvbmVYLCBvbmVZ
KSB7CisgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0ICogNCk7Cisg
ICAgZ2wucmVhZFBpeGVscyh4LCB5LCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLCBidWYpOworICAgIGZvciAodmFyIHl5ID0gMDsgeXkgPCBoZWlnaHQ7ICsreXkpIHsK
KyAgICAgIGZvciAodmFyIHh4ID0gMDsgeHggPCB3aWR0aDsgKyt4eCkgeworICAgICAgICB2YXIg
b2Zmc2V0ID0gKHl5ICogd2lkdGggKyB4eCkgKiA0OworICAgICAgICB2YXIgZXhwZWN0ZWRDb2xv
cnMgPSAob25lWCA9PSB4eCAmJiBvbmVZID09IHl5KSA/IG9uZUNvbG9yIDogY2hlY2tDb2xvcjsK
KyAgICAgICAgZm9yICh2YXIgY2MgPSAwOyBjYyA8IDQ7ICsrY2MpIHsKKyAgICAgICAgICB2YXIg
ZXhwZWN0ZWRDb2xvciA9IGV4cGVjdGVkQ29sb3JzW2NjXSAqIDI1NTsKKyAgICAgICAgICB2YXIg
Y29sb3IgPSBidWZbb2Zmc2V0ICsgY2NdOworICAgICAgICAgIHZhciBkaWZmID0gTWF0aC5hYnMo
ZXhwZWN0ZWRDb2xvciAtIGNvbG9yKTsKKyAgICAgICAgICBhc3NlcnRNc2coZGlmZiA8IDMsCisg
ICAgICAgICAgICAgICAgICAgICJjb2xvciBwaXhlbCBhdCAiICsgeHggKyAiLCAiICsgeXkgKyAi
IHNob3VsZCBiZSBhYm91dCAiICsgZXhwZWN0ZWRDb2xvcik7CisgICAgICAgIH0KKyAgICAgIH0K
KyAgICB9CisgIH0KKworICB2YXIgYmFkRm9ybWF0cyA9IFsKKyAgICB7CisgICAgICBmb3JtYXQ6
IGdsLlJHQiwKKyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICBkZXN0OiBuZXcg
VWludDhBcnJheSgzKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX09QRVJBVElPTgorICAgIH0s
CisgICAgeworICAgICAgZm9ybWF0OiBnbC5SR0IsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9T
SE9SVF81XzZfNSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50OEFycmF5KDMpLAorICAgICAgZXJyb3I6
IGdsLklOVkFMSURfT1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLlJH
QkEsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVF81XzVfNV8xLAorICAgICAgZGVzdDog
bmV3IFVpbnQxNkFycmF5KDEpLAorICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9OCisg
ICAgfSwKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLlJHQkEsCisgICAgICB0eXBlOiBnbC5VTlNJ
R05FRF9TSE9SVF80XzRfNF80LAorICAgICAgZGVzdDogbmV3IFVpbnQxNkFycmF5KDEpLAorICAg
ICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAgICBmb3Jt
YXQ6IGdsLkFMUEhBLAorICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwKKyAgICAgIGRlc3Q6
IG5ldyBVaW50OEFycmF5KDEpLAorICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9OCisg
ICAgfSwKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLkxVTUlOQU5DRSwKKyAgICAgIHR5cGU6IGds
LlVOU0lHTkVEX0JZVEUsCisgICAgICBkZXN0OiBuZXcgVWludDhBcnJheSgxKSwKKyAgICAgIGVy
cm9yOiBnbC5JTlZBTElEX0VOVU0KKyAgICB9LAorICAgIHsKKyAgICAgIGZvcm1hdDogZ2wuTFVN
SU5BTkNFX0FMUEhBLAorICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwKKyAgICAgIGRlc3Q6
IG5ldyBVaW50OEFycmF5KDIpLAorICAgICAgZXJyb3I6IGdsLklOVkFMSURfRU5VTQorICAgIH0K
KyAgXTsKKyAgZGVidWcoIiIpOworICBkZWJ1ZygiY2hlY2sgZGlzYWxsb3dlZCBmb3JtYXRzIik7
CisgIGZvciAodmFyIHR0ID0gMDsgdHQgPCBiYWRGb3JtYXRzLmxlbmd0aDsgKysgdHQpIHsKKyAg
ICB2YXIgaW5mbyA9IGJhZEZvcm1hdHNbdHRdCisgICAgdmFyIGZvcm1hdCA9IGluZm8uZm9ybWF0
OworICAgIHZhciB0eXBlID0gaW5mby50eXBlOworICAgIHZhciBkZXN0ID0gaW5mby5kZXN0Owor
ICAgIHZhciBlcnJvciA9IGluZm8uZXJyb3I7CisgICAgZ2wucmVhZFBpeGVscygwLCAwLCAxLCAx
LCBmb3JtYXQsIHR5cGUsIGRlc3QpOworICAgIC8vIG5vdGUgdGhhdCB0aGUgR0wgZXJyb3IgaXMg
SU5WQUxJRF9PUEVSQVRJT04gaWYgYm90aCBmb3JtYXQgYW5kIHR5cGUgYXJlIGludmFsaWQsIGJ1
dAorICAgIC8vIElOVkFMSURfRU5VTSBpZiBvbmx5IG9uZSBpcy4KKyAgICBnbEVycm9yU2hvdWxk
QmUoCisgICAgICAgIGdsLCBlcnJvciwKKyAgICAgICAgIlNob3VsZCBub3QgYmUgYWJsZSB0byBy
ZWFkIGFzICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGZvcm1hdCkgKworICAgICAgICAiIC8g
IiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdHlwZSkpOworICB9CisKKyAgZGVidWcoIiIpOwor
ICBkZWJ1ZygiY2hlY2sgcmVhZGluZyB3aXRoIGxvdHMgb2YgZHJhd2luZyIpOworICBjb250aW51
ZVRlc3RGdW5jID0gY29udGludWVUZXN0UGFydDI7CisgIHdpZHRoID0gMTAyNDsKKyAgaGVpZ2h0
ID0gMTAyNDsKKyAgY2FudmFzLndpZHRoID0gd2lkdGg7CisgIGNhbnZhcy5oZWlnaHQgPSBoZWln
aHQ7CisgIGlmIChnbC5nZXRFcnJvcigpICE9IGdsLkNPTlRFWFRfTE9TVF9XRUJHTCkgeworICAg
IGNvbnRpbnVlVGVzdFBhcnQyKCk7CisgIH0KK30KKworZnVuY3Rpb24gY29udGludWVUZXN0UGFy
dDIoKSB7CisgIGdsLnZpZXdwb3J0KDAsIDAsIDEwMjQsIDEwMjQpOworICB2YXIgcHJvZ3JhbSA9
IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CisgIHZhciBsb2MgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgInRleCIpOworICBnbC5kaXNhYmxlKGdsLkJMRU5EKTsKKyAgZ2wuZGlz
YWJsZShnbC5ERVBUSF9URVNUKTsKKyAgdmFyIGNvbG9ycyA9IFtbMjU1LCAwLCAwLCAyNTVdLCBb
MCwgMjU1LCAwLCAyNTVdLCBbMCwgMCwgMjU1LCAyNTVdXTsKKyAgdmFyIHRleHR1cmVzID0gW107
CisgIHZhciByZXN1bHRzID0gW107CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBjb2xvcnMubGVu
Z3RoOyArK2lpKSB7CisgICAgZ2wuYWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMCArIGlpKTsKKyAg
ICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIHd0dS5maWxsVGV4dHVyZShnbCwg
dGV4LCAxLCAxLCBjb2xvcnNbaWldKTsKKyAgICB0ZXh0dXJlcy5wdXNoKHRleCk7CisgIH0KKyAg
Zm9yICh2YXIgaWkgPSAwOyBpaSA8IGNvbG9ycy5sZW5ndGg7ICsraWkpIHsKKyAgICBmb3IgKHZh
ciBqaiA9IDA7IGpqIDwgMzAwICsgaWkgKyAxOyArK2pqKSB7CisgICAgICBnbC51bmlmb3JtMWko
bG9jLCBqaiAlIDMpOworICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOwor
ICAgIH0KKyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgZ2wucmVhZFBpeGVs
cyg1MTIsIDUxMiwgMSwgMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICBy
ZXN1bHRzLnB1c2goYnVmKTsKKyAgICBmb3IgKHZhciBrayA9IDA7IGtrIDwgOTk7ICsra2spIHsK
KyAgICAgIGdsLnVuaWZvcm0xaShsb2MsIChqaiArIGtrKSAlIDMpOworICAgICAgZ2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICAgIH0KKyAgfQorICBmb3IgKHZhciBpaSA9IDA7
IGlpIDwgY29sb3JzLmxlbmd0aDsgKytpaSkgeworICAgIHZhciBidWYgPSByZXN1bHRzW2lpXTsK
KyAgICB2YXIgY29sb3IgPSBjb2xvcnNbaWldOworICAgIGFjdHVhbCA9IFtidWZbMF0sIGJ1Zlsx
XSwgYnVmWzJdLCBidWZbM11dOworICAgIGV4cGVjdGVkID0gW2NvbG9yWzBdLCBjb2xvclsxXSwg
Y29sb3JbMl0sIGNvbG9yWzNdXTsKKyAgICBzaG91bGRCZSgiYWN0dWFsIiwgImV4cGVjdGVkIik7
CisgIH0KKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBi
ZSBubyBHTCBlcnJvcnMiKTsKKworICBkZWJ1ZygiIik7CisgIGZpbmlzaFRlc3QoKTsKK30KKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2Zy
YW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVm
ZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY3N2Y1MTNjODIyZmNmOTZm
NGIyMTA5ZDcxNGQ5ZGQ2ZjY1ZjEzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMv
ZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbApAQCAtMCwwICsxLDU1OSBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2
YXIgZ2w7Cit2YXIgZmJvOwordmFyIGRlcHRoQnVmZmVyOwordmFyIHN0ZW5jaWxCdWZmZXI7Cit2
YXIgZGVwdGhTdGVuY2lsQnVmZmVyOwordmFyIGNvbG9yQnVmZmVyOwordmFyIHdpZHRoOwordmFy
IGhlaWdodDsKKwordmFyIEFMTE9XX0NPTVBMRVRFICAgICAgICAgICAgICA9IDB4MDE7Cit2YXIg
QUxMT1dfVU5TVVBQT1JURUQgICAgICAgICAgID0gMHgwMjsKK3ZhciBBTExPV19JTkNPTVBMRVRF
X0FUVEFDSE1FTlQgPSAweDA0OworCitmdW5jdGlvbiBjaGVja0ZyYW1lYnVmZmVyRm9yQWxsb3dl
ZFN0YXR1c2VzKGFsbG93ZWRTdGF0dXNlcykKK3sKKyAgICAvLyBJZiB0aGUgZnJhbWVidWZmZXIg
aXMgaW4gYW4gZXJyb3Igc3RhdGUgZm9yIG11bHRpcGxlIHJlYXNvbnMsCisgICAgLy8gd2UgY2Fu
J3QgZ3VhcmFudGVlIHdoaWNoIG9uZSB3aWxsIGJlIHJlcG9ydGVkLgorICAgIHZhciBzdGF0dXMg
PSBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKTsKKyAgICB2YXIgc3Rh
dHVzQWxsb3dlZCA9ICgoYWxsb3dlZFN0YXR1c2VzICYgQUxMT1dfQ09NUExFVEUpICYmIChzdGF0
dXMgPT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpKSB8fAorICAgICAgICAgICAgICAgICAgICAg
ICAgKChhbGxvd2VkU3RhdHVzZXMgJiBBTExPV19VTlNVUFBPUlRFRCkgJiYgKHN0YXR1cyA9PSBn
bC5GUkFNRUJVRkZFUl9VTlNVUFBPUlRFRCkpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAo
KGFsbG93ZWRTdGF0dXNlcyAmIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCkgJiYgKHN0YXR1
cyA9PSBnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQpKTsKKyAgICB2YXIgbXNn
ID0gImdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIHJldHVybmVkICIg
KyBzdGF0dXM7CisgICAgaWYgKHN0YXR1c0FsbG93ZWQpCisgICAgICAgIHRlc3RQYXNzZWQobXNn
KTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQobXNnKTsKK30KKworZnVuY3Rpb24gY2hl
Y2tCdWZmZXJCaXRzKGF0dGFjaG1lbnQwLCBhdHRhY2htZW50MSkKK3sKKyAgICBpZiAoZ2wuY2hl
Y2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikgIT0gZ2wuRlJBTUVCVUZGRVJfQ09N
UExFVEUpCisgICAgICByZXR1cm47CisKKyAgICB2YXIgaGF2ZURlcHRoQnVmZmVyID0gYXR0YWNo
bWVudDAgPT0gZ2wuREVQVEhfQVRUQUNITUVOVCB8fAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBhdHRhY2htZW50MCA9PSBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQgfHwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDEgPT0gZ2wuREVQVEhfQVRUQUNITUVOVCB8fAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50MSA9PSBnbC5ERVBUSF9TVEVOQ0lM
X0FUVEFDSE1FTlQ7CisgICAgdmFyIGhhdmVTdGVuY2lsQnVmZmVyID0gYXR0YWNobWVudDAgPT0g
Z2wuU1RFTkNJTF9BVFRBQ0hNRU5UIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0
YWNobWVudDAgPT0gZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UIHx8CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYXR0YWNobWVudDEgPT0gZ2wuU1RFTkNJTF9BVFRBQ0hNRU5UIHx8Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDEgPT0gZ2wuREVQVEhfU1RFTkNJ
TF9BVFRBQ0hNRU5UOworCisgICAgc2hvdWxkQmVUcnVlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuUkVE
X0JJVFMpICsgZ2wuZ2V0UGFyYW1ldGVyKGdsLkdSRUVOX0JJVFMpICsgZ2wuZ2V0UGFyYW1ldGVy
KGdsLkJMVUVfQklUUykgKyBnbC5nZXRQYXJhbWV0ZXIoZ2wuQUxQSEFfQklUUykgPj0gMTYiKTsK
KworICAgIGlmIChoYXZlRGVwdGhCdWZmZXIpCisgICAgICBzaG91bGRCZVRydWUoImdsLmdldFBh
cmFtZXRlcihnbC5ERVBUSF9CSVRTKSA+PSAxNiIpOworICAgIGVsc2UKKyAgICAgIHNob3VsZEJl
VHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLkRFUFRIX0JJVFMpID09IDAiKTsKKworICAgIGlmICho
YXZlU3RlbmNpbEJ1ZmZlcikKKyAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGds
LlNURU5DSUxfQklUUykgPj0gOCIpOworICAgIGVsc2UKKyAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wu
Z2V0UGFyYW1ldGVyKGdsLlNURU5DSUxfQklUUykgPT0gMCIpOworfQorCitmdW5jdGlvbiB0ZXN0
QXR0YWNobWVudChhdHRhY2htZW50LCBidWZmZXIsIGFsbG93ZWRTdGF0dXNlcykKK3sKKyAgICBz
aG91bGRCZU5vbk51bGwoImZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5i
aW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisgICAgZ2wuZnJhbWVidWZmZXJS
ZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5E
RVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihn
bC5GUkFNRUJVRkZFUiwgYXR0YWNobWVudCwgZ2wuUkVOREVSQlVGRkVSLCBidWZmZXIpOworICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIGNoZWNrRnJhbWVidWZmZXJG
b3JBbGxvd2VkU3RhdHVzZXMoYWxsb3dlZFN0YXR1c2VzKTsKKyAgICBpZiAoKGFsbG93ZWRTdGF0
dXNlcyAmIEFMTE9XX0NPTVBMRVRFKSA9PSAwKSB7CisgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRlJB
TUVCVUZGRVJfT1BFUkFUSU9OKTsKKyAgICAgICAgZ2wucmVhZFBpeGVscygwLCAwLCB3aWR0aCwg
aGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheSh3aWR0aCAq
IGhlaWdodCAqIDQpKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0ZS
QU1FQlVGRkVSX09QRVJBVElPTik7CisgICAgfQorICAgIGNoZWNrQnVmZmVyQml0cyhhdHRhY2ht
ZW50KTsKKyAgICBnbC5kZWxldGVGcmFtZWJ1ZmZlcihmYm8pOworfQorCitmdW5jdGlvbiB0ZXN0
QXR0YWNobWVudHMoYXR0YWNobWVudDAsIGJ1ZmZlcjAsIGF0dGFjaG1lbnQxLCBidWZmZXIxLCBh
bGxvd2VkU3RhdHVzZXMpCit7CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVG
cmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBm
Ym8pOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5D
T0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wu
ZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGF0dGFjaG1lbnQwLCBnbC5S
RU5ERVJCVUZGRVIsIGJ1ZmZlcjApOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBhdHRh
Y2htZW50MSwgZ2wuUkVOREVSQlVGRkVSLCBidWZmZXIxKTsKKyAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyRm9yQWxsb3dlZFN0YXR1c2Vz
KGFsbG93ZWRTdGF0dXNlcyk7CisgICAgY2hlY2tCdWZmZXJCaXRzKGF0dGFjaG1lbnQwLCBhdHRh
Y2htZW50MSk7CisgICAgZ2wuZGVsZXRlRnJhbWVidWZmZXIoZmJvKTsKK30KKworZnVuY3Rpb24g
dGVzdENvbG9yUmVuZGVyYnVmZmVyKGludGVybmFsZm9ybWF0LCBhbGxvd2VkU3RhdHVzZXMpCit7
CisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZl
cigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVm
ZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgaW50ZXJu
YWxmb3JtYXQsIHdpZHRoLCBoZWlnaHQpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IpOworICAgIHRlc3RBdHRhY2htZW50KGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBjb2xvckJ1
ZmZlciwgYWxsb3dlZFN0YXR1c2VzKTsKK30KKworZnVuY3Rpb24gdGVzdERlcHRoU3RlbmNpbFJl
bmRlcmJ1ZmZlcihhbGxvd2VkU3RhdHVzZXMpCit7CisgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0
aFN0ZW5jaWxCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRS
ZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aFN0ZW5jaWxCdWZmZXIpOworICAgIGds
LnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5ERVBUSF9TVEVOQ0lMLCB3
aWR0aCwgaGVpZ2h0KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKwor
ICAgIC8vIE9wZW5HTCBpdHNlbGYgZG9lc24ndCBzZWVtIHRvIGd1YXJhbnRlZSB0aGF0IGUuZy4g
YSAyIHggMAorICAgIC8vIHJlbmRlcmJ1ZmZlciB3aWxsIHJlcG9ydCAyIGZvciBpdHMgd2lkdGgg
d2hlbiBxdWVyaWVkLgorICAgIGlmICghKGhlaWdodCA9PSAwICYmIHdpZHRoID4gMCkpCisgICAg
ICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVS
LCBnbC5SRU5ERVJCVUZGRVJfV0lEVEgpIiwgIndpZHRoIik7CisgICAgaWYgKCEod2lkdGggPT0g
MCAmJiBoZWlnaHQgPiAwKSkKKyAgICAgICAgc2hvdWxkQmUoImdsLmdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9IRUlHSFQpIiwgImhlaWdo
dCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVS
QlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfSU5URVJOQUxfRk9STUFUKSIsICJnbC5ERVBUSF9TVEVO
Q0lMIik7CisgICAgc2hvdWxkQmUoImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5E
RVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9SRURfU0laRSkiLCAiMCIpOworICAgIHNob3VsZEJl
KCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJC
VUZGRVJfR1JFRU5fU0laRSkiLCAiMCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZm
ZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfQkxVRV9TSVpFKSIs
ICIwIik7CisgICAgc2hvdWxkQmUoImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5E
RVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9BTFBIQV9TSVpFKSIsICIwIik7CisgICAgLy8gQXZv
aWQgdmVyaWZ5aW5nIHRoZXNlIGZvciB6ZXJvLXNpemVkIHJlbmRlcmJ1ZmZlcnMgZm9yIHRoZSB0
aW1lCisgICAgLy8gYmVpbmcgc2luY2UgaXQgYXBwZWFycyB0aGF0IGV2ZW4gT3BlbkdMIGRvZXNu
J3QgZ3VhcmFudGVlIHRoZW0uCisgICAgaWYgKHdpZHRoID4gMCAmJiBoZWlnaHQgPiAwKSB7Cisg
ICAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRF
UkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0RFUFRIX1NJWkUpID4gMCIpOworICAgICAgICBzaG91
bGRCZVRydWUoImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGds
LlJFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJWkUpID4gMCIpOworICAgIH0KKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVO
Q0lMX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c2VzKTsKKyAg
ICB0ZXN0RGVwdGhTdGVuY2lsRGVwdGhTdGVuY2lsKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3REZXB0
aFN0ZW5jaWxEZXB0aFN0ZW5jaWwoKQoreworICAgIGlmICghd2lkdGggfHwgIWhlaWdodCkgewor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdmFyIHRlc3RzID0gWworICAgICAgICB7ICAg
Zmlyc3RGb3JtYXQ6IGdsLkRFUFRIX0NPTVBPTkVOVDE2LAorICAgICAgICAgICAgZmlyc3RBdHRh
Y2g6IGdsLkRFUFRIX0FUVEFDSE1FTlQsCisgICAgICAgICAgICBzZWNvbmRGb3JtYXQ6IGdsLkRF
UFRIX1NURU5DSUwsCisgICAgICAgICAgICBzZWNvbmRBdHRhY2g6IGdsLkRFUFRIX1NURU5DSUxf
QVRUQUNITUVOVAorICAgICAgICB9LAorICAgICAgICB7ICAgZmlyc3RGb3JtYXQ6IGdsLkRFUFRI
X1NURU5DSUwsCisgICAgICAgICAgICBmaXJzdEF0dGFjaDogZ2wuREVQVEhfU1RFTkNJTF9BVFRB
Q0hNRU5ULAorICAgICAgICAgICAgc2Vjb25kRm9ybWF0OiBnbC5ERVBUSF9DT01QT05FTlQxNiwK
KyAgICAgICAgICAgIHNlY29uZEF0dGFjaDogZ2wuREVQVEhfQVRUQUNITUVOVAorICAgICAgICB9
CisgICAgXTsKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdHMubGVuZ3RoOyArK2lpKSB7
CisgICAgICAgIHZhciB0ZXN0ID0gdGVzdHNbaWldOworICAgICAgICBmb3IgKHZhciBqaiA9IDA7
IGpqIDwgMjsgKytqaikgeworICAgICAgICAgICAgdmFyIGZibyA9IGdsLmNyZWF0ZUZyYW1lYnVm
ZmVyKCk7CisgICAgICAgICAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgICAg
ICAgICAgdmFyIGZpcnN0UmIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKKworICAgICAgICAg
ICAgZGVidWcoIiIpOworICAgICAgICAgICAgZGVidWcoInRlc3Q6ICIgKyB3dHUuZ2xFbnVtVG9T
dHJpbmcoZ2wsIHRlc3QuZmlyc3RGb3JtYXQpICsgIiB2cyAiICsgd3R1LmdsRW51bVRvU3RyaW5n
KGdsLCB0ZXN0LnNlY29uZEZvcm1hdCkgKyAiIHdpdGggIiArIChqaiA/ICJ1bmJpbmQiIDogImRl
bGV0ZSIpKTsKKworICAgICAgICAgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVS
LCBmYm8pOworICAgICAgICAgICAgLy8gYXR0YWNoIHRleHR1cmUgYXMgY29sb3IKKyAgICAgICAg
ICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgICAgICAgICBnbC50
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIHdpZHRoLCBoZWlnaHQsIDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgICAgICAgICAgZ2wuZnJhbWVidWZm
ZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhU
VVJFXzJELCB0ZXgsIDApOworCisgICAgICAgICAgICAvLyBhdHRhY2ggZmlyc3QKKyAgICAgICAg
ICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBmaXJzdFJiKTsKKyAgICAg
ICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCB0ZXN0LmZpcnN0
Rm9ybWF0LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVy
YnVmZmVyKGdsLkZSQU1FQlVGRkVSLCB0ZXN0LmZpcnN0QXR0YWNoLCBnbC5SRU5ERVJCVUZGRVIs
IGZpcnN0UmIpOworCisgICAgICAgICAgICBzaG91bGRCZSgnZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0
YXR1cyhnbC5GUkFNRUJVRkZFUiknLCAnZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUnKTsKKyAgICAg
ICAgICAgIGdsLmVuYWJsZShnbC5ERVBUSF9URVNUKTsKKyAgICAgICAgICAgIHZhciBwcm9ncmFt
ID0gd3R1LnNldHVwQ29sb3JRdWFkKGdsKTsKKyAgICAgICAgICAgIC8vIFRlc3QgaXQgd29ya3MK
KyAgICAgICAgICAgIHd0dS5kcmF3VUJ5dGVDb2xvclF1YWQoZ2wsIFswLCAyNTUsIDAsIDI1NV0p
OworICAgICAgICAgICAgd3R1LmRyYXdVQnl0ZUNvbG9yUXVhZChnbCwgWzI1NSwgMCwgMCwgMjU1
XSk7ICAvLyBzaG91bGQgbm90IGRyYXcgc2luY2UgREVQVEhfRlVOQyA9PSBMRVNTCisgICAgICAg
ICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCB3aWR0aCwgaGVpZ2h0LCBbMCwgMjU1
LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7CisKKyAgICAgICAgICAgIHZhciBzZWNvbmRS
YiA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpOworCisgICAgICAgICAgICAvLyBhdHRhY2ggc2Vj
b25kCisgICAgICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgc2Vj
b25kUmIpOworICAgICAgICAgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZG
RVIsIHRlc3Quc2Vjb25kRm9ybWF0LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgICAgIGdsLmZy
YW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCB0ZXN0LnNlY29uZEF0dGFjaCwg
Z2wuUkVOREVSQlVGRkVSLCBzZWNvbmRSYik7CisKKyAgICAgICAgICAgIGlmIChqaiA9PSAwKSB7
CisgICAgICAgICAgICAgIC8vIG5vdyBkZWxldGUgaXQKKyAgICAgICAgICAgICAgZGVidWcoInRl
c3QgZGVsZXRpbmcgc2Vjb25kIHJlbmRlcmJ1ZmZlciIpOworICAgICAgICAgICAgICBnbC5kZWxl
dGVSZW5kZXJidWZmZXIoc2Vjb25kUmIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgLy8gdW5iaW5kIGl0CisgICAgICAgICAgICAgIGRlYnVnKCJ0ZXN0IHVuYmluZGluZyBz
ZWNvbmQgcmVuZGVyYnVmZmVyIik7CisgICAgICAgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVy
YnVmZmVyKGdsLkZSQU1FQlVGRkVSLCB0ZXN0LnNlY29uZEF0dGFjaCwgZ2wuUkVOREVSQlVGRkVS
LCBudWxsKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gSWYgdGhlIGZpcnN0IGF0
dGFjaG1lbnQgaXMgbm90IHJlc3RvcmVkIHRoaXMgbWF5IGZhaWwKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCdnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKScsICdnbC5GUkFN
RUJVRkZFUl9DT01QTEVURScpOworICAgICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5O
T19FUlJPUik7CisKKyAgICAgICAgICAgIC8vIElmIHRoZSBmaXJzdCBhdHRhY2htZW50IGlzIG5v
dCByZXN0b3JlZCB0aGlzIG1heSBmYWlsLgorICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuREVQVEhf
QlVGRkVSX0JJVCk7CisgICAgICAgICAgICB3dHUuZHJhd1VCeXRlQ29sb3JRdWFkKGdsLCBbMCwg
MjU1LCAwLCAyNTVdKTsKKyAgICAgICAgICAgIHd0dS5kcmF3VUJ5dGVDb2xvclF1YWQoZ2wsIFsy
NTUsIDAsIDAsIDI1NV0pOyAgLy8gc2hvdWxkIG5vdCBkcmF3IHNpbmNlIERFUFRIX0ZVTkMgPT0g
TEVTUworICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgd2lkdGgsIGhl
aWdodCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworICAgICAgICAgICAg
Z2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKworICAgICAgICAgICAgaWYgKGpqID09IDEpIHsK
KyAgICAgICAgICAgICAgZ2wuZGVsZXRlUmVuZGVyYnVmZmVyKHNlY29uZFJiKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZ2wuZGVsZXRlUmVuZGVyYnVmZmVyKHNlY29uZFJiKTsKKyAg
ICAgICAgICAgIGdsLmRlbGV0ZUZyYW1lYnVmZmVyKGZibyk7CisgICAgICAgIH0KKyAgICB9Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7Cit9CisKK2Rlc2NyaXB0aW9uKCJU
ZXN0IGZyYW1lYnVmZmVyIG9iamVjdCBhdHRhY2htZW50IGJlaGF2aW9ycyIpOworCitmb3IgKHdp
ZHRoID0gMDsgd2lkdGggPD0gMjsgd2lkdGggKz0gMikKK3sKKyAgICBmb3IgKGhlaWdodCA9IDA7
IGhlaWdodCA8PSAyOyBoZWlnaHQgKz0gMikKKyAgICB7CisgICAgICAgIGRlYnVnKCIiKTsKKyAg
ICAgICAgZGVidWcoIkRpbWVuc2lvbnMgIiArIHdpZHRoICsgIiB4ICIgKyBoZWlnaHQpOworCisg
ICAgICAgIGRlYnVnKCJDcmVhdGUgcmVuZGVyYnVmZmVycyIpOworICAgICAgICBzaG91bGRCZU5v
bk51bGwoImdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpIik7CisgICAgICAgIHNob3VsZEJlTm9u
TnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgICAgICBn
bC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgICAg
ICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIHdpZHRo
LCBoZWlnaHQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAg
ICAgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZl
cigpIik7CisgICAgICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0
aEJ1ZmZlcik7CisgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVS
LCBnbC5ERVBUSF9DT01QT05FTlQxNiwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgICAgICBzaG91bGRCZU5vbk51bGwoInN0ZW5j
aWxCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgICAgICBnbC5iaW5kUmVu
ZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgc3RlbmNpbEJ1ZmZlcik7CisgICAgICAgIGdsLnJl
bmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5TVEVOQ0lMX0lOREVYOCwgd2lk
dGgsIGhlaWdodCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwor
ICAgICAgICBzaG91bGRCZU5vbk51bGwoImRlcHRoU3RlbmNpbEJ1ZmZlciA9IGdsLmNyZWF0ZVJl
bmRlcmJ1ZmZlcigpIik7CisgICAgICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVG
RkVSLCBkZXB0aFN0ZW5jaWxCdWZmZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdl
KGdsLlJFTkRFUkJVRkZFUiwgZ2wuREVQVEhfU1RFTkNJTCwgd2lkdGgsIGhlaWdodCk7CisgICAg
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgICAgICAgIHZhciBhbGxv
d2VkU3RhdHVzRm9yR29vZENhc2UKKyAgICAgICAgICAgID0gKHdpZHRoID09IDAgfHwgaGVpZ2h0
ID09IDApID8gQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UIDogQUxMT1dfQ09NUExFVEU7CisK
KyAgICAgICAgLy8gc29tZSBjYXNlcyBpbnZvbHZpbmcgc3RlbmNpbCBzZWVtIHRvIGJlIGltcGxl
bWVudGF0aW9uLWRlcGVuZGVudAorICAgICAgICB2YXIgYWxsb3dlZFN0YXR1c0ZvckltcGxEZXBl
bmRlbnRDYXNlID0gYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlIHwgQUxMT1dfVU5TVVBQT1JURUQ7
CisKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aCB1c2luZyBERVBUSF9BVFRBQ0hNRU5UIik7
CisgICAgICAgIHRlc3RBdHRhY2htZW50KGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVy
LCBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRo
IHVzaW5nIFNURU5DSUxfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5T
VEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1F
TlQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoIHVzaW5nIERFUFRIX1NURU5DSUxfQVRU
QUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFD
SE1FTlQsIGRlcHRoQnVmZmVyLCBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQpOworICAgICAg
ICBkZWJ1ZygiQXR0YWNoIHN0ZW5jaWwgdXNpbmcgU1RFTkNJTF9BVFRBQ0hNRU5UIik7CisgICAg
ICAgIHRlc3RBdHRhY2htZW50KGdsLlNURU5DSUxfQVRUQUNITUVOVCwgc3RlbmNpbEJ1ZmZlciwg
YWxsb3dlZFN0YXR1c0ZvckltcGxEZXBlbmRlbnRDYXNlKTsKKyAgICAgICAgZGVidWcoIkF0dGFj
aCBzdGVuY2lsIHVzaW5nIERFUFRIX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1l
bnQoZ2wuREVQVEhfQVRUQUNITUVOVCwgc3RlbmNpbEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVURV9B
VFRBQ0hNRU5UKTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2lsIHVzaW5nIERFUFRIX1NU
RU5DSUxfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVO
Q0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVO
VCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVuY2lsIHVzaW5nIERFUFRIX1NURU5D
SUxfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVOQ0lM
X0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNl
KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aFN0ZW5jaWwgdXNpbmcgREVQVEhfQVRUQUNI
TUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9BVFRBQ0hNRU5ULCBkZXB0
aFN0ZW5jaWxCdWZmZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisgICAgICAgIGRl
YnVnKCJBdHRhY2ggZGVwdGhTdGVuY2lsIHVzaW5nIFNURU5DSUxfQVRUQUNITUVOVCIpOworICAg
ICAgICB0ZXN0QXR0YWNobWVudChnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1
ZmZlciwgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKworICAgICAgICB2YXIgYWxsb3dl
ZFN0YXR1c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50CisgICAgICAgICAgICA9ICh3aWR0aCA9PSAw
IHx8IGhlaWdodCA9PSAwKSA/IEFMTE9XX1VOU1VQUE9SVEVEIHwgQUxMT1dfSU5DT01QTEVURV9B
VFRBQ0hNRU5UCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEFM
TE9XX1VOU1VQUE9SVEVEOworCisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGgsIHRoZW4gc3Rl
bmNpbCwgY2F1c2luZyBjb25mbGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuREVQ
VEhfQVRUQUNITUVOVCwgZGVwdGhCdWZmZXIsIGdsLlNURU5DSUxfQVRUQUNITUVOVCwgc3RlbmNp
bEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50KTsKKyAgICAgICAg
ZGVidWcoIkF0dGFjaCBzdGVuY2lsLCB0aGVuIGRlcHRoLCBjYXVzaW5nIGNvbmZsaWN0Iik7Cisg
ICAgICAgIHRlc3RBdHRhY2htZW50cyhnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZm
ZXIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29u
ZmxpY3RlZEF0dGFjaG1lbnQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoLCB0aGVuIGRl
cHRoU3RlbmNpbCwgY2F1c2luZyBjb25mbGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMo
Z2wuREVQVEhfQVRUQUNITUVOVCwgZGVwdGhCdWZmZXIsIGdsLkRFUFRIX1NURU5DSUxfQVRUQUNI
TUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFj
aG1lbnQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCwgdGhlbiBkZXB0aCwg
Y2F1c2luZyBjb25mbGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuREVQVEhfU1RF
TkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIGdsLkRFUFRIX0FUVEFDSE1FTlQs
IGRlcHRoQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOworICAg
ICAgICBkZWJ1ZygiQXR0YWNoIHN0ZW5jaWwsIHRoZW4gZGVwdGhTdGVuY2lsLCBjYXVzaW5nIGNv
bmZsaWN0Iik7CisgICAgICAgIHRlc3RBdHRhY2htZW50cyhnbC5ERVBUSF9BVFRBQ0hNRU5ULCBk
ZXB0aEJ1ZmZlciwgZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZm
ZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0YWNobWVudCk7CisgICAgICAgIGRlYnVn
KCJBdHRhY2ggZGVwdGhTdGVuY2lsLCB0aGVuIHN0ZW5jaWwsIGNhdXNpbmcgY29uZmxpY3QiKTsK
KyAgICAgICAgdGVzdEF0dGFjaG1lbnRzKGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwgZGVw
dGhTdGVuY2lsQnVmZmVyLCBnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIGFs
bG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0YWNobWVudCk7CisKKyAgICAgICAgZGVidWcoIkF0
dGFjaCBjb2xvciByZW5kZXJidWZmZXIgd2l0aCBpbnRlcm5hbGZvcm1hdCA9PSBSR0JBNCIpOwor
ICAgICAgICB0ZXN0Q29sb3JSZW5kZXJidWZmZXIoZ2wuUkdCQTQsIGFsbG93ZWRTdGF0dXNGb3JH
b29kQ2FzZSk7CisKKyAgICAgICAgZGVidWcoIkF0dGFjaCBjb2xvciByZW5kZXJidWZmZXIgd2l0
aCBpbnRlcm5hbGZvcm1hdCA9PSBSR0I1X0ExIik7CisgICAgICAgIHRlc3RDb2xvclJlbmRlcmJ1
ZmZlcihnbC5SR0I1X0ExLCBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UpOworCisgICAgICAgIGRl
YnVnKCJBdHRhY2ggY29sb3IgcmVuZGVyYnVmZmVyIHdpdGggaW50ZXJuYWxmb3JtYXQgPT0gUkdC
NTY1Iik7CisgICAgICAgIHRlc3RDb2xvclJlbmRlcmJ1ZmZlcihnbC5SR0I1NjUsIGFsbG93ZWRT
dGF0dXNGb3JHb29kQ2FzZSk7CisKKyAgICAgICAgZGVidWcoIkNyZWF0ZSBhbmQgYXR0YWNoIGRl
cHRoU3RlbmNpbCByZW5kZXJidWZmZXIiKTsKKyAgICAgICAgdGVzdERlcHRoU3RlbmNpbFJlbmRl
cmJ1ZmZlcihhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UpOworICAgIH0KK30KKworLy8gRGV0ZXJt
aW5lIGlmIHdlIGNhbiBhdHRhY2ggYm90aCBjb2xvciBhbmQgZGVwdGggb3IgY29sb3IgYW5kIGRl
cHRoX3N0ZW5jaWwKK3ZhciBkZXB0aEZvcm1hdDsKK3ZhciBkZXB0aEF0dGFjaG1lbnQ7CisKK2Z1
bmN0aW9uIGNoZWNrVmFsaWRDb2xvckRlcHRoQ29tYmluYXRpb24oKSB7CisgICAgc2hvdWxkQmVO
b25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1l
YnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JC
dWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZm
ZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5k
ZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwg
Z2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFn
ZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworCisgICAgc2hvdWxkQmVOb25O
dWxsKCJkZXB0aEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmlu
ZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKworICAgIHJldHVy
biB0cnlEZXB0aChnbC5ERVBUSF9DT01QT05FTlQxNiwgZ2wuREVQVEhfQVRUQUNITUVOVCkgfHwg
dHJ5RGVwdGgoZ2wuREVQVEhfU1RFTkNJTCwgZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UKTsK
KworICAgIGZ1bmN0aW9uIHRyeURlcHRoKHRyeV9mb3JtYXQsIHRyeV9hdHRhY2htZW50KSB7Cisg
ICAgICAgIGlmIChkZXB0aEF0dGFjaG1lbnQpIHsKKyAgICAgICAgICAgIC8vIElmIHdlJ3ZlIHRy
aWVkIG9uY2UgdW5hdHRhY2ggdGhlIG9sZCBvbmUuCisgICAgICAgICAgICBnbC5mcmFtZWJ1ZmZl
clJlbmRlcmJ1ZmZlcigKKyAgICAgICAgICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZGVwdGhBdHRh
Y2htZW50LCBnbC5SRU5ERVJCVUZGRVIsIG51bGwpOworICAgICAgICB9CisgICAgICAgIGRlcHRo
Rm9ybWF0ID0gdHJ5X2Zvcm1hdDsKKyAgICAgICAgZGVwdGhBdHRhY2htZW50ID0gdHJ5X2F0dGFj
aG1lbnQ7CisgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICAgICAg
Z2wuRlJBTUVCVUZGRVIsIGRlcHRoQXR0YWNobWVudCwgZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1
ZmZlcik7CisgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBk
ZXB0aEZvcm1hdCwgMTYsIDE2KTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7CisgICAgICAgIHJldHVybiBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1F
QlVGRkVSKSA9PSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURTsKKyAgICB9Cit9CisKK2lmIChjaGVj
a1ZhbGlkQ29sb3JEZXB0aENvbWJpbmF0aW9uKCkpIHsKKyAgICB0ZXN0RnJhbWVidWZmZXJJbmNv
bXBsZXRlRGltZW5zaW9ucygpOworICAgIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxldGVBdHRhY2ht
ZW50KCk7CisgICAgdGVzdEZyYW1lYnVmZmVySW5jb21wbGV0ZU1pc3NpbmdBdHRhY2htZW50KCk7
CisgICAgdGVzdFVzaW5nSW5jb21wbGV0ZUZyYW1lYnVmZmVyKCk7Cit9CisKK2Z1bmN0aW9uIGNo
ZWNrRnJhbWVidWZmZXIoZXhwZWN0ZWQpIHsKKyAgICB2YXIgYWN0dWFsID0gZ2wuY2hlY2tGcmFt
ZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUik7CisgICAgdmFyIG1zZyA9ICJnbC5jaGVja0Zy
YW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSBzaG91bGQgYmUgIiArIHd0dS5nbEVudW1U
b1N0cmluZyhnbCwgZXhwZWN0ZWQpICsgIiB3YXMgIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwg
YWN0dWFsKTsKKyAgICBpZiAoZXhwZWN0ZWQgIT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpIHsK
KyAgICAgICAgbXNnICs9ICIgb3IgRlJBTUVCVUZGRVJfVU5TVVBQT1JURUQiOworICAgIH0KKyAg
ICBpZiAoYWN0dWFsID09IGV4cGVjdGVkIHx8CisgICAgICAgIChleHBlY3RlZCAhPSBnbC5GUkFN
RUJVRkZFUl9DT01QTEVURSAmJgorICAgICAgICAgYWN0dWFsID09IGdsLkZSQU1CVUZGRVJfVU5T
VVBQT1JURUQpKSB7CisgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0VXNpbmdJbmNv
bXBsZXRlRnJhbWVidWZmZXIoKSB7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJUZXN0IGRy
YXdpbmcgb3IgcmVhZGluZyBmcm9tIGFuIGluY29tcGxldGUgZnJhbWVidWZmZXIiKTsKKyAgICB2
YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CisgICAgdmFyIHRleCA9IGds
LmNyZWF0ZVRleHR1cmUoKTsKKyAgICB3dHUuZmlsbFRleHR1cmUoZ2wsIHRleCwgMSwgMSwgWzAs
MjU1LDAsMjU1XSk7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9IGdsLmNyZWF0ZUZyYW1l
YnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7
CisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZl
cigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVm
ZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVy
KTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQs
IDE2LCAxNik7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImRlcHRoQnVmZmVyID0gZ2wuY3JlYXRl
UmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZF
UiwgZGVwdGhCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAg
ICBnbC5GUkFNRUJVRkZFUiwgZGVwdGhBdHRhY2htZW50LCBnbC5SRU5ERVJCVUZGRVIsIGRlcHRo
QnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVw
dGhGb3JtYXQsIDE2LCAxNik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7
CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisKKyAgICAv
LyBXZSBwaWNrIHRoaXMgY29tYmluYXRpb24gYmVjYXVzZSBpdCB3b3JrcyBvbiBkZXNrdG9wIE9w
ZW5HTCBidXQgc2hvdWxkIG5vdCB3b3JrIG9uIE9wZW5HTCBFUyAyLjAKKyAgICBnbC5yZW5kZXJi
dWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDMyLCAxNik7CisgICAg
Y2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMpOwor
ICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiRHJhd2luZyBvciByZWFkaW5nIGZyb20gYW4gaW5j
b21wbGV0ZSBmcmFtZWJ1ZmZlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9GUkFNRUJVRkZFUl9P
UEVSQVRJT04iKTsKKyAgICB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygpOworCisgICAgc2hvdWxk
QmVOb25OdWxsKCJmYm8yID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRG
cmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvMik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihn
bC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX01JU1NJTkdfQVRUQUNITUVOVCk7CisgICAgZGVidWco
IiIpOworICAgIGRlYnVnKCJEcmF3aW5nIG9yIHJlYWRpbmcgZnJvbSBhbiBpbmNvbXBsZXRlIGZy
YW1lYnVmZmVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiIp
OworICAgIHRlc3RSZW5kZXJpbmdBbmRSZWFkaW5nKCk7CisKKyAgICBzaG91bGRCZU5vbk51bGwo
ImNvbG9yQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVu
ZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLmZyYW1lYnVm
ZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNI
TUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZl
clN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMCwgMCk7CisgICAgZGVidWcoIiIp
OworICAgIGRlYnVnKCJEcmF3aW5nIG9yIHJlYWRpbmcgZnJvbSBhbiBpbmNvbXBsZXRlIGZyYW1l
YnVmZmVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiIpOwor
ICAgIHRlc3RSZW5kZXJpbmdBbmRSZWFkaW5nKCk7CisKKyAgICBmdW5jdGlvbiB0ZXN0UmVuZGVy
aW5nQW5kUmVhZGluZygpIHsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJP
Uik7CisgICAgICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sICJkcmF3QXJyYXlzIHdpdGggaW5j
b21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAgICAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIDEsIDEs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KDQpKTsKKyAgICAgICAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgInJl
YWRQaXhlbHMgZnJvbSBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIik7CisgICAgICAgIC8vIGNvcHlU
ZXhJbWFnZSBhbmQgY29weVRleFN1YkltYWdlIGNhbiBiZSBlaXRoZXIgSU5WQUxJRF9GUkFNRUJV
RkZFUl9PUEVSQVRJT04gYmVjYXVzZQorICAgICAgICAvLyB0aGUgZnJhbWVidWZmZXIgaXMgaW52
YWxpZCBPUiBJTlZBTElEX09QRVJBVElPTiBiZWNhdXNlIGluIHRoZSBjYXNlIG9mIG5vIGF0dGFj
aG1lbnRzCisgICAgICAgIC8vIHRoZSBmcmFtZWJ1ZmZlciBpcyBub3Qgb2YgYSBjb21wYXRpYmxl
IHR5cGUuCisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAs
IDAsIDAsIDAsIDEsIDEpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIFtnbC5JTlZBTElE
X0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgZ2wuSU5WQUxJRF9PUEVSQVRJT05dLCAiY29weVRleElt
YWdlMkQgZnJvbSBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIik7CisgICAgICAgIGdsLmNvcHlUZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAsIDEsIDEsIDApOworICAgICAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIFtnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwg
Z2wuSU5WQUxJRF9PUEVSQVRJT05dLCAiY29weVRleFN1YkltYWdlMkQgZnJvbSBpbmNvbXBsZXRl
IGZyYW1lYnVmZmVyIik7CisgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBn
bC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgImNsZWFyIHdpdGggaW5jb21wbGV0ZSBmcmFtZWJ1
ZmZlciIpOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdEZyYW1lYnVmZmVySW5jb21wbGV0ZUF0
dGFjaG1lbnQoKSB7CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1
ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOwor
ICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIo
KSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZl
cik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVG
RkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7
CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAx
NiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOwor
CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJXcm9uZyBzdG9yYWdlIHR5cGUgZm9yIHR5cGUg
b2YgYXR0YWNobWVudCBiZSBGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQgKE9wZW5H
TCBFUyAyLjAgNC40LjUpIik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJC
VUZGRVIsIGRlcHRoRm9ybWF0LCAxNiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJB
TUVCVUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKworICAgIGdsLnJlbmRlcmJ1ZmZlclN0
b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1l
YnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBk
ZWJ1ZygiMCBzaXplIGF0dGFjaG1lbnQgc2hvdWxkIGJlIEZSQU1FQlVGRkVSX0lOQ09NUExFVEVf
QVRUQUNITUVOVCAoT3BlbkdMIEVTIDIuMCA0LjQuNSkiKTsKKyAgICBnbC5yZW5kZXJidWZmZXJT
dG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDAsIDApOworICAgIGNoZWNrRnJhbWVi
dWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKworICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworfQorCitmdW5jdGlvbiB0ZXN0RnJhbWVidWZm
ZXJJbmNvbXBsZXRlTWlzc2luZ0F0dGFjaG1lbnQoKSB7CisgICAgZGVidWcoIiIpOworICAgIGRl
YnVnKCJObyBhdHRhY2htZW50cyBzaG91bGQgYmUgSU5DT01QTEVURV9GUkFNRUJVRkZFUl9NSVNT
SU5HX0FUVEFDSE1FTlQgKE9wZW5HTCBFUyAyLjAgNC40LjUpIik7CisgICAgc2hvdWxkQmVOb25O
dWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVm
ZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVC
VUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1FTlQpOworCisgICAgc2hvdWxkQmVOb25O
dWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmlu
ZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFt
ZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FU
VEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJi
dWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisgICAgY2hl
Y2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisKKyAgICBnbC5mcmFtZWJ1
ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFD
SE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIG51bGwpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wu
RlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1FTlQpOworCisgICAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7Cit9CisKK2Z1bmN0aW9uIHRlc3RGcmFtZWJ1ZmZl
ckluY29tcGxldGVEaW1lbnNpb25zKCkgeworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiQXR0
YWNobWVudHMgb2YgZGlmZmVyZW50IHNpemVzIHNob3VsZCBiZSBGUkFNRUJVRkZFUl9JTkNPTVBM
RVRFX0RJTUVOU0lPTlMgKE9wZW5HTCBFUyAyLjAgNC40LjUpIik7CisKKyAgICBzaG91bGRCZU5v
bk51bGwoImZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJhbWVi
dWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1
ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZl
cihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRl
cmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBn
bC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdl
KGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisKKyAgICBzaG91bGRCZU5vbk51
bGwoImRlcHRoQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5k
UmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAgIGdsLmZyYW1l
YnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZGVwdGhBdHRhY2ht
ZW50LCBnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJT
dG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDE2LCAxNik7CisgICAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFN
RUJVRkZFUl9DT01QTEVURSk7CisKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRF
UkJVRkZFUiwgZGVwdGhGb3JtYXQsIDMyLCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5G
UkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0
b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEZvcm1hdCwgMTYsIDE2KTsKKyAgICBjaGVja0Zy
YW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVm
ZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0
b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDMyKTsKKyAgICBjaGVja0ZyYW1l
YnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5TSU9OUyk7CisgICAgZ2wucmVu
ZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworICAg
IGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOworICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1
cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIGdsLnRl
eEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMTYsIDE2LCAwLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChnbC5G
UkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRleCwgMCk7
CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgaWYgKGdsLmNoZWNr
RnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpICE9IGdsLkZSQU1FQlVGRkVSX0NPTVBM
RVRFKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsIDMyLCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgbnVsbCk7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRF
X0RJTUVOU0lPTlMpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgMTYsIDE2LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICBjaGVj
a0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKKworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
Z2wtc2Npc3Nvci10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2U4YjUzZDdlZDJiMGM4ZDBhNTA4MWE0Yjk0NTgzMDFhMmM2NjliNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbApAQCAtMCwwICsxLDEx
NiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgU2Npc3NvciBUZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2RlYnVnL3dlYmdsLWRlYnVnLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzMSIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2
IiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPiA8L2NhbnZhcz4KKzxjYW52YXMg
aWQ9ImNhbnZhczIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3R5bGU9IndpZHRoOiA0MHB4OyBo
ZWlnaHQ6IDQwcHg7Ij4gPC9jYW52YXM+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3Jp
cHRpb24oIkNoZWNrIGlmIGdsU2Npc3NvciBzZXR0aW5nIHdvcmtzLiIpOworCitkZWJ1ZygiIik7
CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxz
OworCitmdW5jdGlvbiB0ZXN0KGNhbnZhcywgYXR0cmlicykgeworICB2YXIgZ2wgPSB3dHUuY3Jl
YXRlM0RDb250ZXh0KGNhbnZhcywgYXR0cmlicyk7CisKKyAgZnVuY3Rpb24gdGVzdChmdW5jKSB7
CisgICAgZ2wuZGlzYWJsZShnbC5TQ0lTU09SX1RFU1QpOworICAgIGdsLmNsZWFyQ29sb3IoMCww
LDAsMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgZ2wuZW5hYmxl
KGdsLlNDSVNTT1JfVEVTVCk7CisKKyAgICB2YXIgc2l6ZSA9IDE2OworICAgIGZvciAodmFyIGlp
ID0gMDsgaWkgPCBzaXplOyArK2lpKSB7CisgICAgICAvLyBjbGVhciBhIHBvcnRpb24gb2Ygb3Vy
IEZCTworICAgICAgZ2wuc2Npc3NvcihpaSwgaWksIDEsIDEpOworICAgICAgZnVuYygpOworICAg
IH0KKworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzaXplOyArK2lpKSB7CisgICAgICB3dHUu
Y2hlY2tDYW52YXNSZWN0KGdsLCAwLCBpaSwgaWksIDEsIFswLCAwLCAwLCAwXSwgInNob3VsZCBi
ZSBibGFjayIpOworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgaWksIGlpLCAxLCAxLCBb
MCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7CisgICAgICB3dHUuY2hlY2tDYW52
YXNSZWN0KGdsLCBpaSArIDEsIGlpLCBzaXplIC0gaWkgLSAxLCAxLCBbMCwgMCwgMCwgMF0sICJz
aG91bGQgYmUgYmxhY2siKTsKKyAgICB9CisgIH0KKworICBpZiAoIWdsKSB7CisgICAgdGVzdEZh
aWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICB9IGVsc2UgeworICAgIHRlc3RQYXNz
ZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoInRlc3Qg
d2l0aCBjbGVhciIpOworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICBnbC5jbGVhckNvbG9y
KDAsIDEsIDAsIDEpOworICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAg
fSk7CisKKyAgICB3dHUuc2V0dXBDb2xvclF1YWQoZ2wpOworCisgICAgZGVidWcoIiIpOworICAg
IGRlYnVnKCJ0ZXN0IHdpdGggZHJhdyIpOworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICB3
dHUuZHJhd0Zsb2F0Q29sb3JRdWFkKGdsLCBbMCwgMSwgMCwgMV0pOworICAgIH0pOworCisgICAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBlcnJv
cnMiKTsKKyAgfQorfQorCitkZWJ1ZygiIik7CitkZWJ1ZygidGVzdCBhbnRpYWxpYXM6IGZhbHNl
Iik7Cit0ZXN0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMxIiksIHthbnRpYWxpYXM6
IGZhbHNlfSk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJ0ZXN0IGFudGlhbGlhczogdHJ1ZSIpOwor
dGVzdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMiIpLCB7YW50aWFsaWFzOiB0cnVl
fSk7CisKK2RlYnVnKCIiKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhh
bi02NTUzNi1pbmRpY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMWY1OTliODI2MWU2Y2M0N2E2OTYwOGJmYzkzNWY2MmU2ZDg0NTdk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0
bWwKQEAgLTAsMCArMSwxNDUgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIE1vcmUgdGhhbiA2NTUzNiBpbmRpY2VzLjwvdGl0bGU+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMSIgaGVpZ2h0
PSIxIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IGlkPSJ2cyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorYXR0cmlidXRl
IHZlYzQgdlBvc2l0aW9uOworYXR0cmlidXRlIHZlYzQgdkNvbG9yOwordmFyeWluZyB2ZWM0IGNv
bG9yOwordm9pZCBtYWluKCkgeworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgIGNv
bG9yID0gdkNvbG9yOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcyIgdHlwZT0idGV4dC9z
b21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5
aW5nIHZlYzQgY29sb3I7Cit2b2lkIG1haW4oKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gY29sb3I7
Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiY2hl
Y2tzIHRoYXQgcmVuZGVyaW5nIHdpdGggbW9yZSB0aGFuIDY1NTM2IGluZGljZXMgd29ya3MuIik7
Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0
KCJleGFtcGxlIik7Cit2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnMiLCAi
ZnMiXSwgWyJ2UG9zaXRpb24iLCAidkNvbG9yIl0pOwordmFyIGJ1ZmZlck9iamVjdHMgPSB3dHUu
c2V0dXBVbml0UXVhZChnbCwgMCwgMSk7CisKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCBidWZmZXJPYmplY3RzWzBdKTsKK2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcg
RmxvYXQzMkFycmF5KFsKKyAgICAgIC0xLCAgMSwKKyAgICAgICAxLCAgMSwKKyAgICAgIC0xLCAt
MSwKKyAgICAgICAxLCAtMSwKKyAgICAgIC0xLCAgMSwKKyAgICAgICAxLCAgMSwKKyAgICAgIC0x
LCAtMSwKKyAgICAgICAxLCAtMV0pLCBnbC5TVEFUSUNfRFJBVyk7CitnbC52ZXJ0ZXhBdHRyaWJQ
b2ludGVyKDAsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CitnbC5iaW5kQnVmZmVyKGdsLkFS
UkFZX0JVRkZFUiwgYnVmZmVyT2JqZWN0c1sxXSk7CitnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JV
RkZFUiwgbmV3IFVpbnQ4QXJyYXkoWworICAgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAyNTUs
IDAsIDAsIDI1NSwKKyAgICAgIDI1NSwgMCwgMCwgMjU1LAorICAgICAgMjU1LCAwLCAwLCAyNTUs
CisgICAgICAwLCAyNTUsIDAsIDI1NSwKKyAgICAgIDAsIDI1NSwgMCwgMjU1LAorICAgICAgMCwg
MjU1LCAwLCAyNTUsCisgICAgICAwLCAyNTUsIDAsIDI1NV0pLCBnbC5TVEFUSUNfRFJBVyk7Citn
bC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDQsIGdsLlVOU0lHTkVEX0JZVEUsIHRydWUsIDAsIDAp
Oword3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJhZnRlciBwcm9ncmFtIHNl
dHVwIik7CisKK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIgY3Jl
YXRpbmcgdGV4dHVyZSIpOwordmFyIG51bVF1YWRzID0gTWF0aC5mbG9vcig2NTUzNiAvIDYpICsg
NDsKK3ZhciBudW1Qb2ludHMgPSBudW1RdWFkcyAqIDY7CitkZWJ1ZygibnVtUXVhZHM6ICIgKyBu
dW1RdWFkcyk7CitkZWJ1ZygibnVtUG9pbnRzOiAiICsgbnVtUG9pbnRzKTsKK3ZhciBpbmRleEJ1
ZiA9IG5ldyBBcnJheUJ1ZmZlcihudW1Qb2ludHMpOwordmFyIGluZGljZXMgPSBuZXcgVWludDhB
cnJheShpbmRleEJ1Zik7Cit2YXIgaW5kZXhCdWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2ds
LmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGV4QnVmZmVyKTsKK3d0dS5n
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIgc2V0dGluZyB1cCBpbmRpY2Vz
Iik7CisKK3ZhciBtb2RlcyA9IFsKKyAge21vZGU6ICdQT0lOVFMnLCAgICAgICAgIG9mZnNldHM6
IFswLCAxLCAyLCAzLCAyLCAxXSwgc2tpcDogMH0sCisgIHttb2RlOiAnTElORVMnLCAgICAgICAg
ICBvZmZzZXRzOiBbMCwgMSwgMiwgMywgMiwgMV0sIHNraXA6IDB9LAorICB7bW9kZTogJ0xJTkVf
TE9PUCcsICAgICAgb2Zmc2V0czogWzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAxfSwKKyAge21v
ZGU6ICdMSU5FX1NUUklQJywgICAgIG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwgc2tpcDog
MH0sCisgIHttb2RlOiAnVFJJQU5HTEVTJywgICAgICBvZmZzZXRzOiBbMCwgMSwgMiwgMywgMiwg
MV0sIHNraXA6IDB9LAorICB7bW9kZTogJ1RSSUFOR0xFX1NUUklQJywgb2Zmc2V0czogWzAsIDEs
IDIsIDMsIDIsIDFdLCBza2lwOiAwfSwKKyAge21vZGU6ICdUUklBTkdMRV9GQU4nLCAgIG9mZnNl
dHM6IFswLCAxLCAzLCAyLCAyLCAxXSwgc2tpcDogMX0KK107CisKK2ZvciAodmFyIG1tID0gMDsg
bW0gPCBtb2Rlcy5sZW5ndGg7ICsrbW0pIHsKKyAgdmFyIG1vZGVJbmZvID0gbW9kZXNbbW1dOwor
ICB2YXIgbW9kZSA9IG1vZGVJbmZvLm1vZGU7CisgIHZhciBvZmZzZXRzID0gbW9kZUluZm8ub2Zm
c2V0czsKKyAgdmFyIHNraXAgPSBtb2RlSW5mby5za2lwOworCisgIGZvciAodmFyIGlpID0gMDsg
aWkgPCBudW1RdWFkczsgKytpaSkgeworICAgIHZhciBvZmZzZXQgPSBpaSAqIDY7CisgICAgdmFy
IHF1YWQgPSAoaWkgPT0gMCB8fCBpaSA9PSAobnVtUXVhZHMgLSAxKSkgPyA0IDogMDsKKyAgICBm
b3IgKHZhciBqaiA9IDA7IGpqIDwgNjsgKytqaikgeworICAgICAgaW5kaWNlc1tvZmZzZXQgKyBq
al0gPSBxdWFkICsgb2Zmc2V0c1tqal07CisgICAgfQorICB9CisgIGdsLmJ1ZmZlckRhdGEoZ2wu
RUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGljZXMsIGdsLlNUQVRJQ19EUkFXKTsKKworICBkZWJ1
ZygiIik7CisgIGRlYnVnKCJ0ZXN0aW5nOiAiICsgbW9kZSk7CisgIC8vIERyYXcgd2l0aG91dCBs
YXN0IDYgcG9pbnRzLgorICBnbC5kcmF3RWxlbWVudHMoZ2xbbW9kZV0sIG51bVBvaW50cyAtIChz
a2lwICsgMSkgKiA2LCBnbC5VTlNJR05FRF9CWVRFLCBza2lwICogNik7CisgIHd0dS5jaGVja0Nh
bnZhcyhnbCwgWzI1NSwgMCwgMCwgMjU1XSwgIlNob3VsZCBiZSByZWQuIik7CisgIC8vIERyYXcg
d2l0aCBsYXN0IDYgcG9pbnRzLgorICBnbC5kcmF3RWxlbWVudHMoZ2xbbW9kZV0sIG51bVBvaW50
cywgZ2wuVU5TSUdORURfQllURSwgMCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwg
MCwgMjU1XSwgIlNob3VsZCBiZSBncmVlbi4iKTsKK30KK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAiYWZ0ZXIgZHJhd2luZyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRp
c2FtcGxlLWNvcnJ1cHRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNWU4MTkxYWZmNjY5M2FkNjQ3NmNi
OTQzOGI1Yjc3ZTJkMTZjNjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2Ft
cGxlLWNvcnJ1cHRpb24uaHRtbApAQCAtMCwwICsxLDEyNSBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+V2ViR0wgTXVsdGlzYW1wbGUgUmVu
ZGVyYnVmZmVyIENvcnJ1cHRpb24gVGVzdDwvdGl0bGU+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIwNDgiIGhlaWdo
dD0iMjA0OCIgc3R5bGU9IndpZHRoOiAxMjhweDsgaGVpZ2h0OiAxMjhweDsiPjwvY2FudmFzPgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgICAg
ICBhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgICAgICB9CisgICAg
PC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZy
YWdtZW50Ij4KKyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgeworICAgICAgICAgICAgZ2xf
RnJhZ0NvbG9yID0gdmVjNCgwLjAsMC4wLDAuMCwwLjApOworICAgICAgICB9CisgICAgPC9zY3Jp
cHQ+CisKKyAgICA8c2NyaXB0PgorICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgIGZ1bmN0
aW9uIGluaXQoKQorICAgICAgICB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbihkb2N1bWVudC50
aXRsZSk7CisKKyAgICAgICAgICAgIHZhciBsYXN0Q29udGV4dCA9IG51bGw7CisgICAgICAgICAg
ICB2YXIgY3ljbGVDb3VudCA9IDA7CisgICAgICAgICAgICB2YXIgbWF4Q3ljbGVzID0gMTAwOwor
ICAgICAgICAgICAgdmFyIGZhaWxlZCA9IGZhbHNlOworICAgICAgICAgICAgdmFyIHd0dSA9IFdl
YkdMVGVzdFV0aWxzOworICAgICAgICAgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgi
ZXhhbXBsZSIsIHthbnRpYWxpYXM6IHRydWUsIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZX0p
OworCisgICAgICAgICAgICBnbC5jbGVhckNvbG9yKDEuMCwgMC4wLCAwLjAsIDEuMCk7CisgICAg
ICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworICAgICAgICAgICAgdmFy
IHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlciJdLCBb
InZQb3NpdGlvbiJdKTsKKyAgICAgICAgICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVC
dWZmZXIoKTsKKyAgICAgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0
ZXhPYmplY3QpOworICAgICAgICAgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5l
dyBGbG9hdDMyQXJyYXkoWyAwLDIuNSwwLCAxLjUsMS41LDAsIDIuNSwxLjUsMCBdKSwgZ2wuU1RB
VElDX0RSQVcpOworICAgICAgICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7Cisg
ICAgICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwg
MCwgMCk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGN5Y2xlQW5kVGVzdCgpIHsKKyAgICAgICAg
ICAgICAgICB2YXIgZ2wyID0gd3R1LmNyZWF0ZTNEQ29udGV4dChudWxsLCB7YW50aWFsaWFzOiB0
cnVlfSk7CisKKyAgICAgICAgICAgICAgICBnbDIuY2FudmFzLndpZHRoID0gZ2wyLmNhbnZhcy5o
ZWlnaHQgPSAxMDI0OworICAgICAgICAgICAgICAgIGdsMi5jYW52YXMuc3R5bGUud2lkdGggPSBn
bDIuY2FudmFzLnN0eWxlLmhlaWdodCA9ICIxcHgiOworICAgICAgICAgICAgICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoZ2wyLmNhbnZhcyk7CisKKyAgICAgICAgICAgICAgICBnbDIuY2xl
YXJDb2xvcigxLjAsIDAuMCwgMC4wLCAxLjApOworICAgICAgICAgICAgICAgIGdsMi5jbGVhcihn
bDIuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgICAgICAgICBpZihsYXN0Q29udGV4dCkg
eworICAgICAgICAgICAgICAgICAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7
CisgICAgICAgICAgICAgICAgICAgIHZhciBtc2cgPSAiU2hvdWxkIGJlIHJlZCBhZnRlciBsb29w
ICIgKyBjeWNsZUNvdW50OworICAgICAgICAgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0
Q29sb3IoZ2wsCisgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBnbC5jYW52YXMud2lkdGgs
IGdsLmNhbnZhcy5oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICBbMjU1LCAwLCAwLCAy
NTVdLCBudWxsLAorICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChtc2cpOworICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmYWlsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICAgICAgZGVidWcpOworICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKGxhc3RDb250ZXh0LmNhbnZhcyk7CisgICAgICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAgICAgbGFzdENvbnRleHQgPSBnbDI7CisgICAgICAgICAgICAgICAgY3ljbGVD
b3VudCsrOworCisgICAgICAgICAgICAgICAgaWYoY3ljbGVDb3VudCA8PSBtYXhDeWNsZXMgJiYg
IWZhaWxlZCkgeworICAgICAgICAgICAgICAgICAgICB3dHUud2FpdEZvckNvbXBvc2l0ZShnbDIs
IGN5Y2xlQW5kVGVzdCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgY3ljbGVBbmRUZXN0KCk7CisgICAgICAgfQorCisgICAgICAgaW5pdCgpOwor
ICAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgIDwvc2NyaXB0PgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNGViZTM1MmQ0ZTVlZmQ3YTFj
NWE0NjNjZTY0Yjc0M2MxZWQ4MGNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50
LXNpemUuaHRtbApAQCAtMCwwICsxLDE1MSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0
aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gt
dmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjMyBwb3M7CisgICAgYXR0cmlidXRlIHZlYzQgY29s
b3JJbjsKKyAgICB1bmlmb3JtIGZsb2F0IHBvaW50U2l6ZTsKKyAgICB2YXJ5aW5nIHZlYzQgY29s
b3I7CisKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9pbnRTaXplID0gcG9p
bnRTaXplOworICAgICAgICBjb2xvciA9IGNvbG9ySW47CisgICAgICAgIGdsX1Bvc2l0aW9uID0g
dmVjNChwb3MsIDEuMCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIi
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0
OworICAgIHZhcnlpbmcgdmVjNCBjb2xvcjsKKworICAgIHZvaWQgbWFpbigpCisgICAgeworICAg
ICAgICBnbF9GcmFnQ29sb3IgPSBjb2xvcjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGNhbnZhcyBpZD0idGVzdGJlZCIgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisgICAgInVzZSBzdHJpY3QiOworICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkgR0xf
VkVSVEVYX1BST0dSQU1fUE9JTlRfU0laRSBpcyBlbmFibGVkIGluIFdlYkdMJyk7CisKKyAgICB2
YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4
dCgndGVzdGJlZCcsIHsgYW50aWFsaWFzOiBmYWxzZSB9KTsKKyAgICBzaG91bGRCZU5vbk51bGwo
ImdsIik7CisKKyAgICBnbC5kaXNhYmxlKGdsLkJMRU5EKTsKKyAgICBnbC5jbGVhcihnbC5DT0xP
Ul9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgICAvLyBUaGUgY2hvaWNl
IG9mICgwLjQsIDAuNCkgZW5zdXJlcyB0aGF0IHRoZSBjZW50ZXJzIG9mIHRoZSBzdXJyb3VuZGlu
ZworICAgIC8vIHBpeGVscyBhcmUgbm90IGNvbnRhaW5lZCB3aXRoaW4gdGhlIHBvaW50IHdoZW4g
aXQgaXMgb2Ygc2l6ZSAxLCBidXQKKyAgICAvLyB0aGF0IHRoZXkgZGVmaW5pdGVseSBhcmUgd2hl
biBpdCBpcyBvZiBzaXplIDIuCisgICAgdmFyIHZlcnRpY2VzID0gbmV3IEZsb2F0MzJBcnJheShb
CisgICAgICAgIDAuNCwgMC40LCAwLjBdKTsKKyAgICB2YXIgY29sb3JzID0gbmV3IFVpbnQ4QXJy
YXkoWworICAgICAgICAyNTUsIDAsIDAsIDI1NV0pOworCisgICAgdmFyIGNvbG9yT2Zmc2V0ID0g
dmVydGljZXMuYnl0ZUxlbmd0aDsKKworICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSgyICog
MiAqIDQpOworICAgIHZhciBpbmRleCA9IDA7CisKKyAgICB2YXIgdmJvID0gZ2wuY3JlYXRlQnVm
ZmVyKCk7CisgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZibyk7CisgICAgZ2wu
YnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGNvbG9yT2Zmc2V0ICsgY29sb3JzLmJ5dGVMZW5n
dGgsIGdsLlNUQVRJQ19EUkFXKTsKKyAgICBnbC5idWZmZXJTdWJEYXRhKGdsLkFSUkFZX0JVRkZF
UiwgMCwgdmVydGljZXMpOworICAgIGdsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBj
b2xvck9mZnNldCwgY29sb3JzKTsKKworICAgIGZ1bmN0aW9uIHRlc3QocHJvZ3JhbSkgeworICAg
ICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7
CisgICAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICAgICAgICBnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKDEsIDQsIGdsLlVOU0lHTkVEX0JZVEUsIHRydWUsIDAsIGNvbG9yT2Zm
c2V0KTsKKyAgICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMSk7CisKKyAgICAgICAg
dmFyIGxvY1BvaW50U2l6ZSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAncG9pbnRT
aXplJyk7CisKKyAgICAgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9fRVJST1In
KTsKKworICAgICAgICBkZWJ1ZygnRHJhdyBhIHBvaW50IG9mIHNpemUgMSBhbmQgdmVyaWZ5IGl0
IGRvZXMgbm90IHRvdWNoIGFueSBvdGhlciBwaXhlbHMuJyk7CisKKyAgICAgICAgZ2wudW5pZm9y
bTFmKGxvY1BvaW50U2l6ZSwgMS4wKTsKKyAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMs
IDAsIHZlcnRpY2VzLmxlbmd0aCAvIDMpOworICAgICAgICAKKyAgICAgICAgc2hvdWxkQmUoJ2ds
LmdldEVycm9yKCknLCAnZ2wuTk9fRVJST1InKTsKKworICAgICAgICBmb3IgKHZhciB5ID0gMDsg
eSA8IDI7ICsreSkgeworICAgICAgICAgICAgZm9yICh2YXIgeCA9IDA7IHggPCAyOyArK3gpIHsK
KyAgICAgICAgICAgICAgICB2YXIgY29ycmVjdENvbG9yID0gKHggPT0gMSAmJiB5ID09IDEpID8g
WzI1NSwgMCwgMF0gOiBbMCwgMCwgMF07CisgICAgICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFz
UmVjdChnbCwgeCwgeSwgMSwgMSwgY29ycmVjdENvbG9yKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVG
RkVSX0JJVCk7CisKKyAgICAgICAgZGVidWcoJ0RyYXcgYSBwb2ludCBvZiBzaXplIDIgYW5kIHZl
cmlmeSBpdCBmaWxscyB0aGUgYXBwcm9wcmlhdGUgcmVnaW9uLicpOworCisgICAgICAgIHZhciBw
b2ludFNpemVSYW5nZSA9IGdsLmdldFBhcmFtZXRlcihnbC5BTElBU0VEX1BPSU5UX1NJWkVfUkFO
R0UpOworICAgICAgICBpZiAocG9pbnRTaXplUmFuZ2VbMV0gPj0gMi4wKSB7CisgICAgICAgICAg
ICBnbC51bmlmb3JtMWYobG9jUG9pbnRTaXplLCAyLjApOworICAgICAgICAgICAgZ2wuZHJhd0Fy
cmF5cyhnbC5QT0lOVFMsIDAsIHZlcnRpY2VzLmxlbmd0aCAvIDMpOworICAgICAgICAgICAgc2hv
dWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9fRVJST1InKTsKKyAgICAgICAgICAgIHd0dS5j
aGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDIsIDIsIFsyNTUsIDAsIDBdKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGRlYnVnKCcnKTsKKyAgICBkZWJ1ZygnUGFzcyAxJyk7CisgICAgdmFyIHBy
b2dyYW0xID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWydw
b3MnLCAnY29sb3JJbiddKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICdnbC5OT19F
UlJPUicpOworICAgIHRlc3QocHJvZ3JhbTEpOworCisgICAgLy8gVW5kZXIgc29tZSB2ZXJzaW9u
cyBvZiBBTkdMRSBwb2ludCBzcHJpdGUgc2hhZGVyIHByb2dyYW1zIHdlcmUgCisgICAgLy8gaW5j
b3JyZWN0bHkgcmVsb2FkZWQgZnJvbSBjYWNoZS4gUmVidWlsZGluZyB0aGUgc2hhZGVyIHByb2dy
YW0gYW5kCisgICAgLy8gcmVwZWF0aW5nIHRoZSB0ZXN0IHNpbXVsYXRlcyB0aGUgY29uZGl0aW9u
cyB0aGF0IGNhdXNlZCBpdCB0byBmYWlsCisgICAgZGVidWcoJycpOworICAgIGRlYnVnKCdQYXNz
IDInKTsKKyAgICB2YXIgcHJvZ3JhbTIgPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbJ3ZzaGFkZXIn
LCAnZnNoYWRlciddLCBbJ3BvcycsICdjb2xvckluJ10pOworICAgIHNob3VsZEJlKCdnbC5nZXRF
cnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7CisgICAgdGVzdChwcm9ncmFtMik7CisKKyAgICB2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2ds
LW9iamVjdC1nZXQtY2FsbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzA3NDE2NGYzM2ZiYzA0OThmYjMx
MjJmNTMxYWU0MzlhYTVkYzRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdl
dC1jYWxscy5odG1sCkBAIC0wLDAgKzEsNDYzIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Rlc2NyaXB0aW9uKCJUZXN0IG9mIGdl
dCBjYWxscyBhZ2FpbnN0IEdMIG9iamVjdHMgbGlrZSBnZXRCdWZmZXJQYXJhbWV0ZXIsIGV0Yy4i
KTsKKworZnVuY3Rpb24gc2l6ZUluQnl0ZXModHlwZSkgeworICBzd2l0Y2ggKHR5cGUpIHsKKyAg
Y2FzZSBnbC5CWVRFOgorICBjYXNlIGdsLlVOU0lHTkVEX0JZVEU6CisgICAgcmV0dXJuIDE7Cisg
IGNhc2UgZ2wuU0hPUlQ6CisgIGNhc2UgZ2wuVU5TSUdORURfU0hPUlQ6CisgICAgcmV0dXJuIDI7
CisgIGNhc2UgZ2wuSU5UOgorICBjYXNlIGdsLlVOU0lHTkVEX0lOVDoKKyAgY2FzZSBnbC5GTE9B
VDoKKyAgICByZXR1cm4gNDsKKyAgZGVmYXVsdDoKKyAgICB0aHJvdyAidW5rbm93biB0eXBlIjsK
KyAgfQorfQorCit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7CisKK2RlYnVnKCJ0ZXN0
IGdldEF0dGFjaGVkU2hhZGVycyIpOwordmFyIHN0YW5kYXJkVmVydCA9IHd0dS5sb2FkU3RhbmRh
cmRWZXJ0ZXhTaGFkZXIoZ2wpOwordmFyIHN0YW5kYXJkRnJhZyA9IHd0dS5sb2FkU3RhbmRhcmRG
cmFnbWVudFNoYWRlcihnbCk7Cit2YXIgc3RhbmRhcmRQcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3Jh
bSgpOworZ2wuYXR0YWNoU2hhZGVyKHN0YW5kYXJkUHJvZ3JhbSwgc3RhbmRhcmRWZXJ0KTsKK2ds
LmF0dGFjaFNoYWRlcihzdGFuZGFyZFByb2dyYW0sIHN0YW5kYXJkRnJhZyk7CitnbC5saW5rUHJv
Z3JhbShzdGFuZGFyZFByb2dyYW0pOwordmFyIHNoYWRlcnMgPSBnbC5nZXRBdHRhY2hlZFNoYWRl
cnMoc3RhbmRhcmRQcm9ncmFtKTsKK3Nob3VsZEJlKCdzaGFkZXJzLmxlbmd0aCcsICcyJyk7Citz
aG91bGRCZVRydWUoJ3NoYWRlcnNbMF0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMV0gPT0g
c3RhbmRhcmRGcmFnIHx8IHNoYWRlcnNbMV0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMF0g
PT0gc3RhbmRhcmRGcmFnJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK3No
b3VsZEJlTnVsbCgnZ2wuZ2V0QXR0YWNoZWRTaGFkZXJzKG51bGwpJyk7CitnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLklOVkFMSURfVkFMVUUpOworc2hvdWxkVGhyb3coJ2dsLmdldEF0dGFjaGVkU2hh
ZGVycyhzdGFuZGFyZFZlcnQpJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsK
KworZnVuY3Rpb24gdGVzdEludmFsaWRBcmd1bWVudChmdW5jTmFtZSwgYXJndW1lbnROYW1lLCB2
YWxpZEFyZ3VtZW50QXJyYXksIGZ1bmMpIHsKKyAgdmFyIHZhbGlkQXJndW1lbnRzID0ge307Cisg
IGZvciAodmFyIGlpID0gMDsgaWkgPCB2YWxpZEFyZ3VtZW50QXJyYXkubGVuZ3RoOyArK2lpKSB7
CisgICAgdmFsaWRBcmd1bWVudHNbdmFsaWRBcmd1bWVudEFycmF5W2lpXV0gPSB0cnVlOworICB9
CisgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IDB4MTAwMDA7
ICsraWkpIHsKKyAgICBpZiAoIXZhbGlkQXJndW1lbnRzW2lpXSkgeworICAgICAgdmFyIHJlc3Vs
dCA9IGZ1bmMoaWkpOworICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkgeworICAgICAgICBzdWNj
ZXNzID0gZmFsc2U7CisgICAgICAgIHRlc3RGYWlsZWQoZnVuY05hbWUgKyAiIHJldHVybmVkICIg
KyByZXN1bHQgKyAiIGluc3RlYWQgb2YgbnVsbCBmb3IgaW52YWxpZCAiICsgYXJndW1lbnROYW1l
ICsgIiBlbnVtOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBpaSkpOworICAgICAgICBicmVh
azsKKyAgICAgIH0KKyAgICAgIHZhciBlcnIgPSBnbC5nZXRFcnJvcigpOworICAgICAgaWYgKGVy
ciAhPSBnbC5JTlZBTElEX0VOVU0pIHsKKyAgICAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAg
ICB0ZXN0RmFpbGVkKGZ1bmNOYW1lICsgIiBkaWQgbm90IGdlbmVyYXRlIElOVkFMSURfRU5VTSBm
b3IgaW52YWxpZCAiICsgYXJndW1lbnROYW1lICsgIiBlbnVtOiAiICsgd3R1LmdsRW51bVRvU3Ry
aW5nKGdsLCBpaSkpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0KKyAgaWYg
KHN1Y2Nlc3MpIHsKKyAgICB0ZXN0UGFzc2VkKGZ1bmNOYW1lICsgIiBjb3JyZWN0bHkgaGFuZGxl
ZCBpbnZhbGlkICIgKyBhcmd1bWVudE5hbWUgKyAiIGVudW1zIik7CisgIH0KK30KKworZGVidWco
IiIpOworZGVidWcoInRlc3QgZ2V0QnVmZmVyUGFyYW1ldGVyIik7CisvLyBUZXN0IGdldEJ1ZmZl
clBhcmFtZXRlcgordmFyIGJ1ZmZlclR5cGVzID0gW2dsLkFSUkFZX0JVRkZFUiwgZ2wuRUxFTUVO
VF9BUlJBWV9CVUZGRVJdOworZm9yICh2YXIgYmIgPSAwOyBiYiA8IGJ1ZmZlclR5cGVzLmxlbmd0
aDsgKytiYikgeworICB2YXIgYnVmZmVyVHlwZSA9IGJ1ZmZlclR5cGVzW2JiXTsKKyAgdmFyIGJ1
ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGJ1ZmZlclR5cGUsIGJ1
ZmZlcik7CisgIGdsLmJ1ZmZlckRhdGEoYnVmZmVyVHlwZSwgMTYsIGdsLkRZTkFNSUNfRFJBVyk7
CisgIHZhciBleHByZXNzaW9uMSA9ICJnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuIiArIHd0dS5n
bEVudW1Ub1N0cmluZyhnbCwgYnVmZmVyVHlwZSkgKyAiLCBnbC5CVUZGRVJfU0laRSkiOworICB2
YXIgZXhwcmVzc2lvbjIgPSAiZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGdsLiIgKyB3dHUuZ2xFbnVt
VG9TdHJpbmcoZ2wsIGJ1ZmZlclR5cGUpICsgIiwgZ2wuQlVGRkVSX1VTQUdFKSI7CisgIHNob3Vs
ZEJlKGV4cHJlc3Npb24xLCAnMTYnKTsKKyAgc2hvdWxkQmUoZXhwcmVzc2lvbjIsICdnbC5EWU5B
TUlDX0RSQVcnKTsKKyAgdGVzdEludmFsaWRBcmd1bWVudCgiZ2V0QnVmZmVyUGFyYW1ldGVyIiwg
InBhcmFtZXRlciIsIFtnbC5CVUZGRVJfU0laRSwgZ2wuQlVGRkVSX1VTQUdFXSwgZnVuY3Rpb24o
YnVmZmVyVHlwZSkgeworICAgIHJldHVybiBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJl
dHVybiBnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoYnVmZmVyVHlwZSwgcGFyYW1ldGVyKTsKKyAgICB9
OworICB9KGJ1ZmZlclR5cGUpKTsKK30KK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldEJ1
ZmZlclBhcmFtZXRlciIsCisgICAgInRhcmdldCIsCisgICAgYnVmZmVyVHlwZXMsCisgICAgZnVu
Y3Rpb24odGFyZ2V0KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKHRhcmdl
dCwgZ2wuQlVGRkVSX1NJWkUpOworICAgIH0KKyk7CisKKworZGVidWcoIiIpOworZGVidWcoIlRl
c3QgZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyIik7Cit2YXIgdGV4dHVyZSA9IGds
LmNyZWF0ZVRleHR1cmUoKTsKK2dsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUp
OworZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAyLCAyLCAwLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgICAgICBuZXcgVWludDhBcnJheShbCisg
ICAgICAgICAgICAgICAgICAwLCAwLCAwLCAyNTUsCisgICAgICAgICAgICAgICAgICAyNTUsIDI1
NSwgMjU1LCAyNTUsCisgICAgICAgICAgICAgICAgICAyNTUsIDI1NSwgMjU1LCAyNTUsCisgICAg
ICAgICAgICAgICAgICAwLCAwLCAwLCAyNTVdKSk7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRV
UkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKK2dsLnRleFBhcmFtZXRl
cmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7Cit2YXIgZnJhbWVidWZmZXIgPSBnbC5j
cmVhdGVGcmFtZWJ1ZmZlcigpOworZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBm
cmFtZWJ1ZmZlcik7CitnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wu
Q09MT1JfQVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRleHR1cmUsIDApOwordmFyIHJlbmRl
cmJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpOworZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUik7CitnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVy
YnVmZmVyKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworZ2wucmVuZGVyYnVm
ZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLkRFUFRIX0NPTVBPTkVOVDE2LCAyLCAyKTsK
K2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworZ2wuZnJhbWVidWZmZXJSZW5kZXJi
dWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGdsLlJFTkRFUkJVRkZF
UiwgcmVuZGVyYnVmZmVyKTsKKy8vIEZJWE1FOiBvbiBzb21lIG1hY2hpbmVzIChpbiBwYXJ0aWN1
bGFyIHRoZSBXZWJLaXQgY29tbWl0IGJvdHMpIHRoZQorLy8gZnJhbWVidWZmZXIgc3RhdHVzIGlz
IEZSQU1FQlVGRkVSX1VOU1VQUE9SVEVEOyBtb3JlIGludmVzdGlnYXRpb24KKy8vIGlzIG5lZWRl
ZCB3aHkgdGhpcyBpcyB0aGUgY2FzZSwgYmVjYXVzZSB0aGUgRkJPIGFsbG9jYXRlZAorLy8gaW50
ZXJuYWxseSBieSB0aGUgV2ViS2l0IGltcGxlbWVudGF0aW9uIGhhcyBhbG1vc3QgaWRlbnRpY2Fs
CisvLyBwYXJhbWV0ZXJzIHRvIHRoaXMgb25lLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMxODQzLgorc2hvdWxkQmUoJ2dsLmNoZWNrRnJhbWVidWZmZXJTdGF0
dXMoZ2wuRlJBTUVCVUZGRVIpJywgJ2dsLkZSQU1FQlVGRkVSX0NPTVBMRVRFJyk7CitzaG91bGRC
ZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBn
bC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQ
RSknLCAnZ2wuVEVYVFVSRScpOworc2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVu
dFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1F
QlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpJywgJ3RleHR1cmUnKTsKK3Nob3VsZEJlKCdn
bC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNP
TE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfTEVWRUwp
JywgJzAnKTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIo
Z2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRB
Q0hNRU5UX1RFWFRVUkVfQ1VCRV9NQVBfRkFDRSknLCAnMCcpOworCitzaG91bGRCZSgnZ2wuZ2V0
RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9B
VFRBQ0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKScsICdnbC5S
RU5ERVJCVUZGRVInKTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJh
bWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGdsLkZSQU1FQlVGRkVS
X0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpJywgJ3JlbmRlcmJ1ZmZlcicpOwordGVzdEludmFsaWRB
cmd1bWVudCgKKyAgICAiZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyIiwKKyAgICAi
cGFyYW1ldGVyIiwKKyAgICBbIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUs
CisgICAgICBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FLAorICAgICAgZ2wu
RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJFX0xFVkVMLAorICAgICAgZ2wuRlJBTUVCVUZG
RVJfQVRUQUNITUVOVF9URVhUVVJFX0NVQkVfTUFQX0ZBQ0UKKyAgICBdLAorICAgIGZ1bmN0aW9u
KHBhcmFtZXRlcikgeworICAgICAgcmV0dXJuIGdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBh
cmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVCwgcGFyYW1ldGVyKTsK
KyAgICB9CispOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0RnJhbWVidWZmZXJBdHRh
Y2htZW50UGFyYW1ldGVyIiwKKyAgICAidGFyZ2V0IiwKKyAgICBbIGdsLkZSQU1FQlVGRkVSIF0s
CisgICAgZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0RnJhbWVidWZmZXJB
dHRhY2htZW50UGFyYW1ldGVyKHRhcmdldCwgZ2wuQ09MT1JfQVRUQUNITUVOVCwgZ2wuRlJBTUVC
VUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSk7CisgICAgfQorKTsKK3Rlc3RJbnZhbGlkQXJn
dW1lbnQoCisgICAgImdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciIsCisgICAgImF0
dGFjaG1lbnQiLAorICAgIFsgZ2wuQ09MT1JfQVRUQUNITUVOVDAsCisgICAgICBnbC5ERVBUSF9B
VFRBQ0hNRU5ULAorICAgICAgZ2wuU1RFTkNJTF9BVFRBQ0hNRU5ULAorICAgICAgZ2wuREVQVEhf
U1RFTkNJTF9BVFRBQ0hNRU5UCisgICAgXSwKKyAgICBmdW5jdGlvbihhdHRhY2htZW50KSB7Cisg
ICAgICByZXR1cm4gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1F
QlVGRkVSLCBhdHRhY2htZW50LCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBF
KTsKKyAgICB9CispOworCisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFByb2dyYW1QYXJh
bWV0ZXIiKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3Jh
bSwgZ2wuREVMRVRFX1NUQVRVUyknLCAnZmFsc2UnKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFt
UGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3No
b3VsZEJlKCd0eXBlb2YgZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGds
LlZBTElEQVRFX1NUQVRVUyknLCAnImJvb2xlYW4iJyk7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3Jh
bVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkFUVEFDSEVEX1NIQURFUlMpJywgJzInKTsK
K3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wuQUNU
SVZFX0FUVFJJQlVURVMpJywgJzInKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVy
KHN0YW5kYXJkUHJvZ3JhbSwgZ2wuQUNUSVZFX1VOSUZPUk1TKScsICcxJyk7Cit0ZXN0SW52YWxp
ZEFyZ3VtZW50KAorICAgICJnZXRQcm9ncmFtUGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwK
KyAgICBbIGdsLkRFTEVURV9TVEFUVVMsCisgICAgICBnbC5MSU5LX1NUQVRVUywKKyAgICAgIGds
LlZBTElEQVRFX1NUQVRVUywKKyAgICAgIGdsLkFUVEFDSEVEX1NIQURFUlMsCisgICAgICBnbC5B
Q1RJVkVfQVRUUklCVVRFUywKKyAgICAgIGdsLkFDVElWRV9VTklGT1JNUworICAgIF0sCisgICAg
ZnVuY3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRl
cihzdGFuZGFyZFByb2dyYW0sIHBhcmFtZXRlcik7CisgICAgfQorKTsKKworZGVidWcoIiIpOwor
ZGVidWcoIlRlc3QgZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyIik7CitzaG91bGRCZSgnZ2wuZ2V0
UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX1dJ
RFRIKScsICcyJyk7CitzaG91bGRCZSgnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJF
TkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0hFSUdIVCknLCAnMicpOworLy8gTm90ZTogd2Ug
Y2FuJ3QgdGVzdCB0aGUgYWN0dWFsIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBmb3JtYXQgc2luY2UK
Ky8vIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBhbGxvd2VkIHRvIGNoYW5nZSBpdC4KK3Nob3VsZEJl
Tm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wu
UkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZPUk1BVCknKTsKK3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0
UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0RF
UFRIX1NJWkUpJyk7Cit2YXIgY29sb3JidWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsK
K2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworZ2wuYmluZFJlbmRlcmJ1ZmZlcihn
bC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcik7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5P
X0VSUk9SKTsKK2dsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JB
NCwgMiwgMik7CitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihn
bC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9SRURfU0laRSknKTsKK3Nob3VsZEJlTm9u
WmVybygnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVO
REVSQlVGRkVSX0dSRUVOX1NJWkUpJyk7CitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1
ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9CTFVFX1NJWkUp
Jyk7CitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5E
RVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9BTFBIQV9TSVpFKScpOwordGVzdEludmFsaWRBcmd1
bWVudCgKKyAgICAiZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwK
KyAgICBbIGdsLlJFTkRFUkJVRkZFUl9XSURUSCwKKyAgICAgIGdsLlJFTkRFUkJVRkZFUl9IRUlH
SFQsCisgICAgICBnbC5SRU5ERVJCVUZGRVJfSU5URVJOQUxfRk9STUFULAorICAgICAgZ2wuUkVO
REVSQlVGRkVSX1JFRF9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUsCisg
ICAgICBnbC5SRU5ERVJCVUZGRVJfQkxVRV9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0FM
UEhBX1NJWkUsCisgICAgICBnbC5SRU5ERVJCVUZGRVJfREVQVEhfU0laRSwKKyAgICAgIGdsLlJF
TkRFUkJVRkZFUl9TVEVOQ0lMX1NJWkUsCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIp
IHsKKyAgICAgIHJldHVybiBnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVG
RkVSLCBwYXJhbWV0ZXIpOworICAgIH0pOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0
UmVuZGVyYnVmZmVyUGFyYW1ldGVyIiwKKyAgICAidGFyZ2V0IiwKKyAgICBbIGdsLlJFTkRFUkJV
RkZFUiBdLAorICAgIGZ1bmN0aW9uKHRhcmdldCkgeworICAgICAgcmV0dXJuIGdsLmdldFJlbmRl
cmJ1ZmZlclBhcmFtZXRlcih0YXJnZXQsIGdsLlJFTkRFUkJVRkZFUl9XSURUSCk7CisgICAgfSk7
CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFNoYWRlclBhcmFtZXRlciIpOworc2hvdWxk
QmUoJ2dsLmdldFNoYWRlclBhcmFtZXRlcihzdGFuZGFyZFZlcnQsIGdsLlNIQURFUl9UWVBFKScs
ICdnbC5WRVJURVhfU0hBREVSJyk7CitzaG91bGRCZSgnZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHN0
YW5kYXJkVmVydCwgZ2wuREVMRVRFX1NUQVRVUyknLCAnZmFsc2UnKTsKK3Nob3VsZEJlKCdnbC5n
ZXRTaGFkZXJQYXJhbWV0ZXIoc3RhbmRhcmRWZXJ0LCBnbC5DT01QSUxFX1NUQVRVUyknLCAndHJ1
ZScpOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0U2hhZGVyUGFyYW1ldGVyIiwKKyAg
ICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLkRFTEVURV9TVEFUVVMsCisgICAgICBnbC5DT01QSUxF
X1NUQVRVUywKKyAgICAgIGdsLlNIQURFUl9UWVBFCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJh
bWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc3RhbmRhcmRWZXJ0
LCBwYXJhbWV0ZXIpOworICAgIH0KKyk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFRl
eFBhcmFtZXRlciIpOworZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmcmFtZWJ1
ZmZlcik7CitnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKK2dsLnRleFBh
cmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFSRVNU
KTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVS
LCBnbC5ORUFSRVNUKTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVS
RV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJF
XzJELCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wuQ0xBTVBfVE9fRURHRSk7CitzaG91bGRCZSgnZ2wu
Z2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiknLCAn
Z2wuTkVBUkVTVCcpOworc2hvdWxkQmUoJ2dsLmdldFRleFBhcmFtZXRlcihnbC5URVhUVVJFXzJE
LCBnbC5URVhUVVJFX01JTl9GSUxURVIpJywgJ2dsLk5FQVJFU1QnKTsKK3Nob3VsZEJlKCdnbC5n
ZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MpJywgJ2dsLkNM
QU1QX1RPX0VER0UnKTsKK3Nob3VsZEJlKCdnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8y
RCwgZ2wuVEVYVFVSRV9XUkFQX1QpJywgJ2dsLkNMQU1QX1RPX0VER0UnKTsKK3Rlc3RJbnZhbGlk
QXJndW1lbnQoCisgICAgImdldFRleFBhcmFtZXRlciIsCisgICAgInBhcmFtZXRlciIsCisgICAg
WyBnbC5URVhUVVJFX01BR19GSUxURVIsCisgICAgICBnbC5URVhUVVJFX01JTl9GSUxURVIsCisg
ICAgICBnbC5URVhUVVJFX1dSQVBfUywKKyAgICAgIGdsLlRFWFRVUkVfV1JBUF9UCisgICAgXSwK
KyAgICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRUZXhQYXJhbWV0
ZXIoZ2wuVEVYVFVSRV8yRCwgcGFyYW1ldGVyKTsKKyAgICB9CispOwordGVzdEludmFsaWRBcmd1
bWVudCgKKyAgICAiZ2V0VGV4UGFyYW1ldGVyIiwKKyAgICAidGFyZ2V0IiwKKyAgICBbIGdsLlRF
WFRVUkVfMkQsCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQCisgICAgXSwKKyAgICBmdW5jdGlv
bih0YXJnZXQpIHsKKyAgICAgIHJldHVybiBnbC5nZXRUZXhQYXJhbWV0ZXIodGFyZ2V0LCBnbC5U
RVhUVVJFX01BR19GSUxURVIpOworICAgIH0KKyk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0
IGdldFVuaWZvcm0gd2l0aCBhbGwgdmFyaWFudHMgb2YgZGF0YSB0eXBlcyIpOworLy8gQm9vbGVh
biB1bmlmb3JtIHZhcmlhYmxlcwordmFyIGJvb2xQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJv
bUZpbGUoZ2wsICIuLi9yZXNvdXJjZXMvYm9vbFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNv
dXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1Q
YXJhbWV0ZXIoYm9vbFByb2dyYW0sIGdsLkxJTktfU1RBVFVTKScsICd0cnVlJyk7Cit2YXIgYnZh
bExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihib29sUHJvZ3JhbSwgImJ2YWwiKTsKK3ZhciBi
dmFsMkxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihib29sUHJvZ3JhbSwgImJ2YWwyIik7Cit2
YXIgYnZhbDNMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oYm9vbFByb2dyYW0sICJidmFsMyIp
OwordmFyIGJ2YWw0TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGJvb2xQcm9ncmFtLCAiYnZh
bDQiKTsKK2dsLnVzZVByb2dyYW0oYm9vbFByb2dyYW0pOworZ2wudW5pZm9ybTFpKGJ2YWxMb2Ms
IDEpOworZ2wudW5pZm9ybTJpKGJ2YWwyTG9jLCAxLCAwKTsKK2dsLnVuaWZvcm0zaShidmFsM0xv
YywgMSwgMCwgMSk7CitnbC51bmlmb3JtNGkoYnZhbDRMb2MsIDEsIDAsIDEsIDApOworZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShib29s
UHJvZ3JhbSwgYnZhbExvYyknLCAndHJ1ZScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oYm9v
bFByb2dyYW0sIGJ2YWwyTG9jKScsICdbdHJ1ZSwgZmFsc2VdJyk7CitzaG91bGRCZSgnZ2wuZ2V0
VW5pZm9ybShib29sUHJvZ3JhbSwgYnZhbDNMb2MpJywgJ1t0cnVlLCBmYWxzZSwgdHJ1ZV0nKTsK
K3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGJvb2xQcm9ncmFtLCBidmFsNExvYyknLCAnW3RydWUs
IGZhbHNlLCB0cnVlLCBmYWxzZV0nKTsKKy8vIEludGVnZXIgdW5pZm9ybSB2YXJpYWJsZXMKK3Zh
ciBpbnRQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJjZXMv
aW50VW5pZm9ybVNoYWRlci52ZXJ0IiwgIi4uL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci5m
cmFnIik7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihpbnRQcm9ncmFtLCBnbC5M
SU5LX1NUQVRVUyknLCAndHJ1ZScpOwordmFyIGl2YWxMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRp
b24oaW50UHJvZ3JhbSwgIml2YWwiKTsKK3ZhciBpdmFsMkxvYyA9IGdsLmdldFVuaWZvcm1Mb2Nh
dGlvbihpbnRQcm9ncmFtLCAiaXZhbDIiKTsKK3ZhciBpdmFsM0xvYyA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihpbnRQcm9ncmFtLCAiaXZhbDMiKTsKK3ZhciBpdmFsNExvYyA9IGdsLmdldFVuaWZv
cm1Mb2NhdGlvbihpbnRQcm9ncmFtLCAiaXZhbDQiKTsKK2dsLnVzZVByb2dyYW0oaW50UHJvZ3Jh
bSk7CitnbC51bmlmb3JtMWkoaXZhbExvYywgMSk7CitnbC51bmlmb3JtMmkoaXZhbDJMb2MsIDIs
IDMpOworZ2wudW5pZm9ybTNpKGl2YWwzTG9jLCA0LCA1LCA2KTsKK2dsLnVuaWZvcm00aShpdmFs
NExvYywgNywgOCwgOSwgMTApOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7Citz
aG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsTG9jKScsICcxJyk7CitzaG91
bGRCZSgnZ2wuZ2V0VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsMkxvYyknLCAnWzIsIDNdJyk7Citz
aG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsM0xvYyknLCAnWzQsIDUsIDZd
Jyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsNExvYyknLCAnWzcs
IDgsIDksIDEwXScpOworLy8gRmxvYXQgdW5pZm9ybSB2YXJpYWJsZXMKK3ZhciBmbG9hdFByb2dy
YW0gPSB3dHUubG9hZFByb2dyYW1Gcm9tRmlsZShnbCwgIi4uL3Jlc291cmNlcy9mbG9hdFVuaWZv
cm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIuZnJhZyIpOwor
c2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoZmxvYXRQcm9ncmFtLCBnbC5MSU5LX1NU
QVRVUyknLCAndHJ1ZScpOwordmFyIGZ2YWxMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oZmxv
YXRQcm9ncmFtLCAiZnZhbCIpOwordmFyIGZ2YWwyTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9u
KGZsb2F0UHJvZ3JhbSwgImZ2YWwyIik7Cit2YXIgZnZhbDNMb2MgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24oZmxvYXRQcm9ncmFtLCAiZnZhbDMiKTsKK3ZhciBmdmFsNExvYyA9IGdsLmdldFVuaWZv
cm1Mb2NhdGlvbihmbG9hdFByb2dyYW0sICJmdmFsNCIpOworZ2wudXNlUHJvZ3JhbShmbG9hdFBy
b2dyYW0pOworZ2wudW5pZm9ybTFmKGZ2YWxMb2MsIDExKTsKK2dsLnVuaWZvcm0yZihmdmFsMkxv
YywgMTIsIDEzKTsKK2dsLnVuaWZvcm0zZihmdmFsM0xvYywgMTQsIDE1LCAxNik7CitnbC51bmlm
b3JtNGYoZnZhbDRMb2MsIDE3LCAxOCwgMTksIDIwKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wu
Tk9fRVJST1IpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsTG9j
KScsICcxMScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsMkxv
YyknLCAnWzEyLCAxM10nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGZsb2F0UHJvZ3JhbSwg
ZnZhbDNMb2MpJywgJ1sxNCwgMTUsIDE2XScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oZmxv
YXRQcm9ncmFtLCBmdmFsNExvYyknLCAnWzE3LCAxOCwgMTksIDIwXScpOworLy8gU2FtcGxlciB1
bmlmb3JtIHZhcmlhYmxlcwordmFyIHNhbXBsZXJQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJv
bUZpbGUoZ2wsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNv
dXJjZXMvc2FtcGxlclVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dy
YW1QYXJhbWV0ZXIoc2FtcGxlclByb2dyYW0sIGdsLkxJTktfU1RBVFVTKScsICd0cnVlJyk7Cit2
YXIgczJEVmFsTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHNhbXBsZXJQcm9ncmFtLCAiczJE
Iik7Cit2YXIgc0N1YmVWYWxMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oc2FtcGxlclByb2dy
YW0sICJzQ3ViZSIpOworZ2wudXNlUHJvZ3JhbShzYW1wbGVyUHJvZ3JhbSk7CitnbC51bmlmb3Jt
MWkoczJEVmFsTG9jLCAwKTsKK2dsLnVuaWZvcm0xaShzQ3ViZVZhbExvYywgMSk7CitnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKHNhbXBs
ZXJQcm9ncmFtLCBzMkRWYWxMb2MpJywgJzAnKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKHNh
bXBsZXJQcm9ncmFtLCBzQ3ViZVZhbExvYyknLCAnMScpOworLy8gTWF0cml4IHVuaWZvcm0gdmFy
aWFibGVzCit2YXIgbWF0UHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGdsLCAiLi4v
cmVzb3VyY2VzL21hdFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZv
cm1TaGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIobWF0UHJv
Z3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3ZhciBtdmFsMkxvYyA9IGdsLmdldFVu
aWZvcm1Mb2NhdGlvbihtYXRQcm9ncmFtLCAibXZhbDIiKTsKK3ZhciBtdmFsM0xvYyA9IGdsLmdl
dFVuaWZvcm1Mb2NhdGlvbihtYXRQcm9ncmFtLCAibXZhbDMiKTsKK3ZhciBtdmFsNExvYyA9IGds
LmdldFVuaWZvcm1Mb2NhdGlvbihtYXRQcm9ncmFtLCAibXZhbDQiKTsKK2dsLnVzZVByb2dyYW0o
bWF0UHJvZ3JhbSk7CitnbC51bmlmb3JtTWF0cml4MmZ2KG12YWwyTG9jLCBmYWxzZSwgWzEsIDIs
IDMsIDRdKTsKK2dsLnVuaWZvcm1NYXRyaXgzZnYobXZhbDNMb2MsIGZhbHNlLCBbNSwgNiwgNywg
OCwgOSwgMTAsIDExLCAxMiwgMTNdKTsKK2dsLnVuaWZvcm1NYXRyaXg0ZnYobXZhbDRMb2MsIGZh
bHNlLCBbMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYs
IDI3LCAyOCwgMjldKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxk
QmUoJ2dsLmdldFVuaWZvcm0obWF0UHJvZ3JhbSwgbXZhbDJMb2MpJywgJ1sxLCAyLCAzLCA0XScp
Oworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0obWF0UHJvZ3JhbSwgbXZhbDNMb2MpJywgJ1s1LCA2
LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxM10nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKG1h
dFByb2dyYW0sIG12YWw0TG9jKScsICdbMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAy
MiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjldJyk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJ0
ZXN0IGdldFZlcnRleEF0dHJpYiIpOwordmFyIGFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShbMSwg
MiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTZdKTsKK3Zh
ciBidWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCBidWZmZXIpOworZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5LCBnbC5E
WU5BTUlDX0RSQVcpOworLy8gVmVydGV4IGF0dHJpYnV0ZSAwIGlzIHNwZWNpYWwgaW4gdGhhdCBp
dCBoYXMgbm8gY3VycmVudCBzdGF0ZSwgc28KKy8vIGZldGNoaW5nIEdMX0NVUlJFTlRfVkVSVEVY
X0FUVFJJQiBnZW5lcmF0ZXMgYW4gZXJyb3IuIFVzZSBhdHRyaWJ1dGUKKy8vIDEgZm9yIHRoZXNl
IHRlc3RzIGluc3RlYWQuCitnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgxKTsKK2dsLnZlcnRl
eEF0dHJpYlBvaW50ZXIoMSwgNCwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKK3Nob3VsZEJlKCdn
bC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElO
RyknLCAnYnVmZmVyJyk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRF
WF9BVFRSSUJfQVJSQVlfRU5BQkxFRCknLCAndHJ1ZScpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRl
eEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1NJWkUpJywgJzQnKTsKKy8vIFN0cmlk
ZSBNVVNUIGJlIHRoZSB2YWx1ZSB0aGUgdXNlciBwdXQgaW4uCitzaG91bGRCZSgnZ2wuZ2V0VmVy
dGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURFKScsICcwJyk7CitzaG91
bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfVFlQRSkn
LCAnZ2wuRkxPQVQnKTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVY
X0FUVFJJQl9BUlJBWV9OT1JNQUxJWkVEKScsICdmYWxzZScpOworZ2wudmVydGV4QXR0cmliUG9p
bnRlcigxLCA0LCBnbC5GTE9BVCwgZmFsc2UsIDM2LCAxMik7CitzaG91bGRCZSgnZ2wuZ2V0VmVy
dGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURFKScsICczNicpOworc2hv
dWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYk9mZnNldCgxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZ
X1BPSU5URVIpJywgJzEyJyk7CitnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMSk7CitzaG91
bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfRU5BQkxF
RCknLCAnZmFsc2UnKTsKK2dsLnZlcnRleEF0dHJpYjRmKDEsIDUsIDYsIDcsIDgpOworc2hvdWxk
QmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpJywgJ1s1
LCA2LCA3LCA4XScpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7Cit0ZXN0SW52
YWxpZEFyZ3VtZW50KAorICAgICJnZXRWZXJ0ZXhBdHRyaWIiLAorICAgICJwYXJhbWV0ZXIiLAor
ICAgIFsgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORywKKyAgICAgIGdsLlZF
UlRFWF9BVFRSSUJfQVJSQVlfRU5BQkxFRCwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlf
U0laRSwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURFLAorICAgICAgZ2wuVkVS
VEVYX0FUVFJJQl9BUlJBWV9UWVBFLAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9OT1JN
QUxJWkVELAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9TVFJJREUsCisgICAgICBnbC5W
RVJURVhfQVRUUklCX0FSUkFZX0VOQUJMRUQsCisgICAgICBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRS
SUIKKyAgICBdLAorICAgIGZ1bmN0aW9uKHBhcmFtZXRlcikgeworICAgICAgcmV0dXJuIGdsLmdl
dFZlcnRleEF0dHJpYigxLCBwYXJhbWV0ZXIpOworICAgIH0KKyk7Cit2YXIgbnVtVmVydGV4QXR0
cmlicyA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVkVSVEVYX0FUVFJJQlMpOworc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAnZ2wuZ2V0VmVydGV4QXR0cmliKCcg
KyBudW1WZXJ0ZXhBdHRyaWJzICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKScpOworCitk
ZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBjYXNlcyB3aGVyZSBuYW1lID09IDAiKTsKK2dsLmRlbGV0
ZVRleHR1cmUodGV4dHVyZSk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50
UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVC
VUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSknLCAnZ2wuTk9ORScpOworZ2wuZGVsZXRlUmVu
ZGVyYnVmZmVyKHJlbmRlcmJ1ZmZlcik7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRh
Y2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5G
UkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKScsICdnbC5OT05FJyk7CitnbC5kZWxl
dGVCdWZmZXIoYnVmZmVyKTsKK3Nob3VsZEJlTnVsbCgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGds
LlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJTkRJTkcpJyk7CitnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Nj
cmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgt
aW1hZ2UtMmQtZm9ybWF0cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBhN2QwZTNiYjhkZDcxMDY0MzMwNzFlZTQzNTNjYTlhOWM2Nzdh
NjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRz
Lmh0bWwKQEAgLTAsMCArMSwxODMgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlZlcmlmeSBj
b3B5VGV4SW1hZ2UyRCBmb2xsb3dzIGZvcm1hdCByZXN0aWN0aW9uczwvdGl0bGU+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj48L2Nh
bnZhcz4KKzxjYW52YXMgaWQ9ImNhbnZhc05vQWxwaGEiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPjwv
Y2FudmFzPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3Qi
OworCitmdW5jdGlvbiBnZXRDaGFubmVsc0Zyb21Gb3JtYXQoZm9ybWF0KSB7CisgIHN3aXRjaCAo
Z2xbZm9ybWF0XSkgeworICBjYXNlIGdsLkFMUEhBOgorICAgIHJldHVybiAweDAwMDE7CisgIGNh
c2UgZ2wuTFVNSU5BTkNFOgorICBjYXNlIGdsLlJHQjoKKyAgICByZXR1cm4gMHgxMTEwOworICBj
YXNlIGdsLkxVTUlOQU5DRV9BTFBIQToKKyAgY2FzZSBnbC5SR0JBOgorICAgIHJldHVybiAweDEx
MTE7CisgIGRlZmF1bHQ6CisgICAgcmV0dXJuIDA7CisgIH0KK30KKwordmFyIGZvcm1hdHMgPSBb
CisgICdBTFBIQScsCisgICdMVU1JTkFOQ0UnLAorICAnTFVNSU5BTkNFX0FMUEhBJywKKyAgJ1JH
QicsCisgICdSR0JBJworXTsKKwordmFyIGdsID0gbnVsbDsKK3ZhciB3dHUgPSBXZWJHTFRlc3RV
dGlsczsKKworZGVzY3JpcHRpb24oKTsKKwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjYW52YXMiKTsKK3ZhciBjYW52YXNOb0FscGhhID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNhbnZhc05vQWxwaGEiKTsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2Fu
dmFzLCB7YWxwaGE6dHJ1ZX0pOwordmFyIGdsTm9BbHBoYSA9IHd0dS5jcmVhdGUzRENvbnRleHQo
Y2FudmFzTm9BbHBoYSwge2FscGhhOmZhbHNlfSk7CisKK2RlYnVnKCJ0ZXN0IHdpdGggYW4gUkdC
QSBiYWNrYnVmZmVyIik7Cit2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7
CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiRHVyaW5nIEluaXRpYWxpemF0aW9u
Iik7Cit0ZXN0Rm9ybWF0cygnUkdCQScpOworCit0ZXN0QmFja2J1ZmZlckZvcm1hdHMoKTsKKwor
ZGVidWcoInRlc3Qgd2l0aCBhbiBSR0IgYmFja2J1ZmZlciIpOwordmFyIGdsID0gZ2xOb0FscGhh
OwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgIkR1cmluZyBJbml0aWFsaXphdGlvbiIpOwordGVzdEZvcm1h
dHMoJ1JHQicpOworCitmdW5jdGlvbiB0ZXN0QmFja2J1ZmZlckZvcm1hdHMoKSB7CisgIHZhciBm
Ym8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpOworICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJB
TUVCVUZGRVIsIGZibyk7CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGZvcm1hdHMubGVuZ3Ro
OyArK2lpKSB7CisgICAgdmFyIGJhY2tGb3JtYXQgPSBmb3JtYXRzW2lpXTsKKworICAgIHZhciB0
ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8y
RCwgdGV4KTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsW2JhY2tGb3Jt
YXRdLCAyLCAyLCAwLCBnbFtiYWNrRm9ybWF0XSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7Cisg
ICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIs
IGdsLk5FQVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVY
VFVSRV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKKworICAgIGdsLmZyYW1lYnVmZmVyVGV4dHVy
ZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwg
dGV4LCAwKTsKKyAgICB2YXIgc3RhdHVzID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5G
UkFNRUJVRkZFUik7CisKKyAgICBkZWJ1ZygnJyk7CisgICAgaWYgKHN0YXR1cyA9PSBnbC5GUkFN
RUJVRkZFUl9DT01QTEVURSkgeworICAgICAgZGVidWcoJ3Rlc3Qgd2l0aCAnICsgYmFja0Zvcm1h
dCArICcgZmJvJyk7CisgICAgICB0ZXN0Rm9ybWF0cyhiYWNrRm9ybWF0KTsKKyAgICB9IGVsc2Ug
eworICAgICAgZGVidWcoYmFja0Zvcm1hdCArICcgbm90IHN1cHBvcnRlZCBhcyBhIHJlbmRlcmJ1
ZmZlciBhdHRhY2htZW50Jyk7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RGb3JtYXRz
KGJhY2tGb3JtYXQpIHsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGZvcm1hdHMubGVuZ3RoOyAr
K2lpKSB7CisgICAgdGVzdENvcHlUZXhJbWFnZTJEKGJhY2tGb3JtYXQsIGZvcm1hdHNbaWldKTsK
KyAgfQorfQorCitmdW5jdGlvbiB0b0NoYW5uZWxzKHZhbHVlKSB7CisgIHJldHVybiAoKHZhbHVl
ICYgMHgxMDAwKSA/ICdSJyA6ICdfJykgKworICAgICAgICAgKCh2YWx1ZSAmIDB4MDEwMCkgPyAn
RycgOiAnXycpICsKKyAgICAgICAgICgodmFsdWUgJiAweDAwMTApID8gJ0InIDogJ18nKSArCisg
ICAgICAgICAoKHZhbHVlICYgMHgwMDAxKSA/ICdBJyA6ICdfJyk7Cit9CisKK2Z1bmN0aW9uIHRl
c3RDb3B5VGV4SW1hZ2UyRChiYWNrRm9ybWF0LCB0ZXhGb3JtYXQpIHsKKyAgdmFyIG5lZWQgPSBn
ZXRDaGFubmVsc0Zyb21Gb3JtYXQodGV4Rm9ybWF0KTsKKyAgdmFyIGhhdmUgPSBnZXRDaGFubmVs
c0Zyb21Gb3JtYXQoYmFja0Zvcm1hdCk7CisgIHZhciBzaG91bGRQYXNzID0gKG5lZWQgJiBoYXZl
KSA9PSBuZWVkCisKKyAgLy9kZWJ1ZygibmVlZDogIiArIHRvQ2hhbm5lbHMobmVlZCkpOworICAv
L2RlYnVnKCJoYXZlOiAiICsgdG9DaGFubmVscyhoYXZlKSk7CisgIC8vZGVidWcoImJvdGg6ICIg
KyB0b0NoYW5uZWxzKGhhdmUgJiBuZWVkKSk7CisKKyAgLy8gY2xlYXIgYmFja2J1ZmZlcgorICBn
bC5jbGVhckNvbG9yKDAuMjUsIDEsIDAuNzUsIDAuNSk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JV
RkZFUl9CSVQpOworCisgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAvLyBC
aW5kIHRoZSB0ZXh0dXJlIHRvIHRleHR1cmUgdW5pdCAwCisgIGdsLmJpbmRUZXh0dXJlKGdsLlRF
WFRVUkVfMkQsIHRleHR1cmUpOworICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGds
LlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgIGdsLnRleFBhcmFtZXRlcmkoZ2wu
VEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKKworICBnbC5j
b3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbFt0ZXhGb3JtYXRdLCAwLCAwLCAyLCAy
LCAwKTsKKyAgaWYgKCFzaG91bGRQYXNzKSB7CisgICAgZ2xFcnJvclNob3VsZEJlKAorICAgICAg
ICBnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICJzaG91bGQgbm90IGJlIGFibGUg
dG8gY29weVRleEltYWdlMkQgIiArIHRleEZvcm1hdCArICIgZnJvbSAiICsgYmFja0Zvcm1hdCk7
CisgICAgcmV0dXJuOworICB9CisKKyAgZ2xFcnJvclNob3VsZEJlKAorICAgICAgZ2wsIGdsLk5P
X0VSUk9SLAorICAgICAgInNob3VsZCBiZSBhYmxlIHRvIGNvcHlUZXhJbWFnZTJEICIgKyB0ZXhG
b3JtYXQgKyAiIGZyb20gIiArIGJhY2tGb3JtYXQpOworCisgIC8vIERyYXcKKyAgd3R1LmRyYXdR
dWFkKGdsKTsKKworICB2YXIgZXhwZWN0ZWRDb2xvcnMgPSB7CisgICAgJ0FMUEhBJzogWzAsIDAs
IDAsIDEyN10sCisgICAgJ0xVTUlOQU5DRSc6IFs2NCwgNjQsIDY0LCAyNTVdLAorICAgICdMVU1J
TkFOQ0VfQUxQSEEnOiBbNjQsIDY0LCA2NCwgMTI3XSwKKyAgICAnUkdCJzogWzY0LCAyNTUsIDE5
MSwgMjU1XSwKKyAgICAnUkdCQSc6IFs2NCwgMjU1LCAxOTEsIDEyN10KKyAgfTsKKworICB2YXIg
Y29sb3IgPSBleHBlY3RlZENvbG9yc1t0ZXhGb3JtYXRdOworCisgIHd0dS5jaGVja0NhbnZhcyhn
bCwgY29sb3IsICJzaG91bGQgYmUgIiArIGNvbG9yLCAxNik7CisKKyAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMiKTsKK30KK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9y
ZWkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYzBjNDUxNGY2OTFlMDI1YzUxMmFiNThjZWZlMDk3ZGI0Mzcx
OTI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApAQCAt
MCwwICsxLDExOSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgcGl4ZWxTdG9yZWkgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIg
d2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9IjJkMDAiIHdpZHRo
PSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSIyZDAxIiB3aWR0aD0iNTAi
IGhlaWdodD0iNTAiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iMmQwMiIgd2lkdGg9IjUwIiBoZWln
aHQ9IjUwIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9IjJkMDMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1
MCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4
Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK3ZvaWQgbWFpbigpIHsKKyAgZ2xfUG9zaXRp
b24gPSB2UG9zaXRpb247Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+Cit2b2lkIG1haW4oKSB7CisgIGdsX0ZyYWdDb2xvciA9
IHZlYzQoMS4wLDAuMCwwLjAsMS4wKTsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOworZnVuY3Rpb24gaW5pdCgpIHsKKyAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCBkcmF3SW1hZ2UgYW5kIHJlYWRQaXhlbHMgYXJlIG5vdCBlZmZlY3RlZCBieSBnbC5Q
aXhlbHN0b3JlaShnbC5QQUNLX0FMSUdOTUVOVCkgYW5kIHZpc2EgdmVyc2EiKTsKKworICBkZWJ1
ZygiVGhlcmUgc2hvdWxkIGJlIDUgcmVkIHRyaWFuZ2xlcyBvbiA1IGJsYWNrIHNxdWFyZXMgYWJv
dmUiKTsKKyAgZGVidWcoIiIpOworCisgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgdmFy
IGNhbnZhczNkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4YW1wbGUiKTsKKyAgdmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5z
ZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIl0sIFsidlBvc2l0aW9uIl0pOwor
CisgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZl
cihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJS
QVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsgMCwwLjUsMCwgLTAuNSwtMC41LDAsIDAuNSwt
MC41LDAgXSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXko
MCk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAw
KTsKKworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJ
VCk7CisgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKKworICBmdW5jdGlvbiBj
aGVja0RhdGEoY3R4LCBuYW1lKSB7CisgICAgLy8gVGVzdCBzZXZlcmFsIGxvY2F0aW9ucworICAg
IC8vIEZpcnN0IGxpbmUgc2hvdWxkIGJlIGFsbCBibGFjaworICAgIHd0dS5jaGVja0NhbnZhc1Jl
Y3QoY3R4LCAwLCAwLCA1MCwgMSwgWzAsIDAsIDAsIDBdKTsKKworICAgIC8vIExpbmUgMjUgc2hv
dWxkIGJlIHJlZCBmb3IgYXQgbGVhc3QgNiByZWQgcGl4ZWxzIHN0YXJ0aW5nIDIyIHBpeGVscyBp
bgorICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoY3R4LCAyMiwgMjUsIDYsIDEsIFsyNTUsIDAsIDAs
IDI1NV0pOworCisgICAgLy8gTGFzdCBsaW5lIHNob3VsZCBiZSBhbGwgYmxhY2sKKyAgICB3dHUu
Y2hlY2tDYW52YXNSZWN0KGN0eCwgMCwgNDksIDUwLCAxLCBbMCwgMCwgMCwgMF0pOworICB9CisK
KyAgdmFyIGN0eDJkOworCisgIGZ1bmN0aW9uIGNoZWNrQ29sb3JzKCkgeworICAgIGNoZWNrRGF0
YShnbCwgIjNkIGNvbnRleHQiKTsKKyAgICBjaGVja0RhdGEoY3R4MmQsICIyZCBjb250ZXh0Iik7
CisgIH0KKworICB2YXIgdGFibGUgPSBbMSwgMiwgNCwgOF07CisgIGZvciAodmFyIGlpID0gMDsg
aWkgPCB0YWJsZS5sZW5ndGg7ICsraWkpIHsKKyAgICBnbC5waXhlbFN0b3JlaShnbC5QQUNLX0FM
SUdOTUVOVCwgdGFibGVbaWldKTsKKyAgICBjdHgyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCIyZDAiICsgaWkpLmdldENvbnRleHQoIjJkIik7CisgICAgY3R4MmQuZ2xvYmFsQ29tcG9zaXRl
T3BlcmF0aW9uID0gJ2NvcHknOworICAgIGN0eDJkLmRyYXdJbWFnZShjYW52YXMzZCwgMCwgMCk7
CisgICAgY2hlY2tDb2xvcnMoKTsKKyAgICBhc3NlcnRNc2coZ2wuZ2V0UGFyYW1ldGVyKGdsLlBB
Q0tfQUxJR05NRU5UKSA9PSB0YWJsZVtpaV0sCisgICAgICAgICJQQUNLX0FMSUdOTUVOVCBpcyAi
ICsgdGFibGVbaWldKTsKKyAgfQorfQorCitpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVh
bi1jb25mb3JtYW5jZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0MTg1YjVkMmIxNTNmMWQ5NDlmNWRmNDdj
YTM2ZmRhZTU2MWU1ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4t
Y29uZm9ybWFuY2UuaHRtbApAQCAtMCwwICsxLDE1NyBAQAorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgT3JpZ2luIFJlc3RyaWN0aW9ucyBDb25m
b3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworLy8g
VGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBsYXN0IDIgd29yZHMgb2YgdGhlIGRvbWFpbiBvZiBh
IFVSTAorLy8gVGhpcyBpcyBwcm9iYWJseSBub3QgdGhlIGNvcnJlY3QgY2hlY2sgYnV0IGl0IHdp
bGwgZG8gZm9yIG5vdy4KK2Z1bmN0aW9uIGdldEJhc2VEb21haW4oc3RyKSB7CisgIHN0ciA9IHN0
ci5yZXBsYWNlKCJcXCIsICIvIik7CisgIHZhciBwb3MgPSBzdHIuaW5kZXhPZigiOi8vIik7Cisg
IGlmIChwb3MgPj0gMCkgeworICAgIHN0ciA9IHN0ci5zdWJzdHIocG9zICsgMyk7CisgIH0KKyAg
dmFyIHBhcnRzID0gc3RyLnNwbGl0KCcvJyk7CisgIHZhciBkb21haW4gPSBwYXJ0c1swXS5tYXRj
aCgvXHcrXC5cdyskLyk7CisgIHJldHVybiBkb21haW4gfHwgJyc7Cit9CisKKy8vIENoZWNrcyBp
ZiBmdW5jdGlvbiB0aHJvd3MgYW4gZXhjZXB0aW9uLgorZnVuY3Rpb24gY2F1c2VkRXhjZXB0aW9u
KGZ1bmMpIHsKKyAgdmFyIGhhZEV4Y2VwdGlvbiA9IGZhbHNlOworICB0cnkgeworICAgIGZ1bmMo
KTsKKyAgfSBjYXRjaChlKSB7CisgICAgaGFkRXhjZXB0aW9uID0gdHJ1ZTsKKyAgfQorICByZXR1
cm4gaGFkRXhjZXB0aW9uOworfQorCit2YXIgaW1nRG9tYWluOwordmFyIHBhZ2VEb21haW47Cit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Cisg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyBXZWJHTCBpbXBsZW1lbnRhdGlvbnMgZm9s
bG93IHByb3BlciBzYW1lLW9yaWdpbiByZXN0cmljdGlvbnMuIik7CisgIHZhciBpbWcgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaW1nIik7CisgIGFzc2VydE1zZyhpbWcud2lkdGggPiAwICYm
IGltZy5oZWlnaHQgPiAwLCAiaW1nIHdhcyBsb2FkZWQiKTsKKyAgaW1nRG9tYWluID0gZ2V0QmFz
ZURvbWFpbihpbWcuc3JjKTsKKyAgcGFnZURvbWFpbiA9IGdldEJhc2VEb21haW4od2luZG93Lmxv
Y2F0aW9uLnRvU3RyaW5nKCkpOworICBhc3NlcnRNc2coaW1nRG9tYWluICE9IHBhZ2VEb21haW4s
CisgICAgICAgICAgICAiaW1nIGRvbWFpbiAoIiArIGltZ0RvbWFpbiArICIpIGFuZCBwYWdlIGRv
bWFpbiAoIiArIHBhZ2VEb21haW4gKyAiKSBhcmUgbm90IHRoZSBzYW1lLiIpOworCisgIGZ1bmN0
aW9uIG1ha2VUZXhJbWFnZTJEKGdsLCBzcmMpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7Cisg
ICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIHNyYyk7CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VUZXhT
dWJJbWFnZTJEKGdsLCBzcmMpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICBnbC50
ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIHNyYyk7CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VSZWFkUGl4ZWxzKGds
KSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFy
cmF5KDQpOworICAgICAgZ2wucmVhZFBpeGVscygwLCAwLCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBidWYpOworICAgIH07CisgIH0KKworICBmdW5jdGlvbiBtYWtlVG9EYXRhVVJM
KGNhbnZhcykgeworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBkYXRhID0gY2Fu
dmFzLnRvRGF0YVVSTCgpOworICAgIH0KKyAgfQorCisgIHZhciBjYW52YXMxID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNhbnZhczEiKTsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4
dChjYW52YXMxKTsKKworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJjaGVjayB0aGF0IGFuIGF0dGVt
cHQgdG8gdXBsb2FkIGFuIGltYWdlIGZyb20gYW5vdGhlciBvcmlnaW4gdGhyb3dzIGFuIGV4Y2Vw
dGlvbi4iKTsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1
cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5SR0JBLCAyNTYsIDI1NiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7
CisgIGFzc2VydE1zZyhjYXVzZWRFeGNlcHRpb24obWFrZVRleEltYWdlMkQoZ2wsIGltZykpLAor
ICAgICAgICAgICAgInRleEltYWdlMkQgd2l0aCBjcm9zcy1vcmlnaW4gaW1hZ2Ugc2hvdWxkIHRo
cm93IGV4Y2VwdGlvbi4iKTsKKyAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlVGV4U3Vi
SW1hZ2UyRChnbCwgaW1nKSksCisgICAgICAgICAgICAidGV4U3ViSW1hZ2UyRCB3aXRoIGNyb3Nz
LW9yaWdpbiBpbWFnZSBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIpOworCisgIGRlYnVnKCJjaGVj
ayB0aGF0IHJlYWRQaXhlbHMgYW5kIHRvRGF0YVVSTCBjb250aW51ZSB0byB3b3JrIGFnYWluc3Qg
dGhpcyBjYW52YXMuIik7CisgIGFzc2VydE1zZyghY2F1c2VkRXhjZXB0aW9uKG1ha2VSZWFkUGl4
ZWxzKGdsKSksCisgICAgICAgICAgICAicmVhZFBpeGVscyBzaG91bGQgbmV2ZXIgdGhyb3cgZXhj
ZXB0aW9uIC0tIG5vdCBwb3NzaWJsZSB0byBkaXJ0eSBvcmlnaW4gb2YgV2ViR0wgY2FudmFzLiIp
OworICBhc3NlcnRNc2coIWNhdXNlZEV4Y2VwdGlvbihtYWtlVG9EYXRhVVJMKGNhbnZhczEpKSwK
KyAgICAgICAgICAgICJzaG91bGQgbm90IHRocm93IGV4Y2VwdGlvbiBieSB0b0RhdGFVUkwgZm9y
IFdlYkdMIGNhbnZhcywgd2hpY2ggc2hvdWxkIHN0YXkgb3JpZ2luIGNsZWFuLiIpOworCisgIGRl
YnVnKCJjaGVjayB0aGF0IGFuIGF0dGVtcHQgdG8gdXBsb2FkIGEgdGFpbnRlZCBjYW52YXMgdGhy
b3dzIGFuIGV4Y2VwdGlvbi4iKTsKKyAgdmFyIGNhbnZhczIgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2FudmFzMiIpOworICB2YXIgY3R4MmQgPSBjYW52YXMyLmdldENvbnRleHQoIjJkIik7
CisgIGN0eDJkLmRyYXdJbWFnZShpbWcsIDAsIDApOworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0
aW9uKG1ha2VUb0RhdGFVUkwoY2FudmFzMikpLAorICAgICAgICAgICAgInNob3VsZCB0aHJvdyBl
eGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcy4iKTsKKyAg
YXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlVGV4SW1hZ2UyRChnbCwgY2FudmFzMikpLAor
ICAgICAgICAgICAgInRleEltYWdlMkQgd2l0aCBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcyBzaG91
bGQgdGhyb3cgZXhjZXB0aW9uLiIpOworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1ha2VU
ZXhTdWJJbWFnZTJEKGdsLCBjYW52YXMyKSksCisgICAgICAgICAgICAidGV4U3ViSW1hZ2UyRCB3
aXRoIE5PTiBvcmlnaW4gY2xlYW4gY2FudmFzIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIik7CisK
KyAgZGVidWcoImNoZWNrIHRoYXQgcmVhZFBpeGVscyBhbmQgdG9EYXRhVVJMIGNvbnRpbnVlIHRv
IHdvcmsgYWdhaW5zdCB0aGlzIGNhbnZhcy4iKTsKKyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRp
b24obWFrZVJlYWRQaXhlbHMoZ2wpKSwKKyAgICAgICAgICAgICJyZWFkUGl4ZWxzIHNob3VsZCBu
ZXZlciB0aHJvdyBleGNlcHRpb24gLS0gbm90IHBvc3NpYmxlIHRvIGRpcnR5IG9yaWdpbiBvZiBX
ZWJHTCBjYW52YXMuIik7CisgIGFzc2VydE1zZyghY2F1c2VkRXhjZXB0aW9uKG1ha2VUb0RhdGFV
UkwoY2FudmFzMSkpLAorICAgICAgICAgICAgInNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uIGJ5
IHRvRGF0YVVSTCBmb3IgV2ViR0wgY2FudmFzLCB3aGljaCBzaG91bGQgc3RheSBvcmlnaW4gY2xl
YW4uIik7CisKKyAgLy8gVE9ETzogU2hvdWxkIGNoZWNrIHZpZGVvLgorICAvLyBUT0RPOiBTaG91
bGQgY2hlY2sgQ09SUyBzdXBwb3J0LgorCisgIGRlYnVnKCIiKTsKKyAgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKyAgc2hvdWxkQmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJzZWQiKTsKKyAgZGVi
dWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOworICBu
b3RpZnlGaW5pc2hlZFRvSGFybmVzcygpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PGNhbnZhcyBpZD0iY2FudmFzMSI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXMyIj48L2Nh
bnZhcz4KKzxpbWcgaWQ9ImltZyIgc3JjPSJodHRwOi8vd3d3Lm9wZW5nbC5vcmcvaW1nL29wZW5n
bF9sb2dvLmpwZyIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNh
bnZhcy1yZ2I1NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODkwOGQ4ZDc5ZTlmM2UwYTZmOGFlZDQzMzgw
ZTliOTkyNWVkM2I0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShn
bCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9J2dlbmVyYXRlVGVzdCgiUkdCIiwgIlVOU0lHTkVEX1NIT1JUXzVfNl81IiwgdGVzdFByb2xv
Z3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9j
YW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZmZDM4ZWQzNTA1YzcyNzBmMjA4YTY1ZTQzODhmZDg4ZmU0YWE0MmQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1y
Z2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNl
IHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEi
LCAiVU5TSUdORURfU0hPUlRfNF80XzRfNCIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlk
PSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy1yZ2JhNTU1MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTBhMzhhMDY2MDA0YTRh
NGUzMjAxNWE1MTllN2RkODcwYzY4YTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbApAQCAtMCww
ICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24g
dGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzVf
NV81XzEiLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMy
IiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODUyMzJiMWYzMDdkZTlhZDI0ZTcwM2YxMzY2NzA5ZTIxMjU0ZjYxYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0
bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1jYW52YXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
K2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05F
RF9CWVRFIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIz
MiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg1MDI1YjE4NWQ0YTQwMmRlMTNkMTExNzRiMjU1NmE0NmU0M2EyNWQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENv
cHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVu
dGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJp
YWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlz
dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMs
IGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJ
REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9S
IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK
KyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENP
UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBP
VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9S
VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBN
QVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVy
biB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVz
dCgiUkdCIiwgIlVOU0lHTkVEX1NIT1JUXzVfNl81IiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgpJz4K
KzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzMzYjQ4
MmQ4MzkxNDhiOGUzZjMzOTRlOGY3MjJkYTU5OGZjYTU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1s
CkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1
bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9T
SE9SVF80XzRfNF80IiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiYTU1NTEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UtcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDQwNTU0YzUxNTMwOGM2MWJmYzVkOGNm
YmQ2ZDM1OTg5MjM3Mzg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsNDkgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1
ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9TSE9SVF81XzVfNV8xIiwgIi4u
IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVp
Z2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGYy
ZDU1ZDM0OWIwYjMyZTdjZWJiNDMzZTlmNmRmM2M2NWY4M2Q5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCkBAIC0w
LDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25v
cyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv
ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0
d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRl
cmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu
Y2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt
b2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29y
IHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8K
KyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiog
aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgor
KioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U
IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG
T1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
QU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJP
TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9u
IHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9CWVRFIiwg
Ii4uIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIg
aGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJhYzExZTI2OTZjMmIzNGE1OTlmYzdhZGVmNjNmYzljZmY5NDJmYzAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LXZpZGVvLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0
cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgi
UkdCIiwgIlVOU0lHTkVEX1NIT1JUXzVfNl81IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMg
aWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTQ0NDQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTkxMWFhMDM3NmNlZmQ5
NWJhN2U2MDY3YTE0OWQ0Y2JhNjc4NmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAg
KzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
dmlkZW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRl
c3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9TSE9SVF80XzRf
NF80IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIg
aGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yN2VmNjJmZjdkOGZiYzFkNmM3ZDkyZDkyZjI2ZDU2OTI3N2VhZTUw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJl
dHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRl
VGVzdCgiUkdCQSIsICJVTlNJR05FRF9TSE9SVF81XzVfNV8xIiwgdGVzdFByb2xvZ3VlKSgpJz4K
KzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtdmlkZW8uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtdmlkZW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NWM0YTdmNTM0YjY5YmZiOWZkOGUyNGE3
M2Q0MDMzNTA0ZjY5MDlhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKwor
LyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiog
UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz
b24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0
aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo
LAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBN
YXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxz
IGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJz
dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMg
QVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBF
WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFN
QUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F
Q1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT
IElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgewor
ICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dl
bmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9CWVRFIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxj
YW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk5
NjIyMTVjOGFjMjVmNGI2ODNhYTg3NGYzZGQxNzFjNjczZGEwMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sCkBAIC0wLDAgKzEsMTkyIEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+CisgIDxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZT5XZWJH
TCBBY3RpdmVUZXh0dXJlIEJpbmRUZXh0dXJlIGNvbmZvcm1hbmNlIHRlc3QgIzI8L3RpdGxlPgor
ICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIi8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LmpzIj4gPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4
OyI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXMyZCIgd2lkdGg9IjEiIGhlaWdodD0iMSIg
c3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0i
dnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgordW5pZm9ybSBtYXQ0IHdvcmxkOwor
YXR0cmlidXRlIHZlYzMgdlBvc2l0aW9uOworYXR0cmlidXRlIHZlYzIgdGV4Q29vcmQwOwordmFy
eWluZyB2ZWMyIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAgZ2xfUG9zaXRpb24gPSB3b3Js
ZCAqIHZlYzQodlBvc2l0aW9uLCAxKTsKKyAgdGV4Q29vcmQgPSB0ZXhDb29yZDA7Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIyZCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSBzYW1wbGVyMkQgdGV4MmQ7Cit2
YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29sb3IgPSB0
ZXh0dXJlMkQodGV4MmQsIHRleENvb3JkKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNo
YWRlckN1YmUiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CisKK3VuaWZvcm0gc2FtcGxlckN1YmUgdGV4Q3ViZTsKK3ZvaWQgbWFpbigpCit7Cisg
IGdsX0ZyYWdDb2xvciA9IHRleHR1cmVDdWJlKHRleEN1YmUsIHZlYzMoMCwxLDApKTsKK30KKzwv
c2NyaXB0PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gaW5pdCgpCit7Cisg
IGRlc2NyaXB0aW9uKAorICAgICAgIlRlc3RzIHRoYXQgYmluZGluZyBib3RoIFRFWFRVUkVfMkQg
YW5kIFRFWFRVUkVfQ1VCRV9NQVAgdG8gdGhlIHNhbWUiICsKKyAgICAgICJhY3RpdmUgdGV4dHVy
ZSB1bml0IHdvcmtzIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IHVzZWQiICsKKyAgICAgICJzaW11
bHRhbmVvdXNseSBpbiB0aGUgc2FtZSBzaGFkZXIgcHJvZ3JhbS4iKTsKKworICB2YXIgY2FudmFz
MmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMmQiKTsKKyAgdmFyIGN0eDJkID0g
Y2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKyAgY3R4MmQuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uID0gImNvcHkiOworCisgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgdmFyIGdsID0g
d3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1
cFByb2dyYW0oCisgICAgICBnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIyZCJdLCBbInZQb3NpdGlv
biIsICJ0ZXhDb29yZDAiXSk7CisKKyAgdmFyIHByb2dyYW0yZCA9IHByb2dyYW07CisgIHZhciBw
cm9ncmFtQ3ViZSA9IHd0dS5zZXR1cFByb2dyYW0oCisgICAgICBnbCwgWyJ2c2hhZGVyIiwgImZz
aGFkZXJDdWJlIl0sIFsidlBvc2l0aW9uIiwgInRleENvb3JkMCJdKTsKKworICB2YXIgdmVydGV4
T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCB2ZXJ0ZXhPYmplY3QpOworICBnbC5idWZmZXJEYXRhKAorICAgICAgZ2wuQVJSQVlfQlVG
RkVSLAorICAgICAgbmV3IEZsb2F0MzJBcnJheShbLTEsIDEsMCwgMSwxLDAsIC0xLC0xLDAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAtMSwtMSwwLCAxLDEsMCwgIDEsLTEsMF0pLAorICAgICAg
Z2wuU1RBVElDX0RSQVcpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAgZ2wu
dmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgIHZh
ciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5B
UlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7CisgIGdsLmJ1ZmZlckRhdGEoCisgICAgICBnbC5B
UlJBWV9CVUZGRVIsCisgICAgICBuZXcgRmxvYXQzMkFycmF5KFsgMCwwLCAxLDAsIDAsMSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAwLDEsIDEsMCwgMSwxXSksCisgICAgICBnbC5TVEFUSUNf
RFJBVyk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDEpOworICBnbC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKDEsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgLy8gTWFrZSB0ZXh0
dXJlIHVuaXQgMSBhY3RpdmUuCisgIGdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTEpOworCisg
IC8vIE1ha2UgYSAyZCB0ZXh0dXJlCisgIHZhciB0ZXgyZCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsK
KyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4MmQpOworICBjdHgyZC5maWxsU3R5
bGUgPSAicmdiYSgwLCAwLCAyNTUsIDI1NSkiOworICBjdHgyZC5maWxsUmVjdCgwLCAwLCAxLCAx
KTsKKyAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBjYW52YXMyZCk7CisKKyAgLy8gbWFrZSBhIGN1YmUgdGV4dHVyZQor
ICB2YXIgdGV4Q3ViZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wu
VEVYVFVSRV9DVUJFX01BUCwgdGV4Q3ViZSk7CisgIGN0eDJkLmZpbGxTdHlsZSA9ICJyZ2JhKDI1
NSwgMCwgMjU1LCAyNTUpIjsKKyAgY3R4MmQuZmlsbFJlY3QoMCwgMCwgMSwgMSk7CisgIHZhciB0
YXJnZXRzID0gWworICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5U
RVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJ
VElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhU
VVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElW
RV9aXTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRhcmdldHMubGVuZ3RoOyArK2lpKSB7Cisg
ICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXRzW2lpXSwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgY2FudmFzMmQpOworICB9CisKKyAgLy8gU2V0dXAgcHJvZ3JhbTJkIGFuZCBw
cm9ncmFtQ3ViZQorICB2YXIgdGV4MmRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3Jh
bTJkLCAidGV4MmQiKTsKKyAgdmFyIHdvcmxkMmRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24o
cHJvZ3JhbTJkLCAid29ybGQiKTsKKyAgdmFyIHRleEN1YmVMb2MgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbUN1YmUsICJ0ZXhDdWJlIik7CisgIHZhciB3b3JsZEN1YmVMb2MgPSBnbC5n
ZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbUN1YmUsICJ3b3JsZCIpOworCisgIGdsLnVzZVByb2dy
YW0ocHJvZ3JhbTJkKTsKKyAgZ2wudW5pZm9ybTFpKHRleDJkTG9jLCAxKTsKKyAgZ2wudXNlUHJv
Z3JhbShwcm9ncmFtQ3ViZSk7CisgIGdsLnVuaWZvcm0xaSh0ZXhDdWJlTG9jLCAxKTsKKworICBn
bC5jbGVhckNvbG9yKDEsMCwwLDEpOworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwg
Z2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgdmFyIHByb2dyYW1zID0gW3Byb2dyYW0yZCwgcHJv
Z3JhbUN1YmVdOworICB2YXIgd29ybGRMb2NzID0gW3dvcmxkMmRMb2MsIHdvcmxkQ3ViZUxvY107
CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCA0OyArK2lpKSB7CisgICAgdmFyIHggPSBpaSAlIDI7
CisgICAgdmFyIHkgPSBNYXRoLmZsb29yKGlpIC8gMik7CisgICAgZ2wudXNlUHJvZ3JhbShwcm9n
cmFtc1t4XSk7CisgICAgZ2wudW5pZm9ybU1hdHJpeDRmdigKKyAgICAgICAgd29ybGRMb2NzW3hd
LCBmYWxzZSwKKyAgICAgICAgWzAuNSwgMCwgMCwgMCwKKyAgICAgICAgIDAsIDAuNSwgMCwgMCwK
KyAgICAgICAgIDAsIDAsIDEsIDAsCisgICAgICAgICAtMC41ICsgeCwgLTAuNSArIHksIDAsIDFd
KTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7CisgIH0KKworICB2YXIg
Y29sb3JzID0gWworICAgICAgWzAsMCwyNTUsMjU1XSwKKyAgICAgIFsyNTUsMCwyNTUsMjU1XSwK
KyAgICAgIFswLDAsMjU1LDI1NV0sCisgICAgICBbMjU1LDAsMjU1LDI1NV1dOworCisgIGZvciAo
dmFyIGlpID0gMDsgaWkgPCBjb2xvcnMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIGMgPSBjb2xv
cnNbaWldOworICAgIHZhciB4ID0gaWkgJSAyOworICAgIHZhciB5ID0gTWF0aC5mbG9vcihpaSAv
IDIpOworICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIHgsIHksIDEsIDEsIGMpOworICB9Cit9
CisKK2luaXQoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisK
KzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUt
YmluZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmViOWE3OTIxNTQ4NGE1YjlkMDhlYzgyZGJkYzViMTkzNmI5ZjIzYzAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwKQEAgLTAsMCArMSwxNTcgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEFj
dGl2ZVRleHR1cmUgQmluZFRleHR1cmUgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIy
IiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGNhbnZhcyBp
ZD0iY2FudmFzMmQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVp
Z2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KK3VuaWZvcm0gbWF0NCB3b3JsZDsKK2F0dHJpYnV0ZSB2ZWMzIHZQb3NpdGlv
bjsKK2F0dHJpYnV0ZSB2ZWMyIHRleENvb3JkMDsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKK3Zv
aWQgbWFpbigpCit7CisgIGdsX1Bvc2l0aW9uID0gd29ybGQgKiB2ZWM0KHZQb3NpdGlvbiwgMSk7
CisgIHRleENvb3JkID0gdGV4Q29vcmQwOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOwordmFyIGdsOworCitmdW5jdGlvbiBpbml0KCkKK3sKKyAgZGVzY3JpcHRpb24oCisg
ICAgICAiVGVzdHMgdGhhdCBnbEFjdGl2ZVRleHR1cmUgYW5kIGdsQmluZFRleHR1cmUgd29yayBh
cyBleHBlY3RlZCIgKworICAgICAgIlNwZWNpZmljYWxseSB0ZXh0dXJlIHRhcmdldHMgYXJlIHBl
ciBhY3RpdmUgdGV4dHVyZSB1bml0LiIpOworCisgIHZhciBjYW52YXMyZCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjYW52YXMyZCIpOworICB2YXIgY3R4MmQgPSBjYW52YXMyZC5nZXRDb250
ZXh0KCIyZCIpOworCisgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgZ2wgPSB3dHUuY3Jl
YXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3Jh
bSgKKyAgICAgIGdsLAorICAgICAgWyJ2c2hhZGVyIiwgd3R1LnNldHVwU2ltcGxlVGV4dHVyZUZy
YWdtZW50U2hhZGVyKGdsKV0sCisgICAgICBbJ3ZQb3NpdGlvbicsICd0ZXhDb29yZDAnXSk7Cisg
IHd0dS5zZXR1cFVuaXRRdWFkKGdsKTsKKyAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKyAg
Z2wuZGlzYWJsZShnbC5CTEVORCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OworCisgIHZhciBjb2xvcnMgPSBbCisgICAgICBbMCwxOTIsMTI4LDI1NV0sCisgICAgICBbMTI4
LDY0LDI1NSwyNTVdLAorICAgICAgWzE5MiwyNTUsNjQsMjU1XSwKKyAgICAgIFsyMDAsMCwyNTUs
MjU1XV07CisKKyAgLy8gTWFrZSA0IHRleHR1cmVzIGJ5IHVzaW5nIDQgYWN0aXZlIHRleHR1cmUg
dW5pdHMgaWYgYXZhaWxhYmxlLgorICB2YXIgdGV4dW5pdHMgPSBNYXRoLm1pbihjb2xvcnMubGVu
Z3RoLCBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX0NPTUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFMp
KQorICB2YXIgdGV4dHVyZXMgPSBbXTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRleHVuaXRz
OyArK2lpKSB7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5hY3Rp
dmVUZXh0dXJlKGdsLlRFWFRVUkUwICsgaWkpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIHRleCk7CisgICAgdGV4dHVyZXNbaWldID0gdGV4OworICB9CisgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIC8vIG5vdyB1c2UgZWFjaCB0ZXh0dXJlIHVuaXQg
dG8gd3JpdGUgaW50byB0aGUgdGV4dHVyZXMsCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXh1
bml0czsgKytpaSkgeworICAgIHZhciBjID0gY29sb3JzW2lpXTsKKyAgICBjdHgyZC5maWxsU3R5
bGUgPQorICAgICAgICAicmdiYSgiICsgY1swXSArICIsIiArIGNbMV0gKyAiLCIgKyBjWzJdICsg
IiwiICsgY1szXSArICIpIjsKKyAgICBjdHgyZC5maWxsUmVjdCgwLCAwLCAxLCAxKTsKKyAgICBn
bC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUwICsgaWkpOworICAgIGdsLnRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFz
MmQpOworICB9CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIHZhciB0
ZXh0dXJlTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKyAgdmFy
IHdvcmxkTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ3b3JsZCIpOworICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICBnbC5jbGVhckNvbG9yKDEsMCww
LDEpOworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJ
VCk7CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRleHVuaXRzOyArK2lpKSB7CisgICAgdmFy
IHggPSBpaSAlIDI7CisgICAgdmFyIHkgPSBNYXRoLmZsb29yKGlpIC8gMik7CisgICAgZ2wudW5p
Zm9ybTFpKHRleHR1cmVMb2MsIGlpKTsKKyAgICBnbC51bmlmb3JtTWF0cml4NGZ2KAorICAgICAg
ICB3b3JsZExvYywgZmFsc2UsCisgICAgICAgIFswLjUsIDAsIDAsIDAsCisgICAgICAgICAwLCAw
LjUsIDAsIDAsCisgICAgICAgICAwLCAwLCAxLCAwLAorICAgICAgICAgLTAuNSArIHgsIC0wLjUg
KyB5LCAwLCAxXSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICB9
CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIGZvciAodmFyIGlpID0g
MDsgaWkgPCB0ZXh1bml0czsgKytpaSkgeworICAgIHZhciBjID0gY29sb3JzW2lpXTsKKyAgICB2
YXIgeCA9IGlpICUgMjsKKyAgICB2YXIgeSA9IE1hdGguZmxvb3IoaWkgLyAyKTsKKyAgICB2YXIg
YnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgZ2wucmVhZFBpeGVscyh4LCB5LCAxLCAxLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIHZhciBtc2cgPSAnZXhwZWN0ZWQ6
JyArCisgICAgICAgIGNbMF0gKyAnLCAnICsgY1sxXSArICcsICcgKyBjWzJdICsgJywgJyArIGNb
M10gKyAnIGZvdW5kOiAnICsKKyAgICAgICAgYnVmWzBdICsgJywgJyArCisgICAgICAgIGJ1Zlsx
XSArICcsICcgKworICAgICAgICBidWZbMl0gKyAnLCAnICsKKyAgICAgICAgYnVmWzNdOworICAg
IGlmIChidWZbMF0gIT0gY1swXSB8fAorICAgICAgICBidWZbMV0gIT0gY1sxXSB8fAorICAgICAg
ICBidWZbMl0gIT0gY1syXSB8fAorICAgICAgICBidWZbM10gIT0gY1szXSkKKyAgICAgIHRlc3RG
YWlsZWQobXNnKTsKKyAgICBlbHNlCisgICAgICB0ZXN0UGFzc2VkKG1zZyk7CisgIH0KK30KKwor
aW5pdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8
L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFkMmU2ZmE5NWU0NjZl
ZjVhOGEyMWI1OWY4ODEzMjA1Mjc1Y2U0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eHR1cmUtbWlwcy5odG1sCkBAIC0wLDAgKzEsMzE5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB0ZXh0dXJlIG1pcHMgY29uZm9ybWFuY2Ug
dGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxl
IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsi
PjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+
Cit1bmlmb3JtIHZlYzQgdU11bHQ7CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CithdHRyaWJ1
dGUgdmVjMiB0ZXhDb29yZDA7Cit2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQor
eworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uICogdU11bHQ7CisgICAgdGV4Q29vcmQgPSB0
ZXhDb29yZDA7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1z
aGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gc2Ft
cGxlcjJEIHRleDsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAg
Z2xfRnJhZ0NvbG9yID0gdGV4dHVyZTJEKHRleCwgdGV4Q29vcmQpOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIGNhbnZhczsKK3ZhciB3dHUgPSBXZWJHTFRlc3RV
dGlsczsKK2Z1bmN0aW9uIGluaXQoKQoreworICBkZXNjcmlwdGlvbigiQ2hlY2tzIG1pcCBpc3N1
ZXMiKTsKKworICBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOwor
ICBzaG91bGRCZSgiY2FudmFzLndpZHRoIiwgIjIiKTsKKyAgc2hvdWxkQmUoImNhbnZhcy5oZWln
aHQiLCAiMiIpOworCisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKwor
ICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXgpOworICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKTsKKyAgZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvciBnZW5lcmF0ZU1pcG1h
cCB3aXRoIG1pcCAwIGlzIDB4MCIpOworICBnbC50ZXhJbWFnZTJEKAorICAgICAgZ2wuVEVYVFVS
RV8yRCwgMSwgZ2wuUkdCQSwgMSwgMSwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAg
ICAgIG5ldyBVaW50OEFycmF5KDQpKTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8y
RCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3IgZ2Vu
ZXJhdGVNaXBtYXAgd2l0aCBtaXAgMCBpcyAweDAiKTsKKworICB0ZXggPSBnbC5jcmVhdGVUZXh0
dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRleCk7CisgIGds
LmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfQ1VCRV9NQVApOworICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZm9yIGdlbmVyYXRlTWlwbWFwIHdpdGggbWlwIDAg
aXMgMHgwIik7CisKKyAgdmFyIGZhY2VzID0gWworICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9T
SVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVY
VFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJ
VkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVS
RV9DVUJFX01BUF9ORUdBVElWRV9aCisgIF07CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBmYWNl
cy5sZW5ndGg7ICsraWkpIHsKKyAgICBnbC50ZXhJbWFnZTJEKAorICAgICAgICBmYWNlc1tpaV0s
IDAsIGdsLlJHQkEsIDIsIDIsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAg
IG5ldyBVaW50OEFycmF5KDQgKiAyICogMikpOworICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRF
WFRVUkVfQ1VCRV9NQVApOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgaWkgPT0gNSA/IGdsLk5P
X0VSUk9SIDogZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3IgZ2VuZXJhdGVNaXBtYXAgd2l0aCAi
ICsgKGlpICsgMSkgKyAiIGZhY2VzIik7CisgIH0KKworICB3dHUuc2V0dXBVbml0UXVhZChnbCwg
MCwgMSk7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICAgIGdsLCBbJ3Zz
aGFkZXInLCAnZnNoYWRlciddLCBbJ3ZQb3NpdGlvbicsICd0ZXhDb29yZDAnXSwgWzAsIDFdKTsK
KworICBnbC5kaXNhYmxlKGdsLkRFUFRIX1RFU1QpOworICBnbC5kaXNhYmxlKGdsLkJMRU5EKTsK
KworICB2YXIgY29sb3JzID0geworICAgIGJsdWU6IFswLCAwLCAyNTUsIDI1NV0sCisgICAgcmVk
OiBbMjU1LCAwLCAwLCAyNTVdLAorICAgIGdyZWVuOiAgWzAsIDI1NSwgMCwgMjU1XSwKKyAgICBj
eWFuOiBbMTI4LCAyNTUsIDI1NSwgMjU1XSwKKyAgICBibGFjazogWzAsIDAsIDAsIDI1NV0sCisg
ICAgYmxhbms6IFswLCAwLCAwLCAwXQorICB9OworCisgIHZhciBtaXBzID0gWworICBdOworCisg
IHZhciB0ZXhMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOworICBn
bC51bmlmb3JtMWkodGV4TG9jLCAwKTsKKyAgdmFyIG11bHRMb2MgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgInVNdWx0Iik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgY2xlYXJUZXggPSBjcmVhdGVUZXh0
dXJlKCk7CisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAxLCAxLCAxLCAxKTsKKyAgZ2wuYmluZFRl
eHR1cmUoZ2wuVEVYVFVSRV8yRCwgY2xlYXJUZXgpOworICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIDE2LCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
bnVsbCk7CisgIGRlYnVnKCdnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDE2LCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7Jyk7CisgIHNldE1p
cERhdGEoMCwgMTYsICdibGFuaycpOworICBtYWtlRGl2TWlwQ2hhaW4oKTsKKyAgZ2VuZXJhdGVN
aXBtYXAoKTsKKyAgY2hlY2soJ2JsYW5rJywgInRleHR1cmUgY3JlYXRlZCB3aXRoIG51bGwgdGhh
dCBoYXMgYWxsIG1pcHMiKTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIHZhciB0ZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGds
LnVuaWZvcm00ZihtdWx0TG9jLCAxLCAxLCAxLCAxKTsKKworICBnbC5iaW5kVGV4dHVyZShnbC5U
RVhUVVJFXzJELCB0ZXgpOworICAvLyAxNngxNiB0ZXh0dXJlIG5vIG1pcHMKKyAgZmlsbExldmVs
KHRleCwgMCwgMTYsICdjeWFuJyk7CisKKyAgY2hlY2soJ2JsYWNrJywKKyAgICAgICAgInRleHR1
cmUgdGhhdCBpcyBtaXNzaW5nIG1pcHMgd2hlbiBURVhUVVJFX01JTl9GSUxURVIgbm90IE5FQVJF
U1Qgb3IgTElORUFSIik7CisKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKworICBjaGVjaygnY3lhbics
ICJ0ZXh0dXJlIHRoYXQgaGFzIGFsbCBtaXBzIik7CisKKyAgLy8gRmlsbCBpbiB0aGUgYm90dG9t
IDIgbWlwcyB3aXRoIGEgZGlmZmVyZW50IGNvbG9yLgorICBmaWxsTGV2ZWwodGV4LCA0LCAxLCAn
Z3JlZW4nKTsKKyAgZmlsbExldmVsKHRleCwgMywgMiwgJ2dyZWVuJyk7CisKKyAgLy8gQ2hvb3Nl
IHRoZSBuZWFyZXN0IG1pcAorICB0ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSX01JUE1BUF9ORUFSRVNUKTsKKworICBjaGVjaygnZ3Jl
ZW4nLCAidGV4dHVyZSB0aGF0IGlzIG9ubHkgdXNpbmcgdGhlIHNtYWxsZXN0IDIgbWlwcyIpOwor
CisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAxNiwgMTYsIDEsIDEpOworCisgIGNoZWNrKCdjeWFu
JywgInRleHR1cmUgdGhhdCBpcyB1c2luZyBvbmx5IHRoZSBsYXJnZXN0IDIgbWlwcyIpOworCisg
IC8vIFNldCB0aGUgdG9wIGxldmVsCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDEsICdyZWQnKTsKKyAg
Y2hlY2soJ3JlZCcsCisgICAgICAgICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0aGUgdG9w
IGxldmVsIGV2ZW4gdGhvdWdoIG90aGVyIGxldmVscyBhcmUgZGVmaW5lZCIpOworCisgIC8vIFNl
dCB0aGUgdG9wIDIgbGV2ZWxzIHVzaW5nIGdlbmVyYXRlTWlwbWFwCisgIGZpbGxMZXZlbCh0ZXgs
IDAsIDIsICdibHVlJyk7CisgIGdlbmVyYXRlTWlwbWFwKCk7CisKKyAgY2hlY2soJ2JsdWUnLAor
ICAgICAgICAidGV4dHVyZSB0aGF0IGlzIG9ubHkgdXNpbmcgdGhlIHRvcCAyIGxldmVscyBldmVu
IHRob3VnaCBvdGhlciBsZXZlbHMgYXJlIGRlZmluZWQiKTsKKworICAvLyBTZXQgdGhlIHRvcCAy
IGxldmVscyBiYWNrIHRvIHNpemVzIHRoYXQgZW5kIHVwIHVzaW5nIGxldmVscyAyLCAzLCBhbmQg
NCBhZ2Fpbi4KKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdibHVlJyk7CisgIGZpbGxMZXZlbCh0
ZXgsIDEsIDgsICdibHVlJyk7CisgIGNoZWNrKCdibHVlJywgInRleHR1cmUgdGhhdCBpcyBvbmx5
IHVzaW5nIHRoZSBsYXJnZXN0IDIgbWlwcyIpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwg
MSwgMSwgMSk7CisgIGNoZWNrKCdncmVlbicsICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0
aGUgc21hbGxlc3QgMiBtaXBzIik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgdGV4ID0gY3JlYXRlVGV4dHVyZSgpOwor
ICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGZpbGxMZXZlbCh0ZXgsIDAs
IDgsICdjeWFuJyk7CisgIGdlbmVyYXRlTWlwbWFwKCk7CisgIGNoZWNrKCdjeWFuJywgInRleHR1
cmUgdGhhdCBoYXMgMyBtaXBzIik7CisKKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdibHVlJyk7
CisgIHRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBn
bC5MSU5FQVIpOworICBjaGVjaygnYmx1ZScsICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0
b3AgbWlwcyIpOworCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDgsICdyZWQnKTsKKyAgdGV4UGFyYW1l
dGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUl9NSVBN
QVBfTkVBUkVTVCk7CisgIGNoZWNrKCdjeWFuJywgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5n
IHNtYWxsZXN0IG1pcHMiKTsKKworICBnbC51bmlmb3JtNGYobXVsdExvYywgMTYsIDE2LCAxLCAx
KTsKKyAgY2hlY2soJ3JlZCcsICJ0ZXh0dXJlIHRoYXQgaXMgdXNpbmcgb25seSB0aGUgbGFyZ2Vz
dCBtaXAiKTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisgIHZhciB0ZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGdsLnVuaWZvcm00
ZihtdWx0TG9jLCAxLCAxLCAxLCAxKTsKKyAgZmlsbExldmVsKHRleCwgMiwgMSwgJ2dyZWVuJyk7
CisgIGZpbGxMZXZlbCh0ZXgsIDEsIDIsICdncmVlbicpOworICBmaWxsTGV2ZWwodGV4LCAwLCA0
LCAnZ3JlZW4nKTsKKyAgY2hlY2soJ2dyZWVuJywgInRleHR1cmUgdGhhdCB3YXMgYnVpbHQgc21h
bGxlc3QgbWlwIGZpcnN0Iik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgdGV4ID0gY3JlYXRlVGV4dHVyZSgpOworICBn
bC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2
LCAncmVkJyk7CisgIGdlbmVyYXRlTWlwbWFwKCk7CisgIGNoZWNrKCdyZWQnLCAidGV4dHVyZSB3
aXRoIDEgZ2VubWlwbWFwcyIpOworICBmaWxsTGV2ZWwodGV4LCAwLCAxNiwgJ2JsdWUnKTsKKyAg
Z2VuZXJhdGVNaXBtYXAoKTsKKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdncmVlbicpOworICBn
ZW5lcmF0ZU1pcG1hcCgpOworICBjaGVjaygnZ3JlZW4nLCAidGV4dHVyZSB3aXRoIDIgZ2VubWlw
bWFwcyIpOworCisgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBi
ZSBubyBlcnJvcnMuIik7CisKKyAgZnVuY3Rpb24gY3JlYXRlVGV4dHVyZSgpIHsKKyAgICBkZWJ1
ZygiPGhyLz5nbC5jcmVhdGVUZXh0dXJlKCkiKTsKKyAgICBtaXBzID0gW107CisgICAgbWFrZURp
dk1pcENoYWluKCk7CisgICAgcmV0dXJuIGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgfQorCisgIGZ1
bmN0aW9uIHRleFBhcmFtZXRlcmkodGFyZ2V0LCBwbmFtZSwgdmFsdWUpIHsKKyAgICBkZWJ1Zygi
Z2wudGV4UGFyYW1ldGVyaSgiICsKKyAgICAgICAgICB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRh
cmdldCkgKyAiLCAiICsKKyAgICAgICAgICB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHBuYW1lKSAr
ICIsICIgKworICAgICAgICAgIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdmFsdWUpICsgIikiKQor
ICAgIGdsLnRleFBhcmFtZXRlcmkodGFyZ2V0LCBwbmFtZSwgdmFsdWUpOworICB9CisKKyAgZnVu
Y3Rpb24gZ2VuZXJhdGVNaXBtYXAoKSB7CisgICAgZGVidWcoImdsLmdlbmVyYXRlTWlwbWFwKGds
LlRFWFRVUkVfMkQpIik7CisgICAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7Cisg
ICAgdmFyIG1pcDAgPSBtaXBzWzBdOworICAgIHZhciBzaXplID0gbWlwMC5zaXplOworICAgIHZh
ciBsZXZlbCA9IDE7CisgICAgZm9yKDs7KSB7CisgICAgICBzaXplID0gTWF0aC5mbG9vcihzaXpl
IC8gMik7CisgICAgICBpZiAoIXNpemUpIHsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAg
ICBzZXRNaXBEYXRhKGxldmVsLCBzaXplLCBtaXAwLmNvbG9yKTsKKyAgICAgICsrbGV2ZWw7Cisg
ICAgfQorICAgIG1ha2VEaXZNaXBDaGFpbigpOworICB9CisKKyAgZnVuY3Rpb24gY2hlY2soY29s
b3IsIG1zZykgeworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGds
LCBjb2xvcnNbY29sb3JdLCBtc2cgKyAiIHNob3VsZCBkcmF3IHdpdGggIiArIGNvbG9yKTsKKyAg
fQorCisgIGZ1bmN0aW9uIGZpbGxMZXZlbCh0ZXgsIGxldmVsLCBzaXplLCBjb2xvcikgeworICAg
IHNldE1pcERhdGEobGV2ZWwsIHNpemUsIGNvbG9yKTsKKyAgICBkZWJ1ZygiZ2wudGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAiICsgbGV2ZWwgKyAiLCBnbC5SR0JBLCAiICsgc2l6ZSArICIsICIg
KyBzaXplICsKKyAgICAgICAgICAiLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCAiICsg
Y29sb3IgKyAiKTsiKTsKKyAgICB3dHUuZmlsbFRleHR1cmUoZ2wsIHRleCwgc2l6ZSwgc2l6ZSwg
Y29sb3JzW2NvbG9yXSwgbGV2ZWwpOworICAgIG1ha2VEaXZNaXBDaGFpbigpOworICB9CisKKyAg
ZnVuY3Rpb24gc2V0TWlwRGF0YShsZXZlbCwgc2l6ZSwgY29sb3IpIHsKKyAgICBtaXBzW2xldmVs
XSA9IHsKKyAgICAgIHNpemU6IHNpemUsCisgICAgICBjb2xvcjogY29sb3IKKyAgICB9OworICB9
CisKKyAgZnVuY3Rpb24gbWFrZURpdk1pcENoYWluKGNvbG9yKSB7CisgICAgdmFyIGh0bWwgPSBb
CisgICAgICAnPGRpdiBzdHlsZT0iaGVpZ2h0OiA2OHB4OyBtYXJnaW4tdG9wOiA1cHgiPicsCisg
ICAgICAnPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPm1pcHM6IDwvZGl2PiddOworICAgIGZvciAo
dmFyIGlpID0gMDsgaWkgPCA1OyArK2lpKSB7CisgICAgICB2YXIgbWlwID0gbWlwc1tpaV07Cisg
ICAgICBpZiAobWlwKSB7CisgICAgICAgIGh0bWwucHVzaChtYWtlRGl2U3F1YXJlKG1pcC5zaXpl
LCBtaXAuY29sb3IpKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGh0bWwucHVzaChtYWtlRGl2
U3F1YXJlKDE2LCB1bmRlZmluZWQpKTsKKyAgICAgIH0KKyAgICB9CisgICAgaHRtbC5wdXNoKCI8
L2Rpdj4iKTsKKyAgICBkZWJ1ZyhodG1sLmpvaW4oIiIpKTsKKyAgfQorCisgIGZ1bmN0aW9uIG1h
a2VEaXZTcXVhcmUoc2l6ZSwgY29sb3IpIHsKKyAgICBzaXplICo9IDQ7CisgICAgdmFyIGMgPSBj
b2xvciA/IGNvbG9yc1tjb2xvcl0gOiBbMjU1LDI1NSwyNTVdOworICAgIHZhciBib3JkZXIgPSBj
b2xvciA/ICdzb2xpZCcgOiAnZGFzaGVkJzsKKyAgICByZXR1cm4gJzxkaXYgc3R5bGU9ImZsb2F0
OmxlZnQ7IHdpZHRoOiAnICsgc2l6ZSArICdweDsgaGVpZ2h0OiAnICsgc2l6ZSArCisgICAgICAg
ICAgICdweDsgYmFja2dyb3VuZC1jb2xvcjogJyArIHJnYihjKSArCisgICAgICAgICAgICc7IGJv
cmRlcjogMXB4ICcgKyBib3JkZXIgKyAnIGJsYWNrOyBtYXJnaW4tcmlnaHQ6IDNweDsiPjwvZGl2
Pic7CisgIH0KKworICBmdW5jdGlvbiByZ2IoYykgeworICAgIHJldHVybiAncmdiKCcgKyBjWzBd
ICsgJywnICsgY1sxXSArICcsJyArIGNbMl0gKycpJzsKKyAgfQorfQorCitpbml0KCk7Cit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWVmODNiNmZkODUxZTNjNzFi
Mjg3Y2UwODBjNWJkZjNlZGEyNzYzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtbnBvdC12aWRlby5odG1sCkBAIC0wLDAgKzEsMTc5IEBACis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1
ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSBudWxsOwordmFyIHRleHR1cmVMb2MgPSBudWxs
OwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworCitpbml0VGVzdGluZ0hhcm5lc3NX
YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIGluaXQoKQoreworICAgIGRlc2NyaXB0aW9uKCdW
ZXJpZnkgbnBvdCB2aWRlbycpOworCisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJleGFtcGxlIik7CisgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7
CisgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworCisgICAgZ2wu
Y2xlYXJDb2xvcigwLDAsMCwxKTsKKyAgICBnbC5jbGVhckRlcHRoKDEpOworCisgICAgdGV4dHVy
ZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CisKKyAgICB2YXIg
dmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlkIik7CisgICAgdmlkZW8uYWRkRXZl
bnRMaXN0ZW5lcigKKyAgICAgICAgInBsYXlpbmciLCBmdW5jdGlvbigpIHsgcnVuVGVzdCh2aWRl
byk7IH0sIHRydWUpOworICAgIHZpZGVvLmxvb3AgPSB0cnVlOworICAgIHZpZGVvLnBsYXkoKTsK
K30KKworLy8gVGhlc2UgdHdvIGRlY2xhcmF0aW9ucyBuZWVkIHRvIGJlIGdsb2JhbCBmb3IgInNo
b3VsZEJlIiB0byBzZWUgdGhlbQordmFyIGJ1ZiA9IG51bGw7Cit2YXIgaWR4ID0gMDsKK3ZhciBw
aXhlbCA9IFswLCAwLCAwXTsKK3ZhciBjb3JyZWN0Q29sb3IgPSBudWxsOwordmFyIHRleHR1cmU7
CisKK2Z1bmN0aW9uIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIHVzZVRleFN1YkltYWdl
MkQsIGZsaXBZLCB0b3BDb2xvciwgYm90dG9tQ29sb3IsIGJhZE1pbkZpbHRlciwgYmFkQ2xhbXAs
IGdlbk1pcHMpCit7CisgICAgZGVidWcoJ1Rlc3RpbmcgJyArICh1c2VUZXhTdWJJbWFnZTJEID8g
J3RleFN1YkltYWdlMkQnIDogJ3RleEltYWdlMkQnKSArCisgICAgICAgICAgJyB3aXRoIGZsaXBZ
PScgKyBmbGlwWSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRI
X0JVRkZFUl9CSVQpOworICAgIC8vIERpc2FibGUgYW55IHdyaXRlcyB0byB0aGUgYWxwaGEgY2hh
bm5lbAorICAgIGdsLmNvbG9yTWFzaygxLCAxLCAxLCAwKTsKKyAgICBpZiAoIXRleHR1cmUpIHsK
KyAgICAgICAgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICB9CisgICAgLy8gQmlu
ZCB0aGUgdGV4dHVyZSB0byB0ZXh0dXJlIHVuaXQgMAorICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRF
WFRVUkVfMkQsIHRleHR1cmUpOworICAgIC8vIFNldCB1cCBwaXhlbCBzdG9yZSBwYXJhbWV0ZXJz
CisgICAgZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX0ZMSVBfWV9XRUJHTCwgZmxpcFkpOworICAg
IC8vIFVwbG9hZCB0aGUgdmlkZW9FbGVtZW50IGludG8gdGhlIHRleHR1cmUKKyAgICBkZWJ1Zygi
c2l6ZTogIiArIHZpZGVvRWxlbWVudC52aWRlb1dpZHRoICsgIngiICsgdmlkZW9FbGVtZW50LnZp
ZGVvSGVpZ2h0KTsKKyAgICBpZiAodXNlVGV4U3ViSW1hZ2UyRCkgeworICAgICAgICAvLyBJbml0
aWFsaXplIHRoZSB0ZXh0dXJlIHRvIGJsYWNrIGZpcnN0CisgICAgICAgIGRlYnVnKCJ1c2UgdGV4
U3ViSW1hZ2UyRCIpOworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGds
LlJHQkEsCisgICAgICAgICAgICAgICAgICAgICAgdmlkZW9FbGVtZW50LnZpZGVvV2lkdGgsIHZp
ZGVvRWxlbWVudC52aWRlb0hlaWdodCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB2aWRlb0VsZW1l
bnQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRlYnVnKCJ1c2UgdGV4SW1hZ2UyRCIpOworICAg
ICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIHZpZGVvRWxlbWVudCk7CisgICAgfQorCisgICAgLy8gU2V0IHVwIHRl
eHR1cmUgcGFyYW1ldGVycworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wu
VEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGlmIChiYWRNaW5GaWx0ZXIpIHsK
KyAgICAgICAgZGVidWcoImJhZCBtaW4gZmlsdGVyIik7CisgICAgICAgIGdsLnRleFBhcmFtZXRl
cmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVJfTUlQTUFQ
X05FQVJFU1QpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRlYnVnKCJnb29kIG1pbiBmaWx0ZXIi
KTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01J
Tl9GSUxURVIsIGdsLkxJTkVBUik7CisgICAgfQorICAgIGlmIChiYWRDbGFtcCkgeworICAgICAg
ICBkZWJ1ZygiYmFkIGNsYW1wIik7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLlJFUEVBVCk7CisgICAgICAgIGdsLnRleFBhcmFt
ZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLlJFUEVBVCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgZGVidWcoImdvb2QgY2xhbXAiKTsKKyAgICAgICAgZ2wudGV4UGFy
YW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURH
RSk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9X
UkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIH0KKyAgICBpZiAoZ2VuTWlwcykgeworICAg
ICAgICBkZWJ1ZygiZ2VuZXJhdGUgbWlwcyIpOworICAgICAgICBnbC5nZW5lcmF0ZU1pcG1hcChn
bC5URVhUVVJFXzJEKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgInNob3VsZCBiZSBJTlZBTElEX09QRVJBVElPTiIpOworICAgIH0KKworICAgIGds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfMkQsIHRleHR1cmUpOworCisvLyAgICB2YXIgYyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImNhbnZhcyIpOworLy8gICAgYy53aWR0aCA9IDE2OworLy8gICAgYy5oZWlnaHQgPSAx
NjsKKy8vICAgIGMuc3R5bGUuYm9yZGVyID0gIjFweCBzb2xpZCBibGFjayI7CisvLyAgICB2YXIg
Y3R4ID0gYy5nZXRDb250ZXh0KCIyZCIpOworLy8gICAgY3R4LmRyYXdJbWFnZSh2aWRlb0VsZW1l
bnQsIDAsIDAsIDE2LCAxNik7CisvLyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGMpOwor
CisgICAgLy8gUG9pbnQgdGhlIHVuaWZvcm0gc2FtcGxlciB0byB0ZXh0dXJlIHVuaXQgMAorICAg
IGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCAwKTsKKyAgICAvLyBEcmF3IHRoZSB0cmlhbmdsZXMK
KyAgICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAwLCAwLCAyNTVdKTsKKyAgICAvLyBDaGVjayBhIGZl
dyBwaXhlbHMgbmVhciB0aGUgdG9wIGFuZCBib3R0b20gYW5kIG1ha2Ugc3VyZSB0aGV5IGhhdmUK
KyAgICAvLyB0aGUgcmlnaHQgY29sb3IuCisgICAgZGVidWcoIkNoZWNraW5nIGxvd2VyIGxlZnQg
Y29ybmVyIik7CisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgNCwgNCwgMiwgMiwgYm90dG9t
Q29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAic2hvdWxkQmUgIiArIGJvdHRvbUNvbG9y
KTsKKyAgICBkZWJ1ZygiQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIiKTsKKyAgICB3dHUuY2hl
Y2tDYW52YXNSZWN0KGdsLCA0LCBnbC5jYW52YXMuaGVpZ2h0IC0gOCwgMiwgMiwgdG9wQ29sb3Is
CisgICAgICAgICAgICAgICAgICAgICAgICAic2hvdWxkQmUgIiArIHRvcENvbG9yKTsKKyAgICBk
ZWJ1ZygiIik7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QodmlkZW9FbGVtZW50KQoreworICAgIHZh
ciByZWQgPSBbMjU1LCAwLCAwXTsKKyAgICB2YXIgZ3JlZW4gPSBbMCwgMjU1LCAwXTsKKyAgICB2
YXIgYmxhY2sgPSBbMCwgMCwgMF07CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwg
ZmFsc2UsIHRydWUsIGJsYWNrLCBibGFjaywgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7CisgICAgcnVuT25l
SXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgZmFsc2UsIHRydWUsIGJsYWNrLCBibGFjaywgdHJ1ZSwg
ZmFsc2UsIGZhbHNlKTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxzZSwg
dHJ1ZSwgYmxhY2ssIGJsYWNrLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOworICAgIHJ1bk9uZUl0ZXJh
dGlvbih2aWRlb0VsZW1lbnQsIGZhbHNlLCB0cnVlLCBibGFjaywgYmxhY2ssIHRydWUsIHRydWUs
IGZhbHNlKTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxzZSwgdHJ1ZSwg
Z3JlZW4sIHJlZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZp
ZGVvRWxlbWVudCwgZmFsc2UsIGZhbHNlLCByZWQsIGdyZWVuLCBmYWxzZSwgZmFsc2UsIGZhbHNl
KTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCB0cnVlLCB0cnVlLCBncmVlbiwg
cmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVt
ZW50LCB0cnVlLCBmYWxzZSwgcmVkLCBncmVlbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisKKyAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIGVycm9ycyIp
OworICAgIHZpZGVvRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIiwgcnVuVGVz
dCk7CisgICAgZmluaXNoVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9ImluaXQoKSI+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNjQiIGhlaWdodD0iNDgi
PjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8dmlkZW8gaWQ9InZpZCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorICA8c291
cmNlIHNyYz0iLi4vcmVzb3VyY2VzL25wb3QtdmlkZW8ubXA0IiAgdHlwZT0ndmlkZW8vbXA0OyBj
b2RlY3M9ImF2YzEuNDJFMDFFIicgLz4KKyAgPHNvdXJjZSBzcmM9Ii4uL3Jlc291cmNlcy9ucG90
LXZpZGVvLndlYm12cDgud2VibSIgdHlwZT0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDgiJyAvPgor
ICA8c291cmNlIHNyYz0iLi4vcmVzb3VyY2VzL25wb3QtdmlkZW8udGhlb3JhLm9ndiIgIHR5cGU9
J3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEiJyAvPgorPC92aWRlbz4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDNkYTlhNjNkM2UxNzgxMzRl
MjA1OTcxNTVhY2M3OThkODIzZTU2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtc2l6ZS1saW1pdC5odG1sCkBAIC0wLDAgKzEsMTU5IEBACis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB0ZXh0dXJlIHNpemUgbGltaXQgY29u
Zm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlk
PSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVp
Z2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlv
bigiQ2hlY2tzIHRoYXQgdmFyaW91cyBzaXplcyBsaW1pdHMgb2YgdGV4dHVyZXMgIikKK3ZhciBj
YW52YXM7CisKK2Z1bmN0aW9uIG51bUxldmVsc0Zyb21TaXplKHNpemUpIHsKKyAgdmFyIGxldmVs
cyA9IDA7CisgIHdoaWxlICgoc2l6ZSA+PiBsZXZlbHMpID4gMCkgeworICAgICsrbGV2ZWxzOwor
ICB9CisgIHJldHVybiBsZXZlbHM7Cit9CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3Zh
ciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKK3ZhciB0ZXN0cyA9IFsKKyAg
eyBmb3JtYXQ6IGdsLkFMUEhBLCAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwgICAg
ICAgICAgc2l6ZTogMSwgZGF0YVR5cGU6IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5M
VU1JTkFOQ0UsICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsICAgICAgICAgIHNpemU6IDEs
IGRhdGFUeXBlOiBVaW50OEFycmF5ICB9LAorICB7IGZvcm1hdDogZ2wuTFVNSU5BTkNFX0FMUEhB
LCB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLCAgICAgICAgICBzaXplOiAyLCBkYXRhVHlwZTogVWlu
dDhBcnJheSAgfSwKKyAgeyBmb3JtYXQ6IGdsLlJHQiwgICAgICAgICAgICAgdHlwZTogZ2wuVU5T
SUdORURfQllURSwgICAgICAgICAgc2l6ZTogMywgZGF0YVR5cGU6IFVpbnQ4QXJyYXkgIH0sCisg
IHsgZm9ybWF0OiBnbC5SR0IsICAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzVf
Nl81LCAgIHNpemU6IDEsIGRhdGFUeXBlOiBVaW50MTZBcnJheSB9LAorICB7IGZvcm1hdDogZ2wu
UkdCQSwgICAgICAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLCAgICAgICAgICBzaXplOiA0
LCBkYXRhVHlwZTogVWludDhBcnJheSAgfSwKKyAgeyBmb3JtYXQ6IGdsLlJHQkEsICAgICAgICAg
ICAgdHlwZTogZ2wuVU5TSUdORURfU0hPUlRfNF80XzRfNCwgc2l6ZTogMSwgZGF0YVR5cGU6IFVp
bnQxNkFycmF5IH0sCisgIHsgZm9ybWF0OiBnbC5SR0JBLCAgICAgICAgICAgIHR5cGU6IGdsLlVO
U0lHTkVEX1NIT1JUXzVfNV81XzEsIHNpemU6IDEsIGRhdGFUeXBlOiBVaW50MTZBcnJheSB9Citd
OworCisvLyBOb3RlOiBXZSBleHByZXNzbHkgb25seSB1c2UgMiB0ZXh0dXJlcyBiZWNhdXNlIGZp
cnN0IGEgdGV4dHVyZSB3aWxsIGJlIGRlZmluZWQKKy8vIGFzIHVzaW5nIGFsbCBtaXBzIG9mIDEg
Zm9ybWF0LCB0aGVuIGZvciBhIG1vbWVudCBpdCB3aWxsIGhhdmUgbWl4ZWQgZm9ybWF0cyB3aGlj
aAorLy8gbWF5IHVuY292ZXIgYnVncy4KK3ZhciB0YXJnZXRzID0gWworICB7IHRhcmdldDogZ2wu
VEVYVFVSRV8yRCwKKyAgICBtYXhTaXplOiBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1RFWFRVUkVf
U0laRSksCisgICAgbWF4TGV2ZWw6IDEwMDAsCisgICAgdGV4OiBnbC5jcmVhdGVUZXh0dXJlKCks
CisgICAgdGFyZ2V0czogW2dsLlRFWFRVUkVfMkRdCisgIH0sCisgIHsgdGFyZ2V0OiBnbC5URVhU
VVJFX0NVQkVfTUFQLAorICAgIG1heFNpemU6IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfQ1VCRV9N
QVBfVEVYVFVSRV9TSVpFKSwKKyAgICBtYXhMZXZlbDogNSwKKyAgICB0ZXg6IGdsLmNyZWF0ZVRl
eHR1cmUoKSwKKyAgICB0YXJnZXRzOiBbCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lU
SVZFX1gsCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgICBnbC5U
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05F
R0FUSVZFX1ksCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgICBn
bC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKKyAgICBdCisgIH0KK107CisKK2dsLnBpeGVs
U3RvcmVpKGdsLlVOUEFDS19BTElHTk1FTlQsIDEpOworCit2YXIgdHJnID0gMDsKK3ZhciB0dCA9
IDA7CitydW5OZXh0VGVzdCgpOworCitmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsKKyAgdmFyIHQg
PSB0YXJnZXRzW3RyZ107CisKKyAgaWYgKHR0ID09IDApIHsKKyAgICB2YXIgdGV4ID0gdC50ZXg7
CisgICAgZ2wuYmluZFRleHR1cmUodC50YXJnZXQsIHRleCk7CisKKyAgICBkZWJ1ZygiIik7Cisg
ICAgZGVidWcoIm1heCBzaXplIGZvciAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0LnRhcmdl
dCkgKyAiOiAiICsgdC5tYXhTaXplKTsKKyAgICB2YXIgbnVtTGV2ZWxzID0gbnVtTGV2ZWxzRnJv
bVNpemUodC5tYXhTaXplKTsKKyAgICBkZWJ1ZygibnVtIGxldmVscyAiICsgbnVtTGV2ZWxzKTsK
KyAgfQorCisgIHZhciB0ZXN0ID0gdGVzdHNbdHRdOworICB0ZXN0Rm9ybWF0VHlwZSh0LCB0ZXN0
KTsKKyAgKyt0dDsKKyAgaWYgKHR0ID09IHRlc3RzLmxlbmd0aCkgeworICAgIHR0ID0gMDsKKyAg
ICArK3RyZzsKKyAgICBpZiAodHJnID09IHRhcmdldHMubGVuZ3RoKSB7CisgICAgICBmaW5pc2hU
ZXN0KCk7CisgICAgICByZXR1cm47CisgICAgfQorICB9CisgIHd0dS53YWl0Rm9yQ29tcG9zaXRl
KGdsLCBydW5OZXh0VGVzdCkKK30KKworZnVuY3Rpb24gdGVzdEZvcm1hdFR5cGUodCwgdGVzdCkg
eworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJ0ZXN0aW5nOiAiICsgd3R1LmdsRW51bVRvU3RyaW5n
KGdsLCB0ZXN0LmZvcm1hdCkgKyAiLCAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LnR5
cGUpKTsKKyAgZm9yICh2YXIgaiA9IDA7IGogPCB0LnRhcmdldHMubGVuZ3RoOyArK2opIHsKKyAg
ICB2YXIgdGFyZ2V0ID0gdC50YXJnZXRzW2pdOworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1Zyh3
dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRhcmdldCkpOworICAgIHZhciBudW1MZXZlbHMgPSBudW1M
ZXZlbHNGcm9tU2l6ZSh0Lm1heFNpemUpOworICAgIHZhciBudW1UZXN0TGV2ZWxzID0gTWF0aC5t
aW4obnVtTGV2ZWxzLCB0Lm1heExldmVsKTsKKyAgICBmb3IgKHZhciBsID0gMDsgbCA8IG51bVRl
c3RMZXZlbHM7ICsrbCkgeworICAgICAgLy8gRG8gYm90dG9tIGxldmVscyBmaXJzdDsKKyAgICAg
IHZhciBzaXplID0gMSA8PCBsOworICAgICAgdmFyIGxldmVsID0gbnVtTGV2ZWxzIC0gbCAtIDE7
CisgICAgICB2YXIgb3RoZXJEaW1lbnNpb24gPSB0LnRhcmdldCA9PSBnbC5URVhUVVJFXzJEID8g
MSA6IHNpemU7CisgICAgICB2YXIgYmFkU2l6ZSA9IHNpemUgKiAyOworICAgICAgdmFyIGJhZE90
aGVyRGltZW5zaW9uID0gdC50YXJnZXQgPT0gZ2wuVEVYVFVSRV8yRCA/IDEgOiBiYWRTaXplOwor
ICAgICAgdmFyIHBpeGVscyA9IG5ldyB0ZXN0LmRhdGFUeXBlKGJhZFNpemUgKiBiYWRPdGhlckRp
bWVuc2lvbiAqIHRlc3Quc2l6ZSk7CisgICAgICBnbC50ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWws
IHRlc3QuZm9ybWF0LCBzaXplLCBvdGhlckRpbWVuc2lvbiwgMCwgdGVzdC5mb3JtYXQsIHRlc3Qu
dHlwZSwgcGl4ZWxzKTsKKyAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0
aGVyZSBzaG91bGQgYmUgbm8gZXJyb3IgZm9yIGxldmVsOiAiICsgbGV2ZWwgKyAiICIgKyBzaXpl
ICsgIngiICsgb3RoZXJEaW1lbnNpb24pOworICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXQsIGxl
dmVsLCB0ZXN0LmZvcm1hdCwgb3RoZXJEaW1lbnNpb24sIHNpemUsIDAsIHRlc3QuZm9ybWF0LCB0
ZXN0LnR5cGUsIHBpeGVscyk7CisgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
LCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9yIGZvciBsZXZlbDogIiArIGxldmVsICsgIiAiICsg
b3RoZXJEaW1lbnNpb24gKyAieCIgKyBzaXplKTsKKyAgICAgIGdsLnRleEltYWdlMkQodGFyZ2V0
LCBsZXZlbCwgdGVzdC5mb3JtYXQsIGJhZFNpemUsIGJhZE90aGVyRGltZW5zaW9uLCAwLCB0ZXN0
LmZvcm1hdCwgdGVzdC50eXBlLCBwaXhlbHMpOworICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5JTlZBTElEX1ZBTFVFLCAic2hvdWxkIGdlbmVyYXRlIElOVkFMSURfVkFMVUUgZm9yIGxldmVs
OiAiICsgbGV2ZWwgKyAiICIgKyBiYWRTaXplICsgIngiICsgYmFkT3RoZXJEaW1lbnNpb24pOwor
ICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB0ZXN0LmZvcm1hdCwgYmFkT3RoZXJE
aW1lbnNpb24sIGJhZFNpemUsIDAsIHRlc3QuZm9ybWF0LCB0ZXN0LnR5cGUsIHBpeGVscyk7Cisg
ICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJzaG91bGQgZ2VuZXJh
dGUgSU5WQUxJRF9WQUxVRSBmb3IgbGV2ZWw6ICIgKyBsZXZlbCArICIgIiArIGJhZE90aGVyRGlt
ZW5zaW9uICsgIngiICsgYmFkU2l6ZSk7CisgICAgfQorICB9Cit9CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2E4NzVkOGI5N2MzMWM0ZWU5NTFmMjRjMjZkYTNkMWQxMmVkNWU1ZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sCkBAIC0wLDAgKzEs
MjM4IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3Jv
dXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxz
IiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5
LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxs
IGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdo
b20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFs
bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisq
KiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J
VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD
VElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9V
VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBP
UiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCB0ZXh0dXJlIHNpemUgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHN0
eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZz
aGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlv
bjsKK2F0dHJpYnV0ZSB2ZWMzIHRleENvb3JkMDsKK3ZhcnlpbmcgdmVjMyB0ZXhDb29yZDsKK3Zv
aWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgdGV4Q29vcmQg
PSB0ZXhDb29yZDA7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0i
eC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0g
c2FtcGxlckN1YmUgdGV4OwordmFyeWluZyB2ZWMzIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sK
KyAgICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlQ3ViZSh0ZXgsIG5vcm1hbGl6ZSh0ZXhDb29yZCkp
OworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIkNo
ZWNrcyB0aGF0IHZhcmlvdXMgc2l6ZXMgb2YgdGV4dHVyZXMgcmVuZGVyIikKK3ZhciBjYW52YXM7
CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoImV4YW1wbGUiKTsKK3ZhciBwcm9ncmFtMkQgPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wp
OwordmFyIHByb2dyYW1DdWJlTWFwID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICBnbCwgWyd2c2hh
ZGVyJywgJ2ZzaGFkZXInXSwgWyd2UG9zaXRpb24nLCAndGV4Q29vcmQwJ10sIFswLCAxXSk7Citn
bC5kaXNhYmxlKGdsLkRFUFRIX1RFU1QpOworZ2wuZGlzYWJsZShnbC5CTEVORCk7Cit2YXIgdGV4
ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOwordmFyIG1heDJEU2l6ZSA9IGdsLmdldFBhcmFtZXRlcihn
bC5NQVhfVEVYVFVSRV9TSVpFKTsKK3ZhciBtYXhDdWJlTWFwU2l6ZSA9IGdsLmdldFBhcmFtZXRl
cihnbC5NQVhfQ1VCRV9NQVBfVEVYVFVSRV9TSVpFKTsKK2RlYnVnKCJNQVhfVEVYVFVSRV9TSVpF
OiIgKyBtYXgyRFNpemUpOworZGVidWcoIk1BWF9DVUJFX01BUF9URVhUVVJFX1NJWkU6IiArIG1h
eEN1YmVNYXBTaXplKTsKKy8vIEFzc3VtaW5nIDIwNDh4MjA0OHhSR0JBICgyMm1lZyB3aXRoIG1p
cHMpIHdpbGwgcnVuIG9uIGFsbCBXZWJHTCBwbGF0Zm9ybXMKK3ZhciBtYXgyRFNxdWFyZVNpemUg
PSBNYXRoLm1pbihtYXgyRFNpemUsIDIwNDgpOworLy8gSSdkIHByZWZlciB0aGlzIHRvIGJlIDIw
NDggYnV0IHRoYXQncyAxNm1lZyB4IDYgZmFjZXMgb3IgMTI4bWVnICh3aXRoIG1pcHMpCisvLyAx
MDI0IGlzIDMzLjUgbWVnICh3aXRoIG1pcHMpCit2YXIgbWF4Q3ViZU1hcFNpemUgPSBNYXRoLm1p
bihtYXhDdWJlTWFwU2l6ZSwgMTAyNCk7CisKK3ZhciBjb2xvcnMgPSBbCisgIHsgbmFtZTogImdy
ZWVuIiwgcmdiYTogWzAsIDAsIDI1NSwgMjU1XSB9LAorICB7IG5hbWU6ICJyZWQiLCByZ2JhOiBb
MjU1LCAwLCAwLCAyNTVdIH0sCisgIHsgbmFtZTogImJsdWUiLCByZ2JhOiBbMCwgMjU1LCAwLCAy
NTVdIH0sCisgIHsgbmFtZTogInllbGxvdyIsIHJnYmE6IFsyNTUsIDI1NSwgMCwgMjU1XSB9LAor
ICB7IG5hbWU6ICJtYWdlbnRhIiwgcmdiYTogWzI1NSwgMCwgMjU1LCAyNTVdIH0sCisgIHsgbmFt
ZTogImN5YW4iLCByZ2JhOiBbMCwgMjU1LCAyNTUsIDI1NV0gfQorXTsKKwordmFyIGNvdW50ID0g
MDsKK3ZhciBwb3dlciA9IDA7CitydW5UZXN0KCk7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7Cisg
IGZ1bmN0aW9uIGRvVGVzdCgpIHsKKyAgICB2YXIgc2l6ZSA9IE1hdGgucG93KDIsIHBvd2VyKTsK
KyAgICBpZiAoc2l6ZSA+IG1heDJEU2l6ZSkgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0yRCk7CisgICAgaWYgKCFjaGVja1RleHR1cmUoc2l6
ZSwgMSwgZmFsc2UpKSByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFjaGVja1RleHR1cmUoMSwgc2l6
ZSwgZmFsc2UpKSByZXR1cm4gZmFsc2U7CisgICAgaWYgKHNpemUgPD0gbWF4MkRTcXVhcmVTaXpl
KSB7CisgICAgICBpZiAoIWNoZWNrVGV4dHVyZShzaXplLCBzaXplLCBmYWxzZSkpIHsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgfQorICAgIH0KKyAgICBpZiAoc2l6ZSA8PSBtYXhDdWJl
TWFwU2l6ZSkgeworICAgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtQ3ViZU1hcCk7CisgICAgICBp
ZiAoIWNoZWNrVGV4dHVyZShzaXplLCBzaXplLCB0cnVlKSkgeworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICB9CisgICAgfQorICAgIHJldHVybiB0cnVlOworICB9CisKKyAgaWYgKGRvVGVz
dCgpKSB7CisgICAgKytwb3dlcjsKKyAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDEwMCk7CisgIH0g
ZWxzZSB7CisgICAgZmluaXNoVGVzdCgpOworICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrVGV4dHVy
ZSh3aWR0aCwgaGVpZ2h0LCBjdWJlTWFwKSB7CisgIGRlYnVnKCIiKTsKKyAgY291bnQgPSAoY291
bnQgKyAxKSAlIGNvbG9ycy5sZW5ndGg7CisgIHZhciBjb2xvciA9IGNvbG9yc1tjb3VudF07Cisg
IHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIHZhciB0YXJnZXQgPSBjdWJlTWFwID8g
Z2wuVEVYVFVSRV9DVUJFX01BUCA6IGdsLlRFWFRVUkVfMkQ7CisgIHZhciB0eXBlID0gY3ViZU1h
cCA/ICJjdWJlIG1hcCIgOiAiMkQgdGV4dHVyZSI7CisgIGRlYnVnKCJjaGVjayAiICsgd2lkdGgg
KyAiLCAiICsgaGVpZ2h0ICsgIiAiICsgdHlwZSk7CisgIGdsLmJpbmRUZXh0dXJlKHRhcmdldCwg
dGV4KTsKKyAgZ2wudGV4UGFyYW1ldGVyaSh0YXJnZXQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwg
Z2wuTElORUFSKTsKKyAgZ2wudGV4UGFyYW1ldGVyaSh0YXJnZXQsIGdsLlRFWFRVUkVfV1JBUF9T
LCBnbC5DTEFNUF9UT19FREdFKTsKKyAgZ2wudGV4UGFyYW1ldGVyaSh0YXJnZXQsIGdsLlRFWFRV
UkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgZmlsbExldmVsKDAsIHdpZHRoLCBoZWln
aHQsIGNvbG9yLnJnYmEsIGN1YmVNYXApOworICB2YXIgZXJyID0gZ2wuZ2V0RXJyb3IoKTsKKyAg
aWYgKGVyciA9PSBnbC5PVVRfT0ZfTUVNT1JZKSB7CisgICAgZGVidWcoIm91dCBvZiBtZW1vcnki
KTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKyAgaWYgKGVyciAhPSBnbC5OT19FUlJPUikgewor
ICAgIHRlc3RGYWlsZWQoInVuZXhwZWN0ZWQgZ2wgZXJyb3I6ICIgKyB3dHUuZ2xFbnVtVG9TdHJp
bmcoZ2wsIGVycikpOworICB9CisgIHd0dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZh
cyhnbCwgY29sb3IucmdiYSwKKyAgICAgIHR5cGUgKyAiIG9mIHNpemUgIiArIHdpZHRoICsgIngi
ICsgaGVpZ2h0ICsgIiB3aXRoIG5vIG1pcHMgc2hvdWxkIGRyYXcgd2l0aCAiICsgY29sb3IubmFt
ZSk7CisgIGNvdW50ID0gKGNvdW50ICsgMSkgJSBjb2xvcnMubGVuZ3RoOworICBjb2xvciA9IGNv
bG9yc1tjb3VudF07CisgIGZpbGxMZXZlbCgwLCB3aWR0aCwgaGVpZ2h0LCBjb2xvci5yZ2JhLCBj
dWJlTWFwKTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAodGFyZ2V0KTsKKyAgdmFyIGVyciA9IGdsLmdl
dEVycm9yKCk7CisgIGlmIChlcnIgPT0gZ2wuT1VUX09GX01FTU9SWSkgeworICAgIGRlYnVnKCJv
dXQgb2YgbWVtb3J5Iik7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisgIGlmIChlcnIgIT0gZ2wu
Tk9fRVJST1IpIHsKKyAgICB0ZXN0RmFpbGVkKCJ1bmV4cGVjdGVkIGdsIGVycm9yOiAiICsgd3R1
LmdsRW51bVRvU3RyaW5nKGdsLCBlcnIpKTsKKyAgfQorICBnbC50ZXhQYXJhbWV0ZXJpKHRhcmdl
dCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVJfTUlQTUFQX05FQVJFU1QpOworICB3
dHUuZHJhd1F1YWQoZ2wpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yLnJnYmEsCisgICAg
ICB0eXBlICsgIiBvZiBzaXplICIgKyB3aWR0aCArICJ4IiArIGhlaWdodCArICIgd2l0aCBtaXBz
IHNob3VsZCBkcmF3IHdpdGggIiArIGNvbG9yLm5hbWUpOworCisgIGNvdW50ID0gKGNvdW50ICsg
MSkgJSBjb2xvcnMubGVuZ3RoOworICBjb2xvciA9IGNvbG9yc1tjb3VudF07CisgIGZpbGxMZXZl
bCgwLCB3aWR0aCwgaGVpZ2h0LCBjb2xvci5yZ2JhLCBjdWJlTWFwLCB0cnVlKTsKKyAgZ2wuZ2Vu
ZXJhdGVNaXBtYXAodGFyZ2V0KTsKKworICB3dHUuZHJhd1F1YWQoZ2wpOworICB3dHUuY2hlY2tD
YW52YXMoZ2wsIGNvbG9yLnJnYmEsCisgICAgICB0eXBlICsgIiBvZiBzaXplICIgKyB3aWR0aCAr
ICJ4IiArIGhlaWdodCArICIgd2l0aCBtaXBzIHNob3VsZCBkcmF3IHdpdGggIiArIGNvbG9yLm5h
bWUpOworCisgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwgIlNob3VsZCBiZSBubyBlcnJvcnMuIik7CisgIHJldHVybiB0cnVlOworfQor
CitmdW5jdGlvbiBmaWxsTGV2ZWwobGV2ZWwsIHdpZHRoLCBoZWlnaHQsIGNvbG9yLCBvcHRfY3Vi
ZW1hcCwgb3B0X3N1YlRleCkgeworICB2YXIgbnVtUGl4ZWxzID0gd2lkdGggKiBoZWlnaHQ7Cisg
IHZhciBwaXhlbHMgPSBudWxsOworICB2YXIgbGFyZ2VEaW0gPSBNYXRoLm1heCh3aWR0aCwgaGVp
Z2h0KTsKKyAgdmFyIHNtYWxsRGltID0gTWF0aC5taW4od2lkdGgsIGhlaWdodCk7CisKKyAgdmFy
IHBpeGVsUm93ID0gbmV3IFVpbnQ4QXJyYXkobGFyZ2VEaW0gKiA0KTsKKyAgZm9yICh2YXIgamog
PSAwOyBqaiA8IGxhcmdlRGltOyArK2pqKSB7CisgICAgdmFyIG9mZiA9IGpqICogNDsKKyAgICBw
aXhlbFJvd1tvZmYgKyAwXSA9IGNvbG9yWzBdOworICAgIHBpeGVsUm93W29mZiArIDFdID0gY29s
b3JbMV07CisgICAgcGl4ZWxSb3dbb2ZmICsgMl0gPSBjb2xvclsyXTsKKyAgICBwaXhlbFJvd1tv
ZmYgKyAzXSA9IGNvbG9yWzNdOworICB9CisKKyAgaWYgKGxhcmdlRGltID09IG51bVBpeGVscykg
eworICAgIHBpeGVscyA9IHBpeGVsUm93OworICB9IGVsc2UgeworICAgIHZhciBwaXhlbHMgPSBu
ZXcgVWludDhBcnJheShudW1QaXhlbHMgKiA0KTsKKyAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwg
c21hbGxEaW07ICsramopIHsKKyAgICAgIHZhciBvZmYgPSBqaiAqIGxhcmdlRGltICogNDsKKyAg
ICAgIHBpeGVscy5zZXQocGl4ZWxSb3csIG9mZik7CisgICAgfQorICB9CisgCisgIHZhciB0YXJn
ZXRzID0gb3B0X2N1YmVtYXAgPyBbCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9Y
LAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NV
QkVfTUFQX1BPU0lUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAor
ICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgICBnbC5URVhUVVJFX0NVQkVf
TUFQX05FR0FUSVZFX1pdIDoKKyAgICBbZ2wuVEVYVFVSRV8yRF07CisKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IHRhcmdldHMubGVuZ3RoOyArK2lpKSB7CisgICAgLy8gZGVidWcod3R1LmdsRW51
bVRvU3RyaW5nKGdsLCB0YXJnZXRzW2lpXSkpOworICAgIHZhciBpbmRleCA9IChpaSArIHBvd2Vy
KSAlIHRhcmdldHMubGVuZ3RoOworICAgIHZhciB0YXJnZXQgPSB0YXJnZXRzW2luZGV4XTsKKyAg
ICBpZiAob3B0X3N1YlRleCkgeworICAgICAgZ2wudGV4U3ViSW1hZ2UyRCgKKyAgICAgICAgICB0
YXJnZXQsIGxldmVsLCAwLCAwLCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLAorICAgICAgICAgIHBpeGVscyk7CisgICAgfSBlbHNlIHsKKyAgICAgIGdsLnRleEltYWdl
MkQoCisgICAgICAgICAgdGFyZ2V0LCBsZXZlbCwgZ2wuUkdCQSwgd2lkdGgsIGhlaWdodCwgMCwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBwaXhlbHMpOworICAgIH0KKyAg
fQorfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODhhMTgzOTM4
ZjUzNGNjMmJkOGUyMzA5MjBiY2I5YWU4Mjc1NjYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9y
bXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbApAQCAtMCwwICsxLDUwMiBAQAorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdW5pZm9ybSBhcnJheSBD
b25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlk
PSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2
c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgYXR0cmlidXRlIHZlYzQgYV9w
b3NpdGlvbjsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBh
X3Bvc2l0aW9uOworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBl
PSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAg
ICB1bmlmb3JtICQodHlwZSkgY29sb3JbM107CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAg
ICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoY29sb3JbMF0kKGVsZW0pLCBjb2xvclsxXSQoZWxlbSks
IGNvbG9yWzJdJChlbGVtKSwgMSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hh
ZGVyLW1heCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7CisgICAgdW5pZm9ybSB2ZWM0IGNvbG9yYVskKG1heFVuaWZvcm1WZWN0b3JzKV07
CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoY29s
b3JhWyQodXNlZFVuaWZvcm1WZWN0b3IpXSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSJmc2hhZGVyLW1heC1hYi1hYiIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9ybSB2ZWM0ICQoZGVjbDEpOworICAgIHVu
aWZvcm0gdmVjNCAkKGRlY2wyKTsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xf
RnJhZ0NvbG9yID0gdmVjNCgkKHVzYWdlMSkgKyAkKHVzYWdlMikpOworICAgIH0KKzwvc2NyaXB0
PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1ZygiIik7Cit2
YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJl
eGFtcGxlIik7CisKK3ZhciB2U3JjID0gd3R1LmdldFNjcmlwdCgidnNoYWRlciIpOwordmFyIGZU
ZW1wbGF0ZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXIiKTsKKwordmFyIHR5cGVJbmZvcyA9IFsK
KyAgeyB0eXBlOiAnZmxvYXQnLAorICAgIGpzVHlwZU9mOiAnbnVtYmVyJywKKyAgICBzZXR0ZXI6
ICd1bmlmb3JtMWZ2JywKKyAgICBlbGVtOiAnJywKKyAgICBudW1TcmNWYWx1ZXM6IDMsCisgICAg
aW52YWxpZFNldDogZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlmb3JtMmZ2KGxvYywgWzEs
IDJdKTsKKyAgICB9LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKGluZGV4LCBzcmNW
YWx1ZXMpIHsKKyAgICAgIHJldHVybiBzcmNWYWx1ZXNbaW5kZXhdLnRvU3RyaW5nKCk7CisgICAg
fSwKKyAgICByZXR1cm5WYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0
dXJuIHZhbHVlID09PSBudWxsID8gJ251bGwnIDogdmFsdWUudG9TdHJpbmcoKTsKKyAgICB9LAor
ICAgIGNoZWNrVHlwZTogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVybiB0eXBlb2YgdmFs
dWUgPT09ICdudW1iZXInOworICAgIH0sCisgICAgY2hlY2tWYWx1ZTogZnVuY3Rpb24odHlwZUlu
Zm8sIGluZGV4LCB2YWx1ZSkgeworICAgICAgcmV0dXJuIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRl
eF0gPT0gdmFsdWU7CisgICAgfSwKKyAgICBzcmNWYWx1ZXM6IFsxNiwgMTUsIDE0XSwKKyAgICBz
cmNWYWx1ZXNMZXNzOiBbXSwKKyAgICBzcmNWYWx1ZXNMZXNzTXVsdGlwbGU6IFsxNl0sCisgICAg
c3JjVmFsdWVzTW9yZU11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTNdLAorICAgIHNyY1ZhbHVlc05v
bk11bHRpcGxlOiBudWxsLAorICB9LAorICB7IHR5cGU6ICd2ZWMyJywKKyAgICBqc1R5cGVPZjog
J0Zsb2F0MzJBcnJheScsCisgICAgc2V0dGVyOiAndW5pZm9ybTJmdicsCisgICAgZWxlbTogJ1sx
XScsCisgICAgbnVtU3JjVmFsdWVzOiAzLAorICAgIGludmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykg
eworICAgICAgZ2wudW5pZm9ybTFmdihsb2MsIFsyXSk7CisgICAgfSwKKyAgICBpbGxlZ2FsU2V0
OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGdsLnVuaWZvcm0xZnYobG9jLCAyKTsKKyAgICB9LAor
ICAgIHNyY1ZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKGluZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAg
IHJldHVybiAiWyIgKyBzcmNWYWx1ZXNbaW5kZXggKiAyICsgMF0udG9TdHJpbmcoKSArICIsICIg
KworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDIgKyAxXS50b1N0cmluZygp
ICsgIl0iOworICAgIH0sCisgICAgcmV0dXJuVmFsdWVBc1N0cmluZzogZnVuY3Rpb24odmFsdWUp
IHsKKyAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCA/ICdudWxsJyA6ICgiWyIgKyB2YWx1ZVsw
XSArICIsICIgKyB2YWx1ZVsxXSArICJdIik7CisgICAgfSwKKyAgICBjaGVja1R5cGU6IGZ1bmN0
aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUgJiYKKyAgICAgICAgICAgICB0eXBlb2Yg
dmFsdWUubGVuZ3RoID09PSAnbnVtYmVyJyAmJgorICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCA9
PSAyOworICAgIH0sCisgICAgY2hlY2tWYWx1ZTogZnVuY3Rpb24odHlwZUluZm8sIGluZGV4LCB2
YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmCisgICAgICAgICAgICAgdHlw
ZUluZm8uc3JjVmFsdWVzW2luZGV4ICogMiArIDBdID09IHZhbHVlWzBdICYmCisgICAgICAgICAg
ICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogMiArIDFdID09IHZhbHVlWzFdOworICAgIH0s
CisgICAgc3JjVmFsdWVzOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMV0sCisgICAgc3JjVmFsdWVz
TGVzczogWzE2XSwKKyAgICBzcmNWYWx1ZXNMZXNzTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxM10s
CisgICAgc3JjVmFsdWVzTW9yZU11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAs
IDldLAorICAgIHNyY1ZhbHVlc05vbk11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwg
MTBdLAorICB9LAorICB7IHR5cGU6ICd2ZWMzJywKKyAgICBqc1R5cGVPZjogJ0Zsb2F0MzJBcnJh
eScsCisgICAgc2V0dGVyOiAndW5pZm9ybTNmdicsCisgICAgZWxlbTogJ1syXScsCisgICAgbnVt
U3JjVmFsdWVzOiAzLAorICAgIGludmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wu
dW5pZm9ybTFmdihsb2MsIFsyXSk7CisgICAgfSwKKyAgICBpbGxlZ2FsU2V0OiBmdW5jdGlvbihs
b2MpIHsKKyAgICAgIGdsLnVuaWZvcm0xZnYobG9jLCAyKTsKKyAgICB9LAorICAgIHNyY1ZhbHVl
QXNTdHJpbmc6IGZ1bmN0aW9uKGluZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAgIHJldHVybiAiWyIg
KyBzcmNWYWx1ZXNbaW5kZXggKiAzICsgMF0udG9TdHJpbmcoKSArICIsICIgKworICAgICAgICAg
ICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDMgKyAxXS50b1N0cmluZygpICsgIiwgIiArCisg
ICAgICAgICAgICAgICAgICAgc3JjVmFsdWVzW2luZGV4ICogMyArIDJdLnRvU3RyaW5nKCkgKyAi
XSI7CisgICAgfSwKKyAgICByZXR1cm5WYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbih2YWx1ZSkgewor
ICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gJ251bGwnIDoKKyAgICAgICAgICAoIlsiICsg
dmFsdWVbMF0gKyAiLCAiICsgdmFsdWVbMV0gKyAiLCAiICsgdmFsdWVbMl0gKyAiXSIpOworICAg
IH0sCisgICAgY2hlY2tUeXBlOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVl
ICYmCisgICAgICAgICAgICAgdHlwZW9mIHZhbHVlLmxlbmd0aCA9PT0gJ251bWJlcicgJiYKKyAg
ICAgICAgICAgICB2YWx1ZS5sZW5ndGggPT0gMzsKKyAgICB9LAorICAgIGNoZWNrVmFsdWU6IGZ1
bmN0aW9uKHR5cGVJbmZvLCBpbmRleCwgdmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSAhPT0g
bnVsbCAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDMgKyAwXSA9
PSB2YWx1ZVswXSAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDMg
KyAxXSA9PSB2YWx1ZVsxXSAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRl
eCAqIDMgKyAyXSA9PSB2YWx1ZVsyXTsKKyAgICB9LAorICAgIHNyY1ZhbHVlczogWzE2LCAxNSwg
MTQsIDEzLCAxMiwgMTEsIDEwLCA5LCA4XSwKKyAgICBzcmNWYWx1ZXNMZXNzOiBbMTYsIDE1XSwK
KyAgICBzcmNWYWx1ZXNMZXNzTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExXSwKKyAg
ICBzcmNWYWx1ZXNNb3JlTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwg
OCwgNywgNiwgNSwgNCwgMywgMl0sCisgICAgc3JjVmFsdWVzTm9uTXVsdGlwbGU6IFsxNiwgMTUs
IDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgN10sCisgIH0sCisgIHsgdHlwZTogJ3ZlYzQnLAor
ICAgIGpzVHlwZU9mOiAnRmxvYXQzMkFycmF5JywKKyAgICBzZXR0ZXI6ICd1bmlmb3JtNGZ2JywK
KyAgICBlbGVtOiAnWzNdJywKKyAgICBudW1TcmNWYWx1ZXM6IDMsCisgICAgaW52YWxpZFNldDog
ZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlmb3JtMWZ2KGxvYywgWzJdKTsKKyAgICB9LAor
ICAgIGlsbGVnYWxTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFmdihsb2Ms
IDIpOworICAgIH0sCisgICAgc3JjVmFsdWVBc1N0cmluZzogZnVuY3Rpb24oaW5kZXgsIHNyY1Zh
bHVlcykgeworICAgICAgcmV0dXJuICJbIiArIHNyY1ZhbHVlc1tpbmRleCAqIDQgKyAwXS50b1N0
cmluZygpICsgIiwgIiArCisgICAgICAgICAgICAgICAgICAgc3JjVmFsdWVzW2luZGV4ICogNCAr
IDFdLnRvU3RyaW5nKCkgKyAiLCAiICsKKyAgICAgICAgICAgICAgICAgICBzcmNWYWx1ZXNbaW5k
ZXggKiA0ICsgMl0udG9TdHJpbmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1Zh
bHVlc1tpbmRleCAqIDQgKyAzXS50b1N0cmluZygpICsgIl0iOworICAgIH0sCisgICAgcmV0dXJu
VmFsdWVBc1N0cmluZzogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSA9PT0g
bnVsbCA/ICdudWxsJyA6CisgICAgICAgICAgKCJbIiArIHZhbHVlWzBdICsgIiwgIiArIHZhbHVl
WzFdICsKKyAgICAgICAgICAgIiwgIiArIHZhbHVlWzJdICsgIiwgIiArIHZhbHVlWzNdICsgIl0i
KTsKKyAgICB9LAorICAgIGNoZWNrVHlwZTogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVy
biB2YWx1ZSAmJgorICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZS5sZW5ndGggPT09ICdudW1iZXIn
ICYmCisgICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09IDQ7CisgICAgfSwKKyAgICBjaGVja1Zh
bHVlOiBmdW5jdGlvbih0eXBlSW5mbywgaW5kZXgsIHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFs
dWUgIT09IG51bGwgJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0
ICsgMF0gPT0gdmFsdWVbMF0gJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5k
ZXggKiA0ICsgMV0gPT0gdmFsdWVbMV0gJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1
ZXNbaW5kZXggKiA0ICsgMl0gPT0gdmFsdWVbMl0gJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5z
cmNWYWx1ZXNbaW5kZXggKiA0ICsgM10gPT0gdmFsdWVbM107CisgICAgfSwKKyAgICBzcmNWYWx1
ZXM6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNV0sCisgICAgc3Jj
VmFsdWVzTGVzczogWzE2LCAxNSwgMTRdLAorICAgIHNyY1ZhbHVlc0xlc3NNdWx0aXBsZTogWzE2
LCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5XSwKKyAgICBzcmNWYWx1ZXNNb3JlTXVsdGlwbGU6
IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMiwgMV0s
CisgICAgc3JjVmFsdWVzTm9uTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwg
OSwgOCwgNywgNiwgNSwgNF0sCisgIH0KK107CisKK2ZvciAodmFyIHR0ID0gMDsgdHQgPCB0eXBl
SW5mb3MubGVuZ3RoOyArK3R0KSB7CisgIHZhciB0eXBlSW5mbyA9IHR5cGVJbmZvc1t0dF07Cisg
IGRlYnVnKCIiKTsKKyAgZGVidWcoImNoZWNrICIgKyB0eXBlSW5mby50eXBlKTsKKyAgdmFyIGZT
cmMgPSB3dHUucmVwbGFjZVBhcmFtcyhmVGVtcGxhdGUsIHR5cGVJbmZvKTsKKyAgLy9kZWJ1Zygi
ZlNyYzogIiArIGZTcmMpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbShnbCwgdlNy
YywgZlNyYyk7CisKKyAgdmFyIG51bVVuaWZvcm1zID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihw
cm9ncmFtLCBnbC5BQ1RJVkVfVU5JRk9STVMpOworICBhc3NlcnRNc2cobnVtVW5pZm9ybXMgPT0g
MSwgIjEgdW5pZm9ybSBmb3VuZCIpOworICB2YXIgaW5mbyA9IGdsLmdldEFjdGl2ZVVuaWZvcm0o
cHJvZ3JhbSwgMCk7CisgIGFzc2VydE1zZyhpbmZvLm5hbWUgPT0gImNvbG9yWzBdIiwKKyAgICAg
ICAgICAgICJ1bmlmb3JtIG5hbWUgaXMgJ2NvbG9yWzBdJyBub3QgJ2NvbG9yJyBhcyBwZXIgT3Bl
bkdMIEVTIDIuMC4yNCBzZWN0aW9uIDIuMTAiKTsKKyAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihwcm9ncmFtLCAiY29sb3JbMF0iKTsKKyAgdmFyIHNyY1ZhbHVlcyA9IHR5cGVJbmZv
LnNyY1ZhbHVlczsKKyAgdmFyIHNyY1ZhbHVlc0xlc3MgPSB0eXBlSW5mby5zcmNWYWx1ZXNMZXNz
OworICB2YXIgc3JjVmFsdWVzTGVzc011bHRpcGxlID0gdHlwZUluZm8uc3JjVmFsdWVzTGVzc011
bHRpcGxlOworICB2YXIgc3JjVmFsdWVzTW9yZU11bHRpcGxlID0gdHlwZUluZm8uc3JjVmFsdWVz
TW9yZU11bHRpcGxlOworICB2YXIgc3JjVmFsdWVzTm9uTXVsdGlwbGUgPSB0eXBlSW5mby5zcmNW
YWx1ZXNOb25NdWx0aXBsZTsKKworICAvLyBUcnkgc2V0dGluZyB0aGUgdmFsdWUgYmVmb3JlIHVz
aW5nIHRoZSBwcm9ncmFtCisgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1ZXMpOwor
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAg
ICAgICAgInNob3VsZCBmYWlsIGlmIHRoZXJlIGlzIG5vIGN1cnJlbnQgcHJvZ3JhbSIpOworCisg
IGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNW
YWx1ZXNMZXNzKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLAorICAg
ICAgICAgICAgICAgICAgInNob3VsZCBmYWlsIHdpdGggaW5zdWZmaWNpZW50IGFycmF5IHNpemUg
d2l0aCBnbC4iICsgdHlwZUluZm8uc2V0dGVyKTsKKyAgaWYgKHNyY1ZhbHVlc05vbk11bHRpcGxl
KSB7CisgICAgZ2xbdHlwZUluZm8uc2V0dGVyXShsb2MsIHNyY1ZhbHVlc05vbk11bHRpcGxlKTsK
KyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsCisgICAgICAgICAgICAg
ICAgICAgICJzaG91bGQgZmFpbCB3aXRoIG5vbi1tdWx0aXBsZSBhcnJheSBzaXplIHdpdGggZ2wu
IiArIHR5cGVJbmZvLnNldHRlcik7CisgIH0KKyAgZ2xbdHlwZUluZm8uc2V0dGVyXShsb2MsIHNy
Y1ZhbHVlcyk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAg
ICAgICAgICAiY2FuIHNldCBhbiBhcnJheSBvZiB1bmlmb3JtcyB3aXRoIGdsLiIgKyB0eXBlSW5m
by5zZXR0ZXIpOworICBnbFt0eXBlSW5mby5zZXR0ZXJdKGxvYywgc3JjVmFsdWVzTGVzc011bHRp
cGxlKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAg
ICAgICJjYW4gcGFydGlhbGx5IHNldCBhbiBhcnJheSBvZiB1bmlmb3JtcyB3aXRoIGdsLiIgKyB0
eXBlSW5mby5zZXR0ZXIgKyAiIHdpdGggYSBzbWFsbGVyIGFycmF5Iik7CisgIGdsW3R5cGVJbmZv
LnNldHRlcl0obG9jLCBzcmNWYWx1ZXNNb3JlTXVsdGlwbGUpOworICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgICAgICAgImNhbiBzZXQgYW4gYXJyYXkgb2Yg
dW5pZm9ybXMgd2l0aCBnbC4iICsgdHlwZUluZm8uc2V0dGVyICsgIiB3aXRoIGEgbGFyZ2VyIGFy
cmF5Iik7CisKKyAgdmFyIHZhbHVlcyA9IGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgbG9jKTsKKyAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICJjYW4g
Y2FsbCBnbC5nZXRVbmlmb3JtIik7CisgIGFzc2VydE1zZyh0eXBlSW5mby5jaGVja1R5cGUodmFs
dWVzKSwKKyAgICAgICAgICAgICJnbC5nZXRVbmlmb3JtIHJldHVybnMgdGhlIGNvcnJlY3QgdHlw
ZS4iKTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHR5cGVJbmZvLm51bVNyY1ZhbHVlczsgKytp
aSkgeworICAgIHZhciBlbGVtTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJj
b2xvclsiICsgaWkgKyAiXSIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Is
CisgICAgICAgICAgICAgICAgICAgICJjYW4gZ2V0IGxvY2F0aW9uIG9mIGVsZW1lbnQgIiArIGlp
ICsKKyAgICAgICAgICAgICAgICAgICAgIiBvZiBhcnJheSBmcm9tIGdsLmdldFVuaWZvcm1Mb2Nh
dGlvbiIpOworICAgIHZhciB2YWx1ZSA9IGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgZWxlbUxvYyk7
CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAg
ICAgImNhbiBnZXQgdmFsdWUgb2YgZWxlbWVudCAiICsgaWkgKyAiIG9mIGFycmF5IGZyb20gZ2wu
Z2V0VW5pZm9ybSIpOworICAgIGFzc2VydE1zZyh0eXBlSW5mby5jaGVja1ZhbHVlKHR5cGVJbmZv
LCBpaSwgdmFsdWUpLAorICAgICAgICAgICAgICAidmFsdWUgcHV0IGluICgiICsgdHlwZUluZm8u
c3JjVmFsdWVBc1N0cmluZyhpaSwgc3JjVmFsdWVzKSArCisgICAgICAgICAgICAgICIpIG1hdGNo
ZXMgdmFsdWUgcHVsbGVkIG91dCAoIiArCisgICAgICAgICAgICAgIHR5cGVJbmZvLnJldHVyblZh
bHVlQXNTdHJpbmcodmFsdWUpICsgIikiKTsKKyAgfQorICB0eXBlSW5mby5pbnZhbGlkU2V0KGxv
Yyk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAg
ICAgICAgICAgICAidXNpbmcgdGhlIHdyb25nIHNpemUgb2YgZ2wuVW5pZm9ybSBmYWlscyIpOwor
ICB2YXIgZXhjZXB0aW9uQ2F1Z2h0ID0gZmFsc2U7CisgIGlmICh0eXBlSW5mby5pbGxlZ2FsU2V0
KSB7CisgICAgdHJ5IHsKKyAgICAgIHR5cGVJbmZvLmlsbGVnYWxTZXQobG9jKTsKKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICBleGNlcHRpb25DYXVnaHQgPSB0cnVlOworICAgIH0KKyAgICBhc3Nl
cnRNc2coZXhjZXB0aW9uQ2F1Z2h0LCAicGFzc2luZyBub24tYXJyYXkgdG8gZ2xVbmlmb3JtKmZ2
IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IiKTsKKyAgfQorCisgIGdsLnVzZVByb2dyYW0obnVsbCk7
CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAi
Y2FuIGNhbGwgZ2wudXNlUHJvZ3JhbShudWxsKSIpOworfQorCisvLyBUaGlzIHRlc3QgaXMgdG8g
dGVzdCBkcml2ZXJzIHRoZSBoYXZlIGJ1Z3MgcmVsYXRlZCB0byBvcHRpbWl6aW5nCisvLyBhbiBh
cnJheSBvZiB1bmlmb3JtcyB3aGVuIG9ubHkgMSBvZiB0aG9zZSB1bmlmb3JtcyBpcyB1c2VkLgor
ZGVidWcoIiIpOworZGVidWcoIlRlc3QgZHJpdmVycyBkb24ndCBvdmVyIG9wdGltaXplIHVudXNl
ZCBhcnJheSBlbGVtZW50cyIpOwordmFyIG1heFVuaWZvcm1WZWN0b3JzID0gZ2wuZ2V0UGFyYW1l
dGVyKGdsLk1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlMpOwordmFyIHRlc3RzID0gWworIHsg
ZGVzYzogInVzaW5nIGxhc3QgZWxlbWVudCIsCisgICBtYXhVbmlmb3JtVmVjdG9yczogbWF4VW5p
Zm9ybVZlY3RvcnMsCisgICB1c2VkVW5pZm9ybVZlY3RvcjogbWF4VW5pZm9ybVZlY3RvcnMgLSAx
LAorICAgc2hhZGVyOiAiZnNoYWRlci1tYXgiLAorICAgY29sb3I6IFswLCAxLCAwLCAxXSwKKyAg
IGFycmF5TmFtZTogImNvbG9yYSIsCisgICBleHRyYU5hbWU6ICJjb2xvcmIiLAorIH0sCisgeyBk
ZXNjOiAidXNpbmcgZmlyc3QgZWxlbWVudCIsCisgICBtYXhVbmlmb3JtVmVjdG9yczogbWF4VW5p
Zm9ybVZlY3RvcnMsCisgICB1c2VkVW5pZm9ybVZlY3RvcjogMCwKKyAgIHNoYWRlcjogImZzaGFk
ZXItbWF4IiwKKyAgIGNvbG9yOiBbMCwgMSwgMCwgMV0sCisgICBhcnJheU5hbWU6ICJjb2xvcmEi
LAorICAgZXh0cmFOYW1lOiAiY29sb3JiIiwKKyB9LAorXTsKKworLy8gR2VuZXJhdGUgdGVzdCBz
aGFkZXJzLiBXZSdyZSB0cnlpbmcgdG8gZm9yY2UgdGhlIGRyaXZlciB0bworLy8gb3ZlcmZsb3cg
ZnJvbSAxIGFycmF5IGludG8gdGhlIG5leHQgaWYgaXQgb3B0aW1pemVzLiBTbyBmb3IgZXhhbXBs
ZSBpZiBpdCB3YXMgQworLy8KKy8vICAgaW50IGJpZ1s0XTsKKy8vICAgaW50IGxpdHRsZVsxXTsK
Ky8vICAgYmlnWzVdID0gMTI0OworLy8KKy8vIFdvdWxkIGVuZCB1cCBzZXR0aW5nIGxpdHRsZVsw
XSBpbnN0ZWFkIG9mIGJpZy4gU29tZSBkcml2ZXJzIG9wdGltaXplCisvLyB3aGVyZSBpZiB5b3Ug
b25seSB1c2Ugc2F5ICdiaWdbM10nIGl0IHdpbGwgYWN0dWFsbHkgb25seSBhbGxvY2F0ZSBqdXN0
IDEgZWxlbWVudAorLy8gZm9yIGJpZy4KKy8vCisvLyBCdXQsIHNvbWUgZHJpdmVycyBoYXZlIGEg
YnVnIHdoZXJlIHRoZSBmYWN0IHRoYXQgdGhleSBvcHRpbWl6ZWQgYmlnIHRvIDEgZWxlbWVudAor
Ly8gZG9lcyBub3QgZ2V0IHBhc3NlZCBkb3duIHRvIGdsVW5pZm9ybSBzbyB3aGVuIHNldHRpbmcg
dGhlIHVuaWZvcm0gJ2JpZ1szXScgdGhleQorLy8gb3ZlcndyaXRlIG1lbW9yeS4KKy8vCisvLyBJ
ZiB0aGUgZHJpdmVyIGNyYXNoZXMsIHllYS4gV2UgZm91bmQgYSBidWcuIFdlIGNhbiBibGFja2xp
c3QgdGhlIGRyaXZlci4KKy8vIE90aGVyd2lzZSB3ZSB0cnkgdmFyaW91cyBjb21iaW5hdGlvbnMg
c28gdGhhdCBzZXR0aW5nICdsaXR0bGVbMF0nIGZpcnN0CisvLyBhbmQgdGhlbiBzZXR0aW5nIGFs
bCBlbGVtZW50cyBvZiAnYmlnJyB3ZSBob3BlIGl0IHdpbGwgb3ZlcndyaXRlICdsaXR0bGVbMF0n
CisvLyB3aGljaCB3aWxsIHNob3cgdGhlIGJ1ZyBhbmQgYWdhaW4gd2UgY2FuIGJsYWNrbGlzdCB0
aGUgZHJpdmVyLgorLy8KKy8vIFdlIGRvbid0IGtub3cgaG93IHRoZSBkcml2ZXIgd2lsbCBvcmRl
ciwgaW4gbWVtb3J5LCB0aGUgdmFyaW91cyB1bmlmb3JtcworLy8gb3IgZm9yIHRoYXQgbWF0dGVy
IHdlIGRvbid0IGV2ZW4ga25vdyBpZiB0aGV5IHdpbGwgYmUgY29udGlndW91cyBpbiBtZW1vcnkK
Ky8vIGJ1dCB0byBob3BlZnVsbHkgZXhwb3NlIGFueSBidWdzIHdlIHRyeSB2YXJpb3VzIGNvbWJp
bmF0aW9ucy4KKy8vCisvLyAgICBJdCBjb3VsZCBiZSB0aGUgY29tcGlsZXIgb3JkZXJzIHVuaWZv
cm1zIGFscGhhYmV0aWNhbGx5LgorLy8gICAgSXQgY291bGQgYmUgaXQgb3JkZXJzIHRoZW0gaW4g
b3JkZXIgb2YgZGVjbGFyYXRpb24uCisvLyAgICBJdCBjb3VsZCBiZSBpdCBvcmRlcnMgdGhlbSBp
biBvcmRlciBvZiB1c2FnZS4KKy8vCisvLyBXZSBhbHNvIHRlc3QgdXNpbmcgb25seSBmaXJzdCBl
bGVtZW50IG9mIGJpZyBvciBqdXN0IHRoZSBsYXN0IGVsZW1lbnQgb2YgYmlnLgorLy8KK2ZvciAo
dmFyIG5hbWVPcmRlciA9IDA7IG5hbWVPcmRlciA8IDI7ICsrbmFtZU9yZGVyKSB7CisgIHZhciBu
YW1lMSA9IG5hbWVPcmRlciA/ICJjb2xvcmEiIDogImNvbG9yYiI7CisgIHZhciBuYW1lMiA9IG5h
bWVPcmRlciA/ICJjb2xvcmIiIDogImNvbG9yYSI7CisgIGZvciAodmFyIGxhc3QgPSAwOyBsYXN0
IDwgMjsgKytsYXN0KSB7CisgICAgdmFyIHVzZWRVbmlmb3JtVmVjdG9yID0gbGFzdCA/IG1heFVu
aWZvcm1WZWN0b3JzIC0gMiA6IDA7CisgICAgZm9yICh2YXIgZGVjbE9yZGVyID0gMDsgZGVjbE9y
ZGVyIDwgMjsgKytkZWNsT3JkZXIpIHsKKyAgICAgIHZhciBiaWdOYW1lICAgID0gZGVjbE9yZGVy
ID8gbmFtZTEgOiBuYW1lMjsKKyAgICAgIHZhciBsaXR0bGVOYW1lID0gZGVjbE9yZGVyID8gbmFt
ZTIgOiBuYW1lMTsKKyAgICAgIHZhciBkZWNsMSA9IGJpZ05hbWUgKyAiWyIgKyAobWF4VW5pZm9y
bVZlY3RvcnMgLSAxKSArICJdIjsKKyAgICAgIHZhciBkZWNsMiA9IGxpdHRsZU5hbWUgKyAiWzFd
IjsKKyAgICAgIGlmIChkZWNsT3JkZXIpIHsKKyAgICAgICAgdmFyIHQgPSBkZWNsMTsKKyAgICAg
ICAgZGVjbDEgPSBkZWNsMjsKKyAgICAgICAgZGVjbDIgPSB0OworICAgICAgfQorICAgICAgZm9y
ICh2YXIgdXNhZ2VPcmRlciA9IDA7IHVzYWdlT3JkZXIgPCAyOyArK3VzYWdlT3JkZXIpIHsKKyAg
ICAgICAgdmFyIHVzYWdlMSA9IGJpZ05hbWUgKyAiWyIgKyB1c2VkVW5pZm9ybVZlY3RvciArICJd
IjsKKyAgICAgICAgdmFyIHVzYWdlMiA9IGxpdHRsZU5hbWUgKyAiWzBdIjsKKyAgICAgICAgaWYg
KHVzYWdlT3JkZXIpIHsKKyAgICAgICAgICB2YXIgdCA9IHVzYWdlMTsKKyAgICAgICAgICB1c2Fn
ZTEgPSB1c2FnZTI7CisgICAgICAgICAgdXNhZ2UyID0gdDsKKyAgICAgICAgfQorICAgICAgICB2
YXIgZlNyYyA9IHd0dS5yZXBsYWNlUGFyYW1zKHd0dS5nZXRTY3JpcHQoImZzaGFkZXItbWF4LWFi
LWFiIiksIHsKKyAgICAgICAgICBkZWNsMTogZGVjbDEsCisgICAgICAgICAgZGVjbDI6IGRlY2wy
LAorICAgICAgICAgIHVzYWdlMTogdXNhZ2UxLAorICAgICAgICAgIHVzYWdlMjogdXNhZ2UyLAor
ICAgICAgICB9KTsKKyAgICAgICAgdmFyIGRlc2MgPSAidGVzdGluZzogIiArIG5hbWUxICsgIjoi
ICsgbmFtZTIgKyAiIHVzaW5nICIgKyAobGFzdCA/ICJsYXN0IiA6ICJmaXJzdCIpICsKKyAgICAg
ICAgICAgICIgY3JlYXRpbmcgdW5pZm9ybXMgIiArIGRlY2wxICsgIiAiICsgZGVjbDIgKyAiIGFu
ZCBhY2Nlc3NpbmcgIiArIHVzYWdlMSArICIgIiArIHVzYWdlMjsKKyAgICAgICAgdGVzdHMucHVz
aCh7CisgICAgICAgICAgZGVzYzogZGVzYywKKyAgICAgICAgICBtYXhVbmlmb3JtVmVjdG9yczog
bWF4VW5pZm9ybVZlY3RvcnMgLSAxLAorICAgICAgICAgIHVzZWRVbmlmb3JtVmVjdG9yOiB1c2Vk
VW5pZm9ybVZlY3RvciwKKyAgICAgICAgICBzb3VyY2U6IGZTcmMsCisgICAgICAgICAgY29sb3I6
IFswLCAwLCAwLCAxXSwKKyAgICAgICAgICBhcnJheU5hbWU6IGJpZ05hbWUsCisgICAgICAgICAg
ZXh0cmFOYW1lOiBsaXR0bGVOYW1lLAorICAgICAgICB9KTsKKyAgICAgIH0KKyAgICB9CisgIH0K
K30KKwordmFyIGFsbFJlcXVpcmVkVW5pZm9ybUxvY2F0aW9uc1F1ZXJ5YWJsZSA9IHRydWU7Citm
dW5jdGlvbiB0ZXN0VW5pZm9ybU9wdGltaXphdGlvbklzc3Vlcyh0ZXN0SW5kZXgpIHsKKyAgdmFy
IHRlc3QgPSB0ZXN0c1t0ZXN0SW5kZXhdOworICBkZWJ1ZygiIik7CisgIGRlYnVnKHRlc3QuZGVz
Yyk7CisgIHZhciBmU3JjID0gdGVzdC5zb3VyY2U7CisgIGlmICghZlNyYykgeworICAgIGZTcmMg
PSB3dHUucmVwbGFjZVBhcmFtcyh3dHUuZ2V0U2NyaXB0KHRlc3Quc2hhZGVyKSwgdGVzdCk7Cisg
IH0KKworICB2YXIgY29uc29sZUVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29s
ZSIpOworICB3dHUuYWRkU2hhZGVyU291cmNlKAorICAgICAgY29uc29sZUVsZW0sICJ2ZXJ0ZXgg
c2hhZGVyIiwgdlNyYyk7CisgIHd0dS5hZGRTaGFkZXJTb3VyY2UoCisgICAgICBjb25zb2xlRWxl
bSwgImZyYWdtZW50IHNoYWRlciIsIGZTcmMpOworCisgIHZhciBwcm9ncmFtID0gd3R1LmxvYWRQ
cm9ncmFtKGdsLCB2U3JjLCBmU3JjKTsKKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKworICB2
YXIgY29sb3JiTG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgdGVzdC5l
eHRyYU5hbWUgKyAiWzBdIik7CisgIGlmIChjb2xvcmJMb2NhdGlvbikgeworICAgIGdsLnVuaWZv
cm00ZnYoY29sb3JiTG9jYXRpb24sIFswLCAxLCAwLCAwXSk7CisgIH0KKworICAvLyBTZXQganVz
dCB0aGUgdXNlZCB1bmlmb3JtCisgIHZhciBuYW1lID0gdGVzdC5hcnJheU5hbWUgKyAiWyIgKyB0
ZXN0LnVzZWRVbmlmb3JtVmVjdG9yICsgIl0iOworICB2YXIgdW5pZm9ybUxvY2F0aW9uID0gZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sIG5hbWUpOworICBnbC51bmlmb3JtNGZ2KHVuaWZv
cm1Mb2NhdGlvbiwgdGVzdC5jb2xvcik7CisgIHd0dS5zZXR1cFF1YWQoZ2wsIDEsIHBvc2l0aW9u
TG9jKTsKKyAgd3R1LmRyYXdJbmRleGVkUXVhZChnbCwgMSk7CisgIHd0dS5jaGVja0NhbnZhcyhn
bCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworCisgIC8vIFNldCBhbGwg
dGhlIHVudXNlZCB1bmlmb3JtcworICB2YXIgbG9jYXRpb25zID0gW107CisgIGFsbFJlcXVpcmVk
VW5pZm9ybUxvY2F0aW9uc1F1ZXJ5YWJsZSA9IHRydWU7CisgIGZvciAodmFyIGlpID0gMDsgaWkg
PCB0ZXN0Lm1heFVuaWZvcm1WZWN0b3JzOyArK2lpKSB7CisgICAgdmFyIG5hbWUgPSB0ZXN0LmFy
cmF5TmFtZSArICJbIiArIGlpICsgIl0iOworICAgIHZhciB1bmlmb3JtTG9jYXRpb24gPSBnbC5n
ZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgbmFtZSk7CisgICAgbG9jYXRpb25zLnB1c2godW5p
Zm9ybUxvY2F0aW9uKTsKKyAgICBpZiAoaWkgPT0gdGVzdC51c2VkVW5pZm9ybVZlY3Rvcikgewor
ICAgICAgY29udGludWU7CisgICAgfQorICAgIC8vIExvY2F0aW9ucyA+IHVzZWRVbmZvcm1WZWN0
b3IgbWF5IG5vdCBleGlzdC4KKyAgICAvLyBMb2NhdGlvbnMgPD0gdXNlZFVuaWZvcm1WZWN0b3Ig
TVVTVCBleGlzdC4KKyAgICBpZiAoaWkgPD0gdGVzdC51c2VkVW5pZm9ybVZlY3RvciAmJiAodW5p
Zm9ybUxvY2F0aW9uID09PSB1bmRlZmluZWQgfHwgdW5pZm9ybUxvY2F0aW9uID09PSBudWxsKSkg
eworICAgICAgYWxsUmVxdWlyZWRVbmlmb3JtTG9jYXRpb25zUXVlcnlhYmxlID0gZmFsc2U7Cisg
ICAgfQorICAgIGdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBbMSwgMCwgMCwgMV0pOwor
ICB9CisgIHNob3VsZEJlVHJ1ZSgiYWxsUmVxdWlyZWRVbmlmb3JtTG9jYXRpb25zUXVlcnlhYmxl
Iik7CisgIHZhciBwb3NpdGlvbkxvYyA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICJh
X3Bvc2l0aW9uIik7CisgIHd0dS5zZXR1cFF1YWQoZ2wsIDEsIHBvc2l0aW9uTG9jKTsKKyAgd3R1
LmRyYXdJbmRleGVkUXVhZChnbCwgMSk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwg
MCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworCisgIC8vIENoZWNrIHdlIGNhbiByZWFkICYg
d3JpdGUgZWFjaCB1bmlmb3JtLgorICAvLyBOb3RlOiB1bmlmb3JtcyBwYXN0IHRlc3QudXNlZFVu
aWZvcm1WZWN0b3IgbWlnaHQgbm90IGV4aXN0LgorICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVz
dC5tYXhVbmlmb3JtVmVjdG9yczsgKytpaSkgeworICAgIGdsLnVuaWZvcm00ZnYobG9jYXRpb25z
W2lpXSwgW2lpICsgNCwgaWkgKyAyLCBpaSArIDMsIGlpICsgMV0pOworICB9CisKKyAgdmFyIGtF
cHNpbG9uID0gMC4wMTsKKyAgdmFyIGlzU2FtZSA9IGZ1bmN0aW9uKHYxLCB2MikgeworICAgIHJl
dHVybiBNYXRoLmFicyh2MSAtIHYyKSA8IGtFcHNpbG9uOworICB9OworCisgIGZvciAodmFyIGlp
ID0gMDsgaWkgPCB0ZXN0Lm1heFVuaWZvcm1WZWN0b3JzOyArK2lpKSB7CisgICAgdmFyIGxvY2F0
aW9uID0gbG9jYXRpb25zW2lpXTsKKyAgICBpZiAobG9jYXRpb24pIHsKKyAgICAgIHZhciB2YWx1
ZSA9IGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgbG9jYXRpb25zW2lpXSk7CisgICAgICBpZiAoIWlz
U2FtZSh2YWx1ZVswXSwgaWkgKyA0KSB8fAorICAgICAgICAgICFpc1NhbWUodmFsdWVbMV0sIGlp
ICsgMikgfHwKKyAgICAgICAgICAhaXNTYW1lKHZhbHVlWzJdLCBpaSArIDMpIHx8CisgICAgICAg
ICAgIWlzU2FtZSh2YWx1ZVszXSwgaWkgKyAxKSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJsb2Nh
dGlvbjogIiArIGlpICsgIiB3YXMgbm90IGNvcnJlY3QgdmFsdWUiKTsKKyAgICAgICAgYnJlYWs7
CisgICAgICB9CisgICAgfQorICB9Cit9CisKK3ZhciB0ZXN0SW5kZXggPSAwOworZnVuY3Rpb24g
cnVuTmV4dFRlc3QoKSB7CisgIHRlc3RVbmlmb3JtT3B0aW1pemF0aW9uSXNzdWVzKHRlc3RJbmRl
eCsrKTsKKyAgaWYgKHRlc3RJbmRleCA8IHRlc3RzLmxlbmd0aCkgeworICAgIHNldFRpbWVvdXQo
cnVuTmV4dFRlc3QsIDEwKTsKKyAgfSBlbHNlIHsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9ycyIpOworICAgIGRlYnVnKCIiKTsK
KyAgICBmaW5pc2hUZXN0KCk7CisgIH0KK30KK3J1bk5leHRUZXN0KCk7CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3Vu
aWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWVhZTgwYzAwYTQyNzMxODZm
YjM0ZTUwNzhkOGFiYTAyNTU5ZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9y
bS1kZWZhdWx0LXZhbHVlcy5odG1sCkBAIC0wLDAgKzEsMzYyIEBACis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB1bmlmb3JtIGRlZmF1bHQgdmFs
dWVzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0
b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdC1ldmFsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+
Cis8c2NyaXB0IGlkPSJ2c2hhZGVyMCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmli
dXRlIHZlYzQgdlBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQ
b3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjAiIHR5cGU9Ingtc2hh
ZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtICQodHlw
ZSkgdV91bmlmb3JtOworCitib29sIGlzWmVybygkKHR5cGUpIHZhbHVlKSB7CisgJChjaGVjayk7
Cit9CisKK3ZvaWQgbWFpbigpCit7CisgIGdsX0ZyYWdDb2xvciA9IGlzWmVybyh1X3VuaWZvcm0p
ID8gdmVjNCgwLDEsMCwxKSA6IHZlYzQoMSwwLDAsMSk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
aWQ9InZzaGFkZXIxIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2
UG9zaXRpb247Cit2YXJ5aW5nIHZlYzQgdl9jb2xvcjsKK3VuaWZvcm0gJCh0eXBlKSB1X3VuaWZv
cm07CisKK2Jvb2wgaXNaZXJvKCQodHlwZSkgdmFsdWUpIHsKKyAgICQoY2hlY2spOworfQorCit2
b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgIHZfY29sb3Ig
PSBpc1plcm8odV91bmlmb3JtKSA/IHZlYzQoMCwxLDAsMSkgOiB2ZWM0KDEsMCwwLDEpOworfQor
PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMSIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVu
dCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3ZhcnlpbmcgdmVjNCB2X2NvbG9yOwordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2X2NvbG9yOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJ2c2hhZGVyMiIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRl
IHZlYzQgdlBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3Np
dGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjIiIHR5cGU9Ingtc2hhZGVy
L3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtICQodHlwZSkg
dV91bmlmb3JtWzJdOworCitib29sIGlzWmVybygkKHR5cGUpIHZhbHVlKSB7CisgICQoY2hlY2sp
OworfQorCit2b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29sb3IgPSBpc1plcm8odV91bmlmb3Jt
WzFdKSA/IHZlYzQoMCwxLDAsMSkgOiB2ZWM0KDEsMCwwLDEpOworfQorPC9zY3JpcHQ+Cis8c2Ny
aXB0IGlkPSJ2c2hhZGVyMyIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZl
YzQgdlBvc2l0aW9uOwordmFyeWluZyB2ZWM0IHZfY29sb3I7Cit1bmlmb3JtICQodHlwZSkgdV91
bmlmb3JtWzJdOworCitib29sIGlzWmVybygkKHR5cGUpIHZhbHVlKSB7CisgICAkKGNoZWNrKTsK
K30KKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICB2
X2NvbG9yID0gaXNaZXJvKHVfdW5pZm9ybVsxXSkgPyB2ZWM0KDAsMSwwLDEpIDogdmVjNCgxLDAs
MCwxKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjMiIHR5cGU9Ingtc2hhZGVy
L3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzQgdl9j
b2xvcjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdl9jb2xvcjsKK30KKzwv
c2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciB0
ZXN0cyA9IFsKK3sgdHlwZTogJ2Zsb2F0JywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWUgPT0gMC4w
IiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFmKGxvYywgMy4wKTsg
fQorfSwKK3sgdHlwZTogJ2ludCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlID09IDAiLAorICBz
ZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMWkobG9jLCAzLjApOyB9Cit9LAor
eyB0eXBlOiAnYm9vbCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlID09IGZhbHNlIiwKKyAgc2V0
Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFpKGxvYywgMSk7IH0KK30sCit7IHR5
cGU6ICd2ZWMyJywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0gMC4wICYmIHZhbHVlWzFd
ID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0yZihsb2Ms
IDMuMCwgMy4wKTsgfQorfSwKK3sgdHlwZTogJ3ZlYzMnLAorICBjaGVjazogInJldHVybiB2YWx1
ZVswXSA9PSAwLjAgJiYgdmFsdWVbMV0gPT0gMC4wICYmIHZhbHVlWzJdID09IDAuMCIsCisgIHNl
dEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0zZihsb2MsIDMuMCwgMy4wLCAzLjAp
OyB9Cit9LAoreyB0eXBlOiAndmVjNCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IDAu
MCAmJiB2YWx1ZVsxXSA9PSAwLjAgJiYgdmFsdWVbMl0gPT0gMC4wICYmIHZhbHVlWzNdID09IDAu
MCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm00Zihsb2MsIDMuMCwg
My4wLCAzLjAsIDMuMCk7IH0KK30sCit7IHR5cGU6ICdpdmVjMicsCisgIGNoZWNrOiAicmV0dXJu
IHZhbHVlWzBdID09IDAgJiYgdmFsdWVbMV0gPT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwg
bG9jKSB7IGdsLnVuaWZvcm0yaShsb2MsIDMsIDMpOyB9Cit9LAoreyB0eXBlOiAnaXZlYzMnLAor
ICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSAwICYmIHZhbHVlWzFdID09IDAgJiYgdmFsdWVb
Ml0gPT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0zaShsb2Ms
IDMsIDMsIDMpOyB9Cit9LAoreyB0eXBlOiAnaXZlYzQnLAorICBjaGVjazogInJldHVybiB2YWx1
ZVswXSA9PSAwICYmIHZhbHVlWzFdID09IDAgJiYgdmFsdWVbMl0gPT0gMCAmJiB2YWx1ZVszXSA9
PSAwIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTRpKGxvYywgMywg
MywgMywgMyk7IH0KK30sCit7IHR5cGU6ICdidmVjMicsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVl
WzBdID09IGZhbHNlICYmIHZhbHVlWzFdID09IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGds
LCBsb2MpIHsgZ2wudW5pZm9ybTJpKGxvYywgMSwgMSk7IH0KK30sCit7IHR5cGU6ICdidmVjMycs
CisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IGZhbHNlICYmIHZhbHVlWzFdID09IGZhbHNl
ICYmIHZhbHVlWzJdID09IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wu
dW5pZm9ybTNpKGxvYywgMSwgMSwgMSk7IH0KK30sCit7IHR5cGU6ICdidmVjNCcsCisgIGNoZWNr
OiAicmV0dXJuIHZhbHVlWzBdID09IGZhbHNlICYmIHZhbHVlWzFdID09IGZhbHNlICYmIHZhbHVl
WzJdID09IGZhbHNlICYmIHZhbHVlWzNdID09IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGds
LCBsb2MpIHsgZ2wudW5pZm9ybTRpKGxvYywgMSwgMSwgMSwgMSk7IH0KK30sCit7IHR5cGU6ICdt
YXQyJywKKyAgY2hlY2s6CisgICAgInJldHVybiAiICsKKyAgICAidmFsdWVbMF1bMF0gPT0gMC4w
ICYmIHZhbHVlWzBdWzFdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMV1bMF0gPT0gMC4wICYm
IHZhbHVlWzFdWzBdID09IDAuMCIsCisgIHZhbHVlQ2hlY2s6CisgICAgInJldHVybiAiICsKKyAg
ICAidmFsdWVbMF0gPT0gMC4wICYmIHZhbHVlWzFdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVb
Ml0gPT0gMC4wICYmIHZhbHVlWzNdID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9j
KSB7IGdsLnVuaWZvcm1NYXRyaXgyZnYobG9jLCBmYWxzZSwgWzEsIDEsIDEsIDFdKTsgfQorfSwK
K3sgdHlwZTogJ21hdDMnLAorICBjaGVjazoKKyAgICAicmV0dXJuICIgKworICAgICJ2YWx1ZVsw
XVswXSA9PSAwLjAgJiYgdmFsdWVbMV1bMF0gPT0gMC4wICYmIHZhbHVlWzJdWzBdID09IDAuMCAm
JiAiICsKKyAgICAidmFsdWVbMF1bMV0gPT0gMC4wICYmIHZhbHVlWzFdWzFdID09IDAuMCAmJiB2
YWx1ZVsyXVsxXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzBdWzJdID09IDAuMCAmJiB2YWx1
ZVsxXVsyXSA9PSAwLjAgJiYgdmFsdWVbMl1bMl0gPT0gMC4wIiwKKyAgdmFsdWVDaGVjazoKKyAg
ICAicmV0dXJuICIgKworICAgICJ2YWx1ZVswXSA9PSAwLjAgJiYgdmFsdWVbMV0gPT0gMC4wICYm
IHZhbHVlWzJdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbM10gPT0gMC4wICYmIHZhbHVlWzRd
ID09IDAuMCAmJiB2YWx1ZVs1XSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzZdID09IDAuMCAm
JiB2YWx1ZVs3XSA9PSAwLjAgJiYgdmFsdWVbOF0gPT0gMC4wIiwKKyAgc2V0Rm46IGZ1bmN0aW9u
KGdsLCBsb2MpIHsgZ2wudW5pZm9ybU1hdHJpeDNmdihsb2MsIGZhbHNlLCBbMSwgMSwgMSwgMSwg
MSwgMSwgMSwgMSwgMV0pOyB9Cit9LAoreyB0eXBlOiAnbWF0NCcsCisgIGNoZWNrOgorICAgICJy
ZXR1cm4gIiArCisgICAgInZhbHVlWzBdWzBdID09IDAuMCAmJiB2YWx1ZVsxXVswXSA9PSAwLjAg
JiYgdmFsdWVbMl1bMF0gPT0gMC4wICYmIHZhbHVlWzNdWzBdID09IDAuMCAmJiAiICsKKyAgICAi
dmFsdWVbMF1bMV0gPT0gMC4wICYmIHZhbHVlWzFdWzFdID09IDAuMCAmJiB2YWx1ZVsyXVsxXSA9
PSAwLjAgJiYgdmFsdWVbM11bMV0gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVswXVsyXSA9PSAw
LjAgJiYgdmFsdWVbMV1bMl0gPT0gMC4wICYmIHZhbHVlWzJdWzJdID09IDAuMCAmJiB2YWx1ZVsz
XVsyXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzBdWzNdID09IDAuMCAmJiB2YWx1ZVsxXVsz
XSA9PSAwLjAgJiYgdmFsdWVbMl1bM10gPT0gMC4wICYmIHZhbHVlWzNdWzNdID09IDAuMCIsCisg
IHZhbHVlQ2hlY2s6CisgICAgInJldHVybiAiICsKKyAgICAidmFsdWVbIDBdID09IDAuMCAmJiB2
YWx1ZVsgMV0gPT0gMC4wICYmIHZhbHVlWyAyXSA9PSAwLjAgJiYgdmFsdWVbIDNdID09IDAuMCAm
JiAiICsKKyAgICAidmFsdWVbIDRdID09IDAuMCAmJiB2YWx1ZVsgNV0gPT0gMC4wICYmIHZhbHVl
WyA2XSA9PSAwLjAgJiYgdmFsdWVbIDddID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbIDhdID09
IDAuMCAmJiB2YWx1ZVsgOV0gPT0gMC4wICYmIHZhbHVlWzEwXSA9PSAwLjAgJiYgdmFsdWVbMTFd
ID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMTJdID09IDAuMCAmJiB2YWx1ZVsxM10gPT0gMC4w
ICYmIHZhbHVlWzE0XSA9PSAwLjAgJiYgdmFsdWVbMTVdID09IDAuMCIsCisgIHNldEZuOiBmdW5j
dGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm1NYXRyaXg0ZnYobG9jLCBmYWxzZSwgWzEsIDEsIDEs
IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDFdKTsgfQorfSwKK3sgdHlwZTog
J3NhbXBsZXIyRCcsCisgIGNoZWNrOgorICAgICJ2ZWM0IHYgPSB0ZXh0dXJlMkQodmFsdWUsIHZl
YzIoMCwgMCkpOyIgKworICAgICJyZXR1cm4gdi54ID09IDEuMCAmJiB2LnkgPT0gMS4wICYmIHYu
eiA9PSAxLjAgJiYgdi53ID09IDEuMCIsCisgIHZhbHVlQ2hlY2s6CisgICAgInJldHVybiB2YWx1
ZSA9PSAwIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFpKGxvYywg
MSk7IH0KK30sCit7IHR5cGU6ICdzYW1wbGVyQ3ViZScsCisgIGNoZWNrOgorICAgICJ2ZWM0IHYg
PSB0ZXh0dXJlQ3ViZSh2YWx1ZSwgdmVjMygwLCAwLCAwKSk7IiArCisgICAgInJldHVybiB2Lngg
PT0gMS4wICYmIHYueSA9PSAxLjAgJiYgdi56ID09IDEuMCAmJiB2LncgPT0gMS4wIiwKKyAgdmFs
dWVDaGVjazoKKyAgICAicmV0dXJuIHZhbHVlID09IDAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2ws
IGxvYykgeyBnbC51bmlmb3JtMWkobG9jLCAxKTsgfQorfSwKK107CisKK3ZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKK3ZhciBjID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKK3ZhciBjaGVja0ZuOworCit3dHUuc2V0
dXBVbml0UXVhZChnbCwgWzAsIDFdKTsKKworLy8gU2V0IHVuaXQgMCB0byBhIG5vbi0wIHRleHR1
cmUuCit2YXIgaGF2ZVZlcnRleFRleHR1cmVJbWFnZVVuaXRzID0KKyAgICBnbC5nZXRQYXJhbWV0
ZXIoZ2wuTUFYX1ZFUlRFWF9URVhUVVJFX0lNQUdFX1VOSVRTKSA+PSAyOwordmFyIHRleDJEID0g
Z2wuY3JlYXRlVGV4dHVyZSgpOwordmFyIHRleEN1YmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7Citn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgyRCk7CitnbC5iaW5kVGV4dHVyZShnbC5U
RVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlKTsKKwordmFyIHBpeGVsID0gbmV3IFVpbnQ4QXJyYXko
WzI1NSwgMjU1LCAyNTUsIDI1NV0pOwordmFyIHRhcmdldHMgPSBbCisgIGdsLlRFWFRVUkVfMkQs
CisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgZ2wuVEVYVFVSRV9DVUJFX01B
UF9ORUdBVElWRV9YLAorICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgIGdsLlRF
WFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElW
RV9aLAorICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKK107Citmb3IgKHZhciBpaSA9
IDA7IGlpIDwgdGFyZ2V0cy5sZW5ndGg7ICsraWkpIHsKKyAgICBnbC50ZXhJbWFnZTJEKAorICAg
ICAgICB0YXJnZXRzW2lpXSwgMCwgZ2wuUkdCQSwgMSwgMSwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgcGl4ZWwpOworfQorCit2YXIgc2hhZGVyVGVtcGxhdGVzID0gWworeyB2czogInZz
aGFkZXIwIiwgZnM6ICJmc2hhZGVyMCIsIHR5cGU6ICdmJyB9LAoreyB2czogInZzaGFkZXIxIiwg
ZnM6ICJmc2hhZGVyMSIsIHR5cGU6ICd2JyB9LAoreyB2czogInZzaGFkZXIyIiwgZnM6ICJmc2hh
ZGVyMiIsIHR5cGU6ICdmJyB9LAoreyB2czogInZzaGFkZXIzIiwgZnM6ICJmc2hhZGVyMyIsIHR5
cGU6ICd2JyB9LAorXTsKKworLy8gR2V0IHNoYWRlciB0ZW1wbGF0ZXMKK2ZvciAodmFyIGlpID0g
MDsgaWkgPCBzaGFkZXJUZW1wbGF0ZXMubGVuZ3RoOyArK2lpKSB7CisgIHZhciB0ZW1wbGF0ZSA9
IHNoYWRlclRlbXBsYXRlc1tpaV07CisgIHRlbXBsYXRlLnZzID0gd3R1LmdldFNjcmlwdCh0ZW1w
bGF0ZS52cyk7CisgIHRlbXBsYXRlLmZzID0gd3R1LmdldFNjcmlwdCh0ZW1wbGF0ZS5mcyk7Cit9
CisKK2Z1bmN0aW9uIHRlc3RUeXBlKHRlc3QpIHsKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVz
dGluZzogIiArIHRlc3QudHlwZSk7CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHNoYWRlclRl
bXBsYXRlcy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgdGVtcGxhdGUgPSBzaGFkZXJUZW1wbGF0
ZXNbaWldOworCisgICAgaWYgKHRlc3QudHlwZS5zdWJzdHJpbmcoMCwgNykgPT0gInNhbXBsZXIi
ICYmCisgICAgICAgIHRlbXBsYXRlLnR5cGUgPT0gJ3YnICYmCisgICAgICAgICFoYXZlVmVydGV4
VGV4dHVyZUltYWdlVW5pdHMpIHsKKyAgICAgIGNvbnRpbnVlOworICAgIH0KKworICAgIHZhciB2
cyA9IHd0dS5yZXBsYWNlUGFyYW1zKHRlbXBsYXRlLnZzLCB0ZXN0KTsKKyAgICB2YXIgZnMgPSB3
dHUucmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZS5mcywgdGVzdCk7CisKKyAgICB3dHUuYWRkU2hhZGVy
U291cmNlKGMsICJ2ZXJ0ZXggc2hhZGVyIiwgdnMpOworICAgIHd0dS5hZGRTaGFkZXJTb3VyY2Uo
YywgImZyYWdtZW50IHNoYWRlciIsIGZzKTsKKworICAgIHZhciB2cyA9IHd0dS5sb2FkU2hhZGVy
KGdsLCB2cywgZ2wuVkVSVEVYX1NIQURFUik7CisgICAgdmFyIGZzID0gd3R1LmxvYWRTaGFkZXIo
Z2wsIGZzLCBnbC5GUkFHTUVOVF9TSEFERVIpOworICAgIHZhciBwcm9ncmFtID0gd3R1LmNyZWF0
ZVByb2dyYW0oZ2wsIHZzLCBmcyk7CisKKyAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworCisg
ICAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV91bmlmb3JtWzFd
Iik7CisgICAgaWYgKCFsb2MpIHsKKyAgICAgICAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1Mb2Nh
dGlvbihwcm9ncmFtLCAidV91bmlmb3JtIik7CisgICAgfQorCisgICAgdmFyIHZhbHVlID0gZ2wu
Z2V0VW5pZm9ybShwcm9ncmFtLCBsb2MpOworICAgIFRlc3RFdmFsKCJjaGVja0ZuID0gZnVuY3Rp
b24odmFsdWUpIHsiICsgKHRlc3QudmFsdWVDaGVjayA/IHRlc3QudmFsdWVDaGVjayA6IHRlc3Qu
Y2hlY2spICsgIjt9Iik7CisgICAgaWYgKGNoZWNrRm4odmFsdWUpKSB7CisgICAgICAgIHRlc3RQ
YXNzZWQoInVuaWZvcm0gaXMgemVybyIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RGYWls
ZWQoInVuaWZvcm0gaXMgbm90IHplcm8iKTsKKyAgICB9CisKKyAgICBkZWJ1ZygiZGVmYXVsdCB2
YWx1ZSBzaG91bGQgYmUgemVybyIpOworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgd3R1LmNo
ZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIiwgMCk7CisK
KyAgICBkZWJ1ZygidGVzdCB0ZXN0IGJ5IHNldHRpbmcgdmFsdWUiKTsKKyAgICB0ZXN0LnNldEZu
KGdsLCBsb2MpOworCisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMo
Z2wsIFsyNTUsIDAsIDAsIDI1NV0sICJzaG91bGQgYmUgcmVkIiwgMCk7CisKKyAgICBkZWJ1Zygi
cmUtbGlua2luZyBzaG91bGQgcmVzZXQgdG8gZGVmYXVsdHMiKTsKKyAgICBnbC5saW5rUHJvZ3Jh
bShwcm9ncmFtKTsKKworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFz
KGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIiwgMCk7CisKKyAgICBnbC5k
ZWxldGVQcm9ncmFtKHByb2dyYW0pOworICAgIGdsLmRlbGV0ZVNoYWRlcih2cyk7CisgICAgZ2wu
ZGVsZXRlU2hhZGVyKGZzKTsKKworICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SLCAic2hvdWxkIGJlIG5vIEdMIGVycm9ycyIpOworICB9Cit9CisKK3ZhciB0ZXN0TmR4ID0g
MDsKK2Z1bmN0aW9uIHJ1bk5leHRUZXN0KCkgeworICAgIHRlc3RUeXBlKHRlc3RzW3Rlc3ROZHgr
K10pOworICAgIGlmICh0ZXN0TmR4ID49IHRlc3RzLmxlbmd0aCkgeworICAgICAgICBmaW5pc2hU
ZXN0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc2V0VGltZW91dChydW5OZXh0VGVzdCwgMSk7
CisgICAgfQorfQorCitydW5OZXh0VGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLWxvY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjM1YzZkNzkwMTc4ZTM5MjYxYjI5YmFmZmU1ODRlYmE2NGQzMjc3NQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbApAQCAtMCwwICsx
LDExNiBAQAorPCEtLQorLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91
cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy
Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh
bmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMi
KSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu
ZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks
IG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwg
Y29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hv
bSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxs
IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoq
IFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg
QU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU
RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5Z
CisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU
SU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VU
IE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9S
IE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGVzdHMgdGhl
IFdlYkdMVW5pZm9ybUxvY2F0aW9uIEFQSSIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
Cit2YXIgY29udGV4dEEgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7Cit2YXIgY29udGV4dEIgPSB3
dHUuY3JlYXRlM0RDb250ZXh0KCk7Cit2YXIgcHJvZ3JhbUExID0gd3R1LmxvYWRTdGFuZGFyZFBy
b2dyYW0oY29udGV4dEEpOwordmFyIHByb2dyYW1BMiA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFt
KGNvbnRleHRBKTsKK3ZhciBwcm9ncmFtQiA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRl
eHRCKTsKK3ZhciBwcm9ncmFtUyA9IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGNvbnRleHRBLCAi
Li4vcmVzb3VyY2VzL3N0cnVjdFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvZnJh
Z21lbnRTaGFkZXIuZnJhZyIpOwordmFyIHByb2dyYW1WID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZp
bGUoY29udGV4dEEsICIuLi9yZXNvdXJjZXMvZmxvYXRVbmlmb3JtU2hhZGVyLnZlcnQiLCAiLi4v
cmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3ZhciBsb2NhdGlvbkEgPSBjb250
ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbUExLCAndV9tb2RlbFZpZXdQcm9qTWF0cml4
Jyk7Cit2YXIgbG9jYXRpb25CID0gY29udGV4dEIuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1C
LCAndV9tb2RlbFZpZXdQcm9qTWF0cml4Jyk7Cit2YXIgbG9jYXRpb25TeCA9IGNvbnRleHRBLmdl
dFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfc3RydWN0LngiKTsKK3ZhciBsb2NhdGlvblN4
MjsKK3ZhciBsb2NhdGlvbkFycmF5MCA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9n
cmFtUywgInVfYXJyYXlbMF0iKTsKK3ZhciBsb2NhdGlvbkFycmF5MSA9IGNvbnRleHRBLmdldFVu
aWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfYXJyYXlbMV0iKTsKK3ZhciBsb2NhdGlvblZlYzQg
PSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVYsICJmdmFsNCIpOworCit2YXIg
dmVjID0gWzEsIDIsIDMsIDRdOwordmFyIG1hdCA9IFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5
LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNl07CisKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihj
b250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1B
MikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9P
UEVSQVRJT04sICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uQSwgZmFsc2UsIG1h
dCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1Is
ICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1BMSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2
KGxvY2F0aW9uQSwgZmFsc2UsIG1hdCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0
QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2KG51bGwsIGZh
bHNlLCBtYXQpIik7CisKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEu
Tk9fRVJST1IsICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1TKSIpOworc2hvdWxkR2VuZXJh
dGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0x
aShsb2NhdGlvblN4LCAzMzMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNv
bnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTFmKGxvY2F0aW9uQXJyYXkwLCA0LjAp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAi
Y29udGV4dEEudW5pZm9ybTFmKGxvY2F0aW9uQXJyYXkxLCA1LjApIik7CisKK3Nob3VsZEJlKCJj
b250ZXh0QS5nZXRVbmlmb3JtKHByb2dyYW1TLCBsb2NhdGlvblN4KSIsICIzMzMiKTsKK3Nob3Vs
ZEJlKCJjb250ZXh0QS5nZXRVbmlmb3JtKHByb2dyYW1TLCBsb2NhdGlvbkFycmF5MCkiLCAiNC4w
Iik7CitzaG91bGRCZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25BcnJh
eTEpIiwgIjUuMCIpOworCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRB
Lk5PX0VSUk9SLCAiY29udGV4dEEudXNlUHJvZ3JhbShwcm9ncmFtVikiKTsKK3Nob3VsZEdlbmVy
YXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51bmlmb3Jt
NGZ2KGxvY2F0aW9uVmVjNCwgdmVjKSIpOworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0o
cHJvZ3JhbVYsIGxvY2F0aW9uVmVjNCkiLCAidmVjIik7CisKK3Nob3VsZEJlTnVsbCgiY29udGV4
dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1WLCBcIklEb250RXhpc3RcIikiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS5s
aW5rUHJvZ3JhbShwcm9ncmFtQTEpIik7CisvLyBBZnRlciBsaW5raW5nIGFsbCBib3hlcyBhcmUg
YmFkLgorc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09Q
RVJBVElPTiwgImNvbnRleHRBLnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb25BLCBmYWxzZSwgbWF0
KSIpOworCisvLyBhZnRlciByZS1saW5raW5nIHRoZSBzYW1lIHByb2dyYW0sIGFsbCB1bmlmb3Jt
IGxvY2F0aW9ucyBiZWNvbWUgaW52YWxpZC4KK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0
QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1TKSIpOwor
Y29udGV4dEEuc3RlbmNpbE1hc2soMSk7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEs
IGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEubGlua1Byb2dyYW0ocHJvZ3JhbVMpIik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLklOVkFMSURfT1BFUkFUSU9O
LCAiY29udGV4dEEudW5pZm9ybTFpKGxvY2F0aW9uU3gsIDMpIik7CitzaG91bGRHZW5lcmF0ZUdM
RXJyb3IoY29udGV4dEEsIGNvbnRleHRBLklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dEEuZ2V0
VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25TeCkiKTsKKworLy8gUmV0cmlldmUgdGhlIGxvY2F0
aW9ucyBhZ2FpbiwgYW5kIHRoZXkgc2hvdWxkIGJlIGdvb2QuCitsb2NhdGlvblN4ID0gY29udGV4
dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1TLCAidV9zdHJ1Y3QueCIpOworbG9jYXRpb25B
cnJheTAgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X2FycmF5WzBd
Iik7CitkZWJ1ZygiaGVyZSIpOworY29udGV4dEEuc3RlbmNpbE1hc2soMCk7CitzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9y
bTFpKGxvY2F0aW9uU3gsIDMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNv
bnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTFmKGxvY2F0aW9uQXJyYXkwLCAxMjMp
Iik7CitzaG91bGRCZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25TeCki
LCAiMyIpOworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0ocHJvZ3JhbVMsIGxvY2F0aW9u
QXJyYXkwKSIsICIxMjMiKTsKKworLy8gZ2V0VW5pZm9ybUxvY2F0aW9uIHNob3VsZCByZXR1cm4g
YSBkaWZmZXJlbnQgb2JqZWN0IGV2ZXJ5dGltZSwgc2hvdWxkIG5vdCBjYWNoZSBhbmQgcmV0dXJu
IHRoZSBzYW1lIG9iamVjdAorZGVidWcoIlRlc3RpbmcgdGhhdCBnZXRVbmlmb3JtTG9jYXRpb24g
cmV0dXJucyBhIGRpZmZlcmVudCBvYmplY3QgZXZlcnl0aW1lIik7Citsb2NhdGlvblN4ICA9IGNv
bnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfc3RydWN0LngiKTsKK2xvY2F0
aW9uU3gyID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1TLCAidV9zdHJ1Y3Qu
eCIpOworc2hvdWxkQmVGYWxzZSgibG9jYXRpb25TeCA9PT0gbG9jYXRpb25TeDIiKTsKK2xvY2F0
aW9uU3guZm9vICA9IHt9OworbG9jYXRpb25TeDIuZm9vID0ge307CitzaG91bGRCZUZhbHNlKCJs
b2NhdGlvblN4LmZvbyA9PT0gbG9jYXRpb25TeDIuZm9vIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1z
YW1wbGVycy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBlZDU3N2QxNjAzNDExYzU3ZTBkOTY4M2U1
OWM3MDA1MTQ3YzlkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxl
cnMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTEwIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZT5XZWJHTCBzYW1wbGVyIHVuaWZvcm1zIGNvbmZv
cm1hbmNlIHRlc3QuPC90aXRsZT4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHN0eWxlPSJ3aWR0
aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworICA8c2NyaXB0PgorInVzZSBzdHJp
Y3QiOworZnVuY3Rpb24gaW5pdCgpCit7CisgIGRlc2NyaXB0aW9uKAorICAgICAgIlRlc3RzIHRo
YXQgb25seSBVbmlmb3JtMWkgYW5kIFVuaWZvcm0xaXYgY2FuIGJlIHVzZWQgdG8gc2V0IiArCisg
ICAgICAic2FtcGxlciB1bmlmb3Jtcy4iKTsKKworICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY2FudmFzMmQiKTsKKworICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKyAgdmFyIHByb2dy
YW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworCisgIHZhciB0ZXh0dXJlTG9jID0gZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKworICBnbC51bmlmb3JtMWkodGV4
dHVyZUxvYywgMSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAg
ICAgICAidW5pZm9ybTFpIGNhbiBzZXQgYSBzYW1wbGVyIHVuaWZvcm0iKTsKKyAgZ2wudW5pZm9y
bTFpdih0ZXh0dXJlTG9jLCBbMV0pOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
LAorICAgICAgICAgICAgInVuaWZvcm0xaXYgY2FuIHNldCBhIHNhbXBsZXIgdW5pZm9ybSIpOwor
ICBnbC51bmlmb3JtMWYodGV4dHVyZUxvYywgMSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAidW5pZm9ybTFmIHJldHVybnMgSU5WQUxJ
RF9PUEVSQVRJT04gaWYgYXR0ZW1wdGluZyB0byBzZXQgYSBzYW1wbGVyIHVuaWZvcm0iKTsKKyAg
Z2wudW5pZm9ybTFmdih0ZXh0dXJlTG9jLCBbMV0pOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgInVuaWZvcm0xZnYgcmV0dXJucyBJTlZB
TElEX09QRVJBVElPTiBpZiBhdHRlbXB0aW5nIHRvIHNldCBhIHNhbXBsZXIgdW5pZm9ybSIpOwor
CisgIHZhciBtYXhUZXh0dXJlVW5pdHMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX0NPTUJJTkVE
X1RFWFRVUkVfSU1BR0VfVU5JVFMpOworCisgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2
YXIgaWkgPSAwOyBpaSA8IG1heFRleHR1cmVVbml0czsgKytpaSkgeworICAgIGdsLnVuaWZvcm0x
aSh0ZXh0dXJlTG9jLCBpaSk7CisgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGdsLmdldEVycm9y
KCkgPT0gZ2wuTk9fRVJST1IpOworICB9CisgIGV4cGVjdFRydWUoc3VjY2VzcywgInVuaWZvcm0x
aSB3b3JrcyBmb3IgYW55IHZhbGlkIHRleHR1cmUgdW5pdCIpOworCisgIHZhciBzdWNjZXNzID0g
dHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IG1heFRleHR1cmVVbml0czsgKytpaSkgewor
ICAgIGdsLnVuaWZvcm0xaXYodGV4dHVyZUxvYywgW2lpXSk7CisgICAgc3VjY2VzcyA9IHN1Y2Nl
c3MgJiYgKGdsLmdldEVycm9yKCkgPT0gZ2wuTk9fRVJST1IpOworICB9CisgIGV4cGVjdFRydWUo
c3VjY2VzcywgInVuaWZvcm0xaXYgd29ya3MgZm9yIGFueSB2YWxpZCB0ZXh0dXJlIHVuaXQiKTsK
KworICB2YXIgc3VjY2VzcyA9IHRydWU7CisgIGZvciAodmFyIGlpID0gbWF4VGV4dHVyZVVuaXRz
OyBpaSA8IDB4MTAwMDA7ICsraWkpIHsKKyAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgaWkp
OworICAgIHN1Y2Nlc3MgPSBzdWNjZXNzICYmIChnbC5nZXRFcnJvcigpID09IGdsLklOVkFMSURf
VkFMVUUpOworICB9CisgIGV4cGVjdFRydWUoc3VjY2VzcywgInVuaWZvcm0xaSBnZW5lcmF0ZXMg
SU5WQUxJRF9WQUxVRSBmb3IgaW52YWxpZCB0ZXh0dXJlIHVuaXRzIik7CisKKyAgdmFyIHN1Y2Nl
c3MgPSB0cnVlOworICBmb3IgKHZhciBpaSA9IG1heFRleHR1cmVVbml0czsgaWkgPCAweDEwMDAw
OyArK2lpKSB7CisgICAgZ2wudW5pZm9ybTFpdih0ZXh0dXJlTG9jLCBbaWldKTsKKyAgICBzdWNj
ZXNzID0gc3VjY2VzcyAmJiAoZ2wuZ2V0RXJyb3IoKSA9PSBnbC5JTlZBTElEX1ZBTFVFKTsKKyAg
fQorICBleHBlY3RUcnVlKHN1Y2Nlc3MsICJ1bmlmb3JtMWl2IGdlbmVyYXRlcyBJTlZBTElEX1ZB
TFVFIGZvciBpbnZhbGlkIHRleHR1cmUgdW5pdHMiKTsKKworfQorCitpbml0KCk7Cit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186942</attachid>
            <date>2013-02-06 16:32:40 -0800</date>
            <delta_ts>2013-02-07 10:49:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109075-20130206162917.patch</filename>
            <type>text/plain</type>
            <size>711836</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDQ3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTQ0MTAwNmZhMDk5ODZjODg2ZTZl
NjcwNmZiMWQ5MWZmZDkwMmM1NS4uM2JkNTY1YjAxMTk0ZGM2OGExNjg0MmVmMzkyOTg5YTRhMjdm
ZTNlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2MyBAQAorMjAxMy0wMi0wNiAgR3JlZ2cgVGF2YXJlcyAg
PGdtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZHMgZmFpbGluZyBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwOTA3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnM6CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1v
ZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1w
cmVzZXJ2ZS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2Nh
bnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRh
dGEtdXJsLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29u
dGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1h
dHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlv
bi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NvbnRl
eHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhz
dGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0
X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5n
LXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZh
cnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0
cmljdGlvbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFs
LXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFi
bGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9y
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxh
ci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJh
eS1uYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2lu
dGNvb3JkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1BLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1CMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1C
NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1DLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktRF9HLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1TX1YtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1h
Z2UyRC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3Mu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1h
Z2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVy
QmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Ry
YXdBcnJheXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91
bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Jl
YWRQaXhlbHNCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFk
QXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAw
Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2lu
L2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wv
YXRhbi9hdGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29u
dHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2df
MDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21v
b3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24t
bG9uZy1uYW1lcy10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4
ZWxzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
YnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXIt
b2JqZWN0LWF0dGFjaG1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUz
Ni1pbmRpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wt
b2JqZWN0LWdldC1jYWxscy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQt
Zm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29y
aWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUx
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRl
by1yZ2JhNDQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQt
Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0
dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1p
cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6
ZS1saW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlm
b3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxv
Y2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
dW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBs
ZXJzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdp
bmdidWZmZXItdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lv
bi1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVk
LXdvcmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5n
LW9wZXJhdG9ycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlm
b3JtLWFycmF5LW5hbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWlu
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1M
X1MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdl
MkQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1h
Z2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3Mu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9h
c2luXzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDgu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVw
L3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJp
Yi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10
ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5k
ZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRl
cmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUz
Ni1pbmRpY2VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVj
dC1nZXQtY2FsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1
NTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0
NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1yZ2JhNTU1MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQt
Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtbWlwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3Qtdmlk
ZW8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1z
YW1wbGVycy10ZXN0Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTA2ICBTdGVwaGVuIENoZW5uZXkg
IDxzY2hlbm5leUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBUZXN0IGV4cGVj
dGF0aW9ucyB1cGRhdGUgZm9yIFNraWEgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDA3Yzg3YzI5OTY1MDhlMjYyOTk5M2E4
NTcwMWUwZTJhZjJjMTNiYi4uZjMwNTY5OTc1Y2YxM2IwMDE3NWNiNGFkOWZjOGJjODUyM2ZhODgz
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CkBAIC0xNDM1LDcgKzE0MzUsNDYgQEAgd2Via2l0Lm9yZy9iLzc1Mjc2IFsgQW5kcm9pZCBdIGZh
c3QvcmVwYWludC9zaGFkb3ctbXVsdGlwbGUtc3RyaWN0LXZlcnRpY2FsLmh0bWwKICMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KICMgV2ViR0wgVGVzdHMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sIFsgRmFpbHVy
ZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1j
bGVhbi1jb25mb3JtYW5jZS5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sIFsgRmFpbHVyZSBdCitjcmJ1
Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlz
Lmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20v
MTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbCBb
IEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91
bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDI2OCB3
ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sIFsgRmFpbHVyZSBdCitj
cmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1j
b3JydXB0aW9uLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFu
Y2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQy
Njggd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sIFsgRmFp
bHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMv
ZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbCBbIEZhaWx1cmUgXQogY3JidWcuY29t
LzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1p
c3N1ZXMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIFsgRmFp
bHVyZSBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5j
b20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1v
Zi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8x
NzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJp
YWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDI2
OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3Jt
LWFycmF5LW5hbWVzLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIFsgRmFpbHVyZSBd
CitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBv
aW50Y29vcmQuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIFsgVGltZW91dCBdCitjcmJ1
Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9f
MDA2Lmh0bWwgWyBUaW1lb3V0IF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbCBbIFRpbWVvdXQgXQorY3JidWcuY29t
LzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRt
bCBbIFRpbWVvdXQgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sIFsgVGltZW91dCBdCitjcmJ1Zy5jb20vMTc0MjY4
IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAx
X3RvXzAwOC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCisKK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwgWyBGYWlsdXJl
IFRpbWVvdXQgQ3Jhc2ggXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwgWyBGYWlsdXJlIFRpbWVv
dXQgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zs
b2F0X2xpdGVyYWwudmVydC5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgWyBGYWls
dXJlIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
cmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIFsgRmFpbHVy
ZSBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eFN1YkltYWdlMkRIVE1MLmh0bWwgWyBGYWlsdXJlIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wv
Y29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sIFsgRmFpbHVyZSBd
CitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2Vy
dmUtdGVzdC5odG1sIFsgRmFpbHVyZSBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1h
bmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwgWyBDcmFzaCBdCitjcmJ1Zy5jb20vMTc0
NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUt
ZHJhd2luZy1idWZmZXIuaHRtbCBbIEZhaWx1cmUgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9j
b25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwg
WyBTa2lwIF0KIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBPdGhlciBmYWlsdXJlcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzZTNkNGM0MTI3OGRjMDAyMGYxY2VkYjUx
MTM0ZGI4NTQ5OThhN2Q5Li4wMzE1MTM4MTdmMDU2NGFhNTBlZWQxNWZhMWE0NTJiYTI0MGM0MmYx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTY4LDYg
Kzk2OCw3MyBAQCBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtZ2xvYmFsLXNlbGVjdGlvbi5odG1s
CiAjIEN1cnJlbnRseSBmYWlsaW5nIFdlYkdMIHRlc3RzIDxyZGFyOi8vcHJvYmxlbS85MzU1NDYw
PgogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRl
by5odG1sCiAKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTA4
MQord2ViZ2wKK3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRt
bCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRt
bCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0
ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK3dlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbCBb
IFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1z
bW9vdGhzdGVwLWdlbnR5cGUuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0
bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWlu
Zy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRj
aC5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIFsgRmFpbHVyZSBdCit3
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwgWyBG
YWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1BLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1s
IFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktRF9HLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1HX0kuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwgWyBTa2lwIF0KK3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgWyBT
a2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFn
ZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBbIFNraXAgXQord2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIFsgU2tp
cCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwgWyBT
a2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJv
dW5kcy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5o
dG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFn
ZTJESFRNTC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5k
LWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wv
Y29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQu
aHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3It
dGVzdC5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10
aGFuLTY1NTM2LWluZGljZXMuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvcmVu
ZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwgWyBGYWlsdXJl
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLXJnYjU2NS5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5o
dG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sIFsgRmFpbHVyZSBdCit3ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNh
bnZhcy5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sIFsgRmFpbHVyZSBdCit3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWltYWdlLXJnYmE0NDQ0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbCBb
IEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1s
IFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiYTU1NTEuaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sIFsgRmFpbHVyZSBdCit3ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbCBbIEZhaWx1
cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1s
IFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3Qtdmlk
ZW8uaHRtbCBbIEZhaWx1cmUgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1z
aXplLWxpbWl0Lmh0bWwgWyBGYWlsdXJlIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eHR1cmUtc2l6ZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91
bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCBbIEZhaWx1cmUgXQorCiAjIFNlbmRpbmcgdGhlIG1v
dXNlIGRvd24gZXZlbnQgdG8gdGhlIHNjcm9sbGJhciBzdGFydHMgYSBuZXN0ZWQgcnVuIGxvb3Ag
d2hpY2ggY2F1c2VzIGEgaGFuZy4KIGZhc3QvZXZlbnRzL21vdXNlZG93bi1pbi1zdWJmcmFtZS1z
Y3JvbGxiYXIuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDE4ZDU0ZGFkNTcwN2ZiYTQ4ZmExOTZkZjM5NWFhMzU2ZTgyOWY5MWUuLjdkY2RlYWMz
MjRkNjU5ZmFjYWE0ODQ5ZTA3YjI0OTgxNmIyM2RlN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNTI2LDMwICsxNTI2LDcgQEAgaHR0cC90ZXN0cy9z
ZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVhZC1yZW1vdGUtaW1hZ2UtYWxsb3dlZC13aXRoLWNyZWRl
bnRpYWxzLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3Rl
LWltYWdlLWJsb2NrZWQtbm8tY3Jvc3NvcmlnaW4uaHRtbAogaW5zcGVjdG9yL3Byb2ZpbGVyL3dl
YmdsCiBmYXN0L2ltYWdlcy93ZWJnbC10ZXhpbWFnZTJkLmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNl
L2J1ZmZlcnMvYnVmZmVyLWJpbmQtdGVzdC5odG1sCi13ZWJnbC9jb25mb3JtYW5jZS9idWZmZXJz
L2J1ZmZlci1kYXRhLWFycmF5LWJ1ZmZlci5odG1sCi13ZWJnbC9jb25mb3JtYW5jZS9idWZmZXJz
L2VsZW1lbnQtYXJyYXktYnVmZmVyLWRlbGV0ZS1yZWNyZWF0ZS5odG1sCi13ZWJnbC9jb25mb3Jt
YW5jZS9idWZmZXJzL2luZGV4LXZhbGlkYXRpb24tY29waWVzLWluZGljZXMuaHRtbAotd2ViZ2wv
Y29uZm9ybWFuY2UvYnVmZmVycy9pbmRleC12YWxpZGF0aW9uLWNyYXNoLXdpdGgtYnVmZmVyLXN1
Yi1kYXRhLmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNlL2J1ZmZlcnMvaW5kZXgtdmFsaWRhdGlvbi1s
YXJnZS1idWZmZXIuaHRtbAotd2ViZ2wvY29uZm9ybWFuY2UvYnVmZmVycy9pbmRleC12YWxpZGF0
aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMuaHRtbAotd2ViZ2wvY29uZm9ybWFuY2UvYnVm
ZmVycy9pbmRleC12YWxpZGF0aW9uLXdpdGgtcmVzaXplZC1idWZmZXIuaHRtbAotd2ViZ2wvY29u
Zm9ybWFuY2UvYnVmZmVycy9pbmRleC12YWxpZGF0aW9uLmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNl
L21pc2MvYmFkLWFyZ3VtZW50cy10ZXN0Lmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNlL21pc2MvYm9v
bGVhbi1hcmd1bWVudC1jb252ZXJzaW9uLmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNlL21pc2MvZGVs
YXllZC1kcmF3aW5nLmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5n
Lmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNlL21pc2MvZnVuY3Rpb25zLXJldHVybmluZy1zdHJpbmdz
Lmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNlL21pc2MvaW5zdGFuY2VvZi10ZXN0Lmh0bWwKLXdlYmds
L2NvbmZvcm1hbmNlL21pc2MvaW52YWxpZC1wYXNzZWQtcGFyYW1zLmh0bWwKLXdlYmdsL2NvbmZv
cm1hbmNlL21pc2MvaXMtb2JqZWN0Lmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNlL21pc2MvbnVsbC1v
YmplY3QtYmVoYXZpb3VyLmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNlL21pc2Mvb2JqZWN0LWRlbGV0
aW9uLWJlaGF2aW91ci5odG1sCi13ZWJnbC9jb25mb3JtYW5jZS9taXNjL3NoYWRlci1wcmVjaXNp
b24tZm9ybWF0Lmh0bWwKLXdlYmdsL2NvbmZvcm1hbmNlL21pc2MvdHlwZS1jb252ZXJzaW9uLXRl
c3QuaHRtbAotd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy91bmluaXRpYWxpemVkLXRlc3QuaHRtbAot
d2ViZ2wvY29uZm9ybWFuY2UvbWlzYy93ZWJnbC1zcGVjaWZpYy5odG1sCi0KK3dlYmdsCiAKICMg
VGVzdHMgdGhhdCByZXF1aXJlIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUpLgogZmFzdC9kb20v
SFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLW5vZG93bmxvYWQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVy
LW9mZnNjcmVlbi10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjAzNWI3YjIxMzY5MTY2
MGUxNDI1NzY4ODZkYWY5NWI2NGVhNzBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1v
ZmZzY3JlZW4tdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jYzdkNTFhNmM5Zjg5ZjQzZDZlMjU0MGM3NzgwOGY0MWYwZTI2ZDJmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZl
ci1vZmZzY3JlZW4tdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGJ1ZmZlci1vZmZz
Y3JlZW4tdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4t
dGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9j
YW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFz
L2J1ZmZlci1wcmVzZXJ2ZS10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTU1YzVjYjg1ZThhNWZjNjAwNGI4Y2FmMjQ4NWI2OTVkZDFjZThlMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJl
c2VydmUtdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10
ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXBy
ZXNlcnZlLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZDIyYzAyMmYxNjUwOGU0ZmQ1YWJjZmQwMTlm
N2UwNzI5NTM4N2I3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3IgYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9i
dWZmZXItcHJlc2VydmUtdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJl
c2VydmUtdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWMzYzYwNDI0YWIxOThjYjczNDNiMzdmMWU2MTg1ODdjOWRjN2E3Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9k
cmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZl
ci10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2lu
Z2J1ZmZlci10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTliN2FjNWE1OGQyNTY5YmUwZmRhOTNkMzI1
MjI1MmFkNjAzODY1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciBkcmF3aW5nYnVmZmVyLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3
aW5nYnVmZmVyLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVz
dC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2Nh
bnZhcy90by1kYXRhLXVybC10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yZTRhYjljY2I5MzIwN2M4NGY0YzU3ZDVhY2ViNTNjNjRkYTQ0YWMyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRl
c3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2Nh
bnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGNkMDRkMjgwOGNhZjVjNGRlMDVkZjZkYWI4OTg2MzRhNmQ5ODliOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRh
LXVybC10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdG8tZGF0YS11cmwtdGVzdC5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCI+Li4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJs
LXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2
ZS1kcmF3aW5nLWJ1ZmZlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjUzZjQ0YWM2ZTg3ZGUyZDQ1ZTJmOTg4ZDFiNjA0ZmE3
N2M4ZTBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDog
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250
ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRy
aWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZm
ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kY2M0ZDA3ZTI0MmVkN2VhYTc2MjQ2MGZlYzIwNTk2ZTk1MDFm
NTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29u
dGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIGNvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVm
ZmVyLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNl
cnZlLWRyYXdpbmctYnVmZmVyLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1i
dWZmZXIuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0
L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlNDQ5ZmY2NGU1Mjg4OGE2OGY5MzBmNTFl
OGNhNGU5OGRkYjYyNGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRl
eHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1k
ZXN0cnVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9j
b250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjMjJiODll
MGVlNTk4OTgxNDdjMjk1OWQ3OTU4NjA5OTEwYmVmZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRl
c3RydWN0aW9uLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29udGV4dC1jcmVhdGlvbi1h
bmQtZGVzdHJ1Y3Rpb24uaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVh
dGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29u
dGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVu
Y3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50
eXBlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNGUzMzA2NDQ3YjY1N2Y5MWExYzU1OGYzYWEx
MmZiMjRlZTM2ZDAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wv
ZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMv
Z2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50
eXBlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZiYzA3NGE2Nzg3MDEyOGU1Njk2ZGY4ZThlMzhmNjkzMTZk
NDc1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2ds
c2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21v
b3Roc3RlcC1nZW50eXBlLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50
eXBlLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0
ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zMjgxNGI0NjgzODU5YTJkNjNhNzhmMWYxYzljZDc5NjQyYTk3MTk0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRl
cmFscy9mbG9hdF9saXRlcmFsLnZlcnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTI1YWNkNDljYjM5OTJlYWIwYTZjYTE3MGIyMDk4MTNlY2QzZmMwZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRf
bGl0ZXJhbC52ZXJ0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0
by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZmxvYXRfbGl0ZXJhbC52
ZXJ0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xp
dGVyYWwudmVydC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9m
bG9hdF9saXRlcmFsLnZlcnQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlv
bnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZTBlOGUwZWRmZjM0ODUzMzdhZGViYjcyMDcyNTMzYjE0MjAxYzI0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11
bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2lu
Zy1yZXN0cmljdGlvbnMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlv
bnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmMjM1MGEyNWI3
MDFiOTJlNzkwMjI4ZmJmMTUzZDAxMTUxMjVkOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1y
ZXN0cmljdGlvbnMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXItdW5pZm9ybS1w
YWNraW5nLXJlc3RyaWN0aW9ucy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwiPi4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5p
Zm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tp
bmctcmVzdHJpY3Rpb25zLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25z
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDc0MzM5ZTZjNTkzNGJlNzE0Y2Q1YjY4NWJhNDYzYzkyYzMwYjA1MgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFy
eWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmct
cmVzdHJpY3Rpb25zLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZh
cnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNmFjYjBmYWNkNTU3
M2M4YmQ1OWY1MWQyMmI0ZGI2N2RiOTM3NDFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVz
dHJpY3Rpb25zLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVyLXZhcnlpbmctcGFj
a2luZy1yZXN0cmljdGlvbnMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIj4uLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlp
bmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5n
LXJlc3RyaWN0aW9ucy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5p
bmctYXJyYXlzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Yzg4YzI5YWFjYjQwNDk5ZGRlNDAzM2MxNzczNjNhZTFi
MzkzMDNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1h
cnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBhMTBj
OTA5ZWQ5MjQzZGM2YzZhNGE2Y2QyODE3OGY5YTA4MWY1NAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1v
Zi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
c2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sPC90aXRs
ZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVj
dHMtY29udGFpbmluZy1hcnJheXMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMt
Y29udGFpbmluZy1hcnJheXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3Rz
LWNvbnRhaW5pbmctYXJyYXlzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFt
ZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVj
aXNpb24tbWlzbWF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0
Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzZDEzZDU5Yzg1NGEzM2JiYTA2ODY4YTE2YTI4
MTJhZTgwODhmMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNt
YXRjaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0
Y2guaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRj
aC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13
aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
YWJlYTQwOTNhMzQ0YzQwZWIwZjUyYTBhOTA3MjI4ZTM2ZWFmNDY4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWds
b2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciBzaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10
ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlh
YmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
KzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJp
YWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwv
aWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdv
cmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdlMjBjNGIyNDIzZmE1ZGEzZmI2YjhjN2NjNGRhMDY4MTE5NmM3M2YKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
bm9uLXJlc2VydmVkLXdvcmRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRz
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13
b3Jkcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhMjk5ZWZjYTYxY2VlMjFhZTc5MmVlNjVkYWY2NzdiYTgx
ZjE2MWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3Igc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRz
Lmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwv
aWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGlu
Zy1vcGVyYXRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40ZmE3Y2I2YTE0MDliOTI3ZGZhZmVkZjMxMmU1Y2EzYzY4ZmU1NDNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hv
cnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjA5YWQzODc1ODBhMmIxMDFmYjk0ODNjYzNhNDQ4MjVmNmU4YzNlOWIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciBzaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1
aXRpbmctb3BlcmF0b3JzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJh
dG9ycy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2lt
aWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzczM2E4
NGEyYzAwNDQ0OGEyYTk4YzczODc5M2QxNDk0NTU0MTNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXIt
dW5pZm9ybS1hcnJheS1uYW1lcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1h
cnJheS1uYW1lcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFt
ZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2I1ODhj
OWQzOTRlZDE5ZDQ5OGU3MTdjOGFjZjg2ZWY5NWIzZTBhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXIt
dW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJ
VCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13
aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5o
dG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw8L2E+Cis8
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0
aC12YXJ5aW5ncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
Nzc3MzUyZTg2ZmRjMDMzNDE0Y2FhNjM3ZjM1MjQ5NDJjMTMyODQ0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12
YXJ5aW5ncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdp
dGgtdmFyeWluZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMTkzYjQ1YzMwMWYzYzgz
ZDY2Njg5YzZlZDY0NmFiYmI3OWRlMjdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3Jt
YW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIj4u
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92
YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wZDQzMDNhNTc4ZWYxYmE3NWViNjkwNWRkYzYxMTZjZTZlMDAzOWFkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMv
Z2wtcG9pbnRjb29yZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2ds
LXBvaW50Y29vcmQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFy
aWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTZmNmEwODJkY2Y1MTdlNmE2
MjJkMjJlMmJlZjg0NGNkYjIwZGU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIGdsLXBvaW50Y29vcmQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29y
ZC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1BLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjNhY2Jm
NjJlYWJjMTBiOWUyZWY2MDgwZmY4MjlhNDdlYzY4ODkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ3YjE5NjNlZjE2MmJiYjU5
ODRlZTVlN2M4MzgzYTE5YTg4M2ZjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1BLmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIj4uLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbCIg
d2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MzFkMmMyZWE4NDczNDE2MmY4MGI0OTNiM2Y3MDhkMzg3YjI1MDg4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmEzMjJkNDFhMjc1M2NjZGQ4M2U0NjIyNmJiZWUzZmZlNzRmOWJmYTcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQjEuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNr
QVBJLUIxLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktQjEuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWw8L2E+Cis8
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwv
aWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MmY0NWEzYmU4Yjk3
MTlkOTBmYzYyMThkZWI5NGJjZGNjZTQyNzViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3MWE4NmFkZjk5MGFmNzNlNjcz
NWZhNGZiNDQyZTljMzM0ODU4NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0
ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFu
Y2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUIyLmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbCI+Li4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUIyLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44ZmZkMTc0NzI1ZGZhZmYwYjYwZDg2ZDQxMWFlMzY0NTk4NDUxOThi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQzMTA2NDNiYzA1ZDA1NWQzMWZjNmU1NDJhZWE4NDlmYzIwZjM5MjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0No
ZWNrQVBJLUIzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQjMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAi
PjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzZkNGU4NzFi
OTM3ZGJjMTEyNTlmYmE1NjkwYTM4YzU1NTEzNTI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4YmVhZTRhM2Q4NTY1OGY1
MDEyZDBiMTc1NmMyYjA3MzY2NDEwNzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUI0Lmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbCI+Li4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGNjYWJkNGNhNzRjNjkyZTQ1MTMyNWJlZWJhNGVhNGRhODgzYjYx
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
Qy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjRlM2Q2YmU2NmNjYTQ4YTY4N2ZmNTI1MzdlMzU2MDQ0ZjQzNjFjNjAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tB
UEktQy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1DLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFt
ZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktRF9HLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjBjNWNlZDA5OTU2YTI0
ODk2MWRkYzc5OTQxNjJlOWRmMjgyZWFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1EX0cuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzVkZTNiMDU3NzAwMDVhMzZi
Yjg2ZTdhMGVlOGNjMjgyZmI0MTkzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3Jt
YW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktRF9HLmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwiPi4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1E
X0cuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4ZDJlOWFiYjg3YWNjMjE4Y2FmOGIwOTAyMjkwZjgz
NTUxM2NhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktR19JLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUdfSS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmNWRjMWExMzZiNGVjZjMyNzAyNTk0OTlhNjFmYzIxMDc5
MWQwNmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3IgcXVpY2tDaGVja0FQSS1HX0kuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxh
IGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUdfSS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2ViNjE4ZTkwYzBkNzc4YTY5MGU3YTE5ZjYyNTExZjkxMDVmYTFmYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjM0ODA4ZGY2M2YzZTM1MTgxNGIyNWFjNDZiODVlNWJmZjhmMjI0MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1MX1MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNr
QVBJLUxfUy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUxfUy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNf
Vi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmU4MTI3
NDlmNWFlZjU2NzQ0N2I5YjFlNmQ0MzQ3MTQ3Mzk3MjZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LVNfVi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1TX1YuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Nzk5ODc4ZDhj
Nzg2YmY1MjkyY2M2NDRmZTBiMzlkNWZjMDRmOWVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNf
Vi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktU19WLmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19W
Lmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1TX1YuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFk
QXJncy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2E1YjBkNzc5OGU2ZTgxNzVjOTExYzQ2YTBj
ZDQyM2Q0YWRlYzI4OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZm
ZXJEYXRhQmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJn
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFlNzYwODEwMmNkZWMzYjExYTZlZDE4MmRjMmMzZWIwNzBkMzk2
MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBE
TyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9y
IGJ1ZmZlckRhdGFCYWRBcmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2Uy
RC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyRC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMxMDRmMmMwNDc1
YmUzMzRjMjlhOGU3YTFlZGRjMGUwN2ZjN2Y4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0
OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1h
Z2UyRC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhZWNmZTgxMTQwZWQ0MzY4ODg1MjRiZmZiZTdkMTBlMzM3
ZGJmNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBE
TyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9y
IGNvcHlUZXhJbWFnZTJELmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sPC9hPgor
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvY29weVRleEltYWdlMkQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTI1NjNkOWE5
YzMzZTFkZDBhYjkyYzJkYTNkMzYxNjBhYmVlNDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRB
cmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5
VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4OTMz
ZTQ4OTI3MjZkZGI5ZmIzMDc5MDJlMmZjOThjYjE0OWQ5MTEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2Uy
REJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb3B5VGV4SW1hZ2UyREJhZEFy
Z3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0
LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJ
bWFnZTJEQmFkQXJncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDwvYT4K
KzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJE
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2NvcHlUZXhTdWJJbWFnZTJELWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kN2IyNTJjYjAw
ZmUwOTI2M2VkMWI0MDg3MmY2YjFhYzU3ZDJkYmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1Yklt
YWdlMkQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2NvcHlUZXhTdWJJbWFnZTJELmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWIxZTAzOTQ1ZGQyNGNkNzMyNmIw
NjEzYjMyNTZiNTFiNjQ4YWNhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgY29weVRleFN1YkltYWdlMkQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwiPi4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Nv
cHlUZXhTdWJJbWFnZTJELmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sIiB3
aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3Mt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyMmFmYWFmNGUxMDIwZmNiMzUwYWQ0MTY4YmRhNWQz
ODU2MzU1ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Nv
cHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFk
QXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUyOGM3N2QzODRlYjdj
MzdkMTQzNzI4NzA2YjdhMjE0OGY1ZDE1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJn
cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1Yklt
YWdlMkRCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVy
QmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
N2ZhMTk4MmI3MGIzMjgxNDlmNTI5NjhkODMxM2QxYWRmN2VkYzQ2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVm
ZmVyQmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGMz
ZDQyMzU1YmIyMzEzMThlZmM5MzliNWY2ZjAwZWE2MzhlMDZmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVy
QmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRlbGV0ZUJ1ZmZlckJhZEFyZ3Mu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZl
ckJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJh
bWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWRjOTg1OTU0ZTY0Y2E0YjhjZTVhYjFlNzAzOGFmMmIx
YWU5NjI3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDAyZGY1OTcxZTQ0OGI3
M2M0NDVjZjhiZTUxY2U3YmM1ODY4ZTliZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBkcmF3QXJyYXlzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbDwv
YT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjRkZWFkNDUy
ZjM5ZTBlNWFmZDAyM2JjZmEzZmMxYTZhY2ZjMzA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91
bmRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0OWMw
ZGFjYmQwMmQyZjg0ZmIzMGIyNzY1YTYxNWI4ZjM5YjFiYjMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0
T2ZCb3VuZHMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBkcmF3QXJyYXlzT3V0T2ZCb3Vu
ZHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0
LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJh
eXNPdXRPZkJvdW5kcy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDwvYT4K
KzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
cmF3RWxlbWVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4MTNjMzVkZDMxNTI0ZTI4MDU2
M2Y1ZDg5YmI1YzlhMjJmNGVkMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Ry
YXdFbGVtZW50cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGEzN2NmNzE0OGM1MDQxMjhkNDZkNjVhY2VkY2E3NWFhMTIyMjcwZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Ry
YXdFbGVtZW50cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdFbGVtZW50cy5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0
bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
KzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43MjU3ZGMxNmM3YTNmZDc5MThkZWM0MTU4MGExYjVjZDkzMDE4MmE3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFk
QXJncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMDE2ZDExOGUyNzVmY2Y5MGFkOWNjNTQ2N2M2YzZkZDY5YTgyOTA5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRy
YXdFbGVtZW50c0JhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJn
cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhl
bHNCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
NDM5Nzk4ZDU5NWZiYzEwMzgwMTY5NWU1MjgwN2Q4ZWY0OGUwMTAxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVs
c0JhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVh
ZFBpeGVsc0JhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEwYmMwZWI5ZGFh
OGY1YTFmMWE0MmRhNzNlNDk0MjMyNWVjYjcyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0
bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkg
Z2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENv
bmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwi
Pi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJn
cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xNjMyOGY2MWU1ZmE0M2NiZDFjNTU5ZTRiNDEyZmFjZGMwMzdj
NDRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRB
cmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWYyYTk5MWQwNTQxMDBlOWIyOWQ1M2YyNjdjMmE2YjVkZGU5MmJmMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L3RleEltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElU
IC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4SW1hZ2Uy
REJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eEltYWdlMkRCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWw8L2E+Cis8
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleElt
YWdlMkRIVE1MLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NjgxMjdiYThjY2QyZTI3Mzk0M2M2
OTBkMTgzYmViZGZhZjNiODUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eEltYWdlMkRIVE1MLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGE5MTQzNjUyZTNmZjM4ZjNjZmY1MDYwZWM3ZGQ5YTk4NzFmZjczNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL3RleEltYWdlMkRIVE1MLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElU
IC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4SW1hZ2Uy
REhUTUwuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleElt
YWdlMkRIVE1MLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJ
bWFnZTJESFRNTC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdl
MkRCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NTYyNjU5ZWMyYmM2NzEwZmY5OTI2
MjE2YWRlMTVhYTZiNTdkMzQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFy
Z3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI5YjEzYWVkYjg3MTZhMDFmNDIy
NjZlYTc5MDEzMjM0Y2JlZmMxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwi
Pi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJE
QmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1M
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTAzM2UzODE5MDYzNzk4MzljNDZmNzgyZGI5NmU1
Y2JkNTdjODhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1Yklt
YWdlMkRIVE1MLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWVmYjljNmEzNjZmNWEzOWJjMDViOGM4MmYyN2EzMTdjN2I0NmNmZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4
U3ViSW1hZ2UyREhUTUwuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3Mv
YWNvc18wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOGZkNzIwZmE0NDU3Y2Q2
OWI1OTQ4ZmZkZjZiNDdiMWQ0NDlkNWNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4u
Ly4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9f
MDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYmEzYzNkZmY1OGEwYzMxYmRiYjNiNzg4MDY4YzY2MmYxYWM2
NTJiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29n
bGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
YWNvc18wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAw
Ni5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3Rv
XzAwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9hc2luL2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNmMjBjY2U0
Y2U1NzI0NjgzNzQ4ZjQxNzUwZmMwMDgxZWIxODg5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5f
MDAxX3RvXzAwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmNTlhMDAyNWFkZGZjYjgyNmRiMWVhNDc5MzUw
ZmViNmJmYjU2YmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIGFzaW5fMDAxX3RvXzAwNi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbCI+Li4vLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAw
MV90b18wMDYuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFu
XzAwMV90b18wMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1
M2IzNTZjNDRlMmM3Y2ZhMTRkODY5MjlkMDJlMzFkZTYxZTZkZWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAx
X3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRh
bi9hdGFuXzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODEyMzg0ODhiODU4MDEyMWNkNDA0
ZmZiMTNjMzVjN2MwYmE3MjdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBhdGFuXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwiPi4uLy4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4v
YXRhbl8wMDFfdG9fMDA4Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sIiB3
aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Nv
bnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93
XzAwMV90b18wMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4Yzc1NTM1ZDIxOTU5MjEwNWQ3
Nzc5YmQ1MmMyMTIwNjhjZDRmYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18w
MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFf
dG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzA2ODJhYTAyZjk5NzMyNDBhY2UyYmQxNDJjOTg2Y2M5
MjQ0NzliNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIGNvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9m
bG93XzAwMV90b18wMDguaHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9f
MDA4Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9sb2cvbG9nXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wNWFkZDExMzk1MTVhOGY3MDg1ZGEzZGMyZWY3NGQyYzBmZWE5NWFhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18w
MDFfdG9fMDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAw
MV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xv
Zy9sb2dfMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkNGI5OTllN2M2ODUzMTY3NWJjYzYz
ZjY3ZWViYTliMjlhYzdiNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciBsb2dfMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwiPi4uLy4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAx
X3RvXzAwOC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAw
MV90b18wMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2ds
ZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4MGVh
NWMzYzU0ZmM5NDc3YmQ2MzdhMDdlNTBkODE0YjQwMTJhZjYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAw
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3Rv
XzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9s
b2cyXzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNWVhODcxYWFjMGMzODgxNGQ5NTg2OGQ3
MWViM2RkMTljODUzMzJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciBsb2cyXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwiPi4uLy4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9n
Ml8wMDFfdG9fMDA4Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290
aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MmUxZjY1ZTJhN2ZhODUwYzkzNTIxMDFmZDUyYTlk
MjAxM2NmZTE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Nt
b290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhz
dGVwXzAwMV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVz
L0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM1
M2NhODAyNDdkY2U1Y2NhNDZlODZhMjcyMzQwZTQyYjc3NWZkMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Ro
c3RlcF8wMDFfdG9fMDA2Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc21vb3Roc3RlcF8w
MDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIj4uLi8uLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Nt
b290aHN0ZXBfMDAxX3RvXzAwNi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAw
MV90b18wMDYuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmlu
ZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mOGE0ZDgyN2E1MWQ2NTNhYzkyNDQ1ODZjYTA4OGZkZmE3MTJiMWJjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRy
aWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1s
b25nLW5hbWVzLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVz
LXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJp
bmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMTA4
ZjQ4NTg3MGEzYmI4ODE4NTY0NzU2Y2U2ZmQzNWJiM2M0MGQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2Nh
dGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC1iaW5k
LWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3By
b2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sIj4uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5k
LWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxv
Y2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU1MjJjYjMyMGFlZDBiNDAzY2RlMWNiOWIyN2QwZGIwOWNkM2Fm
MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9n
cmFtcy9wcm9ncmFtLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODBhODBiYzJlZmY1M2YyNWU3MjU5OGY2NjVkODIxOTcxNzk5NzI2
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dy
YW1zL3Byb2dyYW0tdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHByb2dyYW0tdGVz
dC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwiPi4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0t
dGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVz
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRkZWI5OTRhM2E2NDljZjU5YjEyODEwZTcwNzdh
MTBlOTBiMDM2NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9y
ZWFkLXBpeGVscy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFk
aW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NjIxZmU5MWRhYjk5NjMxMjRm
M2NmYjhiMWM1NzU4MGViMGRlNDcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgcmVhZC1waXhlbHMtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGlu
Zy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10
ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVy
LW9iamVjdC1hdHRhY2htZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjc4Mjg3MWFmNTVh
OTQzMWIwYmJiMzljMzE4OGE4YWM1OTllOWUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0
YWNobWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYTRhM2RiOWQ2MGEzNDUwZjEyMWY1NWUwN2UyZjMwZDQ1NzI2OWMx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
YnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRl
c3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdy
YXBwZXIgZm9yIGZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwiPi4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMv
ZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2Jq
ZWN0LWF0dGFjaG1lbnQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFiOGQ5OTlkODdiYWYzMTdkZGI3NGFlODQxYWU5MTNmNjgyNWZm
ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvZ2wtc2Npc3Nvci10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNj
aXNzb3ItdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L2dsLXNjaXNzb3ItdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxM2MzMDQwZDk1YzYyNjZhZWJkYWU3
OWEyMWI2ZmVjNzg3YWIzYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgZ2wtc2Npc3Nvci10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
Z2wtc2Npc3Nvci10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRl
c3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hM2U0MzBmMmQ5NTQzOGU5ZGI4ZTJhNTc0ZTlhMWRiYmI5
Njg1MmJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
cmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWlu
ZGljZXMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ2ODQ0NWUzM2I0YThmOWY5NWYwZTg5NDEyYWRkYjg4ZDRmMjFlNDMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
bW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBtb3Jl
LXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUt
dGhhbi02NTUzNi1pbmRpY2VzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sPC9hPgor
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21v
cmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2Ft
cGxlLWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhOGZmZmY1NGU5Zjk4OGU2
YzY5MDMxMDU1NzI0NTUzZWE1MTI2NGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDog
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211
bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNv
cnJ1cHRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDc1NDJkNzcyMTJjODRmZDI3NjA3MjlmN2UzZWM4
YTU1ZDU1YjE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0
cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFw
cGVyIGZvciBtdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVu
ZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmMwOWJlZGMxMGM2YWM3NDhhODQ4NGY2OGEzNWEwN2U3
OWI0YmFiOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3JlbmRlcmluZy9wb2ludC1zaXplLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXpl
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc1ZWE3NjcxNDI5ODQ0MDI4YzNhNzg4MTFkYjVkOTlmZmJmYzQ0
ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvcG9pbnQtc2l6ZS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHBvaW50LXNpemUu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwiPi4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXpl
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJh
bWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTkxMDYyODcyYThhZWY0ZDIyNmZjOWRlZDY5YTQxMDYz
MWQ2MWM0YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1v
YmplY3QtZ2V0LWNhbGxzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0
ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDM0YWY4OWY5ZTUwMDQ4MGY5
NGJkZjM3YjljNTg1NTI4ZTM3ZTNkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBnbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9z
dGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDwvYT4KKzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVj
dC1nZXQtY2FsbHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJk
LWZvcm1hdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3ZDM5NzBhNTU4MjViNDY4MWZhZDFk
NDU5NmIyMTQyNGZhYjZiNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRl
eC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2Ut
MmQtZm9ybWF0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2OGM2ZTBlYTgwZTU3MThhZGExOTY4ZDg5YmQw
OWFkYjlkMTdjMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sIj4uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0y
ZC1mb3JtYXRzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxz
dG9yZWktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvZ2wtcGl4ZWxzdG9yZWktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyNzUwOWRiMGJmMTdk
NmM1NzIwNzkzNTFkYTA4NTA3MTJiZDc3OGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxz
dG9yZWkuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YmI3YjZl
NTk0OGY1MGUyZWVjZDFkOTM4MTQ1ZmE1NWVlNzE5ZjZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC1waXhlbHN0b3JlaS5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbDwvYT4KKzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBp
eGVsc3RvcmVpLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3Jt
YW5jZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzVkZTIxNjNlNjExYmIzNmM5NWQwOWNkYzA2
NmU3NDI1MjczZTQzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFu
LWNvbmZvcm1hbmNlLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFu
Y2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45YjliOWJkYTVjNmI5YmI0ZDFlMDgyMjFlZWU5YTcyMjc5NmY0
ZWI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3Igb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWNhbnZhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDliOTYyOTQ0MGJiZmVkOGM5NjEyYmI2ZmE1YjIwM2Q2ODdm
NjE0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy1yZ2I1NjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhZDVkZmE1ZjFmY2EwMjNj
MGQ2YWE1NmUxZDU1YWEwOTE2ZDJhNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy1yZ2I1NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYjU2NS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YjU2NS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTExYmNkNjc4NThkMjYxNTBhY2IzNmZjNjliODM2NGViMWI5ZjNlZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1j
YW52YXMtcmdiNTY1Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YjU2NS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1
Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjYxNTAwYjc5YzI4YmNmMDJhOWJkYzUzMWRhZjNjNWUzNTE4MjA1MTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1jYW52YXMtcmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2YwNzQ2ZTZjZWNmNzA1ODQ2NDk5
MDc1NTJjZjc3OWViNWMxNTNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbDwvYT4K
KzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUz
Mjk0MDIzNmU1M2VkMWU5OTA1YTY5ZjgwMjQzMTZjMzU1OGZhNDMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1
IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdi
YTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDIwNTQ2Mzk4NzUyODIxZjdkMTJkOTRjNDM0YTc5MDFi
ZTdiYjE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBi
eSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
Q29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbCI+Li4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODBmNzgwYjU2ZTdmOTUzYjc2MTgwMGZmYzI1NjNlYTdmZGQ5NjA4OQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I0ZGEyN2I0M2ZlNGVlYmUwMTAzZDc4NzJkYTMyNjYxMzk2
NzJhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYjU2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODRhMmVkZThlYmRiZTEwNDZlMmMw
MjY5YmRjNDU0MDMxMzYxY2I2OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1h
Z2UtcmdiNTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2
NS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiZDJmZWE1
OTg0ZGU0YWU3NDlhMDkxMGJjYjRlNTNkODA0MDI4ODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2
NS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwMTJl
ZjA2ZTkxNzNjZThmZDJlYTk0NzZlZTJkODI0MjQ0Nzg5MDAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjViNGZmZmI4MDdhMmU5YzNkNTkxMDNkODVjNDc3ZmQ5ZDliN2JkZGUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1yZ2JhNDQ0NC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2
PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1pbWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1
NTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2IzYjQ0OTVjMjhmYjg1MzJkNzkzNGYxZjg2
MGVmMTY5MmViNTExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2Jh
NTU1MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOGFkYzQ5
YzY5Njc1Y2ZmZmJjN2ZhNjBiZGY2MzQxODMxOWIxNzNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiYTU1NTEuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1
MS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5o
dG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtaW1hZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZmY3NWU3MmYwMWRmNzM3NzI2MjI3NjE0N2Nl
MTVjMmNlNjk3MzM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWRiMTgzYTUzMjJkZjFjMWNmOGQx
YzJhZmMyOTg2MjE3NGY1NWY1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlk
ZW8tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbAorUEFTUwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNThiYTVm
MzA0NzY3NDZjMTllMTYxMTczNjJjZTBhOGRjNTQ2NTc1NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYjU2NS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
dmlkZW8tcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjhlZDE2NjFlNDIwN2Q4YzA4NjkxZWE4MDk5ODY5NmZmNjQ2MWY3YTgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRl
c3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdy
YXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0
bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYjU2NS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYjU2NS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1
NjUuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjMzYWNjN2RjM2RjOGJjMWU0NWVmMjY3ZGY4NjZhZjgwMjAxMDIxMDUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1NjQ1ZGEyYjIzNTRlMTJmYWY1MGZmMGE0
ZWQxZWVjNmNlYzUyYWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJn
YmE0NDQ0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sIj4uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYmE1NTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDE4YjA0YmJmNTY2
MTJmM2M0NGY4Y2NhZTdiMGRkOWFkYzFlM2MxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby1yZ2JhNTU1MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1yZ2JhNTU1MS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlk
ZW8tcmdiYTU1NTEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wOWQyOGI1Zjk1MmM2OGE1ZWNhN2I1NzRhOWE4OWNmNWZhMWQzZmNmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1
NTEuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC12aWRlby1yZ2JhNTU1MS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1yZ2JhNTU1MS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8u
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NDc0OGE4NDQ5ZjU2
NTBkZDVhODUyZjUyNTMxYWM3ZmM2Njc4Zjg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYxNjg4NWJlZGVjZjY0Y2UxZjRmNDk3M2Q2ZGUwOGU2NDZkYmU1
MDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdk
MGU2NmEyZmZkNjI2YWE0ZDk1ZDBkZmQxYmVkMmZlN2VkZTAxNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJp
bmQtMi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleHR1cmUtYWN0aXZlLWJpbmQtMi5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1hY3RpdmUtYmluZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xYWY1ZDQzZDM4ZmY4MTIxODk4NWMzNzliNTJhZGU3ZjA5M2QxMTQ4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3Rp
dmUtYmluZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJp
bmQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUt
YWN0aXZlLWJpbmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjlhMTMyNjY1NDU1NGUxNjE4ZTA1Y2ViOTJh
OWUwODcxZWU5MjBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIHRleHR1cmUtYWN0aXZlLWJpbmQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtYWN0aXZlLWJpbmQuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sPC9hPgorPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1hY3RpdmUtYmluZC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjA4MmNhMGE5MDFhYTJjNTlmMmMzMGFmYzU4NzhkOGU5NWQ1NGU1YWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0
dXJlLW1pcHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjA5Njk1YTM5MjY4ZTgwYmQxYzNmYjIzZDY3NDJiYmNmYWEwMGQwNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtbWlwcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleHR1cmUtbWlwcy5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwiPi4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1taXBzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzM3NTQ3ZTk1ODQzMjcwNWZjYjM3MDA4NmJmNTYxMzE4
OGMxY2Q0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjEyM2NmYTFj
NmJmNDUzNzkyM2Y5OTY1YTMyN2NhMzY4ZmUzOTA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbCI+Li4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVv
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAi
PjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYzM0YjFhY2YzYzdhYTIxZjY4OGI3YjJjNGIzMWNhY2Uw
M2I1OWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4dHVyZS1zaXplLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNp
emUtbGltaXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTgwMzkz
Zjg2YjYyYzYyOWE0ZDU2NzNkZmY0MzJiZTcyZDQ3ZDBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEwZDk4ZjkyNDFmYTE4MTQ4ZmM1YWZlNWUzYTlhM2RhNGMwOTU1N2MK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXh0dXJl
LXNpemUtbGltaXQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1s
aW1pdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE2MTUxYjdlNTQzOGE0N2QzN2Q3YmU4
MzdjZTc5YTZmODAxMGFhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIHRleHR1cmUtc2l6ZS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1z
aXplLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1h
cnJheXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9y
bXMvZ2wtdW5pZm9ybS1hcnJheXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2YmE3YjIxZDYy
YzNiZWNkYzZmY2FkMjQwMzlkMWFiMTZlZGZhZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDog
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wt
dW5pZm9ybS1hcnJheXMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kODhkMGQzMGQ5ZGY1OGUwMTJlM2FiYzQ2NzQyNmM4MDkyMmNjNjI4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5p
Zm9ybS1hcnJheXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC11bmlmb3JtLWFycmF5
cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbCI+
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wt
dW5pZm9ybS1hcnJheXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZh
dWx0LXZhbHVlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
ZTU0Y2JjM2RiNzllYjBhY2FmYTljZmIwODQ0YzhjZTRhYzczZmQ2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0
LXZhbHVlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVs
dC12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3Vu
aWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjJiMmZlNmUxZGU3Yjg1OTlj
ZDAwYzQ0NTBjYzk2YmM5YTE2MDc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIHVuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbCI+Li4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0
LXZhbHVlcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1sb2NhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc5Y2UzNDk3YmJjZjBl
MjhmMTQyNzIxMGU2Y2IxZDRlN2M0MjFlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0t
bG9jYXRpb24uaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmU0MzIxYWMzZmU0MjUzMGM1MTEzMzFjNDVkZDdkZDNkMDAwMTU4MwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRp
b24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB1bmlmb3JtLWxvY2F0aW9uLmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwiPi4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRp
b24uaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAi
PjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9y
bS1zYW1wbGVycy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmNlYTIyMjA0MTU0NDcy
ODg4MmE4NmM5ODBkOWEyY2MxNjg0Y2U3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlm
b3JtLXNhbXBsZXJzLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVz
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVkNDIwZDY3NmZhNTA0ZDE2Mjg2OGZhMjAxNjI2Nzk1ZTNiNzNm
ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB1
bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZv
cm0tc2FtcGxlcnMtdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0t
c2FtcGxlcnMtdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2Ny
ZWVuLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yNDQ2MWQ5YmI0MWU4ODJmYTg3MmJmNTZhNjQ5ZjU4ZjZkYzA2N2RjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sCkBAIC0wLDAgKzEsMTE3
IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
cmVxdWlyZWQgYnVmZmVyIGNsZWFyIGJlaGF2aW91ciB0ZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7CisgICAgaGVpZ2h0OiAzMDAwcHg7Cit9Cis8L3N0
eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCit2YXIgaXRlciA9IDA7Cit2
YXIgZ2wxOwordmFyIGdsMjsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCitmdW5jdGlv
biB0aW1lcigpIHsKKyAgICBpZiAoaXRlciA9PSAwKSB7CisgICAgICAgIC8vIHNvbWUgcmFuZG9t
IGhhY2t5IHN0dWZmIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGdldCBhIGNvbXBvc2l0aW5nIHN0ZXAK
KyAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIDEwKTsKKyAgICAgICAgd2luZG93LnNjcm9sbEJ5
KDAsIC0xMCk7CisgICAgICAgIGl0ZXIrKzsKKworICAgICAgICBzZXRUaW1lb3V0KHRpbWVyLCA1
MDApOworICAgIH0gZWxzZSBpZiAoaXRlciA9PSAxKSB7CisgICAgICAgIGZ1bmN0aW9uIGNsZWFy
KGdsKSB7CisgICAgICAgICAgICAvLyBzY2lzc29yIHdhcyBzZXQgZWFybGllcgorICAgICAgICAg
ICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAxLCAxKTsKKyAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNP
TE9SX0JVRkZFUl9CSVQpOworICAgICAgICB9CisgICAgICAgIGNsZWFyKGdsMSk7CisgICAgICAg
IGNsZWFyKGdsMik7CisKKyAgICAgICAgZGVidWcoImNoZWNrIG9uIHNjcmVlbiBjYW52YXMiKTsK
KyAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbDEsIDAsIDEwLCAxMCwgMTAsIFswLCAwLCAy
NTUsIDI1NV0sICJjbGVhcmVkIGNvcm5lciBzaG91bGQgYmUgYmx1ZSwgc3RlbmNpbCBzaG91bGQg
YmUgcHJlc2VydmVkIik7CisgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wxLCAwLCAwLCAx
MCwgMTAsIFswLCAwLCAwLCAwXSwgInJlbWFpbmRlciBvZiBidWZmZXIgc2hvdWxkIGJlIGNsZWFy
ZWQiKTsKKyAgICAgICAgZGVidWcoImNoZWNrIG9mZiBzY3JlZW4gY2FudmFzIik7CisgICAgICAg
IHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wyLCAwLCAxMCwgMTAsIDEwLCBbMCwgMCwgMjU1LCAyNTVd
LCAiY2xlYXJlZCBjb3JuZXIgc2hvdWxkIGJlIGJsdWUsIHN0ZW5jaWwgc2hvdWxkIGJlIHByZXNl
cnZlZCIpOworICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsMiwgMCwgMCwgMTAsIDEwLCBb
MjU1LCAwLCAwLCAyNTVdLCAicmVtYWluZGVyIG9mIGJ1ZmZlciBzaG91bGQgYmUgdW4tY2xlYXJl
ZCByZWQiKTsKKworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCitmdW5jdGlvbiBn
bygpIHsKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50
YXRpb25zIGNvcnJlY3RseSBjbGVhciB0aGUgZHJhd2luZyBidWZmZXIgb24gY29tcG9zaXRlIGlm
IHByZXNlcnZlRHJhd2luZ0J1ZmZlciBpcyBmYWxzZS4iKTsKKworICAgIGRlYnVnKCIiKTsKKwor
ICAgIGdsMSA9IHd0dS5jcmVhdGUzRENvbnRleHQoImMiKTsKKyAgICBnbDIgPSB3dHUuY3JlYXRl
M0RDb250ZXh0KCk7CisgICAgc2hvdWxkQmVUcnVlKCJnbDEgIT0gbnVsbCIpOworICAgIHNob3Vs
ZEJlVHJ1ZSgiZ2wyICE9IG51bGwiKTsKKworICAgIHNob3VsZEJlVHJ1ZSgnZ2wxLmdldENvbnRl
eHRBdHRyaWJ1dGVzKCkucHJlc2VydmVEcmF3aW5nQnVmZmVyID09IGZhbHNlJyk7CisgICAgc2hv
dWxkQmVUcnVlKCdnbDIuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZm
ZXIgPT0gZmFsc2UnKTsKKworICAgIGZ1bmN0aW9uIGluaXQoZ2wpIHsKKyAgICAgICAgZ2wuY2xl
YXJDb2xvcigxLCAwLCAwLCAxKTsKKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQgfCBnbC5TVEVOQ0lMX0JVRkZFUl9CSVQpOworCisgICAg
ICAgIC8vIGVuYWJsZSBzY2lzc29yIGhlcmUsIGJlZm9yZSBjb21wb3NpdGluZywgdG8gbWFrZSBz
dXJlIGl0J3MgY29ycmVjdGx5CisgICAgICAgIC8vIGlnbm9yZWQgYW5kIHJlc3RvcmVkCisgICAg
ICAgIGdsLnNjaXNzb3IoMCwgMTAsIDEwLCAxMCk7CisgICAgICAgIGdsLmVuYWJsZShnbC5TQ0lT
U09SX1RFU1QpOworICAgIH0KKworICAgIGluaXQoZ2wxKTsKKyAgICBpbml0KGdsMik7CisKKyAg
ICBzZXRUaW1lb3V0KHRpbWVyLCA1MDApOworfQorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIGdvLCBmYWxzZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxj
YW52YXMgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmx1
ZTsiIGlkPSJjIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjMThkMWIzYmNj
MWQzOGM2NDlkMTg4NDY5MDA1NTc1Y2U5ZWY1NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMv
YnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbApAQCAtMCwwICsxLDExMiBAQAorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHJlcXVpcmVkIGJ1ZmZlciBj
bGVhciBiZWhhdmlvdXIgdGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3Nz
Ij4KK2JvZHkgeworICAgIGhlaWdodDogMzAwMHB4OworfQorPC9zdHlsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KKwordmFyIGl0ZXIgPSAwOwordmFyIGdsMTsKKwordmFyIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOworCitmdW5jdGlvbiB0aW1lcigpIHsKKyAgICBpZiAoaXRlciA9
PSAwKSB7CisgICAgICBmdW5jdGlvbiBpbml0KGdsKSB7CisgICAgICAgICAgZ2wuY2xlYXJDb2xv
cigxLCAwLCAwLCAxKTsKKyAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwg
Z2wuREVQVEhfQlVGRkVSX0JJVCB8IGdsLlNURU5DSUxfQlVGRkVSX0JJVCk7CisKKyAgICAgICAg
ICAvLyBlbmFibGUgc2Npc3NvciBoZXJlLCBiZWZvcmUgY29tcG9zaXRpbmcsIHRvIG1ha2Ugc3Vy
ZSBpdCdzIGNvcnJlY3RseQorICAgICAgICAgIC8vIGlnbm9yZWQgYW5kIHJlc3RvcmVkCisgICAg
ICAgICAgZ2wuc2Npc3NvcigwLCAxMCwgMTAsIDEwKTsKKyAgICAgICAgICBnbC5lbmFibGUoZ2wu
U0NJU1NPUl9URVNUKTsKKyAgICAgIH0KKyAgICAgIGluaXQoZ2wxKTsKKyAgICB9IGVsc2UgaWYg
KGl0ZXIgPT0gMSkgeworICAgICAgICAvLyBzb21lIHJhbmRvbSBoYWNreSBzdHVmZiB0byBtYWtl
IHN1cmUgdGhhdCB3ZSBnZXQgYSBjb21wb3NpdGluZyBzdGVwCisgICAgICAgIHdpbmRvdy5zY3Jv
bGxCeSgwLCAxMCk7CisgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCAtMTApOworICAgIH0gZWxz
ZSBpZiAoaXRlciA9PSAyKSB7CisgICAgICAgIGZ1bmN0aW9uIGNsZWFyKGdsKSB7CisgICAgICAg
ICAgICAvLyBzY2lzc29yIHdhcyBzZXQgZWFybGllcgorICAgICAgICAgICAgZ2wuY2xlYXJDb2xv
cigwLCAwLCAxLCAxKTsKKyAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQp
OworCisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAxMCwgMTAsIDEwLCBb
MCwgMCwgMjU1LCAyNTVdLCAiY2xlYXJlZCBjb3JuZXIgc2hvdWxkIGJlIGJsdWUsIHN0ZW5jaWwg
c2hvdWxkIGJlIHByZXNlcnZlZCIpOworICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChn
bCwgMCwgMCwgMTAsIDEwLCBbMCwgMCwgMCwgMF0sICJyZW1haW5kZXIgb2YgYnVmZmVyIHNob3Vs
ZCBiZSBjbGVhcmVkIik7CisgICAgICAgIH0KKyAgICAgICAgY2xlYXIoZ2wxKTsKKworICAgICAg
ICBmaW5pc2hUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpdGVyKys7Cisg
ICAgc2V0VGltZW91dCh0aW1lciwgNTAwKTsKK30KKworZnVuY3Rpb24gZ28oKSB7CisgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIFdlYkdMIGltcGxlbWVudGF0aW9ucyBjb3JyZWN0
bHkgY2xlYXIgdGhlIGRyYXdpbmcgYnVmZmVyIG9uIGNvbXBvc2l0ZSBpZiBwcmVzZXJ2ZURyYXdp
bmdCdWZmZXIgaXMgZmFsc2UuIik7CisKKyAgICBkZWJ1ZygiIik7CisKKyAgICBnbDEgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCJjIik7CisgICAgaWYgKCFnbDEpIHsKKyAgICAgICAgZmluaXNoVGVz
dCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgc2hvdWxkQmVUcnVlKCJnbDEgIT0g
bnVsbCIpOworICAgIHNob3VsZEJlVHJ1ZSgnZ2wxLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJl
c2VydmVEcmF3aW5nQnVmZmVyID09IGZhbHNlJyk7CisKKyAgICBzZXRUaW1lb3V0KHRpbWVyLCA1
MDApOworfQorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGdvLCBmYWxzZSk7CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzwhLS0gSW1wb3J0YW50IHRvIHB1dCB0aGUgY2FudmFzIGF0IHRoZSB0b3Agc28gdGhhdCBp
dCdzIGFsd2F5cyB2aXNpYmxlIGV2ZW4gaW4gdGhlIHRlc3Qgc3VpdGUgcnVubmVyLgorICAgICBP
dGhlcndpc2UgaXQganVzdCBkb2Vzbid0IGdldCBjb21wb3NpdGVkIGluIEZpcmVmb3guIC0tPgor
PGNhbnZhcyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBi
bHVlOyIgaWQ9ImMiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52
YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTYzNzljNmFmYTgxNDNjODU0NDkzNzk1MTU1MzczZmNjYjA0ZWMyOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbApAQCAtMCww
ICsxLDEzOSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ2FudmFzLmRyYXdpbmdCdWZmZXJXaWR0aCxkcmF3aW5nQnVmZmVySGVpZ2h0IENv
bmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworZGVidWcoIiIpOworCit2YXIgZ2w7Cit2YXIg
b2xkVmlld3BvcnQ7CisKK2Z1bmN0aW9uIGdldE1heFZpZXdwb3J0RGltZW5zaW9ucygpIHsKKyAg
Ly8gY3JlYXRlIGEgZnJlc2ggY2FudmFzLiBUaGlzIGNhbnZhcyB3aWxsIGJlIGRpc2NhcmRlZAor
ICAvLyBhZnRlciBleGl0aW5nIHRoaXMgZnVuY3Rpb24uCisgIHZhciBjYW52YXMgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKKyAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNh
bnZhcywge2FudGlhbGlhczogZmFsc2V9KTsKKyAgaWYgKCFnbCkgeworICAgIHRlc3RGYWlsZWQo
ImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKKyAgICByZXR1cm4gWzAsIDBdOworICB9IGVsc2Ug
eworICAgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgICAvLyBGb3IgYSBkZWZh
dWx0IHNpemUgY2FudmFzIHRoZXNlIHNob3VsZCBiZSBlcXVhbC4KKyAgICAvLyBXZWJHTCBjb250
ZXh0cyBhcmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkcmF3aW5nQnVm
ZmVyCisgICAgLy8gZm9yIHRoaW5ncyBsaWtlIGhpLXJlcyBkaXNwbGF5cy4KKyAgICBzaG91bGRC
ZSgnZ2wuZHJhd2luZ0J1ZmZlcldpZHRoJywgJ2dsLmNhbnZhcy53aWR0aCcpOworICAgIHNob3Vs
ZEJlKCdnbC5kcmF3aW5nQnVmZmVySGVpZ2h0JywgJ2dsLmNhbnZhcy5oZWlnaHQnKTsKKyAgICBy
ZXR1cm4gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WSUVXUE9SVF9ESU1TKTsKKyAgfQorfQorCitm
dW5jdGlvbiB0ZXN0KGRlc2lyZWRXaWR0aCwgZGVzaXJlZEhlaWdodCkgeworICBkZWJ1ZygiIik7
CisgIGRlYnVnKCJ0ZXN0aW5nIGNhbnZhcyB3aWR0aCA9ICIgKyBkZXNpcmVkV2lkdGggKyAiLCBo
ZWlnaHQgPSAiICsgZGVzaXJlZEhlaWdodCk7CisKKyAgLy8gTWFrZSBhIGZyZXNoIGNhbnZhcy4K
KyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICBjYW52
YXMud2lkdGggPSBkZXNpcmVkV2lkdGg7CisgIGNhbnZhcy5oZWlnaHQgPSBkZXNpcmVkSGVpZ2h0
OworCisgIC8vIFRoaXMgJ2dsJyBtdXN0IGJlIGdsb2JhbCBmb3Igc2hvdWxkQmUgdG8gd29yay4K
KyAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywge2FudGlhbGlhczogZmFsc2V9KTsK
KyAgaWYgKCFnbCkgeworICAgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsK
KyAgfSBlbHNlIHsKKyAgICB0ZXN0UGFzc2VkKCJjb250ZXh0IGV4aXN0cyIpOworCisgICAgLy8g
VmVyaWZ5IHRoZXNlIHN0YXRzIGRpZG4ndCBjaGFuZ2Ugc2luY2UgdGhleSBjb21lIGZyb20gYSBk
aWZmZXJlbnQKKyAgICAvLyBjb250ZXh0LgorICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIo
Z2wuTUFYX1ZJRVdQT1JUX0RJTVMpWzBdJywgJ21heFNpemVbMF0nKTsKKyAgICBzaG91bGRCZSgn
Z2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WSUVXUE9SVF9ESU1TKVsxXScsICdtYXhTaXplWzFdJyk7
CisKKyAgICAvLyBjaGVjayB0aGUgaW5pdGlhbCB2aWV3cG9ydCBtYXRjaGVzIHRoZSBkcmF3aW5n
QnVmZmVyV2lkdGggYW5kIGRyYXdpbmdCdWZmZXJIZWlnaHQKKyAgICBzaG91bGRCZSgnZ2wuZ2V0
UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVswXScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBh
cmFtZXRlcihnbC5WSUVXUE9SVClbMV0nLCAnMCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJh
bWV0ZXIoZ2wuVklFV1BPUlQpWzJdJywgJ2dsLmRyYXdpbmdCdWZmZXJXaWR0aCcpOworICAgIHNo
b3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzNdJywgJ2dsLmRyYXdpbmdCdWZm
ZXJIZWlnaHQnKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygidGVzdGluZyByZXNpemlu
ZyBjYW52YXMgdG8gd2lkdGggPSAiICsgZGVzaXJlZFdpZHRoICsgIiwgaGVpZ2h0ID0gIiArIGRl
c2lyZWRIZWlnaHQpOworCisgICAgb2xkVmlld3BvcnQgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuVklF
V1BPUlQpOworCisgICAgLy8gZmxpcCB3aWR0aCBhbmQgaGVpZ2h0CisgICAgY2FudmFzLndpZHRo
ID0gZGVzaXJlZEhlaWdodDsKKyAgICBjYW52YXMuaGVpZ2h0ID0gZGVzaXJlZFdpZHRoOworCisg
ICAgLy8gVmVyaWZ5IHRoZSB2aWV3cG9ydCBkaWRuJ3QgY2hhbmdlLgorICAgIHNob3VsZEJlKCdn
bC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzBdJywgJ29sZFZpZXdwb3J0WzBdJyk7CisgICAg
c2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbMV0nLCAnb2xkVmlld3BvcnRb
MV0nKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsyXScsICdv
bGRWaWV3cG9ydFsyXScpOworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BP
UlQpWzNdJywgJ29sZFZpZXdwb3J0WzNdJyk7CisKKyAgICAvLyBmaXggdGhlIHZpZXdwb3J0Cisv
LyAgICBnbC52aWV3cG9ydCgwLCAwLCBnbC5kcmF3aW5nQnVmZmVyV2lkdGgsIGdsLmRyYXdpbmdC
dWZmZXJIZWlnaHQpOworCisgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9fRVJS
T1InKTsKKyAgfQorfQorCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgbWF4U2l6ZSA9
IGdldE1heFZpZXdwb3J0RGltZW5zaW9ucygpOworZGVidWcoIk1BWF9WSUVXUE9SVF9ESU1TOiAi
ICsgbWF4U2l6ZVswXSArICIsICIgKyBtYXhTaXplWzFdKTsKKworc2hvdWxkQmVUcnVlKCdtYXhT
aXplWzBdID4gMCcpOworc2hvdWxkQmVUcnVlKCdtYXhTaXplWzFdID4gMCcpOworCisvLyB0ZXN0
IGEgc21hbGwgc2l6ZSB0byBtYWtlIHN1cmUgaXQgd29ya3MgYXQgYWxsLgordGVzdCgxNiwgMzIp
OworCisvLyBNYWtlIGEgY2FudmFzIHNsaWdodGx5IGxhcmdlciB0aGFuIHRoZSBtYXggc2l6ZSBX
ZWJHTCBjYW4gaGFuZGxlLgorLy8gRnJvbSBzZWN0aW9uIDIuMiBvZiB0aGUgc3BlYyB0aGUgV2Vi
R0wgaW1wbGVtZW50YXRpb24gc2hvdWxkIGFsbG93IHRoaXMgdG8gd29yay4KKworLy8gdGVzdCBh
IHNpemUgbGFyZ2VyIHRoYW4gTUFYX1ZJRVdQT1JUX0RJTVMgaW4gYm90aCBkaW1lbnNpb25zCit0
ZXN0KG1heFNpemVbMF0gKyAzMiwgOCk7CisKK2RlYnVnKCIiKQordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2Nh
bnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNmZThkZmYxYTg5MWU1OTM5Mjc1OTNiZWJjNzllM2IyMzljYWJiODYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sCkBAIC0wLDAgKzEs
MTMwIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3Jv
dXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxz
IiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5
LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxs
IGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdo
b20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFs
bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisq
KiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J
VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD
VElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9V
VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBP
UiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgdG9EYXRhVVJMIHRlc3Q8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZh
cyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibGFjazsg
d2lkdGg6IDE2cHg7IGhlaWdodDogMTZweCIgaWQ9ImMzZCI+PC9jYW52YXM+Cis8Y2FudmFzIHdp
ZHRoPSIyMCIgaGVpZ2h0PSIyMCIgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyB3aWR0
aDogMTZweDsgaGVpZ2h0OiAxNnB4IiBpZD0iYzJkIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIG51bVRlc3Rz
ID0gMTA7Cit2YXIgZ2w7Cit2YXIgY3R4OworCit2YXIgbWFpbiA9IGZ1bmN0aW9uKCkgeworICBk
ZXNjcmlwdGlvbigpOworICBjdHggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYzJkIikuZ2V0
Q29udGV4dCgiMmQiKTsKKyAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjM2QiKTsKKworICBp
ZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiY2FuJ3QgY3JlYXRlIDNkIGNvbnRleHQiKTsKKyAg
ICByZXR1cm47CisgIH0KKworICB2YXIgY2xlYXJSZWN0ID0gZnVuY3Rpb24oZ2wsIHgsIHksIHdp
ZHRoLCBoZWlnaHQsIGNvbG9yKSB7CisgICAgZ2wuY2xlYXJDb2xvcihjb2xvclswXSAvIDI1NSwg
Y29sb3JbMV0gLyAyNTUsIGNvbG9yWzJdIC8gMjU1LCBjb2xvclszXSAvIDI1NSk7CisgICAgZ2wu
c2Npc3Nvcih4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZG
RVJfQklUKTsKKyAgfTsKKworICB2YXIgdGVzdFNpemUgPSBmdW5jdGlvbihnbCwgd2lkdGgsIGhl
aWdodCwgY2FsbGJhY2spIHsKKyAgICBkZWJ1ZygidGVzdGluZyAiICsgd2lkdGggKyAiIGJ5ICIg
KyBoZWlnaHQpOworICAgIGdsLmNhbnZhcy53aWR0aCA9IHdpZHRoOworICAgIGdsLmNhbnZhcy5o
ZWlnaHQgPSBoZWlnaHQ7CisgICAgZ2wudmlld3BvcnQoMCwgMCwgd2lkdGgsIGhlaWdodCk7Cisg
ICAgZ2wuZW5hYmxlKGdsLlNDSVNTT1JfVEVTVCk7CisKKyAgICB2YXIgYm90dG9tQ29sb3IgPSBb
MjU1LCAwLCAwLCAyNTVdOworICAgIHZhciB0b3BDb2xvciA9IFswLCAyNTUsIDAsIDI1NV07Cisg
ICAgdmFyIHJpZ2h0Q29sb3IgPSBbMCwgMCwgMjU1LCAyNTVdOworICAgIHZhciBoYWxmSGVpZ2h0
ID0gTWF0aC5mbG9vcihoZWlnaHQgLyAyKTsKKyAgICB2YXIgdG9wSGVpZ2h0ID0gaGVpZ2h0IC0g
aGFsZkhlaWdodDsKKyAgICB2YXIgY2FudmFzVG9wSGVpZ2h0ID0gaGVpZ2h0IC0gdG9wSGVpZ2h0
OworICAgIGNsZWFyUmVjdChnbCwgMCwgMCwgd2lkdGgsIGhhbGZIZWlnaHQsIGJvdHRvbUNvbG9y
KTsKKyAgICBjbGVhclJlY3QoZ2wsIDAsIGhhbGZIZWlnaHQsIHdpZHRoLCB0b3BIZWlnaHQsIHRv
cENvbG9yKTsKKyAgICBjbGVhclJlY3QoZ2wsIHdpZHRoIC0gMSwgMCwgMSwgaGVpZ2h0LCByaWdo
dENvbG9yKTsKKworICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKKyAgICBpbWcub25sb2FkID0g
ZnVuY3Rpb24oKSB7CisgICAgICBjdHguY2FudmFzLndpZHRoID0gd2lkdGg7CisgICAgICBjdHgu
Y2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsK
KyAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoY3R4LCAwLCAwLCB3aWR0aCAtIDEsIHRvcEhlaWdo
dCwgdG9wQ29sb3IpOworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChjdHgsIDAsIHRvcEhlaWdo
dCwgd2lkdGggLSAxLCBoYWxmSGVpZ2h0LCBib3R0b21Db2xvcik7CisgICAgICB3dHUuY2hlY2tD
YW52YXNSZWN0KGN0eCwgd2lkdGggLSAxLCAwLCAxLCBoZWlnaHQsIHJpZ2h0Q29sb3IpOworICAg
ICAgZGVidWcoIiIpOworICAgICAgY2FsbGJhY2soKTsKKyAgICB9OworICAgIGltZy5zcmMgPSBn
bC5jYW52YXMudG9EYXRhVVJMKCk7CisgIH07CisKKyAgdmFyIHRlc3RzID0gWworICAgIHsgd2lk
dGg6ICAxNiAgICAsIGhlaWdodDogIDE2ICAgICwgfSwKKyAgICB7IHdpZHRoOiAgMTYgLSAxLCBo
ZWlnaHQ6ICAxNiAgICAsIH0sCisgICAgeyB3aWR0aDogIDE2IC0gMSwgaGVpZ2h0OiAgMTYgLSAx
LCB9LAorICAgIHsgd2lkdGg6ICAxNiArIDEsIGhlaWdodDogIDE2IC0gMSwgfSwKKyAgICB7IHdp
ZHRoOiAgMTYgLSAxLCBoZWlnaHQ6ICAxNiArIDEsIH0sCisgICAgeyB3aWR0aDogMjU2ICAgICwg
aGVpZ2h0OiAyNTYgICAgLCB9LAorICAgIHsgd2lkdGg6IDI1NiAtIDEsIGhlaWdodDogMjU2ICAg
ICwgfSwKKyAgICB7IHdpZHRoOiAyNTYgLSAxLCBoZWlnaHQ6IDI1NiAtIDEsIH0sCisgICAgeyB3
aWR0aDogMjU2ICsgMSwgaGVpZ2h0OiAyNTYgLSAxLCB9LAorICAgIHsgd2lkdGg6IDI1NiAtIDEs
IGhlaWdodDogMjU2ICsgMSwgfSwKKyAgICB7IHdpZHRoOiA1MTIgICAgLCBoZWlnaHQ6IDUxMiAg
ICAsIH0sCisgICAgeyB3aWR0aDogNTEyIC0gMSwgaGVpZ2h0OiA1MTIgICAgLCB9LAorICAgIHsg
d2lkdGg6IDUxMiAtIDEsIGhlaWdodDogNTEyIC0gMSwgfSwKKyAgICB7IHdpZHRoOiA1MTIgKyAx
LCBoZWlnaHQ6IDUxMiAtIDEsIH0sCisgICAgeyB3aWR0aDogNTEyIC0gMSwgaGVpZ2h0OiA1MTIg
KyAxLCB9LAorICBdOworICB2YXIgdGVzdEluZGV4ID0gMDsKKyAgdmFyIHJ1bk5leHRUZXN0ID0g
ZnVuY3Rpb24oKSB7CisgICAgaWYgKHRlc3RJbmRleCA9PSB0ZXN0cy5sZW5ndGgpIHsKKyAgICAg
IGZpbmlzaFRlc3QoKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisgICAgdmFyIHRlc3QgPSB0ZXN0
c1t0ZXN0SW5kZXgrK107CisgICAgdGVzdFNpemUoZ2wsIHRlc3Qud2lkdGgsIHRlc3QuaGVpZ2h0
LCBmdW5jdGlvbigpIHsKKyAgICAgIHNldFRpbWVvdXQocnVuTmV4dFRlc3QsIDEwMCk7CisgICAg
fSkKKyAgfTsKKyAgcnVuTmV4dFRlc3QoKTsKK307CittYWluKCk7Cit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDE4YzA2YWQ0ZWFiNWVmYTk2NjY1M2NmYTgyNTlhZWI5YTkyZGZjYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2lu
Zy1idWZmZXIuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwv
c2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBjYW52YXMgeworICAgICAgICAg
ICAgICAgIHdpZHRoOjUwcHg7CisgICAgICAgICAgICAgICAgaGVpZ2h0OjUwcHg7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAuc3F1YXJlIHsKKyAgICAgICAgICAgICAgICBkaXNwbGF5Omlu
bGluZS1ibG9jazsKKyAgICAgICAgICAgICAgICB3aWR0aDo1MHB4OworICAgICAgICAgICAgICAg
IGhlaWdodDo1MHB4OworICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6cmVkOworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAg
ICAgInVzZSBzdHJpY3QiOworICAgICAgICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwor
ICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tSZXN1bHQoY3R4MSwgY3R4MiwgcHJlc2VydmUpIHsK
KyAgICAgICAgICAgICAgICB2YXIgaW1nRGF0YTEgPSBjdHgxLmdldEltYWdlRGF0YSgwLDAsMSwx
KTsKKyAgICAgICAgICAgICAgICB2YXIgaW1nRGF0YTIgPSBjdHgyLmdldEltYWdlRGF0YSgwLDAs
MSwxKTsKKyAgICAgICAgICAgICAgICB2YXIgY29ycmVjdDEgPSBbMjU1LDAsMCwyNTVdOworICAg
ICAgICAgICAgICAgIHZhciBjb3JyZWN0MiA9IHByZXNlcnZlID8gWzI1NSwwLDAsMjU1XSA6IFsw
LDAsMCwyNTVdOworICAgICAgICAgICAgICAgIHZhciBvazEgPSB0cnVlOworICAgICAgICAgICAg
ICAgIHZhciBvazIgPSB0cnVlOworICAgICAgICAgICAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwg
NDsgKytwKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChpbWdEYXRhMS5kYXRhW3BdICE9IGNv
cnJlY3QxW3BdKQorICAgICAgICAgICAgICAgICAgICAgICAgb2sxID0gZmFsc2U7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChpbWdEYXRhMi5kYXRhW3BdICE9IGNvcnJlY3QyW3BdKQorICAgICAg
ICAgICAgICAgICAgICAgICAgb2syID0gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIGlmIChvazEgJiYgb2syKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCdSZW5kZXJlZCBvayB3aXRoIHByZXNlcnZlRHJhd2luZ0J1ZmZlciAnICsgcHJlc2VydmUgKycu
Jyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCdEaWQgbm90IHJlbmRlciBvayB3aXRoIHByZXNlcnZlRHJhd2luZ0J1ZmZlciAnICsgcHJlc2Vy
dmUgKyAnLicpOworICAgICAgICAgICAgICAgIGlmIChwcmVzZXJ2ZSkgeworICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hUZXN0KCkKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICBydW5UZXN0KHRydWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdChwcmVzZXJ2ZSkgeworICAgICAgICAg
ICAgICAgIHZhciBjMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyArIChwcmVzZXJ2ZSAq
IDMgKyAxKSk7CisgICAgICAgICAgICAgICAgdmFyIGMyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2MnICsgKHByZXNlcnZlICogMyArIDIpKTsKKyAgICAgICAgICAgICAgICB2YXIgYzMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycgKyAocHJlc2VydmUgKiAzICsgMykpOworICAgICAg
ICAgICAgICAgIHZhciBjdHgxID0gYzEuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICAgICAgICAgICAg
ICB2YXIgY3R4MiA9IGMyLmdldENvbnRleHQoJzJkJyk7CisgICAgICAgICAgICAgICAgdmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjMywgeyBhbHBoYTpmYWxzZSwgcHJlc2VydmVEcmF3aW5n
QnVmZmVyOnByZXNlcnZlIH0pOworICAgICAgICAgICAgICAgIGdsLmNsZWFyQ29sb3IoMSwgMCwg
MCwgMSk7CisgICAgICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7Cisg
ICAgICAgICAgICAgICAgY3R4MS5kcmF3SW1hZ2UoYzMsIDAsIDApOworICAgICAgICAgICAgICAg
IHd0dS53YWl0Rm9yQ29tcG9zaXRlKGdsLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAg
ICAgY3R4Mi5kcmF3SW1hZ2UoYzMsIDAsIDApOworICAgICAgICAgICAgICAgICAgICBjaGVja1Jl
c3VsdChjdHgxLCBjdHgyLCBwcmVzZXJ2ZSk7CisgICAgICAgICAgICAgICAgfSk7CisKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAg
ICAgICA8ZGl2PgorICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzEnPjwvY2FudmFzPgorICAgICAg
ICAgICAgPGNhbnZhcyBpZD0nYzInPjwvY2FudmFzPgorICAgICAgICAgICAgPGNhbnZhcyBpZD0n
YzMnPjwvY2FudmFzPgorICAgICAgICAgICAgPHNwYW4+c2hvdWxkIGxvb2sgYXMgcmlnaHQgcGF0
dGVybjwvc3Bhbj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+CisgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSdzcXVhcmUnIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOmJsYWNr
Jz48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+CisgICAgICAg
IDwvZGl2PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzQnPjwvY2Fu
dmFzPgorICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzUnPjwvY2FudmFzPgorICAgICAgICAgICAg
PGNhbnZhcyBpZD0nYzYnPjwvY2FudmFzPgorICAgICAgICAgICAgPHNwYW4+c2hvdWxkIGxvb2sg
YXMgcmlnaHQgcGF0dGVybjwvc3Bhbj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+
PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSdzcXVhcmUnPjwvZGl2PgorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0nc3F1YXJlJz48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbignVmVyaWZ5IHRoYXQgcHJlc2VydmVEcmF3aW5nQnVmZmVyIGF0dHJp
YnV0ZSBpcyBob25vcmVkLicpOworICAgICAgICAgICAgcnVuVGVzdChmYWxzZSk7CisgICAgICAg
ICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgICAgIHNob3VsZEJl
VHJ1ZSgic3VjY2Vzc2Z1bGx5UGFyc2VkIik7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVz
dHJ1Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MDhmYzM5MTM0MGFhN2U4ZWM5YzA3ODZhYmY3NTA3YjRmZDYxNWFl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPlRlc3QgdGhhdCBjb250ZXh0cyBhcmUgZnJlZWQgYW5kIGdhcmJh
Z2UgY29sbGVjdGVkIHJlYXNvbmFibHk8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIHRh
cmdldCA9IDUwMDsKK3ZhciBjb3VudCA9IDA7CisKK2Rlc2NyaXB0aW9uKCk7Citkb05leHRUZXN0
KCk7CisKKy8vIENyZWF0ZXMgYSBjYW52YXMgYW5kIGEgdGV4dHVyZSB0aGVuIGV4aXRzLiBUaGVy
ZSBhcmUKKy8vIG5vIHJlZmVyZW5jZXMgdG8gZWl0aGVyIHNvIGJvdGggc2hvdWxkIGJlIGdhcmJh
Z2UgY29sbGVjdGVkLgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICAvLyBUaGlzIGlzIHNhZmUgZm9yIGFueSBkZXZp
Y2UuIFNlZSBkcmF3aW5nQnVmZmVyV2lkdGggaW4gc3BlYy4KKyAgY2FudmFzLndpZHRoID0gMjA0
ODsKKyAgY2FudmFzLmhlaWdodCA9IDIwNDg7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoY2FudmFzKTsKKyAgdmFyIG1heFRleHR1cmVTaXplID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1B
WF9URVhUVVJFX1NJWkUpOworICB2YXIgc2l6ZSA9IE1hdGgubWluKDEwMjQsIG1heFRleHR1cmVT
aXplKTsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUo
Z2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCBzaXplLCBzaXplLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAg
ICAgICAgICAgIG5ldyBVaW50OEFycmF5KHNpemUgKiBzaXplICogNCkpOworICBnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
IlNob3VsZCBiZSBubyBlcnJvcnMiKTsKK30KKworZnVuY3Rpb24gZG9OZXh0VGVzdCgpIHsKKyAg
Kytjb3VudDsKKyAgZGVidWcoInRlc3QgIiArIGNvdW50ICsgIiBvZiAiICsgdGFyZ2V0KTsKKyAg
dGVzdCgpOworICBpZiAoY291bnQgPCB0YXJnZXQpIHsKKyAgICBzZXRUaW1lb3V0KGRvTmV4dFRl
c3QsIDEwMCk7CisgIH0gZWxzZSB7CisgICAgZmluaXNoVGVzdCgpOworICB9Cit9CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdl
bnR5cGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50
eXBlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQwZDBhMjliMDZjMGM2YmZjMzU2NjRhOWE5YjIzNjM4ZWQx
MWE5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21v
b3Roc3RlcC1nZW50eXBlLmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5HTFNMIHNtb290aHN0ZXAtZ2VudHlwZSBm
dW5jdGlvbiB0ZXN0PC90aXRsZT4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KyAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+
CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwv
c2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZ2VuZXJhdG9yLmpz
Ij4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKwor
CitHTFNMR2VuZXJhdG9yLnJ1bkZlYXR1cmVUZXN0KHsKKyAgZmVhdHVyZTogInNtb290aHN0ZXAi
LAorICBhcmdzOiAiJCh0eXBlKSBlZGdlMCwgJCh0eXBlKSBlZGdlMSwgJCh0eXBlKSB2YWx1ZSIs
CisgIGJhc2VBcmdzOiAiZWRnZTAkKGZpZWxkKSwgZWRnZTEkKGZpZWxkKSwgdmFsdWUkKGZpZWxk
KSIsCisgIHRlc3RGdW5jOiAiJChmdW5jKSgkKHR5cGUpLCAkKHR5cGUpLCAkKHR5cGUpKSIsCisg
IGVtdUZ1bmM6IFsiZmxvYXQgJChmdW5jKV9iYXNlKGZsb2F0IGVkZ2UwLCBmbG9hdCBlZGdlMSwg
ZmxvYXQgdmFsdWUpIHsiLAorICAgICAgICAgICAgIiAgZmxvYXQgdCA9IGNsYW1wKCh2YWx1ZSAt
IGVkZ2UwKSAvIChlZGdlMSAtIGVkZ2UwKSwgMC4wLCAxLjApOyIsCisgICAgICAgICAgICAiICBy
ZXR1cm4gdCAqIHQgKiAoMy4wIC0gMi4wICogdCk7IiwKKyAgICAgICAgICAgICJ9Il0uam9pbigi
XG4iKSwKKyAgZ3JpZFJlczogOCwKKyAgdG9sZXJhbmNlOiAxLAorICB0ZXN0czogWworICAgIFsi
JChvdXRwdXQpID0gdmVjNCgiLAorICAgICAiICAgICQoZnVuYykoMC4zLCAwLjcsICQoaW5wdXQp
LngpLCIsCisgICAgICIgICAgJChmdW5jKSgwLjIsIDAuOCwgJChpbnB1dCkueSksIiwKKyAgICAg
IiAgICAwLCIsCisgICAgICIgICAgMSk7Il0uam9pbigiXG4iKSwKKyAgICBbIiQob3V0cHV0KSA9
IHZlYzQoIiwKKyAgICAgIiAgICAkKGZ1bmMpKHZlYzIoMC40LCAwLjYpLCB2ZWMyKDAuOCwgMC45
KSwgJChpbnB1dCkueHkpLCIsCisgICAgICIgICAgMCwgMSk7Il0uam9pbigiXG4iKSwKKyAgICBb
IiQob3V0cHV0KSA9IHZlYzQoIiwKKyAgICAgIiAgICAkKGZ1bmMpKHZlYzMoMC4zLCAwLjUsIDAu
NyksIHZlYzMoMC43LCAwLjksIDEuMCksICQoaW5wdXQpLnh5eiksIiwKKyAgICAgIiAgICAxKTsi
XS5qb2luKCJcbiIpLAorICAgIFsiJChvdXRwdXQpID0gIiwKKyAgICAgIiAgICAkKGZ1bmMpKHZl
YzQoMC4zLCAwLjQsIDAuNSwgMC4yKSwgIiwKKyAgICAgIiAgICAgICAgICAgIHZlYzQoMC43LCAw
LjYsIDAuOSwgMC44KSwgIiwKKyAgICAgIiAgICAgICAgICAgICQoaW5wdXQpKTsiXS5qb2luKCJc
biIpCisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRl
cmFsLnZlcnQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzg4ZTRlMWRhNmU4ZTU3ZDQ1MDViYTM3N2U4NjI5Y2IyNTRjMDEzMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKQEAgLTAs
MCArMSw3MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgR0xTTCBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRl
c3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZv
cm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZl
cnRleFNoYWRlciIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorCisvLyBw
YXJzaW5nIGZsb2F0aW5nIHBvaW50IGxpdGVyYWxzIHNob3VsZCBzdWNjZWVkCit2b2lkIG1haW4o
KSB7CisgIGZsb2F0IHplcm8gPSAwLjA7CisgIGZsb2F0IGZyYWN0aW9uYWxDb25zdGFudCA9IDEu
MDsKKyAgZmxvYXQgZnJhY3Rpb25hbENvbnN0YW50RXhwb25lbnQgPSAxLjBlMTsKKyAgZmxvYXQg
ZnJhY3Rpb25hbENvbnN0YW50UG9zRXhwb25lbnQgPSAxLjBlKzE7CisgIGZsb2F0IGZyYWN0aW9u
YWxDb25zdGFudE5lZ0V4cG9uZW50ID0gMS4wZS0xOworICBmbG9hdCBkaWdpdFNlcXVlbmNlRXhw
b25lbnQgPSAxZTE7CisgIGZsb2F0IGRpZ2l0U2VxdWVuY2VQb3NFeHBvbmVudCA9IDFlKzE7Cisg
IGZsb2F0IGRpZ2l0U2VxdWVuY2VOZWdFeHBvbmVudCA9IDFlLTE7CisgIGZsb2F0IHBvaW50RGln
aXQgPSAuMTsKKyAgZmxvYXQgZGlnaXRQb2ludD0gMS47CisgIGZsb2F0IHVwcGVyQ2FzZUV4cG9u
ZW50ID0gMS4wRTE7CisgIGhpZ2hwIGZsb2F0IHBvc0luUmFuZ2UgPSA0NjExNjg2MDE4NDI3Mzg3
OTAzLjsgIC8vIDJeNjIgLSAxCisgIGhpZ2hwIGZsb2F0IHBvc091dFJhbmdlID0gNDYxMTY4NjAx
ODQyNzM4NzkwNS47ICAvLyAyXjYyICsgMQorICBoaWdocCBmbG9hdCBwb3NIdWdlID0gMUUxMDA7
CisgIGhpZ2hwIGZsb2F0IG5lZ0luUmFuZ2UgPSAtNDYxMTY4NjAxODQyNzM4NzkwMy47CisgIGhp
Z2hwIGZsb2F0IG5lZ091dFJhbmdlID0gLTQ2MTE2ODYwMTg0MjczODc5MDUuOworICBoaWdocCBm
bG9hdCBuZWdIdWdlID0gMUUxMDA7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmlj
dCI7CitHTFNMQ29uZm9ybWFuY2VUZXN0ZXIucnVuVGVzdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjUwOGM3ZTdiNjJiMWIwMDU2NWM3ZWE3Y2JjYWE2YWUyOTcyZTBjZjMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRt
bApAQCAtMCwwICsxLDI2OCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgdW5pZm9ybSBwYWNraW5nIHJlc3RyY3Rpb25zIENvbmZvcm1hbmNl
IFRlc3Q8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10ZXN0LmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIy
Ij4gPC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRl
eCI+CisgICAgYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKyAgICB2b2lkIG1haW4oKQorICAg
IHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgIH0KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIHByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisgICAgdm9p
ZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZfdmFyeWluZzsKKyAgICB9
Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworICAgIHZhcnlpbmcg
dmVjNCB2X3Zhcnlpbmc7CisgICAgdW5pZm9ybSAkKHR5cGUpIHVfdW5pZm9ybVskKG51bVRlc3RU
eXBlKV07CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIHZfdmFyeWluZyA9ICQoY29k
ZSk7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4K
KzxzY3JpcHQgaWQ9ImZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVuaWZvcm0gJCh0eXBlKSB1X3Vu
aWZvcm1bJChudW1UZXN0VHlwZSldOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBn
bF9GcmFnQ29sb3IgPSAkKGNvZGUpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNo
YWRlclVuaWZvcm1UZXN0IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBhdHRyaWJ1
dGUgdmVjNCBhX3Bvc2l0aW9uOworICAgIHZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CiskKHVuaWZv
cm1zKQorICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICB2X3ZhcnlpbmcgPSAkKGNvZGUp
OworICAgICAgICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJmc2hhZGVyVW5pZm9ybVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworJCh1bmlmb3JtcykKKyAgICB2b2lkIG1h
aW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gJChjb2RlKTsKKyAgICB9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworZGVidWcoIiIp
OwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4
dCgiZXhhbXBsZSIpOworCit2YXIgdW5pZm9ybVR5cGVzID0gWworICB7IHR5cGU6ICJib29sIiwg
ICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9y
bSQoaWQpJChpbmRleCksIDAsIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAiZmxvYXQiLCAgICAgICBj
b21wb25lbnRzUGVyUm93OiAxLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQo
aW5kZXgpLCAwLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogImludCIsICAgICAgICAgY29tcG9uZW50
c1BlclJvdzogMSwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwg
MCwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWMyIiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6
IDIsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDApIiwg
fSwKKyAgeyB0eXBlOiAiaXZlYzIiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiAyLCByb3dzOiAx
LCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwLCAwKSIsIH0sCisgIHsgdHlw
ZTogImJ2ZWMyIiwgICAgICAgY29tcG9uZW50c1BlclJvdzogMiwgcm93czogMSwgY29kZTogInZl
YzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWMzIiwg
ICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDMsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9y
bSQoaWQpJChpbmRleCksIDApIiwgfSwKKyAgeyB0eXBlOiAiaXZlYzMiLCAgICAgICBjb21wb25l
bnRzUGVyUm93OiAzLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgp
LCAwKSIsIH0sCisgIHsgdHlwZTogImJ2ZWMzIiwgICAgICAgY29tcG9uZW50c1BlclJvdzogMywg
cm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCkiLCB9LAorICB7
IHR5cGU6ICJ2ZWM0IiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDEsIGNvZGU6
ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCkpIiwgfSwKKyAgeyB0eXBlOiAiaXZlYzQiLCAg
ICAgICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0k
KGlkKSQoaW5kZXgpKSIsIH0sCisgIHsgdHlwZTogImJ2ZWM0IiwgICAgICAgY29tcG9uZW50c1Bl
clJvdzogNCwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSkiLCB9
LAorLy8gWWVzLCB0aGUgc3BlYyBzYXlzIG1hdDIgdGFrZXMgNCBjb2x1bW5zLCAyIHJvd3MuCisg
IHsgdHlwZTogIm1hdDIiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czogMiwgY29k
ZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KVswXSwgMCwgMCkiLCB9LAorICB7IHR5cGU6
ICJtYXQzIiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDMsIHJvd3M6IDMsIGNvZGU6ICJ2ZWM0
KHVfdW5pZm9ybSQoaWQpJChpbmRleClbMF0sIDApIiwgfSwKKyAgeyB0eXBlOiAibWF0NCIsICAg
ICAgICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dzOiA0LCBjb2RlOiAidmVjNCh1X3VuaWZvcm0k
KGlkKSQoaW5kZXgpWzBdKSIsIH0sCisvLyBTYW1wbGVycyBnZW5lcmFsbHkgaGF2ZSBtb3JlIHJl
c3RpY3RpdmUgbGltaXRzLgorLy8gIHsgdHlwZTogInNhbXBsZXIyRCIsICAgY29tcG9uZW50c1Bl
clJvdzogMSwgcm93czogMSwgY29kZTogInZlYzQodGV4dHVyZTJEKHVfdW5pZm9ybVskKGluZGV4
KV0sIHZlYzIoMCwgMCkpKSIsIH0sCisvLyAgeyB0eXBlOiAic2FtcGxlckN1YmUiLCBjb21wb25l
bnRzUGVyUm93OiAxLCByb3dzOiAxLCBjb2RlOiAidmVjNCh0ZXh0dXJlQ3ViZSh1X3VuaWZvcm1b
JChpbmRleCldLCB2ZWMzKDAsIDAsIDApKSkiLCB9LAorXTsKKwordmFyIHZCYXNlU291cmNlID0g
d3R1LmdldFNjcmlwdCgidnNoYWRlciIpOwordmFyIGZCYXNlU291cmNlID0gd3R1LmdldFNjcmlw
dCgiZnNoYWRlciIpOwordmFyIHZBcnJheVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hh
ZGVyQXJyYXlUZXN0Iik7Cit2YXIgZkFycmF5VGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoImZz
aGFkZXJBcnJheVRlc3QiKTsKK3ZhciB2VW5pZm9ybVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0
KCJ2c2hhZGVyVW5pZm9ybVRlc3QiKTsKK3ZhciBmVW5pZm9ybVRlc3RTb3VyY2UgPSB3dHUuZ2V0
U2NyaXB0KCJmc2hhZGVyVW5pZm9ybVRlc3QiKTsKKwordmFyIHRlc3RzID0gW107Cit2YXIgc2hh
ZGVyVHlwZXMgPSBbCisgIHsgdHlwZTogInZlcnRleCIsCisgICAgLy8gRm9yIHRlc3RzIHRoYXQg
ZXhwZWN0IGZhaWx1cmUgd2hpY2ggc2hhZGVyIG1pZ2h0IGZhaWwuCisgICAgdmVydEV4cGVjdGF0
aW9uOiBmYWxzZSwKKyAgICBmcmFnRXhwZWN0YXRpb246IHRydWUsCisgICAgdmVydEFycmF5VGVz
dDogdkFycmF5VGVzdFNvdXJjZSwKKyAgICBmcmFnQXJyYXlUZXN0OiBmQmFzZVNvdXJjZSwKKyAg
ICB2ZXJ0VW5pZm9ybVRlc3Q6IHZVbmlmb3JtVGVzdFNvdXJjZSwKKyAgICBmcmFnVW5pZm9ybVRl
c3Q6IGZCYXNlU291cmNlLAorICAgIG1heFZlY3RvcnM6IGdsLmdldFBhcmFtZXRlcihnbC5NQVhf
VkVSVEVYX1VOSUZPUk1fVkVDVE9SUyksCisgICAgbWluVmVjdG9yczogMTI4LCAgLy8gR0xTTCBF
UyAxLjAuMTcgQXBwZW5kaXggQS43LAorICB9LAorICB7IHR5cGU6ICJmcmFnbWVudCIsCisgICAg
Ly8gRm9yIHRlc3RzIHRoYXQgZXhwZWN0IGZhaWx1cmUgd2hpY2ggc2hhZGVyIG1pZ2h0IGZhaWwu
CisgICAgdmVydEV4cGVjdGF0aW9uOiB0cnVlLAorICAgIGZyYWdFeHBlY3RhdGlvbjogZmFsc2Us
CisgICAgdmVydEFycmF5VGVzdDogdkJhc2VTb3VyY2UsCisgICAgZnJhZ0FycmF5VGVzdDogZkFy
cmF5VGVzdFNvdXJjZSwKKyAgICB2ZXJ0VW5pZm9ybVRlc3Q6IHZCYXNlU291cmNlLAorICAgIGZy
YWdVbmlmb3JtVGVzdDogZlVuaWZvcm1UZXN0U291cmNlLAorICAgIG1heFZlY3RvcnM6IGdsLmdl
dFBhcmFtZXRlcihnbC5NQVhfRlJBR01FTlRfVU5JRk9STV9WRUNUT1JTKSwKKyAgICBtaW5WZWN0
b3JzOiAxNiwgIC8vIEdMU0wgRVMgMS4wLjE3IEFwcGVuZGl4IEEuNywKKyAgfSwKK107Citmb3Ig
KHZhciBzcyA9IDA7IHNzIDwgc2hhZGVyVHlwZXMubGVuZ3RoOyArK3NzKSB7CisgIHZhciBzaGFk
ZXJUeXBlID0gc2hhZGVyVHlwZXNbc3NdOworICBkZWJ1ZygibWF4ICIgKyBzaGFkZXJUeXBlLnR5
cGUgKyAiOiAiICsgc2hhZGVyVHlwZS5tYXhWZWN0b3JzKTsKKyAgZm9yICh2YXIgaWkgPSAwOyBp
aSA8IHVuaWZvcm1UeXBlcy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgaW5mbyA9IHVuaWZvcm1U
eXBlc1tpaV07CisgICAgd3R1LmxvZygiY2hlY2tpbmc6ICIgKyBpbmZvLnR5cGUpOworICAgIC8v
IENvbXB1dGUgdGhlIG1heGltdW0gYW1vdW50IG9mIHRoaXMgdHlwZSBhbGxvd2VkIGluIGEgc2lu
Z2xlIGFycmF5LgorICAgIHZhciBudW1WYXJzID0gTWF0aC5mbG9vcihzaGFkZXJUeXBlLm1heFZl
Y3RvcnMgLyBpbmZvLnJvd3MpOworICAgIC8vIENvbXB1dGUgdGhlIG1pbmltdW0gcmVxdWlyZWQg
dG8gd29yayBpbiBhIHNpbmdsZSBhcnJheS4KKyAgICB2YXIgbWluVmFycyA9IE1hdGguZmxvb3Io
c2hhZGVyVHlwZS5taW5WZWN0b3JzIC8gaW5mby5yb3dzKTsKKyAgICAvLyBUZXN0IGFycmF5WzFd
IG9mIHRoZSB0eXBlCisgICAgdmFyIGNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUs
IHtpZDogIiIsIGluZGV4OiAiWzBdIn0pOworICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRl
clNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0QXJyYXlUZXN0LCB7bnVt
VGVzdFR5cGU6IDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiB0
cnVlLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5m
cmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAg
IGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICBw
YXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2Yg
IiArIGluZm8udHlwZSArICIgd2l0aCAxIGVsZW1lbnQgc2hvdWxkIHN1Y2NlZWQiLAorICAgIH0p
OworICAgIC8vIFRlc3QgYXJyYXlbbWF4XSBvZiB0aGUgdHlwZQorICAgIC8vIE5vdGU6IFdlIGNh
bid0IHRlc3QgdGhpcyBhcyBhY3R1YWwgR0wgZHJpdmVycyBhcmUgb25seSByZXF1aXJlZCB0byBi
ZSBhYmxlIHRvCisgICAgLy8gZG8gdGhlIG1pbmltdW0gbnVtYmVyLiBBZnRlciB0aGF0IGl0IGNh
biBmYWlsIGZvciBhbnkgcmVhc29uLgorICAgIGlmIChmYWxzZSkgeworICAgICAgdmFyIGNvZGUg
PSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyAobnVt
VmFycyAtIDEpICsgIl0ifSk7CisgICAgICB0ZXN0cy5wdXNoKHsKKyAgICAgICAgdlNoYWRlclNv
dXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0QXJyYXlUZXN0LCB7bnVtVGVz
dFR5cGU6IG51bVZhcnMsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgICAgdlNoYWRlclN1Y2Nl
c3M6IHRydWUsCisgICAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRl
clR5cGUuZnJhZ0FycmF5VGVzdCwge251bVRlc3RUeXBlOiBudW1WYXJzLCBjb2RlOiBjb2RlfSwg
aW5mbyksCisgICAgICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgICBsaW5rU3VjY2Vz
czogdHJ1ZSwKKyAgICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0
aCB1bmlmb3JtIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIG51bVZhcnMgKyAi
IGVsZW1lbnRzICh0aGUgbWF4aW11bSkgc2hvdWxkIHN1Y2NlZWQiLAorICAgICAgfSk7CisgICAg
fQorCisgICAgLy8gVGVzdCByZXF1aXJlZCBudW1iZXIgb2YgdW5pZm9ybXMKKyAgICB2YXIgY29k
ZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArICht
aW5WYXJzIC0gMSkgKyAiXSJ9KTsKKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3Vy
Y2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUudmVydEFycmF5VGVzdCwge251bVRlc3RU
eXBlOiBtaW5WYXJzLCBjb2RlOiBjb2RlfSwgaW5mbyksCisgICAgICB2U2hhZGVyU3VjY2Vzczog
dHJ1ZSwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUu
ZnJhZ0FycmF5VGVzdCwge251bVRlc3RUeXBlOiBtaW5WYXJzLCBjb2RlOiBjb2RlfSwgaW5mbyks
CisgICAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGxpbmtTdWNjZXNzOiB0cnVlLAor
ICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCB1bmlmb3JtIGFy
cmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIG1pblZhcnMgKyAiIGVsZW1lbnRzICh0
aGUgbWluaW11bSByZXF1aXJlZCkgc2hvdWxkIHN1Y2NlZWQiLAorICAgIH0pOworCisgICAgLy8g
VGVzdCBhcnJheVttYXggKyAxXSBhY2Nlc3NpbmcgbGFzdCBlbGVtZW50LiBXZWJHTCByZXF1aXJl
cyB0aGlzIHRvIGZhaWwuCisgICAgdmFyIGNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNv
ZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyBudW1WYXJzICsgIl0ifSk7CisgICAgdGVzdHMucHVz
aCh7CisgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZl
cnRBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEsIGNvZGU6IGNvZGV9LCBpbmZv
KSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLnZlcnRFeHBlY3RhdGlvbiwKKyAg
ICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ0FycmF5
VGVzdCwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgY29kZTogY29kZX0sIGluZm8pLAorICAg
ICAgZlNoYWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUuZnJhZ0V4cGVjdGF0aW9uLAorICAgICAgbGlu
a1N1Y2Nlc3M6IGZhbHNlLAorICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFk
ZXIgd2l0aCB1bmlmb3JtIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIChudW1W
YXJzICsgMSkgKyAiIGVsZW1lbnRzIChvbmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3NpbmcgbGFzdCBl
bGVtZW50IHNob3VsZCBmYWlsIiwKKyAgICB9KTsKKworICAgIC8vIFRlc3QgYXJyYXlbbWF4ICsg
MV0gYWNjZXNzaW5nIGZpcnN0IGVsZW1lbnQuIFdlYkdMIHJlcXVpcmVzIHRoaXMgdG8gZmFpbCBi
dXQgRVMgYWxsb3dzIHRydW5jYXRpbmcgYXJyYXkuCisgICAgdmFyIGNvZGUgPSB3dHUucmVwbGFj
ZVBhcmFtcyhpbmZvLmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0pOworICAgIHRlc3RzLnB1
c2goeworICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52
ZXJ0QXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCBjb2RlOiBjb2RlfSwgaW5m
byksCisgICAgICB2U2hhZGVyU3VjY2Vzczogc2hhZGVyVHlwZS52ZXJ0RXhwZWN0YXRpb24sCisg
ICAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdBcnJh
eVRlc3QsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAg
ICAgIGZTaGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLmZyYWdFeHBlY3RhdGlvbiwKKyAgICAgIGxp
bmtTdWNjZXNzOiBmYWxzZSwKKyAgICAgIHBhc3NNc2c6IHNoYWRlclR5cGUudHlwZSArICIgc2hh
ZGVyIHdpdGggdW5pZm9ybSBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRoICIgKyAobnVt
VmFycyArIDEpICsgIiBlbGVtZW50cyAob25lIHBhc3QgbWF4aW11bSkgYWNjZXNzaW5nIGZpcnN0
IGVsZW1lbnQgc2hvdWxkIGZhaWwiLAorICAgIH0pOworCisgICAgLy8gVGVzdCBtYXggdW5pZm9y
bXMgb2YgdHlwZS4KKyAgICAvLyBOb3RlOiBXZSBjYW4ndCB0ZXN0IHRoaXMgYXMgYWN0dWFsIEdM
IGRyaXZlcnMgYXJlIG9ubHkgcmVxdWlyZWQgdG8gYmUgYWJsZSB0bworICAgIC8vIGRvIHRoZSBt
aW5pbXVtIG51bWJlci4gQWZ0ZXIgdGhhdCBpdCBjYW4gZmFpbCBmb3IgYW55IHJlYXNvbi4KKyAg
ICBpZiAoZmFsc2UpIHsKKyAgICB9CisKKyAgICB2YXIgZ2VuZXJhdGVDb2RlID0gZnVuY3Rpb24o
bnVtVmFycykgeworICAgICAgdmFyIHVuaWZvcm1zID0gW107CisgICAgICB2YXIgY29kZXMgPSBb
XTsKKyAgICAgIGZvciAodmFyIHV1ID0gMDsgdXUgPCBudW1WYXJzOyArK3V1KSB7CisgICAgICAg
IHVuaWZvcm1zLnB1c2goIiAgICB1bmlmb3JtICIgKyBpbmZvLnR5cGUgKyAiIHVfdW5pZm9ybSIg
KyB1dSArICI7Iik7CisgICAgICAgIGNvZGVzLnB1c2god3R1LnJlcGxhY2VQYXJhbXMoaW5mby5j
b2RlLCB7aWQ6IHV1LCBpbmRleDogIiJ9KSk7CisgICAgICB9CisgICAgICByZXR1cm4geworICAg
ICAgICB1bmlmb3JtczogdW5pZm9ybXMuam9pbigiXG4iKSwKKyAgICAgICAgY29kZTogY29kZXMu
am9pbigiICsgXG4gICAgICAgICAgICAiKSwKKyAgICAgIH07CisgICAgfTsKKworICAgIC8vIFRl
c3QgbWF4KzEgdW5pZm9ybXMgb2YgdHlwZS4KKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFk
ZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUudmVydFVuaWZvcm1UZXN0LCBn
ZW5lcmF0ZUNvZGUobnVtVmFycyArIDEpLCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiBz
aGFkZXJUeXBlLnZlcnRFeHBlY3RhdGlvbiwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBs
YWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ1VuaWZvcm1UZXN0LCBnZW5lcmF0ZUNvZGUobnVtVmFy
cyArIDEpLCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLmZyYWdFeHBl
Y3RhdGlvbiwKKyAgICAgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgICAgIHBhc3NNc2c6IHNoYWRl
clR5cGUudHlwZSArICIgc2hhZGVyIHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIHVuaWZvcm1z
IG9mICIgKyBpbmZvLnR5cGUgKyAiIChvbmUgcGFzdCBtYXhpbXVtKSBzaG91bGQgZmFpbCIsCisg
ICAgfSk7CisKKyAgICAvLyBUZXN0IHJlcXVpcmVkIHVuaWZvcm1zIG9mIHR5cGUuCisgICAgdGVz
dHMucHVzaCh7CisgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJU
eXBlLnZlcnRVbmlmb3JtVGVzdCwgZ2VuZXJhdGVDb2RlKG1pblZhcnMpLCBpbmZvKSwKKyAgICAg
IHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQ
YXJhbXMoc2hhZGVyVHlwZS5mcmFnVW5pZm9ybVRlc3QsIGdlbmVyYXRlQ29kZShtaW5WYXJzKSwg
aW5mbyksCisgICAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGxpbmtTdWNjZXNzOiB0
cnVlLAorICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCAiICsg
bWluVmFycyArICIgdW5pZm9ybXMgb2YgIiArIGluZm8udHlwZSArICIgKHRoZSBtaW5pbXVtIHJl
cXVpcmVkKSBzaG91bGQgc3VjY2VlZCIsCisgICAgfSk7CisgIH0KK30KK0dMU0xDb25mb3JtYW5j
ZVRlc3Rlci5ydW5UZXN0cyh0ZXN0cyk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3MzY0MjMyNmY2
MTQ4MjZkYzA0YzE0ZTA4NmVkNDMyNTQ2M2FkM2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbApAQCAtMCwwICsxLDIy
MCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgdmFyeWluZyBwYWNraW5nIHJlc3RyY3Rpb25zIENvbmZvcm1hbmNlIFRlc3Q8L3RpdGxlPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8
c2NyaXB0IGlkPSJ2c2hhZGVyQXJyYXlUZXN0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+Cith
dHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOwordmFyeWluZyAkKHR5cGUpIHZfdmFyeWluZ1skKG51
bVRlc3RUeXBlKV07Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlv
bjsKKyAgICAkKHZjb2RlKQorfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyQXJyYXlU
ZXN0IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKKyAgICB2YXJ5aW5nICQodHlwZSkgdl92YXJ5aW5nWyQobnVtVGVzdFR5cGUpXTsKKyAg
ICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gJChmY29kZSk7Cisg
ICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyVmFyeWluZ1Rlc3QiIHR5cGU9Ingt
c2hhZGVyL3gtZnJhZ21lbnQiPgorYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKyQodmFyeWlu
Z3MpCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3Np
dGlvbjsKKyAgICAgICAgJCh2Y29kZSkKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZz
aGFkZXJWYXJ5aW5nVGVzdCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7CiskKHZhcnlpbmdzKQorICAgIHZvaWQgbWFpbigpCisgICAgewor
ICAgICAgICBnbF9GcmFnQ29sb3IgPSAkKGZjb2RlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3Jp
cHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworZGVidWcoIiIpOwordmFyIHd0dSA9
IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIp
OworCit2YXIgdmFyeWluZ1R5cGVzID0gWworICB7IHR5cGU6ICJmbG9hdCIsICAgICAgIGNvbXBv
bmVudHNQZXJSb3c6IDEsIHJvd3M6IDEsIHZjb2RlOiAidl92YXJ5aW5nJChpZCkkKGluZGV4KSA9
IDEuMDsiLCAgICAgICAgICAgICAgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleCks
IDAsIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAidmVjMiIsICAgICAgICBjb21wb25lbnRzUGVyUm93
OiAyLCByb3dzOiAxLCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkgPSB2ZWMyKDAsIDAp
OyIsICAgICAgIGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpLCAwLCAwKSIsIH0s
CisgIHsgdHlwZTogInZlYzMiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czogMSwg
dmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gdmVjMygwLCAwLCAwKTsiLCAgICBmY29k
ZTogInZlYzQodl92YXJ5aW5nJChpZCkkKGluZGV4KSwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWM0
IiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDEsIHZjb2RlOiAidl92YXJ5aW5n
JChpZCkkKGluZGV4KSA9IHZlYzQoMCwgMCwgMCwgMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWlu
ZyQoaWQpJChpbmRleCkpIiwgfSwKKy8vIFllcywgdGhlIHNwZWMgc2F5cyBtYXQyIHRha2VzIDQg
Y29sdW1ucywgMiByb3dzLiAgICB2Y29kZTogIiIsCisgIHsgdHlwZTogIm1hdDIiLCAgICAgICAg
Y29tcG9uZW50c1BlclJvdzogNCwgcm93czogMiwgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5k
ZXgpID0gbWF0MigxLjApOyIsIGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpWzBd
LCAwLCAwKSIsIH0sCisgIHsgdHlwZTogIm1hdDMiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzog
Mywgcm93czogMywgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gbWF0MygxLjApOyIs
IGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpWzBdLCAwKSIsIH0sCisgIHsgdHlw
ZTogIm1hdDQiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czogNCwgdmNvZGU6ICJ2
X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gbWF0NCgxLjApOyIsIGZjb2RlOiAidmVjNCh2X3Zhcnlp
bmckKGlkKSQoaW5kZXgpWzBdKSIsIH0sCitdOworCit2YXIgdkFycmF5VGVzdFNvdXJjZSA9IHd0
dS5nZXRTY3JpcHQoInZzaGFkZXJBcnJheVRlc3QiKTsKK3ZhciBmQXJyYXlUZXN0U291cmNlID0g
d3R1LmdldFNjcmlwdCgiZnNoYWRlckFycmF5VGVzdCIpOwordmFyIHZWYXJ5aW5nVGVzdFNvdXJj
ZSA9IHd0dS5nZXRTY3JpcHQoInZzaGFkZXJWYXJ5aW5nVGVzdCIpOwordmFyIGZWYXJ5aW5nVGVz
dFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXJWYXJ5aW5nVGVzdCIpOworCit2YXIgbWlu
VmFyeWluZ1ZlY3RvcnMgPSA4OwordmFyIG1heFZhcnlpbmdWZWN0b3JzID0gZ2wuZ2V0UGFyYW1l
dGVyKGdsLk1BWF9WQVJZSU5HX1ZFQ1RPUlMpOwordmFyIHRlc3RzID0gW107CisKK2ZvciAodmFy
IGlpID0gMDsgaWkgPCB2YXJ5aW5nVHlwZXMubGVuZ3RoOyArK2lpKSB7CisgIHZhciBpbmZvID0g
dmFyeWluZ1R5cGVzW2lpXTsKKyAgd3R1LmxvZygiY2hlY2tpbmc6ICIgKyBpbmZvLnR5cGUpOwor
ICAvLyBDb21wdXRlIHRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aGlzIHR5cGUgYWxsb3dlZCBpbiBh
IHNpbmdsZSBhcnJheS4KKyAgdmFyIG51bVZhcnMgPSBNYXRoLmZsb29yKG1heFZhcnlpbmdWZWN0
b3JzIC8gaW5mby5yb3dzKTsKKyAgLy8gQ29tcHV0ZSB0aGUgbWluaW11bSByZXF1aXJlZCB0byB3
b3JrIGluIGEgc2luZ2xlIGFycmF5LgorICB2YXIgbWluVmFycyA9IE1hdGguZmxvb3IobWluVmFy
eWluZ1ZlY3RvcnMgLyBpbmZvLnJvd3MpOworICAvLyBUZXN0IGFycmF5WzFdIG9mIHRoZSB0eXBl
CisgIHZhciB2Y29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGlu
ZGV4OiAiWzBdIn0pOworICB2YXIgZmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2Rl
LCB7aWQ6ICIiLCBpbmRleDogIlswXSJ9KTsKKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNv
dXJjZTogd3R1LnJlcGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiAx
LCB2Y29kZTogdmNvZGV9LCBpbmZvKSwKKyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBm
U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmQXJyYXlUZXN0U291cmNlLCB7bnVtVGVz
dFR5cGU6IDEsIGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVl
LAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggdmFy
eWluZyBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRoIDEgZWxlbWVudCBzaG91bGQgc3Vj
Y2VlZCIsCisgIH0pOworICAvLyBkbyB0aGUgbWluaW11bSBudW1iZXIuIEFmdGVyIHRoYXQgaXQg
Y2FuIGZhaWwgZm9yIGFueSByZWFzb24uCisgIGlmIChmYWxzZSkgeworICAgIHZhciB2Y29kZSA9
IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyAobnVt
VmFycyAtIDEpICsgIl0ifSk7CisgICAgdmFyIGZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5m
by5mY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChudW1WYXJzIC0gMSkgKyAiXSJ9KTsKKyAg
ICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHZB
cnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbnVtVmFycywgdmNvZGU6IHZjb2RlfSwgaW5m
byksCisgICAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0
dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbnVtVmFycywg
ZmNvZGU6IGZjb2RlfSwgaW5mbyksCisgICAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAg
IGxpbmtTdWNjZXNzOiB0cnVlLAorICAgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5n
IGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIG51bVZhcnMgKyAiIGVsZW1lbnRz
ICh0aGUgbWF4aW11bSkgc2hvdWxkIHN1Y2NlZWQiLAorICAgIH0pOworICB9CisKKyAgLy8gVGVz
dCByZXF1aXJlZCBudW1iZXIgb2YgdW5pZm9ybXMKKyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQ
YXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChtaW5WYXJzIC0gMSkgKyAi
XSJ9KTsKKyAgdmFyIGZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby5mY29kZSwge2lkOiAi
IiwgaW5kZXg6ICJbIiArIChtaW5WYXJzIC0gMSkgKyAiXSJ9KTsKKyAgdGVzdHMucHVzaCh7Cisg
ICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251
bVRlc3RUeXBlOiBtaW5WYXJzLCB2Y29kZTogdmNvZGV9LCBpbmZvKSwKKyAgICB2U2hhZGVyU3Vj
Y2VzczogdHJ1ZSwKKyAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmQXJyYXlU
ZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIGZjb2RlOiBmY29kZX0sIGluZm8pLAor
ICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBh
c3NNc2c6ICJzaGFkZXJzIHdpdGggdmFyeWluZyBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3
aXRoICIgKyBtaW5WYXJzICsgIiBlbGVtZW50cyAodGhlIG1pbmltdW0gcmVxdWlyZWQpIHNob3Vs
ZCBzdWNjZWVkIiwKKyAgfSk7CisKKyAgLy8gVGVzdCBhcnJheVttYXggKyAxXSBhY2Nlc3Npbmcg
bGFzdCBlbGVtZW50LiBXZWJHTCByZXF1aXJlcyB0aGlzIHRvIGZhaWwuCisgIHZhciB2Y29kZSA9
IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyBudW1W
YXJzICsgIl0ifSk7CisgIHZhciBmY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNvZGUs
IHtpZDogIiIsIGluZGV4OiAiWyIgKyBudW1WYXJzICsgIl0ifSk7CisgIHRlc3RzLnB1c2goewor
ICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHZBcnJheVRlc3RTb3VyY2UsIHtu
dW1UZXN0VHlwZTogbnVtVmFycyArIDEsIHZjb2RlOiB2Y29kZX0sIGluZm8pLAorICAgIHZTaGFk
ZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhm
QXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCBmY29kZTogZmNvZGV9
LCBpbmZvKSwKKyAgICBmU2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgbGlua1N1Y2Nlc3M6IGZh
bHNlLAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggdmFyeWluZyBhcnJheSBvZiAiICsgaW5m
by50eXBlICsgIiB3aXRoICIgKyAobnVtVmFycyArIDEpICsgIiBlbGVtZW50cyAob25lIHBhc3Qg
bWF4aW11bSkgYWNjZXNzaW5nIGxhc3QgZWxlbWVudCBzaG91bGQgZmFpbCIsCisgIH0pOworCisg
IC8vIFRlc3QgYXJyYXlbbWF4ICsgMV0gYWNjZXNzaW5nIGZpcnN0IGVsZW1lbnQuIFdlYkdMIHJl
cXVpcmVzIHRoaXMgdG8gZmFpbCBidXQgRVMgYWxsb3dzIHRydW5jYXRpbmcgYXJyYXkuCisgIHZh
ciB2Y29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGluZGV4OiAi
WzBdIn0pOworICB2YXIgZmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6
ICIiLCBpbmRleDogIlswXSJ9KTsKKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTog
d3R1LnJlcGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJz
ICsgMSwgdmNvZGU6IHZjb2RlfSwgaW5mbyksCisgICAgdlNoYWRlclN1Y2Nlc3M6IGZhbHNlLAor
ICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtu
dW1UZXN0VHlwZTogbnVtVmFycyArIDEsIGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgIGZTaGFk
ZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzog
InNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiAr
IChudW1WYXJzICsgMSkgKyAiIGVsZW1lbnRzIChvbmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3Npbmcg
Zmlyc3QgZWxlbWVudCBzaG91bGQgZmFpbCIsCisgIH0pOworCisgIC8vIFRlc3QgbWF4IHVuaWZv
cm1zIG9mIHR5cGUuCisgIC8vIE5vdGU6IFdlIGNhbid0IHRlc3QgdGhpcyBhcyBhY3R1YWwgR0wg
ZHJpdmVycyBhcmUgb25seSByZXF1aXJlZCB0byBiZSBhYmxlIHRvCisgIC8vIGRvIHRoZSBtaW5p
bXVtIG51bWJlci4gQWZ0ZXIgdGhhdCBpdCBjYW4gZmFpbCBmb3IgYW55IHJlYXNvbi4KKyAgaWYg
KGZhbHNlKSB7CisgIH0KKworICB2YXIgZ2VuZXJhdGVDb2RlID0gZnVuY3Rpb24obnVtVmFycykg
eworICAgIHZhciB2YXJ5aW5ncyA9IFtdOworICAgIHZhciB2Y29kZXMgPSBbXTsKKyAgICB2YXIg
ZmNvZGVzID0gW107CisgICAgZm9yICh2YXIgdXUgPSAwOyB1dSA8IG51bVZhcnM7ICsrdXUpIHsK
KyAgICAgIHZhcnlpbmdzLnB1c2goIiAgICB2YXJ5aW5nICIgKyBpbmZvLnR5cGUgKyAiIHZfdmFy
eWluZyIgKyB1dSArICI7Iik7CisgICAgICB2Y29kZXMucHVzaCh3dHUucmVwbGFjZVBhcmFtcyhp
bmZvLnZjb2RlLCB7aWQ6IHV1LCBpbmRleDogIiJ9KSk7CisgICAgICBmY29kZXMucHVzaCh3dHUu
cmVwbGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6IHV1LCBpbmRleDogIiJ9KSk7CisgICAgfQor
ICAgIHJldHVybiB7CisgICAgICB2YXJ5aW5nczogdmFyeWluZ3Muam9pbigiXG4iKSwKKyAgICAg
IHZjb2RlOiB2Y29kZXMuam9pbigiXG4gICAgICAgICAgICAiKSwKKyAgICAgIGZjb2RlOiBmY29k
ZXMuam9pbigiICsgXG4gICAgICAgICAgICAiKSwKKyAgICB9OworICB9OworCisgIC8vIFRlc3Qg
bWF4KzEgdmFyeWluZ3Mgb2YgdHlwZS4KKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJj
ZTogd3R1LnJlcGxhY2VQYXJhbXModlZhcnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNvZGUobnVt
VmFycyArIDEpLCBpbmZvKSwKKyAgICB2U2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgZlNoYWRl
clNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoZlZhcnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNv
ZGUobnVtVmFycyArIDEpLCBpbmZvKSwKKyAgICBmU2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAg
bGlua1N1Y2Nlc3M6IGZhbHNlLAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggIiArIChudW1W
YXJzICsgMSkgKyAiIHZhcnlpbmdzIG9mICIgKyBpbmZvLnR5cGUgKyAiIChvbmUgcGFzdCBtYXhp
bXVtKSBzaG91bGQgZmFpbCIsCisgIH0pOworCisgIC8vIFRlc3QgcmVxdWlyZWQgdmFyeWluZ3Mg
b2YgdHlwZS4KKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQ
YXJhbXModlZhcnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNvZGUobWluVmFycyksIGluZm8pLAor
ICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNl
UGFyYW1zKGZWYXJ5aW5nVGVzdFNvdXJjZSwgZ2VuZXJhdGVDb2RlKG1pblZhcnMpLCBpbmZvKSwK
KyAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICBw
YXNzTXNnOiAic2hhZGVycyB3aXRoICIgKyBtaW5WYXJzICsgIiB2YXJ5aW5ncyBvZiAiICsgaW5m
by50eXBlICsgIiAodGhlIG1pbmltdW0gcmVxdWlyZWQpIHNob3VsZCBzdWNjZWVkIiwKKyAgfSk7
Cit9CisKK0dMU0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0cyh0ZXN0cyk7Cit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5n
LWFycmF5cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29u
dGFpbmluZy1hcnJheXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZGM2OGE5NDJkNjQ0ZjdmMGZmM2U2ZmY1
YTIxZGEyMWJhZmE3NzFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRo
LWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbApAQCAtMCwwICsxLDE1NyBA
QAorCis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5HTFNM
IEFycmF5IG9mIFN0cnVjdHMgQ29udGFpbmluZyBBcnJheXM8L3RpdGxlPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVy
ZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPiA8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0idnNoYWRlciIsIHR5cGU9Ingtc2hh
ZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247Cit2b2lkIG1haW4odm9p
ZCkgeworICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0iZnNoYWRlcjAiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0Oworc3RydWN0IG15X3N0cnVjdCB7CisgIHZlYzQgY29sb3JbMl07Cit9Owor
dW5pZm9ybSBteV9zdHJ1Y3QgdV9jb2xvcnNbMl07Cit2b2lkIG1haW4odm9pZCkgeworICAgIGds
X0ZyYWdDb2xvciA9IHVfY29sb3JzWzBdLmNvbG9yWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJmc2hhZGVyMSIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CitzdHJ1Y3QgbXlfc3RydWN0IHsKKyAgdmVjNCBjb2xvclsyXTsKK307Cit1
bmlmb3JtIG15X3N0cnVjdCB1X2NvbG9yc1syXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xf
RnJhZ0NvbG9yID0gdV9jb2xvcnNbMF0uY29sb3JbMV07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
aWQ9ImZzaGFkZXItd2l0aC1vbmUtZWxlbWVudC1hcnJheXMiLCB0eXBlPSJ4LXNoYWRlci94LWZy
YWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Oworc3RydWN0IG15X3N0cnVjdCB7Cisg
IHZlYzQgY29sb3JbMV07Cit9OwordW5pZm9ybSBteV9zdHJ1Y3QgdV9jb2xvcnNbMV07Cit2b2lk
IG1haW4odm9pZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfY29sb3JzWzBdLmNvbG9yWzBdOwor
fQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMyIsIHR5cGU9Ingtc2hhZGVyL3gtZnJh
Z21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CitzdHJ1Y3QgbXlfc3RydWN0IHsKKyAg
dmVjNCBjb2xvcjFbMl07CisgIHZlYzQgY29sb3IyWzJdOworfTsKK3VuaWZvcm0gbXlfc3RydWN0
IHVfY29sb3JzWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X2Nv
bG9yc1swXS5jb2xvcjFbMF0gKyB1X2NvbG9yc1swXS5jb2xvcjJbMF0gKyB1X2NvbG9yc1sxXS5j
b2xvcjFbMV0gK3VfY29sb3JzWzFdLmNvbG9yMlsxXTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52
YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworCit2YXIgd3R1ID0g
V2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjYW52YXMiKTsK
K3d0dS5zZXR1cFVuaXRRdWFkKGdsKTsKKworZm9yICh2YXIgaWkgPSAwOyBpaSA8IDI7ICsraWkp
IHsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNo
YWRlciIgKyBpaV0sIFsiYV9wb3NpdGlvbiJdKTsKKyAgdmFyIHJlZF9sb2MgPSBnbC5nZXRVbmlm
b3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzBdLmNvbG9yWyIgKyBpaSAgKyAiXSIpOwor
ICB2YXIgZ3JlZW5fbG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9y
c1swXS5jb2xvclsiICsgKDEgLSBpaSkgKyAiXSIpOworICBnbC51bmlmb3JtNGZ2KHJlZF9sb2Ms
IFsxLCAwLCAwLCAxXSk7CisgIGdsLnVuaWZvcm00ZnYoZ3JlZW5fbG9jLCBbMCwgMSwgMCwgMV0p
OworICB3dHUuZHJhd1F1YWQoZ2wpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAs
IDI1NV0sICJTaG91bGQgYmUgcmVkIik7Cit9CisKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJv
Z3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXItd2l0aC1vbmUtZWxlbWVudC1hcnJheXMiXSwg
WyJhX3Bvc2l0aW9uIl0pOwordmFyIGdyZWVuX2xvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihw
cm9ncmFtLCAidV9jb2xvcnNbMF0uY29sb3JbMF0iKTsKK2dsLnVuaWZvcm00ZnYoZ3JlZW5fbG9j
LCBbMCwgMSwgMCwgMV0pOword3R1LmRyYXdRdWFkKGdsKTsKK3d0dS5jaGVja0NhbnZhcyhnbCwg
WzAsIDI1NSwgMCwgMjU1XSwgIlNob3VsZCBiZSBncmVlbiIpOworCit2YXIgcHJvZ3JhbSA9IHd0
dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyMyJdLCBbImFfcG9zaXRpb24i
XSk7Cit2YXIgbnVtVW5pZm9ybXMgPSBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGds
LkFDVElWRV9VTklGT1JNUyk7CitzaG91bGRCZSgibnVtVW5pZm9ybXMiLCAiNCIpOwordmFyIHVu
aWZvcm1zID0gW10KK2ZvciAodmFyIGlpID0gMDsgaWkgPCBudW1Vbmlmb3JtczsgKytpaSkgewor
ICB1bmlmb3Jtcy5wdXNoKGdsLmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgaWkpLm5hbWUpOwor
fQordW5pZm9ybXMuc29ydCgpOworc2hvdWxkQmUoInVuaWZvcm1zWzBdIiwgJyJ1X2NvbG9yc1sw
XS5jb2xvcjFbMF0iJyk7CitzaG91bGRCZSgidW5pZm9ybXNbMV0iLCAnInVfY29sb3JzWzBdLmNv
bG9yMlswXSInKTsKK3Nob3VsZEJlKCJ1bmlmb3Jtc1syXSIsICcidV9jb2xvcnNbMV0uY29sb3Ix
WzBdIicpOworc2hvdWxkQmUoInVuaWZvcm1zWzNdIiwgJyJ1X2NvbG9yc1sxXS5jb2xvcjJbMF0i
Jyk7Cit2YXIgbG9jMDAgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3Jz
WzBdLmNvbG9yMSIpOwordmFyIGxvYzAxID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0s
ICJ1X2NvbG9yc1swXS5jb2xvcjIiKTsKK3ZhciBsb2MxMCA9IGdsLmdldFVuaWZvcm1Mb2NhdGlv
bihwcm9ncmFtLCAidV9jb2xvcnNbMV0uY29sb3IxIik7Cit2YXIgbG9jMTEgPSBnbC5nZXRVbmlm
b3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzFdLmNvbG9yMiIpOworc2hvdWxkQmVUcnVl
KCJsb2MwMCAhPSB1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgibG9jMDEgIT0gdW5kZWZpbmVk
Iik7CitzaG91bGRCZVRydWUoImxvYzEwICE9IHVuZGVmaW5lZCIpOworc2hvdWxkQmVUcnVlKCJs
b2MxMSAhPSB1bmRlZmluZWQiKTsKK2dsLnVuaWZvcm00ZnYobG9jMDAsIFsxLCAwLCAwLCAwXSk7
CitnbC51bmlmb3JtNGZ2KGxvYzAxLCBbMCwgMSwgMCwgMF0pOworZ2wudW5pZm9ybTRmdihsb2Mx
MCwgWzAsIDAsIDAsIDAsIDAsIDAsIDEsIDBdKTsKK2dsLnVuaWZvcm00ZnYobG9jMTEsIFswLCAw
LCAwLCAwLCAwLCAwLCAwLCAxXSk7Cit2YXIgbG9jMTAxID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9u
KHByb2dyYW0sICJ1X2NvbG9yc1sxXS5jb2xvcjFbMV0iKTsKK3ZhciBsb2MxMTEgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzFdLmNvbG9yMlsxXSIpOworc2hvdWxk
QmVUcnVlKCJsb2MxMDEgIT0gdW5kZWZpbmVkIik7CitzaG91bGRCZVRydWUoImxvYzExMSAhPSB1
bmRlZmluZWQiKTsKK3d0dS5kcmF3UXVhZChnbCwgWzAsIDAsIDAsIDBdKTsKK2dsLnVuaWZvcm00
ZnYobG9jMTAxLCBbMCwgMCwgMCwgMF0pOworZ2wudW5pZm9ybTRmdihsb2MxMTEsIFswLCAwLCAw
LCAwXSk7Cit3dHUuZHJhd1F1YWQoZ2wsIFswLCAwLCAwLCAwXSk7Cit3dHUuY2hlY2tDYW52YXMo
Z2wsIFsyNTUsIDI1NSwgMCwgMF0sICJTaG91bGQgYmUgeWVsbG93Iik7CisKK2dsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBzaG91bGQgYmUgbm8gZXJyb3JzIik7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUt
cHJlY2lzaW9uLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwODhhY2Y5YWFiZTc5
MzNiZTIwODNmNjU1MjUzNmE3ZDc5ZThiZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sCkBAIC0w
LDAgKzEsMTI0IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBHTFNMIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUt
dGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wt
Y29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3QuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJXaXRoTWVkaXVtcEdsb2Jh
bCIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorLy8gVGhlcmUgaXMgbm8g
ZGVmYXVsdCBwcmVjaXNpb24gaW4gZnJhZ21lbnQgc2hhZGVycywgc28gc3BlY2lmeSBtZWRpdW1w
LgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gdmVjNCBmb287CisKK3ZvaWQg
bWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gZm9vOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJmc2hhZGVyV2l0aE1lZGl1bXBHbG9iYWxTdHJ1Y3QiIHR5cGU9InRleHQvc29tZXRoaW5n
LW5vdC1qYXZhc2NyaXB0Ij4KKy8vIFRoZXJlIGlzIG5vIGRlZmF1bHQgcHJlY2lzaW9uIGluIGZy
YWdtZW50IHNoYWRlcnMsIHNvIHNwZWNpZnkgbWVkaXVtcC4KK3ByZWNpc2lvbiBtZWRpdW1wIGZs
b2F0OworCitzdHJ1Y3QgZm9vCit7CisgICB2ZWM0IGJhcjsKK307CisKK3VuaWZvcm0gZm9vIGJh
ejsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSBiYXouYmFyOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyV2l0aEhpZ2hwR2xvYmFsIiB0eXBlPSJ4LXNoYWRl
ci94LXZlcnRleCI+CisvLyBEZWZhdWx0IHByZWNpc2lvbiBmb3IgdmVydGV4IHNoYWRlcnMgaXMg
aGlnaHAuCit1bmlmb3JtIHZlYzQgZm9vOworCit2b2lkIG1haW4oKSB7CisgICAgZ2xfUG9zaXRp
b24gPSBmb287Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXJXaXRoSGlnaHBHbG9i
YWxTdHJ1Y3QiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKy8vIERlZmF1bHQgcHJlY2lzaW9u
IGZvciB2ZXJ0ZXggc2hhZGVycyBpcyBoaWdocC4KK3N0cnVjdCBmb28KK3sKKyAgIHZlYzQgYmFy
OworfTsKKwordW5pZm9ybSBmb28gYmF6OworCit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0
aW9uID0gYmF6LmJhcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rl
c2NyaXB0aW9uKCJDaGVja3Mgc2hhZGVycyB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgYW5kIHByZWNp
c2lvbiBxdWFsaWZpZXIgbWlzbWF0Y2guIik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsK
KwordmFyIGdsc2xUZXN0cyA9IFtdOworCitnbHNsVGVzdHMucHVzaCh7CisgIHZTaGFkZXJJZDog
J3ZzaGFkZXJXaXRoSGlnaHBHbG9iYWwnLAorICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgZlNo
YWRlcklkOiAnZnNoYWRlcldpdGhNZWRpdW1wR2xvYmFsJywKKyAgZlNoYWRlclN1Y2Nlc3M6IHRy
dWUsCisgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgcGFzc01zZzogIm1pc21hdGNoaW5nIHByZWNp
c2lvbiBmb3IgdW5pZm9ybXMgY2F1c2VzIGxpbmsgZXJyb3IgKGFzIGV4cGVjdGVkKSIsCit9KTsK
KworZ2xzbFRlc3RzLnB1c2goeworICB2U2hhZGVySWQ6ICd2c2hhZGVyV2l0aEhpZ2hwR2xvYmFs
U3RydWN0JywKKyAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgIGZTaGFkZXJJZDogJ2ZzaGFkZXJX
aXRoTWVkaXVtcEdsb2JhbFN0cnVjdCcsCisgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICBsaW5r
U3VjY2VzczogZmFsc2UsCisgIHBhc3NNc2c6ICJtaXNtYXRjaGluZyBwcmVjaXNpb24gZm9yIHN0
cnVjdHVyZSB1bmlmb3JtcyBjYXVzZXMgbGluayBlcnJvciAoYXMgZXhwZWN0ZWQpIiwKK30pOwor
CitHTFNMQ29uZm9ybWFuY2VUZXN0ZXIucnVuVGVzdHMoZ2xzbFRlc3RzKTsKKworZGVidWcoIiIp
OwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29y
ZHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kYzhhMTYwZjc1YTVhMTQwZTQzOGUzOTljYzZkOGUzNDZjOWI0MGZkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5o
dG1sCkBAIC0wLDAgKzEsNzI0IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIENvbmZvcm1hbmNlIFRlc3RzIC0gTm9uIFJlc2VydmVk
IFdvcmRzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idmVydGV4U2hhZGVyMCIgdHlwZT0idGV4dC9z
b21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorc3RydWN0ICRyZXBsYWNlTWUgeworICB2ZWM0ICRy
ZXBsYWNlTWU7Cit9Oworc3RydWN0IEZvbyB7CisgICRyZXBsYWNlTWUgJHJlcGxhY2VNZTsKK307
CithdHRyaWJ1dGUgdmVjNCBwb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgICAgRm9vIGY7Cisg
ICAgZi4kcmVwbGFjZU1lLiRyZXBsYWNlTWUgPSBwb3NpdGlvbjsKKyAgICBnbF9Qb3NpdGlvbiA9
IGYuJHJlcGxhY2VNZS4kcmVwbGFjZU1lOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFn
bWVudFNoYWRlcjAiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OwordmVjNCAkcmVwbGFjZU1lKCkgeworICAgIHJldHVybiB2ZWM0
KDAsMSwwLDEpOworfQordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSAkcmVwbGFj
ZU1lKCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlcjEiIHR5cGU9InRl
eHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0ICRyZXBsYWNlTWU7
Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gJHJlcGxhY2VNZTsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXIxIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1u
b3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3ZlYzQgZm9vKHZlYzQg
JHJlcGxhY2VNZSkgeworICByZXR1cm4gJHJlcGxhY2VNZTsKK30KK3ZvaWQgbWFpbigpCit7Cisg
ICAgZ2xfRnJhZ0NvbG9yID0gZm9vKHZlYzQoMSwwLDEsMSkpOworfQorPC9zY3JpcHQ+Cis8c2Ny
aXB0IGlkPSJ2ZXJ0ZXhTaGFkZXIyIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlw
dCI+Cit2YXJ5aW5nIHZlYzQgJHJlcGxhY2VNZTsKK2F0dHJpYnV0ZSB2ZWM0IHBvc2l0aW9uOwor
dm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHBvc2l0aW9uOworICAgICRyZXBsYWNl
TWUgPSBwb3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXIy
IiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVt
cCBmbG9hdDsKK3ZhcnlpbmcgdmVjNCAkcmVwbGFjZU1lOwordm9pZCBtYWluKCkKK3sKKyAgICBn
bF9GcmFnQ29sb3IgPSAkcmVwbGFjZU1lOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0
ZXhTaGFkZXIzIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CithdHRyaWJ1
dGUgdmVjNCBwb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSBwb3Np
dGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXIzIiB0eXBlPSJ0
ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
K3VuaWZvcm0gdmVjNCAkcmVwbGFjZU1lOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29s
b3IgPSAkcmVwbGFjZU1lOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
dmFyIERYV29yZHMgPSBbCisgICJCdWZmZXIiLAorICAiZG91YmxlIiwKKyAgInVpbnQiLAorICAi
aGFsZiIsCisgICJkd29yZCIsCisgICJzdHJpbmciLAorICAidGV4dHVyZSIsCisgICJwaXhlbHNo
YWRlciIsCisgICJ2ZXJ0ZXhzaGFkZXIiLAorICAic3dpdGNoIiwKKyAgIm1pbjE2ZmxvYXQiLAor
ICAibWluMTBmbG9hdCIsCisgICJtaW4xNmludCIsCisgICJtaW4xMmludCIsCisgICJtaW4xNnVp
bnQiLAorICAidmVjdG9yIiwKKyAgIm1hdHJpeCIsCisgICJmbG9hdDIiLAorICAiZmxvYXQzIiwK
KyAgImZsb2F0NCIsCisgICJmbG9hdDF4MSIsCisgICJmbG9hdDF4MiIsCisgICJmbG9hdDF4MyIs
CisgICJmbG9hdDF4NCIsCisgICJmbG9hdDJ4MSIsCisgICJmbG9hdDJ4MiIsCisgICJmbG9hdDJ4
MyIsCisgICJmbG9hdDJ4NCIsCisgICJmbG9hdDN4MSIsCisgICJmbG9hdDN4MiIsCisgICJmbG9h
dDN4MyIsCisgICJmbG9hdDN4NCIsCisgICJmbG9hdDR4MSIsCisgICJmbG9hdDR4MiIsCisgICJm
bG9hdDR4MyIsCisgICJmbG9hdDR4NCIsCisgICJpbnQxeDEiLAorICAiaW50MXgyIiwKKyAgImlu
dDF4MyIsCisgICJpbnQxeDQiLAorICAiaW50MngxIiwKKyAgImludDJ4MiIsCisgICJpbnQyeDMi
LAorICAiaW50Mng0IiwKKyAgImludDN4MSIsCisgICJpbnQzeDIiLAorICAiaW50M3gzIiwKKyAg
ImludDN4NCIsCisgICJpbnQ0eDEiLAorICAiaW50NHgyIiwKKyAgImludDR4MyIsCisgICJpbnQ0
eDQiLAorICAiZG91YmxlMXgxIiwKKyAgImRvdWJsZTF4MiIsCisgICJkb3VibGUxeDMiLAorICAi
ZG91YmxlMXg0IiwKKyAgImRvdWJsZTJ4MSIsCisgICJkb3VibGUyeDIiLAorICAiZG91YmxlMngz
IiwKKyAgImRvdWJsZTJ4NCIsCisgICJkb3VibGUzeDEiLAorICAiZG91YmxlM3gyIiwKKyAgImRv
dWJsZTN4MyIsCisgICJkb3VibGUzeDQiLAorICAiZG91YmxlNHgxIiwKKyAgImRvdWJsZTR4MiIs
CisgICJkb3VibGU0eDMiLAorICAiZG91YmxlNHg0IiwKKyAgImFib3J0IiwKKyAgImFicyIsCisg
ICJhY29zIiwKKyAgImFsbCIsCisgICJBbGxNZW1vcnlCYXJyaWVyIiwKKyAgIkFsbE1lbW9yeUJh
cnJpZXJXaXRoR3JvdXBTeW5jIiwKKyAgImFueSIsCisgICJhc2RvdWJsZSIsCisgICJhc2Zsb2F0
IiwKKyAgImFzaW4iLAorICAiYXNpbnQiLAorICAiYXNpbnQiLAorICAiYXN1aW50IiwKKyAgImFz
dWludCIsCisgICJhdGFuIiwKKyAgImF0YW4yIiwKKyAgImNlaWwiLAorICAiY2xhbXAiLAorICAi
Y2xpcCIsCisgICJjb3MiLAorICAiY29zaCIsCisgICJjb3VudGJpdHMiLAorICAiY3Jvc3MiLAor
ICAiRDNEQ09MT1J0b1VCWVRFNCIsCisgICJkZHgiLAorICAiZGR4X2NvYXJzZSIsCisgICJkZHhf
ZmluZSIsCisgICJkZHkiLAorICAiZGR5X2NvYXJzZSIsCisgICJkZHlfZmluZSIsCisgICJkZWdy
ZWVzIiwKKyAgImRldGVybWluYW50IiwKKyAgIkRldmljZU1lbW9yeUJhcnJpZXIiLAorICAiRGV2
aWNlTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiLAorICAiZGlzdGFuY2UiLAorICAiZG90IiwK
KyAgImRzdCIsCisgICJlcnJvcmYiLAorICAiRXZhbHVhdGVBdHRyaWJ1dGVBdENlbnRyb2lkIiwK
KyAgIkV2YWx1YXRlQXR0cmlidXRlQXRTYW1wbGUiLAorICAiRXZhbHVhdGVBdHRyaWJ1dGVTbmFw
cGVkIiwKKyAgImV4cCIsCisgICJleHAyIiwKKyAgImYxNnRvZjMyIiwKKyAgImYzMnRvZjE2IiwK
KyAgImZhY2Vmb3J3YXJkIiwKKyAgImZpcnN0Yml0aGlnaCIsCisgICJmaXJzdGJpdGxvdyIsCisg
ICJmbG9vciIsCisgICJmbWEiLAorICAiZm1vZCIsCisgICJmcmFjIiwKKyAgImZyZXhwIiwKKyAg
ImZ3aWR0aCIsCisgICJHZXRSZW5kZXJUYXJnZXRTYW1wbGVDb3VudCIsCisgICJHZXRSZW5kZXJU
YXJnZXRTYW1wbGVQb3NpdGlvbiIsCisgICJHcm91cE1lbW9yeUJhcnJpZXIiLAorICAiR3JvdXBN
ZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIsCisgICJJbnRlcmxvY2tlZEFkZCIsCisgICJJbnRl
cmxvY2tlZEFuZCIsCisgICJJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSIsCisgICJJbnRlcmxv
Y2tlZENvbXBhcmVTdG9yZSIsCisgICJJbnRlcmxvY2tlZEV4Y2hhbmdlIiwKKyAgIkludGVybG9j
a2VkTWF4IiwKKyAgIkludGVybG9ja2VkTWluIiwKKyAgIkludGVybG9ja2VkT3IiLAorICAiSW50
ZXJsb2NrZWRYb3IiLAorICAiaXNmaW5pdGUiLAorICAiaXNpbmYiLAorICAiaXNuYW4iLAorICAi
bGRleHAiLAorICAibGVuZ3RoIiwKKyAgImxlcnAiLAorICAibGl0IiwKKyAgImxvZyIsCisgICJs
b2cxMCIsCisgICJsb2cyIiwKKyAgIm1hZCIsCisgICJtYXgiLAorICAibWluIiwKKyAgIm1vZGYi
LAorICAibXNhZDQiLAorICAibXVsIiwKKyAgIm5vaXNlIiwKKyAgIm5vcm1hbGl6ZSIsCisgICJw
b3ciLAorICAicHJpbnRmIiwKKyAgIlByb2Nlc3MyRFF1YWRUZXNzRmFjdG9yc0F2ZyIsCisgICJQ
cm9jZXNzMkRRdWFkVGVzc0ZhY3RvcnNNYXgiLAorICAiUHJvY2VzczJEUXVhZFRlc3NGYWN0b3Jz
TWluIiwKKyAgIlByb2Nlc3NJc29saW5lVGVzc0ZhY3RvcnMiLAorICAiUHJvY2Vzc1F1YWRUZXNz
RmFjdG9yc0F2ZyIsCisgICJQcm9jZXNzUXVhZFRlc3NGYWN0b3JzTWF4IiwKKyAgIlByb2Nlc3NR
dWFkVGVzc0ZhY3RvcnNNaW4iLAorICAiUHJvY2Vzc1RyaVRlc3NGYWN0b3JzQXZnIiwKKyAgIlBy
b2Nlc3NUcmlUZXNzRmFjdG9yc01heCIsCisgICJQcm9jZXNzVHJpVGVzc0ZhY3RvcnNNaW4iLAor
ICAicmFkaWFucyIsCisgICJyY3AiLAorICAicmVmbGVjdCIsCisgICJyZWZyYWN0IiwKKyAgInJl
dmVyc2ViaXRzIiwKKyAgInJvdW5kIiwKKyAgInJzcXJ0IiwKKyAgInNhdHVyYXRlIiwKKyAgInNp
Z24iLAorICAic2luIiwKKyAgInNpbmNvcyIsCisgICJzaW5oIiwKKyAgInNtb290aHN0ZXAiLAor
ICAic3FydCIsCisgICJzdGVwIiwKKyAgInRhbiIsCisgICJ0YW5oIiwKKyAgInRleDFEIiwKKyAg
InRleDFEIiwKKyAgInRleDFEYmlhcyIsCisgICJ0ZXgxRGdyYWQiLAorICAidGV4MURsb2QiLAor
ICAidGV4MURwcm9qIiwKKyAgInRleDJEIiwKKyAgInRleDJEIiwKKyAgInRleDJEYmlhcyIsCisg
ICJ0ZXgyRGdyYWQiLAorICAidGV4MkRsb2QiLAorICAidGV4MkRwcm9qIiwKKyAgInRleDNEIiwK
KyAgInRleDNEIiwKKyAgInRleDNEYmlhcyIsCisgICJ0ZXgzRGdyYWQiLAorICAidGV4M0Rsb2Qi
LAorICAidGV4M0Rwcm9qIiwKKyAgInRleENVQkUiLAorICAidGV4Q1VCRSIsCisgICJ0ZXhDVUJF
YmlhcyIsCisgICJ0ZXhDVUJFZ3JhZCIsCisgICJ0ZXhDVUJFbG9kIiwKKyAgInRleENVQkVwcm9q
IiwKKyAgInRyYW5zcG9zZSIsCisgICJ0cnVuYyIKK107CisKK3ZhciBHTFNMXzRfMjBfMTFfd29y
ZHMgPSBbCisgICJhdHRyaWJ1dGUiLAorICAiY29uc3QiLAorICAidW5pZm9ybSIsCisgICJ2YXJ5
aW5nIiwKKyAgImNvaGVyZW50IiwKKyAgInZvbGF0aWxlIiwKKyAgInJlc3RyaWN0IiwKKyAgInJl
YWRvbmx5IiwKKyAgIndyaXRlb25seSIsCisgICJhdG9taWNfdWludCIsCisgICJsYXlvdXQiLAor
ICAiY2VudHJvaWQiLAorICAiZmxhdCIsCisgICJzbW9vdGgiLAorICAibm9wZXJzcGVjdGl2ZSIs
CisgICJwYXRjaCIsCisgICJzYW1wbGUiLAorICAiYnJlYWsiLAorICAiY29udGludWUiLAorICAi
ZG8iLAorICAiZm9yIiwKKyAgIndoaWxlIiwKKyAgInN3aXRjaCIsCisgICJjYXNlIiwKKyAgImRl
ZmF1bHQiLAorICAiaWYiLAorICAiZWxzZSIsCisgICJzdWJyb3V0aW5lIiwKKyAgImluIiwKKyAg
Im91dCIsCisgICJpbm91dCIsCisgICJmbG9hdCIsCisgICJkb3VibGUiLAorICAiaW50IiwKKyAg
InZvaWQiLAorICAiYm9vbCIsCisgICJ0cnVlIiwKKyAgImZhbHNlIiwKKyAgImludmFyaWFudCIs
CisgICJkaXNjYXJkIiwKKyAgInJldHVybiIsCisgICJtYXQyIiwKKyAgIm1hdDMiLAorICAibWF0
NCIsCisgICJkbWF0MiIsCisgICJkbWF0MyIsCisgICJkbWF0NCIsCisgICJtYXQyeDIiLAorICAi
bWF0MngzIiwKKyAgIm1hdDJ4NCIsCisgICJkbWF0MngyIiwKKyAgImRtYXQyeDMiLAorICAiZG1h
dDJ4NCIsCisgICJtYXQzeDIiLAorICAibWF0M3gzIiwKKyAgIm1hdDN4NCIsCisgICJkbWF0M3gy
IiwKKyAgImRtYXQzeDMiLAorICAiZG1hdDN4NCIsCisgICJtYXQ0eDIiLAorICAibWF0NHgzIiwK
KyAgIm1hdDR4NCIsCisgICJkbWF0NHgyIiwKKyAgImRtYXQ0eDMiLAorICAiZG1hdDR4NCIsCisg
ICJ2ZWMyIiwKKyAgInZlYzMiLAorICAidmVjNCIsCisgICJpdmVjMiIsCisgICJpdmVjMyIsCisg
ICJpdmVjNCIsCisgICJidmVjMiIsCisgICJidmVjMyIsCisgICJidmVjNCIsCisgICJkdmVjMiIs
CisgICJkdmVjMyIsCisgICJkdmVjNCIsCisgICJ1aW50IiwKKyAgInV2ZWMyIiwKKyAgInV2ZWMz
IiwKKyAgInV2ZWM0IiwKKyAgImxvd3AiLAorICAibWVkaXVtcCIsCisgICJoaWdocCIsCisgICJw
cmVjaXNpb24iLAorICAic2FtcGxlcjFEIiwKKyAgInNhbXBsZXIyRCIsCisgICJzYW1wbGVyM0Qi
LAorICAic2FtcGxlckN1YmUiLAorICAic2FtcGxlcjFEU2hhZG93IiwKKyAgInNhbXBsZXIyRFNo
YWRvdyIsCisgICJzYW1wbGVyQ3ViZVNoYWRvdyIsCisgICJzYW1wbGVyMURBcnJheSIsCisgICJz
YW1wbGVyMkRBcnJheSIsCisgICJzYW1wbGVyMURBcnJheVNoYWRvdyIsCisgICJzYW1wbGVyMkRB
cnJheVNoYWRvdyIsCisgICJpc2FtcGxlcjFEIiwKKyAgImlzYW1wbGVyMkQiLAorICAiaXNhbXBs
ZXIzRCIsCisgICJpc2FtcGxlckN1YmUiLAorICAiaXNhbXBsZXIxREFycmF5IiwKKyAgImlzYW1w
bGVyMkRBcnJheSIsCisgICJ1c2FtcGxlcjFEIiwKKyAgInVzYW1wbGVyMkQiLAorICAidXNhbXBs
ZXIzRCIsCisgICJ1c2FtcGxlckN1YmUiLAorICAidXNhbXBsZXIxREFycmF5IiwKKyAgInVzYW1w
bGVyMkRBcnJheSIsCisgICJzYW1wbGVyMkRSZWN0IiwKKyAgInNhbXBsZXIyRFJlY3RTaGFkb3ci
LAorICAiaXNhbXBsZXIyRFJlY3QiLAorICAidXNhbXBsZXIyRFJlY3QiLAorICAic2FtcGxlckJ1
ZmZlciIsCisgICJpc2FtcGxlckJ1ZmZlciIsCisgICJ1c2FtcGxlckJ1ZmZlciIsCisgICJzYW1w
bGVyMkRNUyIsCisgICJpc2FtcGxlcjJETVMiLAorICAidXNhbXBsZXIyRE1TIiwKKyAgInNhbXBs
ZXIyRE1TQXJyYXkiLAorICAiaXNhbXBsZXIyRE1TQXJyYXkiLAorICAidXNhbXBsZXIyRE1TQXJy
YXkiLAorICAic2FtcGxlckN1YmVBcnJheSIsCisgICJzYW1wbGVyQ3ViZUFycmF5U2hhZG93IiwK
KyAgImlzYW1wbGVyQ3ViZUFycmF5IiwKKyAgInVzYW1wbGVyQ3ViZUFycmF5IiwKKyAgImltYWdl
MUQiLAorICAiaWltYWdlMUQiLAorICAidWltYWdlMUQiLAorICAiaW1hZ2UyRCIsCisgICJpaW1h
Z2UyRCIsCisgICJ1aW1hZ2UyRCIsCisgICJpbWFnZTNEIiwKKyAgImlpbWFnZTNEIiwKKyAgInVp
bWFnZTNEIiwKKyAgImltYWdlMkRSZWN0IiwKKyAgImlpbWFnZTJEUmVjdCIsCisgICJ1aW1hZ2Uy
RFJlY3QiLAorICAiaW1hZ2VDdWJlIiwKKyAgImlpbWFnZUN1YmUiLAorICAidWltYWdlQ3ViZSIs
CisgICJpbWFnZUJ1ZmZlciIsCisgICJpaW1hZ2VCdWZmZXIiLAorICAidWltYWdlQnVmZmVyIiwK
KyAgImltYWdlMURBcnJheSIsCisgICJpaW1hZ2UxREFycmF5IiwKKyAgInVpbWFnZTFEQXJyYXki
LAorICAiaW1hZ2UyREFycmF5IiwKKyAgImlpbWFnZTJEQXJyYXkiLAorICAidWltYWdlMkRBcnJh
eSIsCisgICJpbWFnZUN1YmVBcnJheSIsCisgICJpaW1hZ2VDdWJlQXJyYXkiLAorICAidWltYWdl
Q3ViZUFycmF5IiwKKyAgImltYWdlMkRNUyIsCisgICJpaW1hZ2UyRE1TIiwKKyAgInVpbWFnZTJE
TVMiLAorICAiaW1hZ2UyRE1TQXJyYXkiLAorICAiaWltYWdlMkRNU0FycmF5IiwKKyAgInVpbWFn
ZTJETVNBcnJheSIsCisgICJzdHJ1Y3QiCitdOworCit2YXIgR0xTTF80XzIwXzExX2Z1dHVyZV93
b3JkcyA9IFsKKyAgImNvbW1vbiIsCisgICJwYXJ0aXRpb24iLAorICAiYWN0aXZlIiwKKyAgImFz
bSIsCisgICJjbGFzcyIsCisgICJ1bmlvbiIsCisgICJlbnVtIiwKKyAgInR5cGVkZWYiLAorICAi
dGVtcGxhdGUiLAorICAidGhpcyIsCisgICJwYWNrZWQiLAorICAicmVzb3VyY2UiLAorICAiZ290
byIsCisgICJpbmxpbmUiLAorICAibm9pbmxpbmUiLAorICAicHVibGljIiwKKyAgInN0YXRpYyIs
CisgICJleHRlcm4iLAorICAiZXh0ZXJuYWwiLAorICAiaW50ZXJmYWNlIiwKKyAgImxvbmciLAor
ICAic2hvcnQiLAorICAiaGFsZiIsCisgICJmaXhlZCIsCisgICJ1bnNpZ25lZCIsCisgICJzdXBl
cnAiLAorICAiaW5wdXQiLAorICAib3V0cHV0IiwKKyAgImh2ZWMyIiwKKyAgImh2ZWMzIiwKKyAg
Imh2ZWM0IiwKKyAgImZ2ZWMyIiwKKyAgImZ2ZWMzIiwKKyAgImZ2ZWM0IiwKKyAgInNhbXBsZXIz
RFJlY3QiLAorICAiZmlsdGVyIiwKKyAgInNpemVvZiIsCisgICJjYXN0IiwKKyAgIm5hbWVzcGFj
ZSIsCisgICJ1c2luZyIsCisgICJyb3dfbWFqb3IiCitdOworCit2YXIgR0xTTF8xXzBfMTdfd29y
ZHMgPSBbCisgICJhdHRyaWJ1dGUiLAorICAiY29uc3QiLAorICAidW5pZm9ybSIsCisgICJ2YXJ5
aW5nIiwKKyAgImJyZWFrIiwKKyAgImNvbnRpbnVlIiwKKyAgImRvIiwKKyAgImZvciIsCisgICJ3
aGlsZSIsCisgICJpZiIsCisgICJlbHNlIiwKKyAgImluIiwKKyAgIm91dCIsCisgICJpbm91dCIs
CisgICJmbG9hdCIsCisgICJpbnQiLAorICAidm9pZCIsCisgICJib29sIiwKKyAgInRydWUiLAor
ICAiZmFsc2UiLAorICAibG93cCIsCisgICJtZWRpdW1wIiwKKyAgImhpZ2hwIiwKKyAgInByZWNp
c2lvbiIsCisgICJpbnZhcmlhbnQiLAorICAiZGlzY2FyZCIsCisgICJyZXR1cm4iLAorICAibWF0
MiIsCisgICJtYXQzIiwKKyAgIm1hdDQiLAorICAidmVjMiIsCisgICJ2ZWMzIiwKKyAgInZlYzQi
LAorICAiaXZlYzIiLAorICAiaXZlYzMiLAorICAiaXZlYzQiLAorICAiYnZlYzIiLAorICAiYnZl
YzMiLAorICAiYnZlYzQiLAorICAic2FtcGxlcjJEIiwKKyAgInNhbXBsZXJDdWJlIiwKKyAgInN0
cnVjdCIKK10KKwordmFyIEdMU0xfMV8wXzE3X0Z1dHVyZVdvcmRzID0gWworICAiYXNtIiwKKyAg
ImNsYXNzIiwKKyAgInVuaW9uIiwKKyAgImVudW0iLAorICAidHlwZWRlZiIsCisgICJ0ZW1wbGF0
ZSIsCisgICJ0aGlzIiwKKyAgInBhY2tlZCIsCisgICJnb3RvIiwKKyAgInN3aXRjaCIsCisgICJk
ZWZhdWx0IiwKKyAgImlubGluZSIsCisgICJub2lubGluZSIsCisgICJ2b2xhdGlsZSIsCisgICJw
dWJsaWMiLAorICAic3RhdGljIiwKKyAgImV4dGVybiIsCisgICJleHRlcm5hbCIsCisgICJpbnRl
cmZhY2UiLAorICAiZmxhdCIsCisgICJsb25nIiwKKyAgInNob3J0IiwKKyAgImRvdWJsZSIsCisg
ICJoYWxmIiwKKyAgImZpeGVkIiwKKyAgInVuc2lnbmVkIiwKKyAgInN1cGVycCIsCisgICJpbnB1
dCIsCisgICJvdXRwdXQiLAorICAiaHZlYzIiLAorICAiaHZlYzMiLAorICAiaHZlYzQiLAorICAi
ZHZlYzIiLAorICAiZHZlYzMiLAorICAiZHZlYzQiLAorICAiZnZlYzIiLAorICAiZnZlYzMiLAor
ICAiZnZlYzQiLAorICAic2FtcGxlcjFEIiwKKyAgInNhbXBsZXIzRCIsCisgICJzYW1wbGVyMURT
aGFkb3ciLAorICAic2FtcGxlcjJEU2hhZG93IiwKKyAgInNhbXBsZXIyRFJlY3QiLAorICAic2Ft
cGxlcjNEUmVjdCIsCisgICJzYW1wbGVyMkRSZWN0U2hhZG93IiwKKyAgInNpemVvZiIsCisgICJj
YXN0IiwKKyAgIm5hbWVzcGFjZSIsCisgICJ1c2luZyIKK107CisKK2Rlc2NyaXB0aW9uKCk7CisK
K3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQo
KTsKK3ZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKwordmFyIGJh
ZFdvcmRzID0gWworICB7IHdvcmRzOiBEWFdvcmRzIH0sCisgIHsgd29yZHM6IEdMU0xfNF8yMF8x
MV93b3JkcywgfSwKKyAgeyB3b3JkczogR0xTTF80XzIwXzExX2Z1dHVyZV93b3JkcywgfQorXTsK
KwordmFyIHJlc2VydmVkV29yZHNMaXN0cyA9IFsKKyAgR0xTTF8xXzBfMTdfd29yZHMsCisgIEdM
U0xfMV8wXzE3X0Z1dHVyZVdvcmRzCitdOworCit2YXIgcmVzZXJ2ZWRXb3JkcyA9IHsgfTsKK2Zv
ciAodmFyIGlpID0gMDsgaWkgPCByZXNlcnZlZFdvcmRzTGlzdHMubGVuZ3RoOyArK2lpKSB7Cisg
IHZhciBsaXN0ID0gcmVzZXJ2ZWRXb3Jkc0xpc3RzW2lpXTsKKyAgZm9yICh2YXIgamogPSAwOyBq
aiA8IGxpc3QubGVuZ3RoOyArK2pqKSB7CisgICAgcmVzZXJ2ZWRXb3Jkc1tsaXN0W2pqXV0gPSB0
cnVlOworICB9Cit9CisKK3ZhciBjaGVja2VkV29yZHMgPSB7fTsKKwordmFyIHNyYyA9IFtdOwor
Zm9yICh2YXIgaWkgPSAwOyBpaSA8IDQ7ICsraWkpIHsKKyAgdmFyIHZzcmMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidmVydGV4U2hhZGVyIiArIGlpKS50ZXh0OworICB2YXIgZnNyYyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJmcmFnbWVudFNoYWRlciIgKyBpaSkudGV4dDsKKyAgc3Jj
LnB1c2goe3ZzcmM6IHZzcmMsIGZzcmM6IGZzcmN9KTsKK30KKwordmFyIGJhZFdvcmROZHggPSAw
OwordmFyIGxpc3ROZHggPSAwOworCitmdW5jdGlvbiB0ZXN0TmV4dFdvcmQoKSB7CisgIHZhciBs
aXN0ID0gYmFkV29yZHNbYmFkV29yZE5keF0ud29yZHM7CisgIGlmIChsaXN0TmR4ID49IGxpc3Qu
bGVuZ3RoKSB7CisgICAgKytiYWRXb3JkTmR4OworICAgIGlmIChiYWRXb3JkTmR4ID49IGJhZFdv
cmRzLmxlbmd0aCkgeworICAgICAgZmluaXNoVGVzdCgpOworICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBsaXN0TmR4ID0gMDsKKyAgICBsaXN0ID0gYmFkV29yZHNbYmFkV29yZE5keF0ud29yZHM7
CisgIH0KKyAgdGVzdFdvcmQobGlzdFtsaXN0TmR4XSk7CisgICsrbGlzdE5keDsKKyAgc2V0VGlt
ZW91dCh0ZXN0TmV4dFdvcmQsMSk7Cit9Cit0ZXN0TmV4dFdvcmQoKTsKKworZnVuY3Rpb24gdGVz
dFdvcmQod29yZCkgeworICBpZiAod29yZCBpbiByZXNlcnZlZFdvcmRzIHx8IHdvcmQgaW4gY2hl
Y2tlZFdvcmRzKSB7CisgICAgcmV0dXJuOworICB9CisgIGNoZWNrZWRXb3Jkc1t3b3JkXSA9IHRy
dWU7CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoInRlc3Rpbmc6ICIgKyB3b3JkKTsKKworICBmb3Ig
KHZhciBpaSA9IDA7IGlpIDwgc3JjLmxlbmd0aDsgKytpaSkgeworICAgIHZhciB2cyA9IHNyY1tp
aV0udnNyYy5yZXBsYWNlKC9cJHJlcGxhY2VNZS9nLCB3b3JkKTsKKyAgICB2YXIgZnMgPSBzcmNb
aWldLmZzcmMucmVwbGFjZSgvXCRyZXBsYWNlTWUvZywgd29yZCk7CisKKyAgICB3dHUuYWRkU2hh
ZGVyU291cmNlKGMsICJ2ZXJ0ZXggc2hhZGVyIiwgdnMpOworICAgIHd0dS5hZGRTaGFkZXJTb3Vy
Y2UoYywgImZyYWdtZW50IHNoYWRlciIsIGZzKTsKKworICAgIHZhciBzdWNjZXNzID0gdHJ1ZTsK
KyAgICB2YXIgcHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbShnbCwgdnMsIGZzLCBmdW5jdGlvbiht
c2cpIHsKKyAgICAgIGRlYnVnKG1zZyk7CisgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgfSk7
CisgICAgaWYgKHN1Y2Nlc3MpIHsKKyAgICAgIHRlc3RQYXNzZWQoInNoYWRlciB3aXRoOiAnIiAr
IHdvcmQgKyAiJyBjb21waWxlZCIpOworICAgIH0gZWxzZSB7CisgICAgICB0ZXN0RmFpbGVkKCJz
aGFkZXIgd2l0aDogJyIgKyB3b3JkICsgIicgZmFpbGVkIHRvIGNvbXBpbGUiKTsKKyAgICB9Cisg
ICAgaWYgKHByb2dyYW0pIHsKKyAgICAgIGdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSk7CisgICAg
fQorICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5v
IEdMIGVycm9ycyIpOworICB9Cit9CisKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZj
NzU0OGYzNmM5MmIwZjc2NDI1ZTU0YzI2ZTdmYjliY2JiODJkNzMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbApA
QCAtMCwwICsxLDE5MSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBL
aHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm
cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlz
IHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiog
Ik1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh
bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVy
c29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj
dCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
CisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlh
bHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiog
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO
RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9S
IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgor
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+CisgICAgICA8dGl0bGU+V2ViR0wgc2hvcnQtY2lyY3VpdCBldmFsdWF0aW9uPC90aXRs
ZT4KKyAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2Ny
aXB0PgorICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QuanMiPjwvc2NyaXB0PgorICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KyAgICA8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+
CisKKyAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgV2ViR0wg
U2hhZGVycworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KKyAgICA8
IS0tIFBhc3MgdGhyb3VnaCBTaGFkZXJzIC0tPgorICAgIDxzY3JpcHQgaWQ9InZzaGFkZXIwIiB0
eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgICAvKiBQQVNTLVRIUk9VR0ggVkVSVEVYIFNI
QURFUiAqLworICAgICAgYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworCisgICAgICB2b2lkIG1h
aW4oKQorICAgICAgeworICAgICAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKworICAgIDxzY3JpcHQgaWQ9ImZzaGFkZXIwIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KKyAgICAgIC8qIFBBU1MtVEhST1VHSCBGUkFHTUVOVCBTSEFERVIgKi8K
KyAgICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgICAgdmFyeWluZyB2ZWM0IHZQYXNz
VGhyb3VnaDsKKworICAgICAgdm9pZCBtYWluKCkKKyAgICAgIHsKKyAgICAgICAgZ2xfRnJhZ0Nv
bG9yID0gdlBhc3NUaHJvdWdoOworICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPCEtLSBi
YXNpYyBjb25kaXRvbmFsIHNob3J0IGNpcmN1aXQgU2hhZGVycyAtLT4KKyAgICA8c2NyaXB0IGlk
PSJ2c2hhZGVyMSIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgICAgYXR0cmlidXRlIHZl
YzQgdlBvc2l0aW9uOworICAgICAgdmFyeWluZyB2ZWM0IHZQYXNzVGhyb3VnaDsKKworICAgICAg
dm9pZCBtYWluKCkKKyAgICAgIHsKKyAgICAgICAgaW50IHggPSAxOworICAgICAgICAkKHZhcmlh
YmxlcykKKyAgICAgIAorICAgICAgICBpZiAoJChjb25kaXRpb24pKQorICAgICAgICB7IC8qZG8g
bm90aGluZyovIH0KKworICAgICAgICAvKiBpZiB4IHdhcyB1bm1vZGlmaWVkIHJldHVybiBncmVl
biwgZWxzZSByZXR1cm4gcmVkICovCisgICAgICAgIHZQYXNzVGhyb3VnaCA9ICh4ID09IDEpID8g
dmVjNCgwLCAxLCAwLCAxKSA6IHZlYzQoMSwgMCwgMCwgMSk7CisgICAgICAgIGdsX1Bvc2l0aW9u
ID0gdlBvc2l0aW9uOworICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPHNjcmlwdCBpZD0i
ZnNoYWRlcjEiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgICAgcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CisKKyAgICAgIHZvaWQgbWFpbigpCisgICAgICB7CisgICAgICAgIGludCB4
ID0gMTsKKyAgICAgICAgJCh2YXJpYWJsZXMpCisgICAgICAgIAorICAgICAgICBpZiAoJChjb25k
aXRpb24pKQorICAgICAgICB7IC8qZG8gbm90aGluZyovIH0KKworICAgICAgICBnbF9GcmFnQ29s
b3IgPSAoeCA9PSAxKSA/IHZlYzQoMCwgMSwgMCwgMSkgOiB2ZWM0KDEsIDAsIDAsIDEpOworICAg
ICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPCEtLSBNYWluIGJvZHkgb2YgdGhlIFdlYmdsIHBy
b2dyYW0gLS0+CisgICAgPHNjcmlwdD4KKyAgICAidXNlIHN0cmljdCI7CisgICAgICBkZXNjcmlw
dGlvbigpOworCisgICAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgICB2YXIgZ2wg
PSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7CisgICAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIik7CisKKyAgICAgIHd0dS5zZXR1cFVuaXRRdWFkKGdsLCBbMCwgMV0p
OworCisgICAgICB2YXIgc2hhZGVyVGVtcGxhdGVzID0gWworICAgICAgeyB2czogInZzaGFkZXIx
IiwgZnM6ICJmc2hhZGVyMCIgfSwgLy8gYmFzaWMgdmVydGV4IHNob3J0LWNpcmN1aXQgdGVzdAor
ICAgICAgeyB2czogInZzaGFkZXIwIiwgZnM6ICJmc2hhZGVyMSIgfSwgLy8gYmFzaWMgZnJhZ21l
bnQgc2hvcnQtY2lyY3VpdCB0ZXN0CisgICAgICBdOworCisgICAgICAvKiByZXBsYWNlIHRoZSBu
YW1lcyBvZiB0aGUgc2hhZGVycyBpbiB0aGUgdGVtcGF0ZSB2YXJpYWJsZXMgd2l0aAorICAgICAg
KiB0aGUgc2hhZGVycyB0aGVtc2VsdmVzICovCisgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwg
c2hhZGVyVGVtcGxhdGVzLmxlbmd0aDsgKytpaSkgeworICAgICAgICB2YXIgdGVtcGxhdGUgPSBz
aGFkZXJUZW1wbGF0ZXNbaWldOworICAgICAgICB0ZW1wbGF0ZS52cyA9IHd0dS5nZXRTY3JpcHQo
dGVtcGxhdGUudnMpOworICAgICAgICB0ZW1wbGF0ZS5mcyA9IHd0dS5nZXRTY3JpcHQodGVtcGxh
dGUuZnMpOworICAgICAgfQorCisgICAgICAvKiBkZWZpbmUgdGhlIGNvbmRpdG9uIHRoYXQgd2ls
bCBiZSB1c2VkIGluIHRoZSBzaGFkZXJzLiBJZiBhZGRpdGlvbmFsCisgICAgICAgKiB2YXJpYWJs
ZXMgYXJlIG5lZWRlZCB0aGF0IGFyZSBub3QgcHJlc2VudCBpIHRoZSBzaGFkZXIgdGhleSBteSBi
ZQorICAgICAgICogZGVmaW5lZCBpbiB0aGUgdmFyaWFibGVzIHZhcmlhYmxlICovCisgICAgICB2
YXIgdGVzdHMgPSBbCisgICAgICAgIHsgY29uZGl0aW9uOiAidHJ1ZSB8fCAoeCA9IDApID09IDEi
LCB2YXJpYWJsZXM6ICIiIH0sIC8qIHRlc3QgYmFzaWMgJ29yJyBzaG9ydCBjaXJjdWl0ICovCisg
ICAgICAgIHsgY29uZGl0aW9uOiAiZmFsc2UgJiYgKHggPSAwKSA9PSAxIiwgdmFyaWFibGVzOiAi
IiB9LCAvKiB0ZXN0IGJhc2ljICdhbmQnIHNob3J0IGNpcmN1aXQgKi8KKyAgICAgICAgeyBjb25k
aXRpb246ICIoaiA9PSAzICYmIGogPT0gaykgfHwgKGogPiAoeCA9IDApKSIsIHZhcmlhYmxlczog
ImludCBqID0gMztcbmludCBrID0gMzsiIH0sIC8qIHRlc3QgYmFzaWMgJ29yJyBzaG9ydCBjaXJj
dWl0IHdpdGggYWN0dWFsIGNvbmRpdGlvbiAqLworICAgICAgICB7IGNvbmRpdGlvbjogIihqID09
IDMgJiYgaiA9PSBrKSAmJiAoaiA+ICh4ID0gMCkpIiwgdmFyaWFibGVzOiAiaW50IGogPSAzO1xu
aW50IGsgPSA0OyIgfSwgLyogdGVzdCBiYXNpYyAnYW5kJyBzaG9ydCBjaXJjdWl0IHdpdGggYWN0
dWFsIGNvbmRpdGlvbiAqLworICAgICAgICB7IGNvbmRpdGlvbjogIihqICsgMyA+IGsgJiYgKChq
IDwgMTApIHx8ICh4ICsgNSA+IGogKyAoeCA9IDApKSkgfHwgKCB4ID0gMCApID09IDcpIiwgdmFy
aWFibGVzOiAiaW50IGogPSA1O1xuaW50IGsgPSAzOyIgfSwgLyogY29tcGxleCB0ZXN0ICovCisg
ICAgICAgIHsgY29uZGl0aW9uOiAiaiArIDEgPT0gNiA/IHggPT0gMSB8fCBqID4gKHggPSAwKSA6
ICh4ID0gMCkgPT0gMSAmJiAoeCA9IDApIDw9IDEiLCB2YXJpYWJsZXM6ICJpbnQgaiA9IDU7IiB9
LCAvKiBuZXN0ZWQgd2l0aCB0ZXJuYXJ5IG9wZXJhdG9yICovCisgICAgICBdOworCisgICAgICBm
dW5jdGlvbiB0ZXN0U2hvcnRDaXJjdWl0KHRlc3QpIHsKKyAgICAgICAgZGVidWcoIiIpOworICAg
ICAgICBkZWJ1ZygidGVzdGluZyBzaG9ydCBjaXJjdWl0IGNvbmRpdGlvbjogIiArIHRlc3QuY29u
ZGl0aW9uKTsKKworICAgICAgICAvKiBTZXR0aW5nIGNsZWFyIGNvbG9yIHRvIGJsdWUgKi8KKyAg
ICAgICAgZ2wuY2xlYXJDb2xvcigwLjAsIDAuMCwgMS4wLCAxLjApOworCisgICAgICAgIGZvciAo
dmFyIGlpID0gMDsgaWkgPCBzaGFkZXJUZW1wbGF0ZXMubGVuZ3RoOyArK2lpKSB7CisKKyAgICAg
ICAgICAvKiBjbGVhciB0aGUgc2NyZWVuIHNvIHRoYXQgc3Vic2VxdWVudCB0ZXN0cyBkb24ndCBj
b25mbGljdCAqLworICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAg
ICAgICAgIHZhciB0ZW1wbGF0ZSA9IHNoYWRlclRlbXBsYXRlc1tpaV07CisKKyAgICAgICAgICB2
YXIgdnMgPSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZS52cywgdGVzdCk7CisgICAgICAgICAg
dmFyIGZzID0gd3R1LnJlcGxhY2VQYXJhbXModGVtcGxhdGUuZnMsIHRlc3QpOworCisgICAgICAg
ICAgd3R1LmFkZFNoYWRlclNvdXJjZShjLCAidmVydGV4IHNoYWRlciIsIHZzKTsKKyAgICAgICAg
ICB3dHUuYWRkU2hhZGVyU291cmNlKGMsICJmcmFnbWVudCBzaGFkZXIiLCBmcyk7CisKKyAgICAg
ICAgICB2YXIgdnMgPSB3dHUubG9hZFNoYWRlcihnbCwgdnMsIGdsLlZFUlRFWF9TSEFERVIpOwor
ICAgICAgICAgIHZhciBmcyA9IHd0dS5sb2FkU2hhZGVyKGdsLCBmcywgZ2wuRlJBR01FTlRfU0hB
REVSKTsKKyAgICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5jcmVhdGVQcm9ncmFtKGdsLCB2cywg
ZnMpOworCisgICAgICAgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKworICAgICAgICAgIHd0
dS5kcmF3UXVhZChnbCk7CisgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAw
LCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIiwgMCk7CisKKyAgICAgICAgICBnbC5kZWxldGVQcm9n
cmFtKHByb2dyYW0pOworICAgICAgICAgIGdsLmRlbGV0ZVNoYWRlcih2cyk7CisgICAgICAgICAg
Z2wuZGVsZXRlU2hhZGVyKGZzKTsKKworICAgICAgICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIEdMIGVycm9ycyIpOworICAgICAgICB9CisgICAg
ICB9CisKKyAgICAgIHZhciB0ZXN0TmR4ID0gMDsKKyAgICAgIGZ1bmN0aW9uIHJ1bk5leHRUZXN0
KCkgeworICAgICAgICAgIHRlc3RTaG9ydENpcmN1aXQodGVzdHNbdGVzdE5keCsrXSk7CisgICAg
ICAgICAgaWYgKHRlc3ROZHggPj0gdGVzdHMubGVuZ3RoKSB7CisgICAgICAgICAgICAgIGZpbmlz
aFRlc3QoKTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICBzZXRUaW1lb3V0KHJ1
bk5leHRUZXN0LCAxKTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIHJ1bk5leHRUZXN0
KCk7CisKKyAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCisgICAgPC9zY3Jp
cHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGUwZDQ1Njhm
Y2E2NzAyMDVmZmVlMmE0ZGUxODQ1NmJkMjk1NDhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCkBAIC0wLDAg
KzEsMTMxIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5HTFNMIHNpbWlsYXIgbmFtZXMgaXNzdWU8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5j
c3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
PiA8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0idnNoYWRlciIsIHR5cGU9Ingtc2hhZGVyL3gtdmVy
dGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247Cit2b2lkIG1haW4odm9pZCkgeworICAg
IGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNo
YWRlcjEiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZs
b2F0OwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvblsyXTsKK3VuaWZvcm0gdmVjNCB1X25h
bWVDb2xsaXNpb24yWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsKK3ZvaWQgbWFpbih2b2lk
KSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1lQ29sbGlzaW9uWzBdICsgdV9uYW1lQ29sbGlz
aW9uMlswXSArIHVfbmFtZVswXTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjIi
LCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
dW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29s
bGlzaW9uWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7Cisg
ICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1lQ29sbGlzaW9uMlswXSArIHVfbmFtZUNvbGxpc2lvblsw
XSArIHVfbmFtZVswXTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjMiLCB0eXBl
PSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9y
bSB2ZWM0IHVfbmFtZUNvbGxpc2lvblsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVbMl07Cit1bmlm
b3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uMlsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xf
RnJhZ0NvbG9yID0gdV9uYW1lQ29sbGlzaW9uWzBdICsgdV9uYW1lWzBdICsgdV9uYW1lQ29sbGlz
aW9uMlswXTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjQiLCB0eXBlPSJ4LXNo
YWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0
IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwordW5pZm9ybSB2
ZWM0IHVfbmFtZUNvbGxpc2lvblsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0Nv
bG9yID0gdV9uYW1lQ29sbGlzaW9uMlswXSArIHVfbmFtZVswXSArIHVfbmFtZUNvbGxpc2lvblsw
XTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjUiLCB0eXBlPSJ4LXNoYWRlci94
LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFt
ZVsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb25bMl07Cit1bmlmb3JtIHZlYzQgdV9u
YW1lQ29sbGlzaW9uMlsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0g
dV9uYW1lWzBdICsgdV9uYW1lQ29sbGlzaW9uWzBdICsgdV9uYW1lQ29sbGlzaW9uMlswXTsKK30K
Kzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjYiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsK
K3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb24yWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNv
bGxpc2lvblsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1l
WzBdICsgdV9uYW1lQ29sbGlzaW9uMlswXSArIHVfbmFtZUNvbGxpc2lvblswXTsKK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVp
Z2h0PSI1MCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigp
OworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCJjYW52YXMiKTsKK3d0dS5zZXR1cFVuaXRRdWFkKGdsKTsKKworZm9yICh2YXIgaWkgPSAw
OyBpaSA8IDY7ICsraWkpIHsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBb
InZzaGFkZXIiLCAiZnNoYWRlciIgKyAoaWkgKyAxKV0sIFsiYV9wb3NpdGlvbiJdKTsKKyAgdmFy
IGxvYzEgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfbmFtZVswXSIpOworICB2
YXIgbG9jMiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9uYW1lQ29sbGlzaW9u
WzBdIik7CisgIHZhciBsb2MzID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X25h
bWVDb2xsaXNpb24yWzBdIik7CisgIGdsLnVuaWZvcm00ZnYobG9jMSwgWzEsIDAsIDAsIDBdKTsK
KyAgZ2wudW5pZm9ybTRmdihsb2MyLCBbMCwgMSwgMCwgMF0pOworICBnbC51bmlmb3JtNGZ2KGxv
YzMsIFswLCAwLCAwLCAxXSk7CisgIHd0dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZh
cyhnbCwgWzI1NSwgMjU1LCAwLCAyNTVdLCAiU2hvdWxkIGJlIHllbGxvdyIpOworfQorCitnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9ycyIp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdz
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTIxYmRjMDdjNzIzMGI3ZTkzNmVlNTExYzBiY2MwZmJlOWY4OWE4NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbApAQCAtMCwwICsxLDExNiBA
QAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
R0xTTCBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRl
c3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRl
ck5vVmFyeWluZyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgordm9pZCBt
YWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7Cit9Cis8L3NjcmlwdD4K
KzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlclVudXNlZFZhcnlpbmciIHR5cGU9InRleHQvc29tZXRo
aW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisKK3ZvaWQgbWFp
bigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KDAsMCwwLDApOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJmcmFnbWVudFNoYWRlclVudXNlZFZhcnlpbmciIHR5cGU9InRleHQvc29tZXRo
aW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit2YXJ5aW5n
IHZlYzQgdl92YXJ5aW5nOworCit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHZl
YzQoMCwwLDAsMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyVXNl
ZFZhcnlpbmciIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lv
biBtZWRpdW1wIGZsb2F0OworCit2YXJ5aW5nIHZlYzQgdl92YXJ5aW5nOworCit2b2lkIG1haW4o
KQoreworICAgIGdsX0ZyYWdDb2xvciA9IHZfdmFyeWluZzsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dD4KKy8vIEdMU0wgMS4wLjE3IDQuMy41CisidXNlIHN0cmljdCI7CitHTFNMQ29uZm9ybWFuY2VU
ZXN0ZXIucnVuVGVzdHMoWworICB7CisgICAgdlNoYWRlcklkOiAidmVydGV4U2hhZGVyTm9WYXJ5
aW5nIiwKKyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBmU2hhZGVySWQ6ICJmcmFnbWVu
dFNoYWRlclVudXNlZFZhcnlpbmciLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxp
bmtTdWNjZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6ICJ2ZXJ0ZXggc2hhZGVyIHdpdGggbm8gdmFy
eWluZyBhbmQgZnJhZ21lbnQgc2hhZGVyIHdpdGggdW51c2VkIHZhcnlpbmcgbXVzdCBzdWNjZWVk
IiwKKyAgfSwKKyAgeworICAgIHZTaGFkZXJJZDogInZlcnRleFNoYWRlck5vVmFyeWluZyIsCisg
ICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgZlNoYWRlcklkOiAiZnJhZ21lbnRTaGFkZXJV
c2VkVmFyeWluZyIsCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6
IGZhbHNlLAorICAgIHBhc3NNc2c6ICJ2ZXJ0ZXggc2hhZGVyIHdpdGggbm8gdmFyeWluZyBhbmQg
ZnJhZ21lbnQgc2hhZGVyIHdpdGggdXNlZCB2YXJ5aW5nIG11c3QgZmFpbCIsCisgIH0sCisgIHsK
KyAgICB2U2hhZGVySWQ6ICJ2ZXJ0ZXhTaGFkZXJVbnVzZWRWYXJ5aW5nIiwKKyAgICB2U2hhZGVy
U3VjY2VzczogdHJ1ZSwKKyAgICBmU2hhZGVySWQ6ICJmcmFnbWVudFNoYWRlclVudXNlZFZhcnlp
bmciLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAor
ICAgIHBhc3NNc2c6ICJ2ZXJ0ZXggc2hhZGVyIHdpdGggdW51c2VkIHZhcnlpbmcgYW5kIGZyYWdt
ZW50IHNoYWRlciB3aXRoIHVudXNlZCB2YXJ5aW5nIG11c3Qgc3VjY2VlZCIsCisgIH0sCisgIHsK
KyAgICB2U2hhZGVySWQ6ICJ2ZXJ0ZXhTaGFkZXJVbnVzZWRWYXJ5aW5nIiwKKyAgICB2U2hhZGVy
U3VjY2VzczogdHJ1ZSwKKyAgICBmU2hhZGVySWQ6ICJmcmFnbWVudFNoYWRlclVzZWRWYXJ5aW5n
IiwKKyAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAg
ICBwYXNzTXNnOiAidmVydGV4IHNoYWRlciB3aXRoIHVudXNlZCB2YXJ5aW5nIGFuZCBmcmFnbWVu
dCBzaGFkZXIgd2l0aCB1c2VkIHZhcnlpbmcgbXVzdCBzdWNjZWVkIiwKKyAgfSwKK10pOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvdmFy
aWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWE3NDcxMTE4MDI2NzVjOTQw
YjkyNDM2OTFkNzczMWYwOWRlMzczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMv
Z2wtcG9pbnRjb29yZC5odG1sCkBAIC0wLDAgKzEsMTYzIEBACis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPmdsLXBvaW50Y29vcmQgVGVzdDwvdGl0bGU+
CisgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIi8+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9
ImV4YW1wbGUiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij4KKzwvY2FudmFzPgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgIDxzY3JpcHQg
aWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVj
NCB2UG9zaXRpb247CisgICAgdW5pZm9ybSBmbG9hdCB1UG9pbnRTaXplOworICAgIHZvaWQgbWFp
bigpCisgICAgeworICAgICAgZ2xfUG9pbnRTaXplID0gdVBvaW50U2l6ZTsKKyAgICAgIGdsX1Bv
c2l0aW9uID0gdlBvc2l0aW9uOworICAgIH0KKyAgPC9zY3JpcHQ+CisKKyAgPHNjcmlwdCBpZD0i
ZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICBnbF9GcmFnQ29sb3IgPSB2
ZWM0KAorICAgICAgICBnbF9Qb2ludENvb3JkLngsCisgICAgICAgIGdsX1BvaW50Q29vcmQueSwK
KyAgICAgICAgMCwKKyAgICAgICAgMSk7CisgICAgfQorICA8L3NjcmlwdD4KKworICA8c2NyaXB0
PgorICAgICJ1c2Ugc3RyaWN0IjsKKyAgICBkZXNjcmlwdGlvbigiQ2hlY2tzIGdsX1BvaW50Q29v
cmQgYW5kIGdsX1BvaW50U2l6ZSIpOworICAgIGRlYnVnKCIiKTsKKworICAgIC8vIE5PVEU6IEkn
bSBub3QgMTAwJSBjb25maWRlbnQgaW4gdGhpcyB0ZXN0LiBJIHRoaW5rIGl0IGlzIGNvcnJlY3Qu
CisKKyAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgdmFyIGdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworICAgIHNob3VsZEJlTm9uTnVsbCgiZ2wiKTsKKyAgICB2
YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIl0s
IFsidlBvc2l0aW9uIl0pOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VS
Uk9SIik7CisKKyAgICB2YXIgY2FudmFzID0gZ2wuY2FudmFzOworICAgIHZhciB3aWR0aCA9IGNh
bnZhcy53aWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gY2FudmFzLmhlaWdodDsKKyAgICBzaG91bGRC
ZSgid2lkdGgiLCAiaGVpZ2h0Iik7CisKKyAgICB2YXIgbWF4UG9pbnRTaXplID0gZ2wuZ2V0UGFy
YW1ldGVyKGdsLkFMSUFTRURfUE9JTlRfU0laRV9SQU5HRSlbMV07CisgICAgc2hvdWxkQmVUcnVl
KCJtYXhQb2ludFNpemUgPj0gMSIpOworICAgIC8vIFRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIHBv
aW50IHNpemVzIG1heSBiZSBmbG9hdGluZy1wb2ludCBudW1iZXJzLgorICAgIHNob3VsZEJlVHJ1
ZSgiTWF0aC5mbG9vcihtYXhQb2ludFNpemUpID49IDEiKTsKKyAgICBtYXhQb2ludFNpemUgPSBN
YXRoLmZsb29yKG1heFBvaW50U2l6ZSk7CisgICAgc2hvdWxkQmVUcnVlKCJtYXhQb2ludFNpemUg
JSAxID09IDAiKTsKKworICAgIG1heFBvaW50U2l6ZSA9IE1hdGgubWluKG1heFBvaW50U2l6ZSwg
NjQpOworICAgIHZhciBwb2ludFdpZHRoID0gbWF4UG9pbnRTaXplIC8gd2lkdGg7CisgICAgdmFy
IHBvaW50U3RlcCA9IE1hdGguZmxvb3IobWF4UG9pbnRTaXplIC8gNCk7CisgICAgdmFyIHBvaW50
U3RlcCA9IE1hdGgubWF4KDEsIHBvaW50U3RlcCk7CisKKyAgICB2YXIgcG9pbnRTaXplTG9jID0g
Z2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1UG9pbnRTaXplIik7CisgICAgZ2wudW5p
Zm9ybTFmKHBvaW50U2l6ZUxvYywgbWF4UG9pbnRTaXplKTsKKworICAgIHZhciBwaXhlbE9mZnNl
dCA9IChtYXhQb2ludFNpemUgJSAyKSA/ICgxIC8gd2lkdGgpIDogMDsKKyAgICB2YXIgdmVydGV4
T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIHZlcnRleE9iamVjdCk7CisgICAgZ2wuYnVmZmVyRGF0YSgKKyAgICAgICAgZ2wuQVJS
QVlfQlVGRkVSLAorICAgICAgICBuZXcgRmxvYXQzMkFycmF5KAorICAgICAgICAgIFstMC41ICsg
cGl4ZWxPZmZzZXQsIC0wLjUgKyBwaXhlbE9mZnNldCwKKyAgICAgICAgICAgIDAuNSArIHBpeGVs
T2Zmc2V0LCAtMC41ICsgcGl4ZWxPZmZzZXQsCisgICAgICAgICAgIC0wLjUgKyBwaXhlbE9mZnNl
dCwgIDAuNSArIHBpeGVsT2Zmc2V0LAorICAgICAgICAgICAgMC41ICsgcGl4ZWxPZmZzZXQsICAw
LjUgKyBwaXhlbE9mZnNldF0pLAorICAgICAgICBnbC5TVEFUSUNfRFJBVyk7CisgICAgZ2wuZW5h
YmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAy
LCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVS
X0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworCisgICAgZ2wuZHJhd0FycmF5cyhnbC5QT0lO
VFMsIDAsIDQpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7
CisKKyAgICBmdW5jdGlvbiBzMnAocykgeworICAgICAgcmV0dXJuIChzICsgMS4wKSAqIDAuNSAq
IHdpZHRoOworICAgIH0KKworICAgIC8vZnVuY3Rpb24gcHJpbnQoeCwgeSkgeworICAgIC8vICB2
YXIgYiA9IG5ldyBVaW50OEFycmF5KDQpOworICAgIC8vICBnbC5yZWFkUGl4ZWxzKHgsIHksIDEs
IDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGIpOworICAgIC8vICBkZWJ1ZygiIiArIHgg
KyAiLCIgKyB5ICsgIjogIiArIGJbMF0gKyAiLCIgKyBiWzFdICsgIiwiICsgYlsyXSk7CisgICAg
Ly99CisgICAgLy8KKyAgICAvL2ZvciAodmFyIGlpID0gMDsgaWkgPCAxMDA7ICsraWkpIHsKKyAg
ICAvLyAgcHJpbnQoaWksIGlpKTsKKyAgICAvL30KKworICAgIGZvciAodmFyIHB5ID0gMDsgcHkg
PCAyOyArK3B5KSB7CisgICAgICBmb3IgKHZhciBweCA9IDA7IHB4IDwgMjsgKytweCkgeworICAg
ICAgICBkZWJ1ZygiIik7CisgICAgICAgIHZhciBwb2ludFggPSAtMC41ICsgcHggKyBwaXhlbE9m
ZnNldDsKKyAgICAgICAgdmFyIHBvaW50WSA9IC0wLjUgKyBweSArIHBpeGVsT2Zmc2V0OworICAg
ICAgICBmb3IgKHZhciB5eSA9IDA7IHl5IDwgbWF4UG9pbnRTaXplOyB5eSArPSBwb2ludFN0ZXAp
IHsKKyAgICAgICAgICBmb3IgKHZhciB4eCA9IDA7IHh4IDwgbWF4UG9pbnRTaXplOyB4eCArPSBw
b2ludFN0ZXApIHsKKyAgICAgICAgICAgIC8vIGZvcm11bGEgZm9yIHMgYW5kIHQgZnJvbSBPcGVu
R0wgRVMgMi4wIHNwZWMgc2VjdGlvbiAzLjMKKyAgICAgICAgICAgIHZhciB4dyA9IHMycChwb2lu
dFgpOworICAgICAgICAgICAgdmFyIHl3ID0gczJwKHBvaW50WSk7CisgICAgICAgICAgICAvL2Rl
YnVnKCJ4dzogIiArIHh3ICsgIiB5dzogIiArIHl3KTsKKyAgICAgICAgICAgIHZhciB1ID0geHgg
LyBtYXhQb2ludFNpemUgKiAyIC0gMTsKKyAgICAgICAgICAgIHZhciB2ID0geXkgLyBtYXhQb2lu
dFNpemUgKiAyIC0gMTsKKyAgICAgICAgICAgIHZhciB4ZiA9IE1hdGguZmxvb3IoczJwKHBvaW50
WCArIHUgKiBwb2ludFdpZHRoKSk7CisgICAgICAgICAgICB2YXIgeWYgPSBNYXRoLmZsb29yKHMy
cChwb2ludFkgKyB2ICogcG9pbnRXaWR0aCkpOworICAgICAgICAgICAgLy9kZWJ1ZygieGY6ICIg
KyB4ZiArICIgeWY6ICIgKyB5Zik7CisgICAgICAgICAgICB2YXIgcyA9IDAuNSArICh4ZiArIDAu
NSAtIHh3KSAvIG1heFBvaW50U2l6ZTsKKyAgICAgICAgICAgIHZhciB0ID0gMC41ICsgKHlmICsg
MC41IC0geXcpIC8gbWF4UG9pbnRTaXplOworICAgICAgICAgICAgLy9kZWJ1ZygiczogIiArIHMg
KyAiIHQ6ICIgKyB0KTsKKyAgICAgICAgICAgIHZhciBjb2xvciA9IFtNYXRoLmZsb29yKHMgKiAy
NTUpLCBNYXRoLmZsb29yKCgxIC0gdCkgKiAyNTUpLCAwXTsKKyAgICAgICAgICAgIHZhciBtc2cg
PSAicGl4ZWwgIiArIHhmICsgIiwiICsgeWYgKyAiIHNob3VsZCBiZSAiICsgY29sb3I7CisgICAg
ICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCB4ZiwgeWYsIDEsIDEsIGNvbG9yLCBtc2cs
IDQpOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAgIHZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICA8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWI5
OTU4N2Y5ZTI2ZGUzMGUxNzZhYmFhNDUxMTFmYWIxZDIxNDhmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbApAQCAtMCwwICsxLDg0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlj
a0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQS5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5j
dGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0
aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdz
ID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFy
IG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVd
KQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUg
V2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVd
OworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdl
bmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJh
bmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2Vu
ZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7
CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIg
c3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRB
cmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlU
cmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7
CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQg
dGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFs
aWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFw
KGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAor
ICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOwor
ICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtz
IHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91
bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRv
U291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2
ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlm
IHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAg
IC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3Jl
YXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisg
ICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUr
IigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2lu
KCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFs
dWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50
ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRl
c3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisK
Kzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwv
aGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQjEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1C
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmY2M3NGM4ODIxMjllYTk1OGM0MTg5ZDFjMjAyODA3YmJjODMx
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEu
aHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0
LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4u
L3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3Jp
cHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQjEuanMi
Pjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisK
Ky8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3Jz
IHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3Vt
ZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVz
dENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0
cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1l
ICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJn
R2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0g
e307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0
IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVk
IHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlv
bihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmll
ZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAg
ICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9
CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlk
aXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAg
ICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQg
YXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291
cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxp
ZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3Nl
cnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAg
ICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVu
Y3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAg
ICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sg
PSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2
YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVy
KHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChn
ZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCBy
ZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4g
T2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBm
dW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1
cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7Cisg
ICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJy
b3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRp
b246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmVlOTA4YjQyNzE0
ZGVmZjk1NWU1MmQ4YWE3NTJhNTMyZWY3MzljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBl
PSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQ
SS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSJhcmdHZW5lcmF0b3JzLUIyLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBz
cGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRv
bWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5j
dGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBp
biBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAg
ICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBj
b250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAg
ICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUp
IGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVz
dENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JU
ZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAg
ICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBP
YmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3Jj
XSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJn
c1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAg
ICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2Vu
ZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkK
KyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rp
b24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAg
ICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAg
IHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBj
YWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3Jr
OiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2Uo
YSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtu
YW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVl
ZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5n
LiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZm
ZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAg
ICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJn
cy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsi
KSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFu
dXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3Vu
dCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxl
ZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3Jp
cHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxi
b2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CMy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjg3MmM5ZjZiMjJiMGQyZjU5YjRhMmY3OWU5ZjQ0ZGI1YzY4OTVmMQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sCkBA
IC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAv
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1CMy5qcyI+PC9zY3Jp
cHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVz
dCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yawor
Ly8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitU
ZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQg
PSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7Cisg
ICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlz
IG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBB
cmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAg
ICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBH
TCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQg
YXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3Ms
IGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2sp
IHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAg
IGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAg
ICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hl
Y2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBp
ZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAi
K25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9
KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFw
cGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0
IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBh
c3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihh
KXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAg
ICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7
fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBk
byBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFm
dGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1
cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2
YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qu
dG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsK
KyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNh
dGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7
CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNv
bHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0ZGNhYTM3YjQ0OGMzZGNjNzZm
Yzk3ZDczNTY2ZWE1MGFkZGI5MzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQjQuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFy
Z0dlbmVyYXRvcnMtQjQuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmll
ZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2Vu
ZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkg
eworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dl
bmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhy
b3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQi
KSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBh
bHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGlu
dWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQg
cmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5u
ZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAo
IWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50
b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10g
PSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBp
ZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQg
YXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAg
ICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXty
ZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAg
ICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2
OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3
aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFt
ZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpv
aW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFw
cGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNs
ZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxp
bmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFi
b3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2Vy
dE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChm
dW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7
IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJh
bmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUs
IGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxz
dHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8
L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDQ5NDU1N2Q1OWNmOTNmMDMxNzAzZThjNzNjMzMzMDM1YWM3NDAzYwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwKQEAgLTAsMCArMSw4
NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLUMuanMiPjwvc2NyaXB0PgorCis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwg
R0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2Fs
bGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZh
bGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBm
b3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFH
TFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZy
b20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9y
c1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFy
Z0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24g
d2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAg
IGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVw
VmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAg
ICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFk
eVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBh
bHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9
IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2Vy
dCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVj
a0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIith
cmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIp
KyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFy
Z3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlv
biB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRo
aXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9i
amVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rp
b24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAg
ICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQor
ICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5n
IGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVh
bnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIg
IituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEp
fSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJl
dHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBh
cmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7Cisg
ICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAg
fQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5
bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLURfRy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1YzI0MzNlYTkyMmYzOTZkNWI1NjQ3YmYwZjY4
OWM1ZjM5OWM3NjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktRF9HLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJl
Zj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlw
dCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0
b3JzLURfRy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFy
Z0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQg
dmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZh
ciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9y
cykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3
IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAg
ICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlU
cmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAg
ICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21s
eSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdH
ZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5v
QWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNl
KGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7
CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhh
dmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFy
ZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNz
ZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBP
YmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5j
aGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAg
ICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFs
aWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIith
cmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIp
KyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0ws
IGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0
aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5k
ZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAg
ICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNs
ZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9u
KGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7Cisg
ICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVz
dENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1l
LCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNh
bnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTQxZmM5Zjg0ZDM3OGYwYTBhOTQyNzE0NTU2MTIzYmE1YmZlMTg2MgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbApAQCAtMCwwICsxLDg0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtR19JLmpzIj48L3NjcmlwdD4KKworPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxs
IEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNh
bGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RW
YWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAg
Zm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICgh
R0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBm
cm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRv
cnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFh
cmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9u
IHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAg
ICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1
cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAg
ICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVh
ZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAg
YWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sg
PSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3Nl
cnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hl
Y2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIr
YXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwi
KSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBh
cmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rp
b24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJU
aGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBP
YmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAg
ICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUK
KyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGlu
ZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xl
YW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVy
ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShh
KX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5y
ZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwg
YXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgewor
ICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9Cisg
IH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0
eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1MX1MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NDQyMGNlZTFmODA4N2VkYWI2M2ZkOWMyOGQ1
NzYxOGIxNTUyNjEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUxfUy5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdo
dCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBo
ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK
KyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u
IGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdp
dGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBy
aWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0
ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0
bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQg
dG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisq
KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz
aGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u
cyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJB
UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJ
RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1F
UkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO
RlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI
VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBP
VEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUK
KyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklB
TFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy
ZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3Jp
cHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJh
dG9ycy1MX1MuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBB
cmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVk
IHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2
YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRv
cnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5l
dyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7Cisg
ICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5
VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7Cisg
ICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9t
bHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJn
R2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5u
b0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJj
ZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVl
OworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBo
YXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBh
cmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFz
c2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4g
T2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4u
Y2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAg
ICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZh
bGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIr
YXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwi
KSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdM
LCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAg
dGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wu
ZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisg
ICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJD
bGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlv
bihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOwor
ICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRl
c3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFt
ZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5j
YW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRiMjhlYjQyZTMxMDIzMjE3NTM2MTYwM2QyYzUyZTYwNjRhNmQzMjEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwKQEAgLTAsMCArMSw4
NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLVNfVi5qcyI+PC9zY3JpcHQ+CisKKzxz
Y3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFs
bCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBj
YWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0
VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7Cisg
IGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAo
IUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3Npbmcg
ZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0
b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICgh
YXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlv
biB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAg
ICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0
dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAg
ICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJl
YWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAg
IGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9r
ID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNz
ZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNo
ZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigi
K2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIs
IikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwg
YXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0
aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygi
VGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4g
T2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5j
dGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAg
ICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJl
CisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3Rp
bmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNs
ZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRl
ciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2Uo
YSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4u
cmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0s
IGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsK
KyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQor
ICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9z
dHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0
YUJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Njc2ZTc3OTA1YjQ2MTM0YWNiMGJiOWYzMjg2Y2Q3
YTRjYWIzNTE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJh
ZEFyZ3MuaHRtbApAQCAtMCwwICsxLDc5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMp
IDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5
IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBj
b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl
cyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0
IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRz
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1
YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoq
IHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRv
IHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg
YmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg
dGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMi
LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJ
TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFO
VEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H
RU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M
REVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklM
SVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJX
SVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBN
QVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgor
Ki8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIu
Li91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBz
cmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWph
dmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxp
Y2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsK
KyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wg
PSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgdmFyIGJ1ZiA9IGdsLmNy
ZWF0ZUJ1ZmZlcigpOworICB2YXIgZWJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5k
QnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5U
X0FSUkFZX0JVRkZFUiwgZWJ1Zik7CisgIHJldHVybiBbZ2wsIGJ1ZiwgZWJ1Zl07Cit9CisKK1Rl
c3RzLnRlc3RCdWZmZXJEYXRhID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBhc3NlcnRPaygiemVybyBz
aXplIGRhdGEiLAorICAgICAgICBmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVG
RkVSLCBuZXcgRmxvYXQzMkFycmF5KDApLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgYXNzZXJ0
RmFpbCgiYmFkIHRhcmdldCIsCisgICAgICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5U
RVhUVVJFXzJELCBuZXcgRmxvYXQzMkFycmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7fSk7
CisvLyAgICBhc3NlcnRGYWlsKCJhcnJheSBmb3IgZGF0YSIsCisvLyAgICAgICAgZnVuY3Rpb24o
KXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgWzEsMiwzXSwgZ2wuU1RBVElDX0RSQVcp
O30pOworICAgIGFzc2VydEZhaWwoImJhZCB1c2FnZSIsCisgICAgICAgIGZ1bmN0aW9uKCl7Z2wu
YnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoWzEsMiwzXSksIGds
LlRFWFRVUkVfMkQpO30pOworICAgIGFzc2VydEZhaWwoIm51bGwgZGF0YSIsCisgICAgICAgIGZ1
bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG51bGwsIGdsLlNUQVRJQ19E
UkFXKTt9KTsKKyAgICBhc3NlcnRGYWlsKCJ1bmRlZmluZWQgZGF0YSIsCisgICAgICAgIGZ1bmN0
aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHVuZGVmaW5lZCwgZ2wuU1RBVElD
X0RSQVcpO30pOworICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5FTEVN
RU5UX0FSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbMSwyLDNdKSwgZ2wuU1RBVElDX0RS
QVcpO30pOworICAgIHRocm93RXJyb3IoZ2wsICdidWZmZXJEYXRhJyk7CisgICAgZ2wuYmluZEJ1
ZmZlcihnbC5BUlJBWV9CVUZGRVIsIG51bGwpOworICAgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtn
bC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbMSwyLDNdKSwg
Z2wuU1RBVElDX0RSQVcpO30pOworICAgIHRocm93RXJyb3IoZ2wsICdidWZmZXJEYXRhJyk7Cisg
ICAgZ2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgbnVsbCk7CisgICAgYXNz
ZXJ0RmFpbChmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIs
IG5ldyBVaW50MTZBcnJheShbMSwyLDNdKSwgZ2wuU1RBVElDX0RSQVcpO30pOworICAgIHRocm93
RXJyb3IoZ2wsICdidWZmZXJEYXRhJyk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihn
bCwgYnVmLCBlYnVmKSB7CisgICAgZ2wuZGVsZXRlQnVmZmVyKGJ1Zik7CisgICAgZ2wuZGVsZXRl
QnVmZmVyKGVidWYpOworfQorCisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246
YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRo
PSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlU
ZXhJbWFnZTJELmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTVhNGYyZmMwNjZhZjFlNWM3ZGM1MjMxOGRlMDI5
MTFiNThiODUyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFn
ZTJELmh0bWwKQEAgLTAsMCArMSwxMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4u
L3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgewor
ICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZhciBnbCA9
IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICByZXR1cm4gW2dsXTsKK30K
KworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCkgeworICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4
dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICB2YXIgdGV4
Q3ViZU1hcCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV9DVUJFX01BUCwgdGV4Q3ViZU1hcCk7CisgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJk
b3duID0gZnVuY3Rpb24oZ2wsdGV4LCB0ZXhDdWJlTWFwKSB7CisgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfMkQsIG51bGwpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQ
LCBudWxsKTsKKyAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworICBnbC5kZWxldGVUZXh0dXJlKHRl
eEN1YmVNYXApOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7Cisg
IGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwxLDEsMCk7
CisgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwyLDEs
MCk7CisgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwx
LDIsMCk7CisgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAs
MCwxNiwxNiwwKTsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgMTUsMTUsMSwxLDApOworICB2YXIgdmFsaWRfdGFyZ2V0cyA9IFsKKyAgICBnbC5URVhUVVJF
XzJELAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9Z
LAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NV
QkVfTUFQX1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisg
IF07CisgIHZhbGlkX3RhcmdldHMuZm9yRWFjaChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0T2so
ZnVuY3Rpb24oKXtnbC5jb3B5VGV4SW1hZ2UyRCh0LCAwLCBnbC5SR0JBLCAwLDAsMSwxLDApO30p
OworICB9KTsKK30KK1Rlc3RzLnRlc3RSb3VuZHRyaXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZh
ciBzaCA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0eS1mbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJh
ZycpOworICAgIGdsLmNsZWFyQ29sb3IoMS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7
CisgICAgZ2wucmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1
Zik7CisgICAgYXNzZXJ0RXF1YWxzKFsyNTUsMCwwLDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVm
WzJdLCBidWZbM11dKTsKKyAgICAvLyByZWQgdGV4dHVyZQorICAgIGdsLmNvcHlUZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwxNiwxNiwwKTsKKyAgICBnbC50ZXhQYXJh
bWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdF
KTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9U
LCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQs
IGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBn
bC5jbGVhckNvbG9yKDAuMCwgMC4wLCAxLjAsIDEuMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1Jf
QlVGRkVSX0JJVCk7CisgICAgLy8gYmx1ZSBmcmFtZWJ1ZmZlcgorICAgIGdsLnJlYWRQaXhlbHMo
MCwwLDEsMSxnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIGFzc2VydEVxdWFs
cyhbMCwwLDI1NSwyNTVdLCBbYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXSk7CisgICAg
c2guYXBwbHkoKTsgLy8gcGFpbnQgaXQgd2l0aCB0ZXh0dXJlCisgICAgZ2wucmVhZFBpeGVscygw
LDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxz
KFsyNTUsMCwwLDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICBz
aC5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZsaXAtdmVydCIgdHlwZT0ieC1zaGFkZXIv
eC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4OworYXR0cmlidXRlIHZlYzIgVGV4Owor
Cit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB0ZXhDb29yZDAg
PSB2ZWM0KFRleC5zLCAxLjAtVGV4LnQsIDAuMCwgMC4wKTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZl
YzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mcmFn
IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
Cit1bmlmb3JtIHNhbXBsZXIyRCBUZXh0dXJlOworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwor
dm9pZCBtYWluKCkKK3sKKyAgICB2ZWM0IGMgPSB0ZXh0dXJlMkQoVGV4dHVyZSwgdGV4Q29vcmQw
LnN0KTsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworfQorPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFz
eyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlk
PSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiNGRj
YzIyZTlhZTAwMTYyNzE4NWY4MWVkZjFjYTk3MmIzOGExMWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDEwOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitU
ZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xD
b250ZXh0KGNhbnZhcykpOworICAgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1
bmN0aW9uKGdsKSB7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRU
ZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRl
YXJkb3duID0gZnVuY3Rpb24oZ2wsdGV4KSB7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVf
MkQsIG51bGwpOworICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJ
bWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBhc3NlcnRPaygiaGVpZ2h0ID4gYmFja0hlaWdo
dCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIDAsMCwgMTcsMSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygid2lkdGgg
PiBiYWNrV2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIDEsMTcsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0
T2soInggKyB3aWR0aCA+IGJhY2tXaWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlU
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE2LDAsIDEsMSwwKTsKKyAgICB9
KTsKKyAgICBhc3NlcnRPaygieSArIGhlaWdodCA+IGJhY2tIZWlnaHQiLCBmdW5jdGlvbigpewor
ICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDE2
LCAxLDEsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soIk5lZ2F0aXZlIFgiLCBmdW5jdGlvbigp
eworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAt
MSwwLCAxLDEsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soIk5lZ2F0aXZlIFkiLCBmdW5jdGlv
bigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JB
LCAwLC0xLCAxLDEsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTmVnYXRpdmUgaGVpZ2h0
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgMCwwLCAtMSwxLDApOworICAgIH0pOworICAgIGFzc2VydEZhaWwoIk5lZ2F0
aXZlIHdpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxLC0xLDApOworICAgIH0pOworICAgIGFzc2VydEZh
aWwoIk5vbiAwIGJvcmRlciIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwgMSwxLDEpOworICAgIH0pOworICAgIGFz
c2VydEZhaWwoIk5lZ2F0aXZlIGJvcmRlciIsZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRl
eEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxLDEsLTEpOworICAgIH0p
OworICAgIGFzc2VydE9rKCJHb29kIEFyZ3MiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5
VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIDE2LDE2LDApOworICAg
IH0pOworICAgIGFzc2VydEZhaWwoIk5QT1QgdGV4dHVyZSB0byA+IGxldmVsIDAiLCBmdW5jdGlv
bigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAxLCBnbC5SR0JB
LCAwLDAsIDE1LDE2LDApOworICAgIH0pOworICAgIGFzc2VydEZhaWwoIkJhZCB0YXJnZXQiLCBm
dW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5GTE9BVCwgMCwgZ2wuUkdC
QSwgMCwwLCAxNiwxNiwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRGYWlsKCJCYWQgaW50ZXJuYWwg
Zm9ybWF0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZ2wuRkxPQVQsIDAsMCwgMTYsMTYsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFp
bCgiTmVnYXRpdmUgbGV2ZWwiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAtMSwgZ2wuUkdCQSwgMCwwLCAxNiwxNiwwKTsKKyAgICB9KTsKK30K
KworCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c3R5
bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8
Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDUx
YjNlYWI5Y2I0M2E5ZWZiYjE2NmIwYWZjMzY4YThlMGM5ZDgzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbApAQCAtMCwwICsxLDE0MiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9
ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0
cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQo
Y2FudmFzKSk7CisgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGds
KSB7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfMkQsIHRleCk7CisgIHZhciB0ZXhDdWJlTWFwID0gZ2wuY3JlYXRlVGV4dHVyZSgp
OworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFwKTsKKyAg
cmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgsdGV4Q3Vi
ZU1hcCkgeworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgZ2wuYmlu
ZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgbnVsbCk7CisgIGdsLmRlbGV0ZVRleHR1cmUo
dGV4KTsKKyAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXhDdWJlTWFwKTsKK30KKworCitUZXN0cy50ZXN0
VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwxNiwxNiwwKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDAsMSwxKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDAsMiwxKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDAsMSwyKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDAsMTYsMTYpOworICBnbC5jb3B5VGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDE1LDE1LDEsMSk7CisgIGdsLmNvcHlUZXhTdWJJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDEsMSwgMCwwLDE1LDE1KTsKKyAgZ2wuY29weVRleFN1Yklt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMTUsMTUsIDAsMCwxLDEpOworICB2YXIgdmFsaWRfdGFy
Z2V0cyA9IFsKKyAgICBnbC5URVhUVVJFXzJELAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9T
SVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVY
VFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJ
VkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVS
RV9DVUJFX01BUF9ORUdBVElWRV9aCisgIF07CisgIHZhbGlkX3RhcmdldHMuZm9yRWFjaChmdW5j
dGlvbih0KSB7CisgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleElt
YWdlMkQodCwgMCwgZ2wuUkdCQSwgMCwwLDEsMSwwKTsKKyAgICAgICAgZ2wuY29weVRleFN1Yklt
YWdlMkQodCwgMCwgMCwwLDAsMCwxLDEpOworICAgIH0pOworICB9KTsKK30KK1Rlc3RzLnRlc3RS
b3VuZHRyaXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciBzaCA9IG5ldyBGaWx0ZXIoZ2wsICdp
ZGVudGl0eS1mbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOworICAgIGdsLmNsZWFyQ29sb3Io
MS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsK
KyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgZ2wucmVhZFBpeGVscygwLDAs
MSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFsy
NTUsMCwwLDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICAvLyBy
ZWQgdGV4dHVyZQorICAgIGdsLmNsZWFyQ29sb3IoMC4wLCAwLjAsIDAuMCwgMC4wKTsKKyAgICBn
bC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdnbCcpKTsKKyAgICBnbC5jbGVhckNvbG9yKDEuMCwgMC4wLCAwLjAsIDEu
MCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgZ2wuY29weVRleFN1
YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLDAsMCwxNiwxNik7CisgICAgZ2wudGV4UGFy
YW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURH
RSk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBf
VCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJE
LCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLkxJTkVBUik7CisgICAgZ2wudGV4UGFyYW1ldGVy
aShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CisgICAg
Z2wuY2xlYXJDb2xvcigwLjAsIDAuMCwgMS4wLCAxLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQpOworICAgIC8vIGJsdWUgZnJhbWVidWZmZXIKKyAgICBnbC5yZWFkUGl4ZWxz
KDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICBhc3NlcnRFcXVh
bHMoWzAsMCwyNTUsMjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXV0pOworICAg
IHNoLmFwcGx5KCk7IC8vIHBhaW50IHdpdGggdGV4dHVyZQorICAgIGdsLnJlYWRQaXhlbHMoMCww
LDEsMSxnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIGFzc2VydEVxdWFscyhb
MjU1LDAsMCwyNTVdLCBbYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXSk7CisgICAgc2gu
ZGVzdHJveSgpOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gt
dmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwor
dmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQwID0g
dmVjNChUZXgucywgMS4wLVRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0
KFZlcnRleCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZnJhZyIg
dHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwor
dW5pZm9ybSBzYW1wbGVyMkQgVGV4dHVyZTsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3Zv
aWQgbWFpbigpCit7CisgICAgdmVjNCBjID0gdGV4dHVyZTJEKFRleHR1cmUsIHRleENvb3JkMC5z
dCk7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsKK30KKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sg
cG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0i
Z2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
MmM0NzRjNTU0MDk1ZTEyZjcyNWZiYWNmYzk5OGIwOGZlNzNiMjI2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCAr
MSwxMTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91
dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICAgIHZhciBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0
KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMuc2V0
dXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7Cisg
ICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICByZXR1cm4gW2dsXQor
fQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLHRleCkgeworICAgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30K
KworVGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihnbCkgeworICAgIGdsLmNvcHlUZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwgMTYsMTYsIDApOworICAgIGFz
c2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJ3aWR0aCA+IGRzdCB0ZXggd2lkdGgi
LCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCAwLDAsIDAsMCwgMTcsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wu
SU5WQUxJRF9WQUxVRSwgImhlaWdodCA+IGRzdCB0ZXggaGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAg
ICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDAsIDEs
MTcpOworICAgIH0pOworICAgIC8vIFRoZSBzcGVjIHNheXMgdGhlIHNvdXJjZSBpbWFnZSBkaW1l
bnNpb25zIGNhbiBiZSBvdXQgb2YgcmFuZ2UuCisgICAgYXNzZXJ0T2soInggPiBkc3QgdGV4IHdp
ZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgMCwwLCAxNiwwLCAxLDEpOworICAgIH0pOworICAgIGFzc2VydE9rKCJ5ID4gZHN0
IHRleCB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwxNiwgMSwxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygi
eCA8IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLDAsIC0xLDAsIDEsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInkgPCAw
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgMCwwLCAwLC0xLCAxLDEpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfVkFMVUUsICJ3aWR0aCA8IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5
VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwgLTEsMSk7CisgICAgfSk7
CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImhlaWdodCA8IDAiLCBm
dW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCAwLDAsIDAsMCwgMSwtMSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9WQUxVRSwgInhvZmZzZXQgPCAwIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgLTEsMCwgMCwwLCAxNiwxNik7CisgICAgfSk7
CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInlvZmZzZXQgPCAwIiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgMCwtMSwgMCwwLCAxNiwxNik7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInggPCAwIGZ1bGwg
d2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLDAsIC0xLDAsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieSA8
IDAgZnVsbCBoZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsLTEsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBhc3Nl
cnRPayhmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCAwLDAsIDAsMCwgMTYsMTYpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2ws
IGdsLklOVkFMSURfRU5VTSwgImJhZCB0YXJnZXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5j
b3B5VGV4U3ViSW1hZ2UyRChnbC5GTE9BVCwgMCwgMCwwLCAwLDAsIDE2LDE2KTsKKyAgICB9KTsK
KyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiIiwgZnVuY3Rpb24oKXsK
KyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgLTEsIDAsMCwgMCww
LCAxNiwxNik7CisgICAgfSk7Cit9CisKKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7
Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0
eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIx
NiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFk
QXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlMGNiYzAxZDg4ZGMyYjhmYTcyMWIyNmRhYWY1NjgxYjQ1
ODE2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRB
cmdzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4v
dW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7Cisg
IHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0g
Z2V0R0xDb250ZXh0KGNhbnZhcyk7CisgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy50ZXN0RGVs
ZXRlQnVmZmVyID0gZnVuY3Rpb24oZ2wpIHsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJu
dW1iZXIgIiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKDEpOyB9KTsKKyAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuTk9fRVJST1IsICJudWxsIiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVy
KG51bGwpOyB9KTsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICIwIiwgZnVuY3Rpb24oKXsg
Z2wuZGVsZXRlQnVmZmVyKDApOyB9KTsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJmYWxz
ZSIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcihmYWxzZSk7IH0pOworICBhc3NlcnRUaHJv
d05vR0xFcnJvcihnbCwgInRydWUiLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIodHJ1ZSk7
IH0pOworICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgInt9IiwgZnVuY3Rpb24oKXsgZ2wuZGVs
ZXRlQnVmZmVyKHt9KTsgfSk7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGFz
c2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4IGFzIGJ1ZiIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0
ZUJ1ZmZlcih0ZXgpOyB9KTsKKyAgdmFyIGJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBhc3Nl
cnRPayhmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoYnVmKTsgfSk7CisgIGFzc2VydE9rKGZ1
bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcihidWYpOyB9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24o
KXsgZ2wuZGVsZXRlQnVmZmVyKGJ1Zik7IH0pOworICBhc3NlcnRPayhmdW5jdGlvbigpeyBnbC5k
ZWxldGVUZXh0dXJlKHRleCk7IH0pOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wp
IHsKK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwv
c3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9
IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3QXJyYXlzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmE1YzFkOGRlMmVkOWI5ZjdjNmEwOGQwYjMyYTk0N2NjMjEwNmZkMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbApAQCAtMCwwICsxLDEzNSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCit2
YXIgdmVydHMgPSBbMC4wLCAwLjAsIDAuMCwgICAxLjAsIDAuMCwgMC4wLCAgIDAuMCwgMS4wLCAw
LjBdOwordmFyIG5vcm1hbHMgPSBbMC4wLCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wLCAgIDAu
MCwgMC4wLCAxLjBdOwordmFyIHRleGNvb3JkcyA9IFswLjAsMC4wLCAgMS4wLDAuMCwgIDAuMCwx
LjBdOworCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChn
ZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHZhciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQn
LCAnZnJhZycpOworICBwcm9nLnVzZSgpOworICB2YXIgc2ggPSBwcm9nLnNoYWRlci5wcm9ncmFt
OworLy8gICBsb2coZ2wuZ2V0U2hhZGVySW5mb0xvZyhwcm9nLnNoYWRlcnNbMV0pKTsKKyAgdmFy
IHYgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ1ZlcnRleCcpOworICB2YXIgbiA9IGdsLmdl
dEF0dHJpYkxvY2F0aW9uKHNoLCAnTm9ybWFsJyk7CisgIHZhciB0ID0gZ2wuZ2V0QXR0cmliTG9j
YXRpb24oc2gsICdUZXgnKTsKKyAgcmV0dXJuIFtnbCxwcm9nLHYsbix0XTsKK30KKworVGVzdHMu
c2V0dXAgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgYXNzZXJ0KDAgPT0gZ2wuZ2V0
RXJyb3IoKSk7CisgIHJldHVybiBbZ2wsIHByb2csIHYsbix0XTsKK30KK1Rlc3RzLnRlYXJkb3du
ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJB
cnJheSh2KTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOworICBnbC5kaXNhYmxl
VmVydGV4QXR0cmliQXJyYXkodCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCwg
cHJvZywgdixuLHQpIHsKKyAgcHJvZy5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJy
YXlzVkJPID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciB2Ym8gPSBuZXcgVkJP
KGdsLCB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9KTsKKyAgdmJvLmRyYXcodik7CisgIGFz
c2VydCgwID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZHJhdyIpKTsKKyAgYXNzZXJ0T2soZnVuY3Rp
b24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNSwgMSk7fSk7CisgIGFzc2VydE9rKGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDIpO30pOworICBhc3NlcnRP
ayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTt9KTsKKyAgYXNz
ZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNSk7fSk7Cisg
IHZiby5kZXN0cm95KCk7CisgIGFzc2VydCgwID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJv
eSIpKTsKK30KKworVGVzdHMudGVzdERyYXdBcnJheXNWQk9NdWx0aSA9IGZ1bmN0aW9uKGdsLCBw
cm9nLCB2LG4sdCkgeworICAvLyBjcmVhdGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFycmF5cywgYmlu
ZHMgdGhlbSB3aXRoCisgIC8vIHZlcnRleEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxzIGRyYXdBcnJh
eXMKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRp
Y2VzfSwKKyAgICB7c2l6ZTozLCBkYXRhOlF1YWQubm9ybWFsc30sCisgICAge3NpemU6MiwgZGF0
YTpRdWFkLnRleGNvb3Jkc30pOworICB2Ym8uZHJhdyh2LCBuLCB0KTsKKyAgYXNzZXJ0KDAgPT0g
Y2hlY2tFcnJvcihnbCwgInZiby5kcmF3IikpOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRy
YXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA1LCAxKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9u
KCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpO30pOworICBhc3NlcnRPayhmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA1KTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA2KTt9KTsKKyAgYXNz
ZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA2LCAxKTt9KTsK
KyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVy
dGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBhc3NlcnRP
ayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA1LCAxKTt9KTsKKyAgYXNz
ZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7Cisg
IGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpO30p
OworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA1
KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAxLCA2KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJ
QU5HTEVTLCA2LCAxKTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tF
cnJvcihnbCwgInZiby5kZXN0cm95IikpOworfQorCisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0i
dmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICBhdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7
CisgIGF0dHJpYnV0ZSB2ZWMzIE5vcm1hbDsKKyAgYXR0cmlidXRlIHZlYzIgVGV4OworCisgIHZh
cnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICBnbF9Qb3NpdGlv
biA9IHZlYzQoVmVydGV4ICogTm9ybWFsLCAxLjApOworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4
LDAuMCwwLjApICsgZ2xfUG9zaXRpb247CisgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJh
ZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0
OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICB2
ZWM0IGMgPSB0ZXhDb29yZDA7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsKKyAgfQorPC9zY3JpcHQ+
CisKKworPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFk
Pjxib2R5PgorICA8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+PC9jYW52YXM+
Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091
dE9mQm91bmRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NDNlZTg1NzY3NDA5MDhjYjEwMDBhZjRlZjJhNmY4NzZlOTg4MTQ0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0
bWwKQEAgLTAsMCArMSwzMDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQu
Y3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4v
dW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlw
dCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0Ij4KKwordmFyIHZlcnRzID0gWzAuMCwgMC4wLCAwLjAsICAgMS4wLCAwLjAs
IDAuMCwgICAwLjAsIDEuMCwgMC4wXTsKK3ZhciBub3JtYWxzID0gWzAuMCwgMC4wLCAxLjAsICAg
MC4wLCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wXTsKK3ZhciB0ZXhjb29yZHMgPSBbMC4wLDAu
MCwgIDEuMCwwLjAsICAwLjAsMS4wXTsKKwordmFyIHZlcnRzQSA9IG5ldyBGbG9hdDMyQXJyYXko
dmVydHMpOwordmFyIG5vcm1hbHNBID0gbmV3IEZsb2F0MzJBcnJheShub3JtYWxzKTsKK3ZhciB0
ZXhjb29yZHNBID0gbmV3IEZsb2F0MzJBcnJheSh0ZXhjb29yZHMpOworCitUZXN0cy5zdGFydFVu
aXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7
CisgIHZhciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQnLCAnZnJhZycpOworICBwcm9nLnVz
ZSgpOworICB2YXIgdiA9IHByb2cuYXR0cmliKCdWZXJ0ZXgnKTsKKyAgdmFyIG4gPSBwcm9nLmF0
dHJpYignTm9ybWFsJyk7CisgIHZhciB0ID0gcHJvZy5hdHRyaWIoJ1RleCcpOworICByZXR1cm4g
W2dsLHByb2csdixuLHRdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2
LG4sdCkgeworICByZXR1cm4gW2dsLCBwcm9nLCB2LG4sdF07Cit9CitUZXN0cy50ZWFyZG93biA9
IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJy
YXkodik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZGlzYWJsZVZl
cnRleEF0dHJpYkFycmF5KHQpOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wsIHBy
b2csIHYsbix0KSB7CisgIHByb2cuZGVzdHJveSgpOworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5
c0VtcHR5ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciBiID0gZ2wuY3JlYXRl
QnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBiKTsKKyAgZ2wuYnVm
ZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoW10pLCBnbC5TVEFUSUNf
RFJBVyk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAz
LCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApO30pCisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5
KHYpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6
ZSBhcnJheSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAw
LCAxKTt9KTsKKyAgZ2wuZGVsZXRlQnVmZmVyKGIpOworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5
c091dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciBiID0gZ2wu
Y3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBiKTsKKyAg
Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoW10pLCBnbC5T
VEFUSUNfRFJBVyk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wudmVydGV4QXR0cmliUG9pbnRl
cih2LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApO30pOworICBnbC5lbmFibGVWZXJ0ZXhBdHRy
aWJBcnJheSh2KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ6
ZXJvIHNpemUgYXJyYXkiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFO
R0xFUywgMCwgMSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9O
LCAiemVybyBzaXplIGFycmF5IDEwMDAwIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDAsIDEwMDAwKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sICJ6ZXJvIHNpemUgYXJyYXkgMTAwMDAwMDAwMDAwMDAiLAorICAgICAg
ZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMTAwMDAwMDAwMDAwMDAp
O30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6
ZSBhcnJheSBmcmFjdGlvbiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJ
QU5HTEVTLCAwLCAxLjYpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVF
LCAibmVnYXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDAsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVS
QVRJT04sICJjb3VudCBvdXQgb2YgcmFuZ2UiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJy
YXlzKGdsLlRSSUFOR0xFUywgMCwgMSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFM
SURfVkFMVUUsICJuZWdhdGl2ZSBjb3VudCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCAwLCAtMSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFM
SURfVkFMVUUsICJwb3NpdGl2ZSBjb3VudCwgbmVnYXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1bmN0
aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIC0xLCAxKTt9KTsKKyAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50LCBwb3NpdGl2ZSBvZmZz
ZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgLTEp
O30pOworICBnbC5kZWxldGVCdWZmZXIoYik7Cit9CisKKworVGVzdHMudGVzdERyYXdBcnJheXNX
aXRoRGF0YU91dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciBi
ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBi
KTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHZlcnRzQSwgZ2wuU1RBVElDX0RS
QVcpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwg
MCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMgZWxlbWVudCBhcnJheSIsCisgICAgICBmdW5jdGlv
bigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAzLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICIzIGVsZW1lbnQgYXJyYXkgMTAwMDAiLAorICAg
ICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMTAwMDApO30pOwor
ICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMgZWxlbWVudCBhcnJh
eSAxMDAwMDAwMDAwMDAwMCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJ
QU5HTEVTLCAwLCAxMDAwMDAwMDAwMDAwMCk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklO
VkFMSURfT1BFUkFUSU9OLCAiZnJhY3Rpb25hbCBjb3VudCIsCisgICAgICBmdW5jdGlvbigpe2ds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAzLCAxLjYpO30pOworICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1bmN0aW9uKCl7
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihn
bCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJjb3VudCBvdXQgb2YgcmFuZ2UiLAorICAgICAgZnVu
Y3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNCk7fSk7CisgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBjb3VudCIsCisgICAgICBmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAtMSk7fSk7CisgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJwb3NpdGl2ZSBjb3VudCwgbmVnYXRpdmUgb2Zm
c2V0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIC0xLCAy
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNv
dW50LCBwb3NpdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMSwgLTEpO30pOworICBnbC5kZWxldGVCdWZmZXIoYik7Cit9CisKK1Rlc3Rz
LnRlc3REcmF3QXJyYXlzTXVsdGlPdXRPZkJvdW5kcyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4s
dCkgeworICB2YXIgYnMgPSBbXTsKKyAgYnMucHVzaChnbC5jcmVhdGVCdWZmZXIoKSk7CisgIGds
LmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1ticy5sZW5ndGgtMV0pOworICBnbC5idWZm
ZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdmVydHNBLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZl
cnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgYnMucHVz
aChnbC5jcmVhdGVCdWZmZXIoKSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBi
c1ticy5sZW5ndGgtMV0pOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbm9ybWFs
c0EsIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5G
TE9BVCwgZmFsc2UsIDAsIDApOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0xXSk7CisgIGdsLmJ1ZmZl
ckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCB0ZXhjb29yZHNBLCBnbC5TVEFUSUNfRFJBVyk7CisgIGds
LnZlcnRleEF0dHJpYlBvaW50ZXIodCwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wu
ZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5
KG4pOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKKyAgYXNzZXJ0R0xFcnJvcihn
bCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJheSAxIiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOworICBicy5wdXNoKGdsLmNy
ZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxl
bmd0aC0xXSk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFy
cmF5KHZlcnRzLmNvbmNhdCh2ZXJ0cykpLCBnbC5TVEFUSUNfRFJBVyk7CisgIGJzLnB1c2goZ2wu
Y3JlYXRlQnVmZmVyKCkpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbYnMu
bGVuZ3RoLTFdKTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMy
QXJyYXkodGV4Y29vcmRzLmNvbmNhdCh0ZXhjb29yZHMpKSwgZ2wuU1RBVElDX0RSQVcpOworICBn
bC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGds
LmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBv
aW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5B
UlJBWV9CVUZGRVIsIGJzWzJdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0LCAyLCBnbC5G
TE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAg
Z2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFy
cmF5KHQpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRp
IGFycmF5IDIiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywg
MywgMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVs
dGkgYXJyYXkgMyIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCA0LCAyKTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzBdKTsKKyAg
Z2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBn
bC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbM10pOworICBnbC52ZXJ0ZXhBdHRyaWJQ
b2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wu
QVJSQVlfQlVGRkVSLCBic1syXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodCwgMiwgZ2wu
RkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7Cisg
IGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJB
cnJheSh0KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0
aSBhcnJheSA0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDMsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11
bHRpIGFycmF5IDUiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xF
UywgNCwgMik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1swXSk7Cisg
IGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzFdKTsKKyAgZ2wudmVydGV4QXR0cmli
UG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGds
LkFSUkFZX0JVRkZFUiwgYnNbNF0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHQsIDIsIGds
LkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOwor
ICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmli
QXJyYXkodCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVs
dGkgYXJyYXkgNiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAzLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJt
dWx0aSBhcnJheSA3IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDMsIDIpO30pOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbM10pOwor
ICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Cisg
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1szXSk7CisgIGdsLnZlcnRleEF0dHJp
YlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihn
bC5BUlJBWV9CVUZGRVIsIGJzWzJdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0LCAyLCBn
bC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsK
KyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJp
YkFycmF5KHQpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11
bHRpIGFycmF5IDgiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xF
UywgNCwgMSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdh
dGl2ZSBjb3VudCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAtMSwgMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAi
emVybyBjb3VudD8/PyIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5H
TEVTLCAwLCA0KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04s
ICJtdWx0aSBhcnJheSA5IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklB
TkdMRVMsIDEsIDQpO30pOworICBicy5mb3JFYWNoKGZ1bmN0aW9uKGIpeyBnbC5kZWxldGVCdWZm
ZXIoYikgfSk7Cit9CisKKworVGVzdHMudGVzdERyYXdBcnJheXNWQk9PdXRPZkJvdW5kcyA9IGZ1
bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwge3NpemU6
MywgZGF0YTpRdWFkLnZlcnRpY2VzfSk7CisgIHZiby51c2Uodik7CisgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCA2LCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDIsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sICIzIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDAsIDcpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJB
VElPTiwgIjQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywg
MSwgNik7fSk7CisgIHZiby5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzVkJP
TXVsdGlPdXRPZkJvdW5kcyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAvLyBjcmVh
dGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFycmF5cywgYmluZHMgdGhlbSB3aXRoCisgIC8vIHZlcnRl
eEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxzIGRyYXdBcnJheXMKKyAgdmFyIHZibyA9IG5ldyBWQk8o
Z2wsCisgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICB7c2l6ZTozLCBkYXRh
OlF1YWQubm9ybWFsc30sCisgICAge3NpemU6MiwgZGF0YTpRdWFkLnRleGNvb3Jkc30pOworICB2
Ym8udXNlKHYsIG4sIHQpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElP
TiwgIjEiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNiwg
MSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBj
b3VudCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAyLCAt
MSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMiIsCisg
ICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA3KTt9KTsKKyAg
YXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICIzIiwKKyAgICAgIGZ1bmN0
aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDYpO30pOworICB2Ym8uZGVzdHJv
eSgpOworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5c09PQlNoYWRlckp1Z2dsZSA9IGZ1bmN0aW9u
KGdsLCBwcm9nLCB2LG4sdCkgeworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICB7c2l6ZToz
LCBkYXRhOlswLDAsMF19LAorICAgIHtzaXplOjMsIGRhdGE6WzAsMCwwLDAsMCwwXX0pOworICB2
Ym8uaW5pdCgpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvLnZib3NbMF0p
OworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7
CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBhc3NlcnRHTEVycm9yKGdsLCBn
bC5JTlZBTElEX09QRVJBVElPTiwgIm9mZnNldCB0b28gYmlnIiwKKyAgICAgIGZ1bmN0aW9uKCl7
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDIpO30pOworICB2YXIgc2gyID0gbmV3IFNo
YWRlcihnbCwgJ3ZlcnQnLCAnZnJhZycpOworICBzaDIudXNlKCk7CisgIGdsLmJpbmRCdWZmZXIo
Z2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJvc1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
c2gyLmF0dHJpYignVmVydGV4JyksIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVu
YWJsZVZlcnRleEF0dHJpYkFycmF5KHNoMi5hdHRyaWIoJ1ZlcnRleCcpKTsKKyAgYXNzZXJ0T2so
ZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2Vy
dEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAib2Zmc2V0IHRvbyBiaWcgMiIsCisg
ICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTt9KTsKKyAg
cHJvZy51c2UoKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihwcm9nLmF0dHJpYignVmVydGV4
JyksIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFy
cmF5KHByb2cuYXR0cmliKCdWZXJ0ZXgnKSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwgIm9mZnNldCB0b28gYmlnIDMiLAorICAgICAgZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7fSk7CisgIHNoMi5kZXN0cm95KCk7Cit9
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgi
PgorICBhdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CisgIGF0dHJpYnV0ZSB2ZWMzIE5vcm1hbDsKKyAg
YXR0cmlidXRlIHZlYzIgVGV4OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQg
bWFpbigpCisgIHsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4ICogTm9ybWFsLCAxLjAp
OworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LDAuMCwwLjApICsgZ2xfUG9zaXRpb247CisgIH0K
Kzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+
CisgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7
CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB0ZXhDb29yZDA7CisgIH0K
Kzwvc2NyaXB0PgorCisKKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHls
ZT4KKzwvaGVhZD48Ym9keT4KKyAgPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxIiBoZWlnaHQ9IjEi
PjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Ry
YXdFbGVtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODAxNjg1ZGFhNmQ2ZTg5OTFkNTAzMWVjYjkxZDA4MjY1YTdlNDM2NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1sCkBAIC0wLDAgKzEsMTQz
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisK
K3ZhciB2ZXJ0cyA9IFswLjAsIDAuMCwgMC4wLCAgIDEuMCwgMC4wLCAwLjAsICAgMC4wLCAxLjAs
IDAuMF07Cit2YXIgbm9ybWFscyA9IFswLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjAsICAg
MC4wLCAwLjAsIDEuMF07Cit2YXIgdGV4Y29vcmRzID0gWzAuMCwwLjAsICAxLjAsMC4wLCAgMC4w
LDEuMF07Cit2YXIgaW5kaWNlcyA9IFswLDEsMl0KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rp
b24gKCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7Cisg
IHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICB2YXIgcHJv
ZyA9IG5ldyBTaGFkZXIoZ2wsICd2ZXJ0JywgJ2ZyYWcnKTsKKyAgcHJvZy51c2UoKTsKKyAgdmFy
IHNoID0gcHJvZy5zaGFkZXIucHJvZ3JhbTsKKyAgdmFyIHYgPSBnbC5nZXRBdHRyaWJMb2NhdGlv
bihzaCwgJ1ZlcnRleCcpOworICB2YXIgbiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnTm9y
bWFsJyk7CisgIHZhciB0ID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdUZXgnKTsKKyAgcmV0
dXJuIFtnbCxwcm9nLHYsbix0XTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCwgcHJv
ZywgdixuLHQpIHsKKyAgYXNzZXJ0KDAgPT0gZ2wuZ2V0RXJyb3IoKSk7CisgIHJldHVybiBbZ2ws
IHByb2csIHYsbix0XTsKK30KK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHByb2csIHYs
bix0KSB7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZGlzYWJsZVZl
cnRleEF0dHJpYkFycmF5KG4pOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodCk7Cit9
CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgcHJvZy5k
ZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk8gPSBmdW5jdGlvbihnbCwg
cHJvZywgdixuLHQpIHsKKyAgICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAgICAg
ICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAge2VsZW1lbnRzOnRydWUsIGRhdGE6UXVhZC5pbmRpY2VzfSk7CisgIHZiby5kcmF3KHYp
OworICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kcmF3IikpOwor
ICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGds
LlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKjIpO30pOworICBh
c3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDAsIGdsLlVO
U0lHTkVEX1NIT1JULCAyKjEpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA1KjIpO30pOworICB2Ym8u
ZGVzdHJveSgpOworICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5k
ZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0RHJhd0VsZW1lbnRzVkJPTXVsdGkgPSBmdW5jdGlv
bihnbCwgcHJvZywgdixuLHQpIHsKKyAgLy8gY3JlYXRlcyBWQk9zIGZvciB0aGUgcXVhZCBhcnJh
eXMsIGJpbmRzIHRoZW0gd2l0aAorICAvLyB2ZXJ0ZXhBdHRyaWJQb2ludGVyIGFuZCBjYWxscyBk
cmF3RWxlbWVudHMKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAg
IHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXpl
OjMsIGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MiwgZGF0
YTpRdWFkLnRleGNvb3Jkc30sCisgICAgICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCBk
YXRhOlF1YWQuaW5kaWNlc30pOworICB2Ym8uZHJhdyh2LCBuLCB0KTsKKyAgYXNzZXJ0KGdsLk5P
X0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZHJhdyIpKTsKKyAgYXNzZXJ0T2soZnVuY3Rp
b24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwg
MSoyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5H
TEVTLCAwLCBnbC5VTlNJR05FRF9TSE9SVCwgMioyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24o
KXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCoy
KTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNSoyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04sICJjb3VudCArIG9mZnNldCBvdXQgb2YgcmFuZ2UiLAorICAgICAg
ZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9T
SE9SVCwgNioyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04s
ICJjb3VudCArIG9mZnNldCBvdXQgb2YgcmFuZ2UgMiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRy
YXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOwor
ICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgbnVsbCk7CisgIGdsLmJpbmRCdWZmZXIo
Z2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJvc1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
biwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsK
KyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAwLCBn
bC5VTlNJR05FRF9TSE9SVCwgMioyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCoyKTt9KTsKKyAg
YXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5V
TlNJR05FRF9TSE9SVCwgNSoyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICJjb3VudCArIG9mZnNldCBvdXQgb2YgcmFuZ2UgMyIsCisgICAgICBmdW5jdGlv
bigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA2
KjIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50
ICsgb2Zmc2V0IG91dCBvZiByYW5nZSA0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1l
bnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIHZiby5k
ZXN0cm95KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRl
c3Ryb3kiKSk7Cit9CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNo
YWRlci94LXZlcnRleCI+CisgIGF0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZl
YzMgTm9ybWFsOworICBhdHRyaWJ1dGUgdmVjMiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENv
b3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgg
KiBOb3JtYWwsIDEuMCk7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Q
b3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KKyAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2
ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIHZlYzQgYyA9IHRleENvb3Jk
MDsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworICB9Cis8L3NjcmlwdD4KKworCis8c3R5bGU+Y2Fu
dmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+CisgIDxjYW52
YXMgaWQ9ImdsIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkwMmI2
ZjQ5ZmI0MDhmZGE1MGQ2OWViMDJiODllYzllYTY4M2JmNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDIwOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9
ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBU
ZXN0cy5hdXRvcnVuID0gZmFsc2U7CisvLyBUZXN0cy5tZXNzYWdlID0gIkNhdXRpb246IE1heSBj
cmFzaCB5b3VyIGJyb3dzZXIiOworCit2YXIgdmVydHMgPSBbMC4wLCAwLjAsIDAuMCwgICAxLjAs
IDAuMCwgMC4wLCAgIDAuMCwgMS4wLCAwLjBdOwordmFyIG5vcm1hbHMgPSBbMC4wLCAwLjAsIDEu
MCwgICAwLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjBdOwordmFyIHRleGNvb3JkcyA9IFsw
LjAsMC4wLCAgMS4wLDAuMCwgIDAuMCwxLjBdOwordmFyIGluZGljZXMgPSBbNjAwMDAwMDAsMSwy
XQorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRH
TENvbnRleHQoY2FudmFzKSk7CisgIHZhciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQnLCAn
ZnJhZycpOworICBwcm9nLnVzZSgpOworICB2YXIgc2ggPSBwcm9nLnNoYWRlci5wcm9ncmFtOwor
ICB2YXIgdiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnVmVydGV4Jyk7CisgIHZhciBuID0g
Z2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdOb3JtYWwnKTsKKyAgdmFyIHQgPSBnbC5nZXRBdHRy
aWJMb2NhdGlvbihzaCwgJ1RleCcpOworICByZXR1cm4gW2dsLHByb2csdixuLHRdOworfQorCitU
ZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBhc3NlcnQoMCA9PSBn
bC5nZXRFcnJvcigpKTsKKyAgcmV0dXJuIFtnbCwgcHJvZywgdixuLHRdOworfQorVGVzdHMudGVh
cmRvd24gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0
dHJpYkFycmF5KHYpOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmRp
c2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9u
KGdsLCBwcm9nLCB2LG4sdCkgeworICBwcm9nLmRlc3Ryb3koKTsKK30KKworCitUZXN0cy50ZXN0
RHJhd0VsZW1lbnRzVkJPID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgICAgdmFyIHZi
byA9IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVh
ZC52ZXJ0aWNlc30sCisgICAgICAgICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCBkYXRh
OlswLDEsMiwyMDAwLCA0MDgwMiwgNTg4Nzk5Ml19KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigp
e3Ziby5kcmF3KHYpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRz
KGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7CisgIGFzc2VydEZh
aWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05F
RF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3NlcnRGYWlsKGZ1
bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfU0hP
UlQsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRS
SUFOR0xFUywgNSwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIHZiby5kZXN0cm95KCk7
CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7
Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk9CeXRlID0gZnVuY3Rpb24oZ2wsIHByb2cs
IHYsbix0KSB7CisgICAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAg
ICAgIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30sCisgICAgICAgICAgICAgICAgICAgICAg
IHtlbGVtZW50czp0cnVlLCB0eXBlOmdsLlVOU0lHTkVEX0JZVEUsIGRhdGE6WzAsMSwyLDIwMDAs
IDQwODAyLCA1ODg3OTkyXX0pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodik7
fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAxLCBnbC5VTlNJR05FRF9CWVRFLCA1KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2ds
LmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOwor
ICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGds
LlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0Vs
ZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfQllURSwgMSk7fSk7CisgIHZiby5k
ZXN0cm95KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRl
c3Ryb3kiKSk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk9NdWx0aSA9IGZ1bmN0aW9u
KGdsLCBwcm9nLCB2LG4sdCkgeworICAvLyBjcmVhdGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFycmF5
cywgYmluZHMgdGhlbSB3aXRoCisgIC8vIHZlcnRleEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxzIGRy
YXdFbGVtZW50cworICAvLyBUaGUgcXVhZCBoYXMgNiB2ZXJ0aWNlcworICB2YXIgdmJvID0gbmV3
IFZCTyhnbCwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2Vz
fSwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLm5vcm1hbHN9LAorICAg
ICAgICAgICAgICAgICAgICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSwKKyAgICAgICAg
ICAgICAgICAgICAge2VsZW1lbnRzOnRydWUsIGRhdGE6WzAsMSwyLDYsMjAwMCwgMjU2XX0pOwor
ICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodiwgbiwgdCk7fSk7CisgIGdsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTsKKyAgYXNzZXJ0
RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lH
TkVEX1NIT1JULCA1KjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1l
bnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3NlcnRP
ayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDIsIGdsLlVOU0lHTkVE
X1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVu
Y3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA0LCBnbC5VTlNJR05FRF9TSE9S
VCwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJ
QU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5j
dGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDIsIGdsLlVOU0lHTkVEX1NIT1JU
LCAyKjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRS
SUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDMqMik7fSk7CisgIGFzc2VydEZhaWwoZnVu
Y3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9S
VCwgMSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRGYWlsKGZ1
bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hP
UlQsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRS
SUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDYqMik7fSk7CisgIGdsLmJpbmRCdWZmZXIo
Z2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJvc1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
biwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFO
R0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDApOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7
Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7
fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wu
ZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOwor
ICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwg
Z2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsK
KyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYs
IGdsLlVOU0lHTkVEX1NIT1JULCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRy
YXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA2KjIpO30pOwor
ICB2Ym8uZGVzdHJveSgpOworICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwg
InZiby5kZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0RHJhd0VsZW1lbnRzVkJPTXVsdGlCeXRl
ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhl
IHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRlciBh
bmQgY2FsbHMgZHJhd0VsZW1lbnRzCisgIC8vIFRoZSBxdWFkIGhhcyA2IHZlcnRpY2VzCisgIHZh
ciB2Ym8gPSBuZXcgVkJPKGdsLAorICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1
YWQudmVydGljZXN9LAorICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQubm9y
bWFsc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjIsIGRhdGE6UXVhZC50ZXhjb29yZHN9
LAorICAgICAgICAgICAgICAgICAgICB7ZWxlbWVudHM6dHJ1ZSwgdHlwZTpnbC5VTlNJR05FRF9C
WVRFLCBkYXRhOlswLDEsMiw2LDIwMDAsIDI1Nl19KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigp
e3Ziby5kcmF3KHYsIG4sIHQpO30pOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAz
LCBnbC5VTlNJR05FRF9CWVRFLCAwKTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDQsIGdsLlVOU0lHTkVEX0JZVEUsIC0xKTt9KTsKKyAgYXNz
ZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIC0xLCBnbC5V
TlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRFLCA1KTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVE
X0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDIsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlv
bigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDAp
O30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgNCwgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtn
bC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9CWVRFLCAxKTt9KTsK
KyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDIs
IGdsLlVOU0lHTkVEX0JZVEUsIDIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfQllURSwgMyk7fSk7CisgIGFz
c2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5V
TlNJR05FRF9CWVRFLCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3NlcnRG
YWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdO
RURfQllURSwgNik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJv
c1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAw
LCAwKTsKKyAgZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllU
RSwgMCk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgMSwgZ2wuVU5TSUdORURfQllURSwgNSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtn
bC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9CWVRFLCAwKTt9KTsK
KyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBn
bC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3Nl
cnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5T
SUdORURfQllURSwgMSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRFLCA2KTt9KTsKKyAgdmJvLmRlc3Ry
b3koKTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJv
eSIpKTsKK30KKworVGVzdHMudGVzdFNoYXJlZEJ1ZmZlcnMgPSBmdW5jdGlvbihnbCwgcHJvZywg
dixuLHQpIHsKKyAgdmFyIHZibyA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICB2YXIgdmVydHNBcnIg
PSBuZXcgVWludDE2QXJyYXkoWzAsMSwzLDMsNCw1LDYsNyw4XSk7CisgIGdsLmJpbmRCdWZmZXIo
Z2wuQVJSQVlfQlVGRkVSLCB2Ym8pOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwg
dmVydHNBcnIsIGdsLlNUQVRJQ19EUkFXKTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmJp
bmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIHZibyl9KTsKKyAgZ2wuZGVsZXRlQnVm
ZmVyKHZibyk7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydCIgdHlwZT0ieC1zaGFk
ZXIveC12ZXJ0ZXgiPgorICBhdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CisgIGF0dHJpYnV0ZSB2ZWMz
IE5vcm1hbDsKKyAgYXR0cmlidXRlIHZlYzIgVGV4OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29y
ZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4ICog
Tm9ybWFsLCAxLjApOworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LDAuMCwwLjApICsgZ2xfUG9z
aXRpb247CisgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZyIgdHlwZT0ieC1zaGFkZXIv
eC1mcmFnbWVudCI+CisgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCisgIHZhcnlpbmcgdmVj
NCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICB2ZWM0IGMgPSB0ZXhDb29yZDA7
CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsKKyAgfQorPC9zY3JpcHQ+CisKKworPHN0eWxlPmNhbnZh
c3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorICA8Y2FudmFz
IGlkPSJnbCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2U2OTYxMzk2MDUx
NjM2M2IzNWQ0ZDE3MTk4YzdmYWNiYzdkMjhlNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxMTkgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKwor
LyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiog
UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz
b24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0
aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo
LAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBN
YXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxz
IGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJz
dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMg
QVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBF
WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFN
QUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F
Q1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT
IElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlw
ZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRV
bml0ID0gZnVuY3Rpb24gKCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2dsJyk7CisgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykp
OworICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMudGVzdFJlYWRQaXhlbHMgPSBmdW5jdGlvbihn
bCkgeworICAvLyB3ZSBjYW4ndCBrbm93IGlmIHRoaXMgaXMgZ29pbmcgdG8gZmFpbCBiZWNhdXNl
IG9mIG5lZ2F0aXZlIHdpZHRoCisgIC8vIG9yIGJlY2F1c2UgdGhlIGJ1ZmZlciBzaXplIGRvZXNu
J3QgbWF0Y2ggdGhlIGRpbWVuc2lvbnMuCisgIGFzc2VydFNvbWVHTEVycm9yKGdsLCAibmVnYXRp
dmUgd2lkdGgiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwtMSwxLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsK
KyAgYXNzZXJ0U29tZUdMRXJyb3IoZ2wsICAibmVnYXRpdmUgaGVpZ2h0IiwKKyAgICAgIGZ1bmN0
aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMSwtMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwK
KyAgICAgICAgICBuZXcgVWludDhBcnJheSg0KSk7fSk7CisgIGFzc2VydE9rKCJuZWdhdGl2ZSB4
IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygtMSwwLDEsMSwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSg0KSk7fSk7CisgIGFzc2Vy
dE9rKCJuZWdhdGl2ZSB5IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLC0xLDEs
MSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSg0
KSk7fSk7CisgIGFzc2VydE9rKCJoZWlnaHQgPiBiYWNrYnVmZmVyIGhlaWdodCIsCisgICAgICBm
dW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDE2LDE3LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDE2KjE3KjQpKTt9KTsKKyAgYXNzZXJ0T2so
IndpZHRoID4gYmFja2J1ZmZlciB3aWR0aCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhl
bHMoMCwwLDE3LDE2LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBV
aW50OEFycmF5KDE3KjE2KjQpKTt9KTsKKyAgYXNzZXJ0T2soIndpZHRoLCBoZWlnaHQgPSAwIiwK
KyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMCwwLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDApKTt9KTsKKyAgLy8gd2UgY2Fu
J3Qga25vdyBpZiB0aGlzIGlzIGdvaW5nIHRvIGZhaWwgYmVjYXVzZSBvZiBuZWdhdGl2ZSB3aWR0
aAorICAvLyBvciBiZWNhdXNlIHRoZSBidWZmZXIgc2l6ZSBkb2Vzbid0IG1hdGNoIHRoZSBkaW1l
bnNpb25zLgorICBhc3NlcnRTb21lR0xFcnJvcihnbCwgImJhZCBmb3JtYXQiLAorICAgICAgZnVu
Y3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsIGdsLkZMT0FULCBnbC5VTlNJR05FRF9CWVRF
LAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQqNCkpO30pOworICAvLyB3ZSBjYW4ndCBrbm93
IGlmIHRoaXMgaXMgZ29pbmcgdG8gZmFpbCBiZWNhdXNlIG9mIG5lZ2F0aXZlIHdpZHRoCisgIC8v
IG9yIGJlY2F1c2UgdGhlIGJ1ZmZlciBzaXplIGRvZXNuJ3QgbWF0Y2ggdGhlIGRpbWVuc2lvbnMu
CisgIGFzc2VydFNvbWVHTEVycm9yKGdsLCAiYmFkIHR5cGUiLAorICAgICAgZnVuY3Rpb24oKXtn
bC5yZWFkUGl4ZWxzKDAsMCwxLDEsIGdsLkFMUEhBLCBnbC5GTE9BVCwKKyAgICAgICAgICBuZXcg
VWludDhBcnJheSgxKjQpKTt9KTsKK30KKworVGVzdHMudGVzdFJlYWRQaXhlbHNTT1BJTUcgPSBm
dW5jdGlvbihnbCkgeworICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaSIp
OworICAgIHdoaWxlICghaW1nLmNvbXBsZXRlKSB7fQorICAgIHZhciB0ZXggPSBnbC5jcmVhdGVU
ZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICAv
LyBTT1AgZmFpbHVyZQorICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGhyb3cgYmVjYXVz
ZSBpbWcgaXMgZnJvbSBhbm90aGVyIGRvbWFpbiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgaW1nKTt9KTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAg
ICBhc3NlcnRPaygiY2FudmFzIHN0aWxsIG9yaWdpbi1jbGVhbiIsCisgICAgICBmdW5jdGlvbigp
e2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAg
ICAgICBuZXcgVWludDhBcnJheSg0KSk7fSk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOwor
fQorVGVzdHMudGVzdFJlYWRQaXhlbHNTT1BDYW52YXMgPSBmdW5jdGlvbihnbCkgeworICAgIHZh
ciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaSIpOworICAgIHdoaWxlICghaW1nLmNv
bXBsZXRlKSB7fQorICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMiKTsKKyAg
ICBjLmdldENvbnRleHQoIjJkIikuZHJhd0ltYWdlKGltZywgMCwgMCk7CisgICAgYXNzZXJ0RmFp
bCgiY2FudmFzIHRocm93cyBiZWNhdXNlIG5vdCBvcmlnaW4gY2xlYW4iLAorICAgICAgZnVuY3Rp
b24oKXtjLmdldENvbnRleHQoIjJkIikuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpO30pOworICAgIHZh
ciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgdGV4KTsKKyAgICAvLyBTT1AgZmFpbHVyZQorICAgIGFzc2VydFRocm93Tm9HTEVycm9y
KGdsLCAidGhyb3cgYmVjYXVzZSBjYW52YXMgaXMgbm90IG9yaWdpbiBjbGVhbiIsCisgICAgICBm
dW5jdGlvbigpe2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgYyk7fSk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgbnVsbCk7CisgICAgYXNzZXJ0T2soImNhbnZhcyBzdGlsbCBvcmlnaW4tY2xlYW4iLAor
ICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoNCkpO30pOworICAgIGdsLmRlbGV0
ZVRleHR1cmUodGV4KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisK
Kzwvc2NyaXB0PgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVp
Z2h0PSIxNiI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEy
OCI+PC9jYW52YXM+Cis8aW1nIGlkPSJpIiBzcmM9Imh0dHA6Ly93d3cub3BlbmdsLm9yZy9pbWcv
b3BlbmdsX2xvZ28uanBnIj4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJh
ZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNzcyNDg3YmYzNGVjMjcxMzEwYWFmMzBmZDVlMGU2OGEz
NDIxM2RjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFy
Z3MuaHRtbApAQCAtMCwwICsxLDEwNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4v
dW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7Cisg
ICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBn
bCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICAgIHJldHVybiBbZ2xd
OworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIHRleCA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOwor
ICAgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsdGV4KSB7
CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRl
VGV4dHVyZSh0ZXgpOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7
CisgICAgdmFyIGRhdGEgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMiwxLDAsZ2wu
UkdCQSxnbC5VTlNJR05FRF9CWVRFLCBkYXRhKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9y
KGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7
CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwyLDAs
Z2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBkYXRhKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX0VOVU0sICJiYWQgdGFyZ2V0IiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wudGV4SW1hZ2UyRChnbC5GTE9BVCwgMCwgZ2wuUkdCQSwgMSwxLDAsZ2wuUkdCQSxnbC5V
TlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX0VOVU0sICJiYWQgaW50ZXJuYWwgZm9ybWF0L2Zvcm1hdCIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuRkxPQVQsIDEsMSwwLGds
LkZMT0FULGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJib3JkZXIgPiAwIiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLDEsNDgsZ2wuUkdC
QSxnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICB9KTsKKyAgICAvLyBUaGUgc3BlYyBzYXlz
IHplcm8gc2l6ZSBpcyBPSy4gSWYgeW91IGRpc2FncmVlIHBsZWFzZSBsaXN0IHRoZSBzZWN0aW9u
CisgICAgLy8gaW4gdGhlIHNwZWMgdGhhdCBkZXRhaWxzIHRoaXMgaXNzdWUuCisgICAgYXNzZXJ0
T2soInplcm8gc2l6ZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBudWxs
KTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVn
YXRpdmUgd2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIC0xLDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwp
OworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdh
dGl2ZSBoZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIDEsLTEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwp
OworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCBm
b3JtYXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIDEsMSwwLGdsLkZMT0FULGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAg
IH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCB0eXBlIiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCAxLDEsMCxnbC5SR0JBLGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIH0pOworICAgIGFz
c2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRhIiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCAxLDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KDMpKTsK
KyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZv
cm1hdCBhbmQgdHlwZSBpbmNvbXBhdGlibGUiLGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwxLDAsZ2wuUkdCQSxnbC5VTlNJR05F
RF9TSE9SVF81XzZfNSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04sICJmb3JtYXQgYW5kIHR5cGUgaW5jb21wYXRpYmxlIixmdW5jdGlv
bigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQiwgMSwx
LDAsZ2wuUkdCLGdsLlVOU0lHTkVEX1NIT1JUXzRfNF80XzQsIG51bGwpOworICAgIH0pOworfQor
CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzdHls
ZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxj
YW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5Pjwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3NzJmNmIyNmM0
MjlhZGRkZWMwZGY0OGE5OWM5ZjNiNzhmOTRkNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sCkBAIC0wLDAgKzEsMTUyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9
InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5p
dCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2dsJyk7CisgICAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFz
KSk7CisgICAgZ2wudmlld3BvcnQoMCwwLGNhbnZhcy53aWR0aCxjYW52YXMuaGVpZ2h0KTsKKyAg
ICBnbC5jbGVhckNvbG9yKDAsMCwxLDEpOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9C
SVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICBnbC5kaXNhYmxlKGdsLkRFUFRIX1RFU1Qp
OworICAgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7Cisg
ICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5U
RVhUVVJFXzJELCB0ZXgpOworICAgIHZhciB0ZXhDdWJlTWFwID0gZ2wuY3JlYXRlVGV4dHVyZSgp
OworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRleEN1YmVNYXApOwor
ICAgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHRleCwg
dGV4Q3ViZU1hcCkgeworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOwor
ICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJF
X0NVQkVfTUFQLCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleEN1YmVNYXApOworfQor
CitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgZ2wuZW5hYmxlKGds
LkJMRU5EKTsKKyAgICB2YXIgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2knKTsKKyAg
ICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyk7CisgICAgdmFyIGN0eCA9IGMu
Z2V0Q29udGV4dCgnMmQnKTsKKyAgICBjdHguZHJhd0ltYWdlKGltZywwLDApOworICAgIGdsLnRl
eEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgaW1nKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50
ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElO
RUFSKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlO
X0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICB2YXIgZiA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0
eS1mbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOworICAgIGdsLmJsZW5kRnVuYyhnbC5PTkUs
IGdsLlpFUk8pOworICAgIGYuYXBwbHkoKTsKKyAgICBmLmRlc3Ryb3koKTsKKyAgICBnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGMpOworICAgIGYgPSBuZXcgRmlsdGVyKGdsLCAnaWRlbnRpdHktaGZsaXAtdmVydCcsICdp
ZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuYmxlbmRGdW5jKGdsLlNSQ19BTFBIQSwgZ2wuT05FX01J
TlVTX1NSQ19BTFBIQSk7CisgICAgZi5hcHBseSgpOworICAgIGYuZGVzdHJveSgpOworICAgIHZh
ciB2YWxpZF90YXJnZXRzID0gWworICAgICAgICBnbC5URVhUVVJFXzJELAorICAgICAgICBnbC5U
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBf
TkVHQVRJVkVfWCwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAg
ICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElW
RV9aCisgICAgXTsKKyAgICB2YWxpZF90YXJnZXRzLmZvckVhY2goZnVuY3Rpb24odCkgeworICAg
ICAgICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLnRleEltYWdlMkQodCwgMCwgZ2wuUkdCQSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7fSk7CisgICAgICAgIGFzc2VydE9rKGZ1bmN0aW9u
KCl7Z2wudGV4SW1hZ2UyRCh0LCAxLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRF
LCBjKTt9KTsKKyAgICB9KTsKK30KKworVGVzdHMudGVzdFRleEltYWdlMkROb25TT1AgPSBmdW5j
dGlvbihnbCkgeworICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaTInKTsK
KyAgICB3aGlsZSAoIWltZy5jb21wbGV0ZSkge30KKyAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjJyk7CisgICAgdmFyIGN0eCA9IGMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBj
dHguZHJhd0ltYWdlKGltZywwLDApOworICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4
SW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdpbiBpbWFnZSBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIs
CisgICAgICBmdW5jdGlvbigpe2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1nKTt9KTsKKyAgICBhc3NlcnRUaHJvd05v
R0xFcnJvcihnbCwgInRleEltYWdlMkQgd2l0aCBkaXJ0eSBvcmlnaW4gY2FudmFzIHNob3VsZCB0
aHJvdyBleGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKK30K
KworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0iaWRlbnRpdHktZmxpcC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRy
aWJ1dGUgdmVjMyBWZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0
ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LnMsIDEu
MC1UZXgudCwgMC4wLCAwLjApOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7
Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWhmbGlwLXZlcnQiIHR5cGU9Ingt
c2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMy
IFRleDsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4
Q29vcmQwID0gdmVjNCgxLjAtVGV4LnMsIFRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRp
b24gPSB2ZWM0KFZlcnRleCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRp
dHktZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKKwordW5pZm9ybSBzYW1wbGVyMkQgVGV4dHVyZTsKKwordmFyeWluZyB2ZWM0IHRleENv
b3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBjID0gdGV4dHVyZTJEKFRleHR1cmUsIHRl
eENvb3JkMC5zdCk7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsKK30KKzwvc2NyaXB0PgorPC9oZWFk
Pjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZh
cz4KKzxjYW52YXMgaWQ9ImMiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZhcz4KKzxp
bWcgaWQ9ImkiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiAgc3JjPSJkYXRhOmltYWdlL3BuZzti
YXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFUVkVs
RVFWUjRuTzNkK1ZQVWQ1N0hjZjJiOWs5WSt6NDQrcUs3T1pvR0ZWQTVWZkJHemFoOWN4cE56R0VP
b1J1YTVsQkV1ZS9ESzRmWjdNYXBtU20zTWxzaHU4eE9kQ3BESnQzdi9hRUJBVUhBT01HNHowZlY1
M2ZxVS9WNmZkN2ZUL2UzMmJFREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd092QmthcjdsKzMrR3dC
c2s4eFVyVDByVGI4dngyUTQ1amFubHU3WXNXUG5zZ1hnVGVZd2FrODVVM1h2NVppTTMrWGJVaC9s
MmRJQ0JjNjA4MFdaMXVyOTJiYVNIUlFCOEdheUdkVVd1MUh6b1NORk8rWk0xZjJjYlRMTTUxbFQ1
d29jNXJrRE9iYlovVm0yU0VtMjNWdnN5amhWNW5KUUJzQ2J4R1pRVnRtTjZwNE1vL1lQZHFOR0hL
bGF5VXJYSjl6V2xFU2gweEl2enNtWUwzSFo1NHB6TW02VnVSeVJNcGZUVytweVVBYkFtOEJtVk5W
bkdOVFRkcVA2dnpPTUdyR25hTVNacXBOc2sxN3liS2xTNkRUTC9peGJvdFJsajVmbE91YkwzSTY1
TXBmalZybmJFYWxZS0lOU2wzMzV2UUdBM3dLYlVXMnhHZFdSREtQNjZ3eWpXaFlMd0pHaUZXZWFU
ckpOQm5GYlUyU1AzU1Q3czZ4U21tdVhjcmN6VWU1MnhzdHpIZlBsYnNkY3VkdDVxeXpYM2xLV2x4
a3N6WEdlSzhteG55ekp5U2plUVJrQXJ6ZWJRVmxsTTZwN2JVYjE0OVVGNEVqVlNtYWFUckxTOWVL
eXBNZ2VlN29jeUxaSm1kc2hGWG1aVXBIblhGRUdCL096SnNyZGpxRXl0L05tV2E0OVhKYnQ5SmE2
TWs0VnU3aEVCRjVMTnIycTNtWlF6OWdNNnU5WEZFQnFzZ0NjYVRySlhKZ0VjaTBwc3RkaGt2M1pO
aW5OVFpiQW9md3NPWlNmSlFmek1xVTh6NWtvZHpzU1pibU9lSVhiK1hXNTJ6RmE1bkxjS25QWkky
VUxsNGpGZktJQXZCN01PclhGWmxCSGJBYjExemFqK2ttR1ViTnVBV1NtNjVkS1lIZEdtaFJsV3FR
OHp5RkhDbkxrK0w1Y09WNlVLMGNLWFZLNUoxc081bWRLaGRzcFphdktvRFRYMFZQaWNpVExJSHRG
R1ZBSXdLL05ZbEJXMmZUcVhwdEIvZGhtU0o3K0x5cUFySFM5NUppVEpWRGdORWxsUVpaNEtndWxy
cnBVNnF0TEpYQnN2NXd0M3lNbjlydmxhSUZMRGk4dmcxeEg0bUIrNXArV2wwRnBqcjJsSk1jUkxN
NnlueXZPempoeElJdDdBK0JYWTlHcjZxMEw0LzlTQWFSb3hMN3cvTDlXQVdTYkRKSnJUWkZpZDRa
NGp4WkpVLzF4dWZIaE9lbStlazZpbDAvTEI3NHFhVHhUSm9HaisrVnMyUjQ1dmo5WGpoVGt5T0hk
QzQ4SkMyVndhSGZtbnlyY3puK3ZjRHNteW5MdFF5VTVHVGVMY3pMQ3BUazJUM0dXN1ZoeFZzYWU3
ZDRmNEkxbDFxa3RWb002WWpPb3ZyWWExRDhzRm9COVdRRTQxNWtBOHUxcGN2UkFqbndVT2lMRExR
RzUxOTBvOTI0MnlsUkhuUXlHL1hMejZubUpYcXFXRDN5VjBuQzZWUHhIOThuWnN0MXlmRit1SEMx
MFNkWGViRG1Vbnl5RHFvTHM3dzdsWjM1YjduYjhzY3h0LzdkU2wzMmtKQ2VqcXlRbjQwcEpUa2Ja
RGlZQzROV3phSlZWVnIycTEyWlFQYllhMUg5ZnV3QjBTd1dRbGE2WExGT3lBQW95VGZMVzRUM1Nm
dVdNM0wzUklBLzdMOHZEL3N2eVplOGwrZXpXMjNLdnUxRW1PMnBsb05rbjNWZlBTZXZiMWZLK3Qx
SWF6NVJKN2NsaThSMHBrdE9sK1hLc0tGa0dCeGZLb0hKdjFsOFA1bWYrdVNMUDhmdnlYTWRNbWRz
UktYYzVxb3RkR1FYYnZWL0FHOFdpVjlWYjlhb1pxMTQxYXpPb3hXYmNYQUhrV2xPa0pDOURhazhY
eTYxUEw4aURub3RMQmJCVUJIMlg1WXZibCtSQnowVzVlNk5CSnRwcnBML1pKemMvT2kvWFAzaExX
aTZla3ZjOGg2V3V1a1M4VmMvS1lQRUM4V2hoenBPcWd1enZLdmRtZlhWNGQyYjN3ZnpNOXcvbFpU
RU5BSytDV2Fld1dIV3FpRTJ2K3RxcVYvMncyUUxJTmhra1AyTmgvSzg5SW1OdElmbWk5OUt6OFBj
bDE1ZEw2NUo4MFh0SlByLzF0dHkvMlNoM3V4dmt6dlY2R1krRnBPK2FWNjUvOER1SlhEd3BWenlI
cE83VVFobVU1TXZSSXBkVTdjMlJRN3V6NU1SKzl4K09GYm51SGkzTWlWUVZ1S29QNzg0dTJ1NzlB
MzdUTEZwbGxWV242clhxVlkrdGV0V1BHeGJBc2d2QXZVNlR2SFZvdDhTdW5KWTdOK3JseTc2MWcv
OWxiM0o5c1d4OWZ2dVNmSDc3YlhuUWMxSHVkVGZJVEZlZGpMV0ZwUGVhUjdvK2VFdkNqU2ZseW9W
RFVsZGRLc0hqQitUQzRVSTVWWnduVlFVNWliY3E5bngxdWpTLzU4UUI5OVhxWW5mNURxWUI0T1ZZ
ZE0vR2Y2dGU5WS9rOC8vR0JlQ3lHS1hFblNFMTFRZWs1NVB6Y3Y5bTQ4clFyeFA4TDI1ZmtpOXV2
eTJmcjFxZjNicVluQXh1Tk1oMFo1Mk1SSU55KzFPUFhQL3dkOUorNVl3MDE1K1FkODRmbEpxVHhY
TGhjSUdjTE03NytVaEJ6dDh1VkJhMm5xdmNlL1pzeFo2eTdkNUw0RGRsY2Z5MzZGVmZXL1NxSDZ3
R2xhd3VnTVd2QVR2VGxoV0F5U0I1R2FseWRIK09mRlJ6UkVhalFmbjgxdHZyaC82RndWOWNGK1d6
V3hmbHdhMkxjci9ub3R6cmJwU1o2L1V5MVZVbmt4MjFNdHdTa0o1UExrakhlMmVscWY2NFhENTNV
RUluRGlRdUhDNllyeTdPbXoxVzVIclkrRmJGNFIxTUE4RG1XTFRLS3N1eThkOXFVTCt3QUpaL0Mz
Q1BNMTNPSHR3dGJlK2VsdW5yOWZMRnVzRi9QdlNmMzFvNytBOTZucTM3UFJmbGZrK2ozTCtaL0Zq
eDdvMEdtZTZxazRuMkdobHE4VXZQeCtlbC9jb1p1VlozWEM2ZnEvaTU3bFR4MzJwT0huZ1VPbFVj
L2pSNGxFdENZQ01XbmFyZW9sZk5XUFNxV2F0QjlkT2FCYkRHbDRCY0ZxTVV1MjBTT25WQWJuNThU
dTUyTjI3cXRQOThnOUEvV0F6OVF2QVgxNzNGRXVodWtMdmREY25Kb0xOV3htTTFNaGp4eTgyUHpr
bm4rMmNTc1hkUHo0Y2JUOHgrR0toOCtGSHdTTzBPU2dCWW0xbW5zSmgxcW9oRnIxd1kvNVh4WndX
dy90ZUFzOUtUdnd0d1pIKzJYQTFWeVhCclVCNzBYRnovdEY5bnpOOUs4TzkxTjhpOWhmQXZyanMz
R3VUT2pYcVpYbmhFR0crdmtkRm9VQWJEL3A5N1BqNy90NTZyNTcvcHUrYjVwT1hkNnFQYnZkZkFh
OGVpM1ZWbDBhbDZMWHJsWTR0TythTkZyMHBzdGdEMk9OTGx6TUhkRW4ybldxWTY2K1N6bHh6ekh5
d2I4NThML1RyQnYzdmpXZmdYMTh6MTVKcnVxcE9wemxxWmFBOGx4bUtodjQ5R2czL29EL3MrM3U2
OUJsNDdGcDJpM3FKVnpWaDB5bG1yVHZtVFZaKzhBRno1SHNEekJaQmpOa3B4cmsyQ3B3NUk5MGZu
NU02TmhoZWU5bHNPZnZmbWczL24rclB3ejF5dms1bXVPcGxlV0pNZHRmSEpqcHJ2Smp0cUtBQmd1
ZVQ0cjRpWWRjcXZ6YnBkUDFqMHl2anFBckN2OVNKUXVsN2N0bFNwMnBjdEh3WXJaYWdsSVBkdk5x
NS8yci9nWW05VHdiK3g5ZUJQZDlYSlZISVNtSi9xclAxbXVyT0dSd0JnT1pOMlY1VkZwK3kxYUJm
R2Y1MHlzVlFBYTN3SFlMRUFzdEwxc3R1UkxxY3I4cVgxOGltWjdLaVZCejBYWHhqNmpaL3ZOeG44
NnhzSFAva0lVQ2RUblhYeDZjN2F2MHgxMVBSczkxNERyeDJUVGxGdjBpcG16RHJsckVXbi9NbWlW
OGxtQ2lEYmJKQUR1VFlKbnR3dk42NytUbWF1MXlkRHZtYm90MzZ4OXl6NDlTOFovTnJGTlQvZFZm
djdxYzY2azl1OTE4QnJ4YXhlUGY0cjRoc1ZnSFBoOXdCenJTbFNWWlF0SHdRcVpURGlsN3ZkalZz
NzdiY1kvSm10QjErbU9tc1RreDIxVDZhNmFrZTJlNitCMTQ1SnU2dktwRlAybXJUS3gyYnRzL0Yv
OFZ1QUx5cUEzZlkwT1YyZUx5MlhUc3BFZTQzY2Y4R3ovVFlFWHlZN2FtV3lveVkrMVZIei9WUm5Y
Zk4yN3pYdzJsa2EvN1hLV1l0VytaTkZwNVRORkVDMnlTRDdYVllKbk5nblhSKytKZE5kZFpzKzdY
K2Q0TmZLWkVlTlRIYlV6RTkyMUR5YTVQSVBXQ2xOcmJDWXRjbngzNlRkOVlOWnA0aGJkS3FOQzJC
aC9LOHN6SkwzL1lkbElPeVRPemNhdHZ3eDNzWTMrcjhvK0RMWkVVcE10TmM4bWVoZy9BZWVZMUx2
cWpKcGxiMG1qZUt4V2F2NDBheFZKbFlYd0ZwdkFtYW02U1RmbmliVlpYa1NlZnVrak1WQ2NyZDdF
eVArZXFmOWxvSmZ1Mkh3SnpwcVpLSzlSc2JiUS9ISjl0RDNrNTAxalAvQWFpYU5vdDZrU1k3L1px
M2lKN05PS1lzWGdDOHFnQ3lUUWZibFdNVi9mSjkwZm5CV0pqdHJWNHozV3pudG43dlJ2LzU4Nkxj
YS9HY3JORC9SSG5vMDJjNzRENnlRcGxaWVRGcEZ4S1JWTEkzL0t3dmcrUmVCN0NuSjN3RndXVkxr
Y0dHV3ZPYy9MUDNOWHBtNVh2L0xUL3ROQm45eUU4RWZUNFkvTVI0TFBSbHZEekgrQTZ1Wk5ZcEtr
M1pYYi9yQytHL1NLaEtiTFlDOGpEUTVWWlluNFlzblpMUXRLSGR1YkM3MG14M3pmMG53eDl0RE1o
NEx5VmdzRkIrUEJiOGZiMmY4QjU2VHJsSFVwMnNWMHlhTlltbjgzMHdCWktYclpWKzJSWHpIOTBu
SCsyZGxvcU1tV1FDdjRMUi8rZUNIbG9LL0VINFpqd1hueDJQQlIyUHRRY1ovWURtVFJwbWFybFkw
bVRTN3ZrclRLUDVxMGlwK051dVVZdG1nQUJ5cFduRlpqSEtvSUZPdWVBOUpYNU5IcHJ2cU5oMzZ6
WjcydnlUNEMrRlBqTFlGbjR6SGdvei93R29temE3ZDZacGRNWk5HOFkxSm8zaGkxaTQ4LzIraUFQ
SXlVdVZrcVZ1YUdrL0lTRFFvTTlkZjNXbS9NdmcxV3c3K1dDd2tZMjFCR1cwTHhrZmJndCtQeFVL
TS84QnFhWnBkdTlQVWlpYVRSdkdWU2F2NHk5SW5BQnNVUUdhNlhvcXlMZUk5VmlUdDc1MlI4ZmJR
cXNDLzR0TitpOEVmYXd2S2FEUW9JOUhBL0doYjhKdXhLT00vOEJ5VDVsOVQwOVNLUUxwR01XVFNL
djdUckZVOE5ldVVpZVVGWUZ2MVl5Q09WSzNrbUpQai83dmVnOUo3elNOVG5iV3Y2TFIvQmNGZldD
UFJRSHdrR3ZqTFNEVEFtMy9BZXRMVnlqeVRSdm1PU2F1WU5Pc1UzNXAxeW45c1ZBQnVXNnFjTE0y
VmF3M0haYmcxSU5OZHIrYTBYL3N6L0swRmZ6UWFsTkZvSUhuNlJ3Ty9IMmtMOHVZZjhDSW16YTVD
azI3WGUyYXRjc3FpVThiWExZQVVqV1NtNjZRd3l5emVZNFVTdTNKYXhtS2h0VVAvaTAvN21oV2hY
eEg4dHZXQ0g1U1JhRUJHbzRIRVNLdi95V2hyZ01zL1lEUFNkY29pczFieHZrV25mR3JSSytOckZZ
QTlSU3ZaWm9NYzNPdVVkendINWZhMUN6TFJVZk5QUGUzSDF6anQxd3YrNGhwdURjUkhvb0h2UjZJ
Qkx2K0F6VExybEVWbW5mS2hSYWQ4YWwzejU4QzA0cmFseUltU1hMbldjRXlHV3YweTJWa3JVMTNQ
aC82bFR2c05nais2UWZCSFdnTXkzQnFRNFZiLy9IQnI0TkZJMU0vbEg3QVZGcjBxWU5HckhscjFx
cWMyZ3lxKy9FMUFaNXBPQ3JOTTRqbGFJRzFYVHN0b1cvQ2ZkOXEvVlBBRE10enFUd3kzK0o4TU0v
NERMMlhuaWhJd3F1STJvMXJzS1JySk5obWtZcTlETGwrb2tGdWZuSmZ4OXBwbm9WL3ZjL3V0bnZh
eE5jYjhUUVUvSU1PdGZobHE4Y2VIVy96ZkQwY0RGN1o3STRIZnFwMDJ2U3BnMDZzZTJnenFweGxH
VGR5ZW9wRmNhNG9jTDNISnAvVkhaVERpazRtT3pZMzRMMzNhYis3RVh3eit3dkxORDdjRWJvMjBC
akszZXhPQjM3S2ROcU02WURPb0gyWVkxVStkYWJwNFFhWkpMaHpaSzlGM3EyVWtHcENKRFUvNzBL
czc3VGNNdmwrR1dueUp3WWp2eVZCTDRKM3QzanpnVGJEVFpsUUhNb3lhaDlsbS9kT0tQYzc0cGZQ
bDB2UHhPUm1MaFg2ZDAzNVR3VjlZRVY5OHNNVS9OUkRtOGc5NFZYYmFVN1VCbDhYNDhFU0o2K2tu
OVVkK0hnaDdFdVB0b1ZkejJyZHRKdlF2RHY1Z3hMZXd2SDhjaUhnN2hsb0NsdTNlTk9CTnN0TnRT
dzM0anhjOWJIMm5lbmFveFRjMzNoNmFINHVGNHVQdHdjUjQ4bi91L1JOTys4MEczeWRERWQvL0RJ
Ujk5d2JDdnNidDNpemdUYlR6YXFneTBQUHh1ZkJJTkJBYmJ3ODlHbytGWnNkam9ibng5dERjYUN3
NFA5b1dqSS9GZ29teFdDQXgrZ3BPKytHMXh2eFZ3UitNK0dRdzdQMXhNT3g3UEJqMjlmWkh2Rlhi
dlZIQW0ycm40cHJzcktrZDZ3aUZSOXREc2ZIMm10aElMUFJvckMwNE85WVdtaHVOaGVaRzJ3THpJ
OUZnZkxRdGtCaU5CaExQaGY0WG5QYUxheURpazRHd1R3YkMzdjhkYVBZK0hJajRQdXB2OWpMK0E3
K0NuY3ZYZUh0TjdXZ3NHQjZOaFdLanNWQnNKQnA4TkJvTnpvNUVBM01MYTM2NE5SQWZhZlVuaHBQ
cjVVNzdsY0dYZ2JEMzd3Tmh6NS83bTcwakEySFBtVzNlRStEL3JaV0YwQmFzSFc0TGhrZWlnZGhJ
TEJRYmJnMDhHbTROekE2MytPZUdXL3h6UTYzKythRVdmM3lveFpkSXJtV2hiM2srOUlOTG9WOEt2
dlEzZStNRHpkNGYrcHM5LzlFZjlyWU5SSHlPYmQ0REFBdFdGTUpvVzdCMnVEVVlIb29HWWtQUlFH
eW94ZjlvcU1VM094VHh6UTFGZkhORExiNzVvWWd2UGhqeEpwWldlTzNnSjhQdlNmUTNlWDhhQ0h0
bis1dTlNMzNOWFA0QnI3TVZoVERjR3FnZGJ2V0hCMXY5c2NGV2Yyd3c0bjgwR1BITkRvYTljNE1S
Mzl4ZzJEczNFUGJPRDRTOThZR3dKekVROWlUNm03M1MzK3lWdm1iUGZIK3paNzZ2eWZPMHY5bjdw
NzVtYjI5L001ZC93Ry9KYzRVdzFPSVA5MGY4c2NHSVA5WWY4Y2NHd3I1SEEySHY3RUN6ZDI2ZzJU
dlhsd3g5dksvWjgyMS9zK2UvK3BvODMvWTNlVDdyYS9ZMGNma0gvTGJ0WEwyR1dueTFBMkZmdUMv
c2pmV0h2YkgrWnMranZyRDNabStUWjZpM3lUUFcxK3laN0d2eVhPOXI5dmkzOTA4SDhNK3dvaEI2
bTd4bHQ2OTVUdzZFZmVjR3cxNWZmNVBubmI1bVQ2RDMyb1VEMi94M0F2Z1Y3ZHl4WThmT2dTYXZ1
Ny9KazlWM3phdmU3ajhJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQ1YvZzl0UEpFUXUxWHZtUUFBQUFC
SlJVNUVya0pnZ2c9PSI+Cis8aW1nIGlkPSJpMiIgc3JjPSJodHRwOi8vbWFzaGFibGUuY29tL3dw
LWNvbnRlbnQvdXBsb2Fkcy8yMDA4LzA4L3RodW5kZXJiaXJkLWxvZ28tNjR4NjQucG5nIj4KKwor
PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRC
YWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk2ZjUzNjFkMzUyYmRkZmNmYjlmZmU0OWNjMmVmMDYwZjAxYjg1NTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCkBA
IC0wLDAgKzEsMTEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIg
Lz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY2Fu
dmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgICAgdmFyIGdsID0gd3JhcEdM
Q29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgICAgcmV0dXJuIFtnbF07Cit9CisKK1Rl
c3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVy
ZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgcmV0dXJu
IFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgpIHsKKyAgICBnbC5i
aW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRl
eCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBnbC50
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDIsMiwwLGdsLlJHQkEsZ2wuVU5T
SUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDBdKSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJub3Qg
ZW5vdWdoIGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsMCwgMCwgMiwxLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4
QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sICJub3QgZW5vdWdoIGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBn
bC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMSwyLGdsLlJHQkEsZ2wuVU5T
SUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNz
ZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIHRhcmdldCIsIGZ1bmN0aW9uKCl7
CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuRkxPQVQsIDAsIDAsMCwgMSwxLGdsLlJHQkEs
Z2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7Cisg
ICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIndpZHRoIG91dCBvZiByYW5n
ZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwwLCAwLCAzLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwg
Z2wuSU5WQUxJRF9WQUxVRSwgImhlaWdodCBvdXQgb2YgcmFuZ2UiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMSwzLGdsLlJHQkEs
Z2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
XSkpOworICAgIH0pOworICAgIGFzc2VydE9rKCJ6ZXJvIHNpemUiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMCwwLGdsLlJHQkEs
Z2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7Cisg
ICAgYXNzZXJ0U29tZUdMRXJyb3IoZ2wsICJuZWdhdGl2ZSB3aWR0aCIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAtMSwxLGdsLlJH
QkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7
CisgICAgYXNzZXJ0U29tZUdMRXJyb3IoZ2wsICJuZWdhdGl2ZSBoZWlnaHQiLCBmdW5jdGlvbigp
eworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMSwtMSxn
bC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAg
IH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSB4
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LC0xLDEsMSwxLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCww
LDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwg
Im5lZ2F0aXZlIHkiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsMSwtMSwxLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhB
cnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZB
TElEX0VOVU0sICJiYWQgZm9ybWF0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxnbC5GTE9BVCxnbC5VTlNJR05FRF9CWVRF
LCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9y
KGdsLCBnbC5JTlZBTElEX0VOVU0sICJiYWQgdHlwZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGds
LnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAxLDEsZ2wuUkdCQSxnbC5URVhU
VVJFXzJELCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0
aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAx
LDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDBdKSk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3Jt
YXQgZG9lcyBub3QgbWF0Y2ggaW50ZXJuYWwgZm9ybWF0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAg
Z2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxnbC5SR0IsZ2wuVU5T
SUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2Vy
dEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAidHlwZSBkb2VzIG5vdCBtYXRjaCBv
cmlnaW5hbCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgMCwwLCAxLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9TSE9SVF80XzRfNF80LCBuZXcg
VWludDE2QXJyYXkoWzBdKSk7CisgICAgfSk7Cit9CisKKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0
aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1
dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIg
aGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1Yklt
YWdlMkRIVE1MLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDI4NGZkODQ3YzIzYzRjNzkxYWZjMTNiODk1NGY5
NTJmMTdiYzg0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdl
MkRIVE1MLmh0bWwKQEAgLTAsMCArMSwxNjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9
Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkg
eworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2
YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgICBnbC52aWV3
cG9ydCgwLDAsY2FudmFzLndpZHRoLGNhbnZhcy5oZWlnaHQpOworICAgIGdsLmNsZWFyQ29sb3Io
MCwwLDEsMSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JV
RkZFUl9CSVQpOworICAgIGdsLmRpc2FibGUoZ2wuREVQVEhfVEVTVCk7CisgICAgcmV0dXJuIFtn
bF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4ID0gZ2wu
Y3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7
CisgICAgdmFyIHRleEN1YmVNYXAgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRl
eHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4Q3ViZU1hcCk7CisgICAgcmV0dXJuIFtnbF0K
K30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgdGV4LCB0ZXhDdWJlTWFwKSB7Cisg
ICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4
dHVyZSh0ZXgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG51bGwp
OworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4Q3ViZU1hcCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJ
bWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBnbC5lbmFibGUoZ2wuQkxFTkQpOworICAgIHZh
ciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaScpOworICAgIHZhciBjID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsKKyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcp
OworICAgIGN0eC5kcmF3SW1hZ2UoaW1nLDAsMCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpOworICAg
IGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgaW1nKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGds
LlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAg
ICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwg
Z2wuTElORUFSKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICB2YXIgZiA9IG5ldyBGaWx0ZXIoZ2wsICdp
ZGVudGl0eS1mbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOworICAgIGdsLmJsZW5kRnVuYyhn
bC5PTkUsIGdsLlpFUk8pOworICAgIGYuYXBwbHkoKTsKKyAgICBmLmRlc3Ryb3koKTsKKyAgICBn
bC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGMpOworICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwg
MCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgZiA9IG5ldyBGaWx0ZXIoZ2ws
ICdpZGVudGl0eS1oZmxpcC12ZXJ0JywgJ2lkZW50aXR5LWZyYWcnKTsKKyAgICBnbC5ibGVuZEZ1
bmMoZ2wuU1JDX0FMUEhBLCBnbC5PTkVfTUlOVVNfU1JDX0FMUEhBKTsKKyAgICBmLmFwcGx5KCk7
CisgICAgZi5kZXN0cm95KCk7CisgICAgdmFyIHZhbGlkX3RhcmdldHMgPSBbCisgICAgICAgIGds
LlRFWFRVUkVfMkQsCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAg
ICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgICAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJ
VkVfWSwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgICAgICBn
bC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKKyAgICBdOworICAgIHZhbGlkX3RhcmdldHMu
Zm9yRWFjaChmdW5jdGlvbih0KSB7CisgICAgICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7CisgICAg
ICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRCh0LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCBjKTsKKyAgICAgICAgICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKHQsIDAsIDAs
IDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpOworICAgICAgICB9KTsKKyAgICAgICAg
YXNzZXJ0T2soZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKHQsIDEs
IGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpOworICAgICAgICAgICAgICAg
IGdsLnRleFN1YkltYWdlMkQodCwgMSwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
Yyk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRE5vblNP
UCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpMicpOworICAgIHdoaWxlICghaW1nLmNvbXBsZXRlKSB7fQorICAgIHZhciBjID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsKKyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcp
OworICAgIGN0eC5kcmF3SW1hZ2UoaW1nLDAsMCk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3Io
Z2wsICJ0ZXhJbWFnZTJEIHdpdGggY3Jvc3Mtb3JpZ2luIGltYWdlIHNob3VsZCB0aHJvdyBleGNl
cHRpb24uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpO30pOworICAgIGFzc2Vy
dFRocm93Tm9HTEVycm9yKGdsLCAidGV4U3ViSW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdpbiBpbWFn
ZSBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRleFN1Yklt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBp
bWcpO30pOworICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4SW1hZ2UyRCB3aXRoIGRp
cnR5IG9yaWdpbiBjYW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rp
b24oKXtnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIGMpO30pOworICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4
U3ViSW1hZ2UyRCB3aXRoIGRpcnR5IG9yaWdpbiBjYW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlv
bi4iLAorICAgICAgZnVuY3Rpb24oKXtnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IDAsMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7fSk7Cit9CisKK1Rlc3RzLmVuZFVu
aXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5
LWZsaXAtdmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVy
dGV4OworYXR0cmlidXRlIHZlYzIgVGV4OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9p
ZCBtYWluKCkKK3sKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KFRleC5zLCAxLjAtVGV4LnQsIDAuMCwg
MC4wKTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+
Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1oZmxpcC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRl
eCI+CithdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3Zhcnlp
bmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQo
MS4wLVRleC5zLCBUZXgudCwgMC4wLCAwLjApOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0
ZXgsIDEuMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZyYWciIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZv
cm0gc2FtcGxlcjJEIFRleHR1cmU7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1h
aW4oKQoreworICAgIHZlYzQgYyA9IHRleHR1cmUyRChUZXh0dXJlLCB0ZXhDb29yZDAuc3QpOwor
ICAgIGdsX0ZyYWdDb2xvciA9IGM7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD48Ym9keT4KKzxjYW52
YXMgaWQ9ImdsIiB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiI+PC9jYW52YXM+Cis8Y2FudmFzIGlk
PSJjIiB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiI+PC9jYW52YXM+Cis8aW1nIGlkPSJpIiB3aWR0
aD0iMjU2IiBoZWlnaHQ9IjI1NiIgIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBL
R2dvQUFBQU5TVWhFVWdBQUFRQUFBQUVBQ0FZQUFBQmNjcWhtQUFBVFZFbEVRVlI0bk8zZCtWUFVk
NTdIY2YyYjlrOVkrejQ0K3FLN09ab0dGVkE1VmZCR3phaDljeHBOekdFT29SdWE1bEJFdWUvREs0
Zlo3TWFwbVNtM01sc2h1OHhPZENwREp0M3YvYUVCQVVIQU9NRzR6MGZWNTNmcVUvVjZmZDdmVC9l
MzJiRURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdPdkJrYXI3bCszK0d3QnNrOHhVclQwclRiOHZ4
MlE0NWphbmx1N1lzV1Buc2dYZ1RlWXdhazg1VTNYdjVaaU0zK1hiVWgvbDJkSUNCYzYwODBXWjF1
cjkyYmFTSFJRQjhHYXlHZFVXdTFIem9TTkZPK1pNMWYyY2JUTE01MWxUNXdvYzVya0RPYmJaL1Zt
MlNFbTIzVnZzeWpoVjVuSlFCc0NieEdaUVZ0bU42cDRNby9ZUGRxTkdIS2xheVVyWEo5eldsRVNo
MHhJdnpzbVlMM0haNTRwek1tNlZ1UnlSTXBmVFcrcHlVQWJBbThCbVZOVm5HTlRUZHFQNnZ6T01H
ckduYU1TWnFwTnNrMTd5YktsUzZEVEwvaXhib3RSbGo1ZmxPdWJMM0k2NU1wZmpWcm5iRWFsWUtJ
TlNsMzM1dlFHQTN3S2JVVzJ4R2RXUkRLUDY2d3lqV2hZTHdKR2lGV2VhVHJKTkJuRmJVMlNQM1NU
N3M2eFNtbXVYY3JjelVlNTJ4c3R6SGZQbGJzZGN1ZHQ1cXl6WDNsS1dseGtzelhHZUs4bXhueXpK
eVNqZVFSa0FyemViUVZsbE02cDdiVWIxNDlVRjRFalZTbWFhVHJMUzllS3lwTWdlZTdvY3lMWkpt
ZHNoRlhtWlVwSG5YRkVHQi9PekpzcmRqcUV5dC9ObVdhNDlYSmJ0OUphNk1rNFZ1N2hFQkY1TE5y
MnEzbVpRejlnTTZ1OVhGRUJxc2dDY2FUckpYSmdFY2kwcHN0ZGhrdjNaTmluTlRaYkFvZndzT1pT
ZkpRZnpNcVU4ejVrb2R6c1NaYm1PZUlYYitYVzUyekZhNW5MY0tuUFpJMlVMbDRqRmZLSUF2QjdN
T3JYRlpsQkhiQWIxMXphaitrbUdVYk51QVdTbTY1ZEtZSGRHbWhSbFdxUTh6eUZIQ25MaytMNWNP
VjZVSzBjS1hWSzVKMXNPNW1kS2hkc3BaYXZLb0RUWDBWUGljaVRMSUh0RkdWQUl3Sy9OWWxCVzJm
VHFYcHRCL2RobVNKNytMeXFBckhTOTVKaVRKVkRnTkVsbFFaWjRLZ3VscnJwVTZxdExKWEJzdjV3
dDN5TW45cnZsYUlGTERpOHZnMXhING1CKzVwK1dsMEZwanIybEpNY1JMTTZ5bnl2T3pqaHhJSXQ3
QStCWFk5R3I2cTBMNC85U0FhUm94TDd3L0w5V0FXU2JESkpyVFpGaWQ0WjRqeFpKVS8xeHVmSGhP
ZW0rZWs2aWwwL0xCNzRxYVR4VEpvR2orK1ZzMlI0NXZqOVhqaFRreU9IZEM0OEpDMlZ3YUhmbW55
cmN6bit2Y0RzbXluTHRReVU1R1RlTGN6TENwVGsyVDNHVzdWaHhWc2FlN2Q0ZjRJMWwxcWt0Vm9N
NllqT292cllhMUQ4c0ZvQjlXUUU0MTVrQTh1MXBjdlJBam53VU9pTERMUUc1MTkwbzkyNDJ5bFJI
blF5Ry9YTHo2bm1KWHFxV0QzeVYwbkM2VlB4SDk4blpzdDF5ZkYrdUhDMTBTZFhlYkRtVW55eURx
b0xzN3c3bFozNWI3bmI4c2N4dC83ZFNsMzJrSkNlanF5UW40MHBKVGtiWkRpWUM0Tld6YUpWVlZy
MnExMlpRUGJZYTFIOWZ1d0IwU3dXUWxhNlhMRk95QUFveVRmTFc0VDNTZnVXTTNMM1JJQS83TDh2
RC9zdnlaZThsK2V6VzIzS3Z1MUVtTzJwbG9Oa24zVmZQU2V2YjFmSyt0MUlhejVSSjdjbGk4UjBw
a3RPbCtYS3NLRmtHQnhmS29ISnYxbDhQNW1mK3VTTFA4ZnZ5WE1kTW1kc1JLWGM1cW90ZEdRWGJ2
Vi9BRzhXaVY5VmI5YW9acTE0MWF6T294V2JjWEFIa1dsT2tKQzlEYWs4WHk2MVBMOGlEbm90TEJi
QlVCSDJYNVl2YmwrUkJ6MFc1ZTZOQkp0cHJwTC9aSnpjL09pL1hQM2hMV2k2ZWt2YzhoNld1dWtT
OFZjL0tZUEVDOFdoaHpwT3FndXp2S3ZkbWZYVjRkMmIzd2Z6TTl3L2xaVEVOQUsrQ1dhZXdXSFdx
aUUydit0cXFWLzJ3MlFMSU5oa2tQMk5oL0s4OUltTnRJZm1pOTlLejhQY2wxNWRMNjVKODBYdEpQ
ci8xdHR5LzJTaDN1eHZrenZWNkdZK0ZwTythVjY1LzhEdUpYRHdwVnp5SHBPN1VRaG1VNU12Uklw
ZFU3YzJSUTd1ejVNUis5eCtPRmJudUhpM01pVlFWdUtvUDc4NHUydTc5QTM3VExGcGxsVlduNnJY
cVZZK3RldFdQR3hiQXNndkF2VTZUdkhWb3Q4U3VuSlk3TitybHk3NjFnLzlsYjNKOXNXeDlmdnVT
Zkg3N2JYblFjMUh1ZFRmSVRGZWRqTFdGcFBlYVI3bytlRXZDalNmbHlvVkRVbGRkS3NIakIrVEM0
VUk1Vlp3blZRVTVpYmNxOW54MXVqUy81OFFCOTlYcVluZjVEcVlCNE9WWWRNL0dmNnRlOVkvazgv
L0dCZUN5R0tYRW5TRTExUWVrNTVQemN2OW00OHJRcnhQOEwyNWZraTl1dnkyZnIxcWYzYnFZbkF4
dU5NaDBaNTJNUklOeSsxT1BYUC93ZDlKKzVZdzAxNStRZDg0ZmxKcVR4WExoY0lHY0xNNzcrVWhC
enQ4dVZCYTJucXZjZS9ac3haNnk3ZDVMNERkbGNmeTM2RlZmVy9TcUg2d0dsYXd1Z01XdkFUdlRs
aFdBeVNCNUdhbHlkSCtPZkZSelJFYWpRZm44MXR2cmgvNkZ3VjljRitXeld4Zmx3YTJMY3Ivbm90
enJicFNaNi9VeTFWVW5reDIxTXR3U2tKNVBMa2pIZTJlbHFmNjRYRDUzVUVJbkRpUXVIQzZZcnk3
T216MVc1SHJZK0ZiRjRSMU1BOERtV0xUS0tzdXk4ZDlxVUwrd0FKWi9DM0NQTTEzT0h0d3RiZStl
bHVucjlmTEZ1c0YvUHZTZjMxbzcrQTk2bnEzN1BSZmxmaytqM0wrWi9Gang3bzBHbWU2cWs0bjJH
aGxxOFV2UHgrZWwvY29adVZaM1hDNmZxL2k1N2xUeDMycE9IbmdVT2xVYy9qUjRsRXRDWUNNV25h
cmVvbGZOV1BTcVdhdEI5ZE9hQmJER2w0QmNGcU1VdTIwU09uVkFibjU4VHU1Mk4yN3F0UDk4ZzlB
L1dBejlRdkFYMTczRkV1aHVrTHZkRGNuSm9MTld4bU0xTWhqeHk4MlB6a25uKzJjU3NYZFB6NGNi
VDh4K0dLaDgrRkh3U08wT1NnQlltMW1uc0poMXFvaEZyMXdZLzVYeFp3V3cvdGVBczlLVHZ3dHda
SCsyWEExVnlYQnJVQjcwWEZ6L3RGOW56TjlLOE85MU44aTloZkF2cmpzM0d1VE9qWHFaWG5oRUdH
K3ZrZEZvVUFiRC9wOTdQajcvdDU2cjU3L3B1K2I1cE9YZDZxUGJ2ZGZBYThlaTNWVmwwYWw2TFhy
bFk0dE8rYU5GcjBwc3RnRDJPTkxsek1IZEVuMm5XcVk2NitTemx4enpIeXdiODU4TC9UckJ2M3Zq
V2ZnWDE4ejE1SnJ1cXBPcHpscVphQThseG1LaHY0OUdnMy9vRC9zKzN1NjlCbDQ3RnAyaTNxSlZ6
VmgweWxtclR2bVRWWis4QUZ6NUhzRHpCWkJqTmtweHJrMkNwdzVJOTBmbjVNNk5oaGVlOWxzT2Z2
Zm1nMy9uK3JQd3oxeXZrNW11T3BsZVdKTWR0ZkhKanBydkpqdHFLQUJndWVUNHI0aVlkY3F2emJw
ZFAxajB5dmpxQXJDdjlTSlF1bDdjdGxTcDJwY3RId1lyWmFnbElQZHZOcTUvMnIvZ1ltOVR3Yit4
OWVCUGQ5WEpWSElTbUovcXJQMW11ck9HUndCZ09aTjJWNVZGcCt5MWFCZkdmNTB5c1ZRQWEzd0hZ
TEVBc3RMMXN0dVJMcWNyOHFYMThpbVo3S2lWQnowWFh4ajZqWi92TnhuODZ4c0hQL2tJVUNkVG5Y
WHg2YzdhdjB4MTFQUnM5MTREcngyVFRsRnYwaXBtekRybHJFV24vTW1pVjhsbUNpRGJiSkFEdVRZ
Sm50d3ZONjcrVG1hdTF5ZER2bWJvdDM2eDl5ejQ5UzhaL05yRk5UL2RWZnY3cWM2Nms5dTkxOEJy
eGF4ZVBmNHI0aHNWZ0hQaDl3QnpyU2xTVlpRdEh3UXFaVERpbDd2ZGpWczc3YmNZL0ptdEIxK21P
bXNUa3gyMVQ2YTZha2UyZTYrQjE0NUp1NnZLcEZQMm1yVEt4MmJ0cy9GLzhWdUFMeXFBM2ZZME9W
MmVMeTJYVHNwRWU0M2NmOEd6L1RZRVh5WTdhbVd5b3lZKzFWSHovVlJuWGZOMjd6WHcybGthLzdY
S1dZdFcrWk5GcDVUTkZFQzJ5U0Q3WFZZSm5OZ25YUisrSmROZGRacys3WCtkNE5mS1pFZU5USGJV
ekU5MjFEeWE1UElQV0NsTnJiQ1l0Y254MzZUZDlZTlpwNGhiZEtxTkMyQmgvSzhzekpMMy9ZZGxJ
T3lUT3pjYXR2d3gzc1kzK3I4bytETFpFVXBNdE5jOG1laGcvQWVlWTFMdnFqSnBsYjBtamVLeFdh
djQwYXhWSmxZWHdGcHZBbWFtNlNUZm5pYlZaWGtTZWZ1a2pNVkNjcmQ3RXlQK2VxZjlsb0pmdTJI
d0p6cHFaS0s5UnNiYlEvSEo5dEQzazUwMWpQL0FhaWFOb3Q2a1NZNy9acTNpSjdOT0tZc1hnQzhx
Z0N5VFFmYmxXTVYvZko5MGZuQldKanRyVjR6M1d6bnRuN3ZSdi81ODZMY2EvR2NyTkQvUkhubzAy
Yzc0RDZ5UXBsWllURnBGeEtSVkxJMy9Ld3ZnK1JlQjdDbkozd0Z3V1ZMa2NHR1d2T2MvTFAzTlhw
bTVYdi9MVC90TkJuOXlFOEVmVDRZL01SNExQUmx2RHpIK0E2dVpOWXBLazNaWGIvckMrRy9TS2hL
YkxZQzhqRFE1VlpZbjRZc25aTFF0S0hkdWJDNzBteDN6ZjBud3g5dERNaDRMeVZnc0ZCK1BCYjhm
YjJmOEI1NlRybEhVcDJzVjB5YU5ZbW44MzB3QlpLWHJaVisyUlh6SDkwbkgrMmRsb3FNbVdRQ3Y0
TFIvK2VDSGxvSy9FSDRaandYbngyUEJSMlB0UWNaL1lEbVRScG1hcmxZMG1UUzd2a3JUS1A1cTBp
cCtOdXVVWXRtZ0FCeXBXbkZaakhLb0lGT3VlQTlKWDVOSHBydnFOaDM2elo3MnZ5VDRDK0ZQakxZ
Rm40ekhnb3ovd0dvbXphN2Q2WnBkTVpORzhZMUpvM2hpMWk0OC8yK2lBUEl5VXVWa3FWdWFHay9J
U0RRb005ZGYzV20vTXZnMVd3NytXQ3drWTIxQkdXMEx4a2ZiZ3QrUHhVS00vOEJxYVpwZHU5UFVp
aWFUUnZHVlNhdjR5OUluQUJzVVFHYTZYb3F5TGVJOVZpVHQ3NTJSOGZiUXFzQy80dE4raThFZmF3
dkthRFFvSTlIQS9HaGI4SnV4S09NLzhCeVQ1bDlUMDlTS1FMcEdNV1RTS3Y3VHJGVThOZXVVaWVV
RllGdjFZeUNPVksza21KUGovN3ZlZzlKN3pTTlRuYld2NkxSL0JjRmZXQ1BSUUh3a0d2akxTRFRB
bTMvQWV0TFZ5anlUUnZtT1NhdVlOT3NVMzVwMXluOXNWQUJ1VzZxY0xNMlZhdzNIWmJnMUlOTmRy
K2EwWC9zei9LMEZmelFhbE5Gb0lIbjZSd08vSDJrTDh1WWY4Q0ltemE1Q2syN1hlMmF0Y3NxaVU4
YlhMWUFValdTbTY2UXd5eXplWTRVU3UzSmF4bUtodFVQL2kwLzdtaFdoWHhIOHR2V0NINVNSYUVC
R280SEVTS3YveVdocmdNcy9ZRFBTZGNvaXMxYnh2a1duZkdyUksrTnJGWUE5UlN2WlpvTWMzT3VV
ZHp3SDVmYTFDekxSVWZOUFBlM0gxemp0MXd2KzRocHVEY1JIb29IdlI2SUJMditBelRMcmxFVm1u
ZktoUmFkOGFsM3o1OEMwNHJhbHlJbVNYTG5XY0V5R1d2MHkyVmtyVTEzUGgvNmxUdnNOZ2orNlFm
QkhXZ015M0JxUTRWYi8vSEJyNE5GSTFNL2xIN0FWRnIwcVlOR3JIbHIxcXFjMmd5cSsvRTFBWjVw
T0NyTk00amxhSUcxWFRzdG9XL0NmZDlxL1ZQQURNdHpxVHd5MytKOE1NLzRETDJYbmloSXdxdUky
bzFyc0tSckpOaG1rWXE5RExsK29rRnVmbkpmeDlwcG5vVi92Yy91dG52YXhOY2I4VFFVL0lNT3Rm
aGxxOGNlSFcvemZEMGNERjdaN0k0SGZxcDAydlNwZzA2c2UyZ3pxcHhsR1RkeWVvcEZjYTRvY0wz
SEpwL1ZIWlREaWs0bU96WTM0TDMzYWIrN0VYd3ord3ZMTkQ3Y0VibzIwQmpLM2V4T0IzN0tkTnFN
NllET29IMllZMVUrZGFicDRRYVpKTGh6Wks5RjNxMlVrR3BDSkRVLzcwS3M3N1RjTXZsK0dXbnlK
d1lqdnlWQkw0SjN0M2p6Z1RiRFRabFFITW95YWg5bG0vZE9LUGM3NHBmUGwwdlB4T1JtTGhYNmQw
MzVUd1Y5WUVWOThzTVUvTlJEbThnOTRWWGJhVTdVQmw4WDQ4RVNKNitrbjlVZCtIZ2g3RXVQdG9W
ZHoycmR0SnZRdkR2NWd4TGV3dkg4Y2lIZzdobG9DbHUzZU5PQk5zdE50U3czNGp4YzliSDJuZW5h
b3hUYzMzaDZhSDR1RjR1UHR3Y1I0OG4vdS9STk8rODBHM3lkREVkLy9ESVI5OXdiQ3ZzYnQzaXpn
VGJUemFxZ3kwUFB4dWZCSU5CQWJidzg5R28rRlpzZGpvYm54OXREY2FDdzRQOW9XakkvRmdvbXhX
Q0F4K2dwTysrRzF4dnhWd1IrTStHUXc3UDF4TU94N1BCajI5ZlpIdkZYYnZWSEFtMnJuNHByc3JL
a2Q2d2lGUjl0RHNmSDJtdGhJTFBSb3JDMDRPOVlXbWh1TmhlWkcyd0x6STlGZ2ZMUXRrQmlOQmhM
UGhmNFhuUGFMYXlEaWs0R3dUd2JDM3Y4ZGFQWStISWo0UHVwdjlqTCtBNytDbmN2WGVIdE43V2dz
R0I2TmhXS2pzVkJzSkJwOE5Cb056bzVFQTNNTGEzNjROUkFmYWZVbmhwUHI1VTc3bGNHWGdiRDM3
d05oejUvN203MGpBMkhQbVczZUUrRC9yWldGMEJhc0hXNExoa2VpZ2RoSUxCUWJiZzA4R200TnpB
NjMrT2VHVy94elE2MysrYUVXZjN5b3haZElybVdoYjNrKzlJTkxvVjhLdnZRM2UrTUR6ZDRmK3Bz
OS85RWY5cllOUkh5T2JkNERBQXRXRk1Kb1c3QjJ1RFVZSG9vR1lrUFJRR3lveGY5b3FNVTNPeFR4
elExRmZITkRMYjc1b1lndlBoanhKcFpXZU8zZ0o4UHZTZlEzZVg4YUNIdG4rNXU5TTMzTlhQNEJy
N01WaFREY0dxZ2RidldIQjF2OXNjRldmMnd3NG44MEdQSE5Eb2E5YzRNUjM5eGcyRHMzRVBiT0Q0
Uzk4WUd3SnpFUTlpVDZtNzNTMyt5VnZtYlBmSCt6Wjc2dnlmTzB2OW43cDc1bWIyOS9NNWQvd0cv
SmM0VXcxT0lQOTBmOHNjR0lQOVlmOGNjR3dyNUhBMkh2N0VDemQyNmcyVHZYbHd4OXZLL1o4MjEv
cytlLytwbzgzL1kzZVQ3cmEvWTBjZmtIL0xidFhMMkdXbnkxQTJGZnVDL3NqZldIdmJIK1pzK2p2
ckQzWm0rVFo2aTN5VFBXMSt5WjdHdnlYTzlyOXZpMzkwOEg4TSt3b2hCNm03eGx0Njk1VHc2RWZl
Y0d3MTVmZjVQbm5iNW1UNkQzMm9VRDIveDNBdmdWN2R5eFk4Zk9nU2F2dTcvSms5VjN6YXZlN2o4
SUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBSUNWL2c5dFBKRVF1MVh2bVFBQUFBQkpSVTVFcmtKZ2dnPT0i
PgorPGltZyBpZD0iaTIiIHNyYz0iaHR0cDovL21hc2hhYmxlLmNvbS93cC1jb250ZW50L3VwbG9h
ZHMvMjAwOC8wOC90aHVuZGVyYmlyZC1sb2dvLTY0eDY0LnBuZyI+CisKKzwvYm9keT48L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTNjNTYzZGU2NTM2YWU4
MjRhZDgxZGJjMzU3MDIwNDEyNTZmMDAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNv
cy9hY29zXzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisq
KiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9j
dW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1h
dGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRh
dGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoq
IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJp
YWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUg
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQ
Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP
UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMg
T1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoq
IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O
IFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU
SEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogYWNvc18wMDFfdG9f
MDA2Lmh0bWw8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0
eWxlPSJ3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3Jp
cHQ+CisidXNlIHN0cmljdCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjog
WworICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJhY29zX2Zsb2F0X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJhY29zX2Zsb2F0X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUi
OiAiYWNvc19mbG9hdF9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAi
Y29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAg
ICAiZnJhZ21lbnRTaGFkZXIiOiAiYWNvc192ZWMyX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJhY29zX3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwg
CisgICAgICAibmFtZSI6ICJhY29zX3ZlYzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAg
ICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFjb3NfdmVjM19mcmFnX3h2YXJ5X3Jl
Zi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVy
dCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYWNvc192ZWMzX2ZyYWdfeHZhcnkuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYWNvc192ZWMzX2ZyYWdfeHZhcnkudGVzdC5o
dG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAg
ICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFjb3NfZmxv
YXRfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwg
CisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc19m
bG9hdF92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2Rl
ZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX2Zsb2F0
X3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAg
IH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogImFjb3NfdmVjMl92ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRl
eFNoYWRlciI6ICJhY29zX3ZlYzJfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5h
bWUiOiAiYWNvc192ZWMyX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogImFjb3NfdmVjM192ZXJ0X3h2YXJ5X3JlZi52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsK
KyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhY29zX3ZlYzNfdmVydF94dmFyeS52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm5hbWUiOiAiYWNvc192ZWMzX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9f
MDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYmNmNzU3ZTlmMGExODBjMTdjNmZmYTRlMTYyYTQ2NjQ0MzU3
Nzg5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0
bWwKQEAgLTAsMCArMSwxMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQuIERPIE5PVCBFRElULgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
Ky0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBHTFNMIGNvbmZvcm1hbmNlIHRlc3Q6IGFzaW5fMDAxX3RvXzAwNi5odG1sPC90aXRsZT4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNv
dXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9vZ2xlcy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9
ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhl
aWdodDogMTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
T3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl9mbG9hdF9mcmFn
X3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAg
ICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl9mbG9hdF9mcmFn
X3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFzaW5fZmxvYXRfZnJhZ194
dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisg
ICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
ImFzaW5fdmVjMl9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwi
OiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
YXNpbl92ZWMyX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNp
bl92ZWMyX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJl
IgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJhc2luX3ZlYzNfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdt
ZW50U2hhZGVyIjogImFzaW5fdmVjM19mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJuYW1lIjogImFzaW5fdmVjM19mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRl
cm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhc2luX2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFn
IgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFt
IjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFzaW5fZmxvYXRfdmVydF94dmFyeS52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIK
KyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl9mbG9hdF92ZXJ0X3h2YXJ5LnRlc3QuaHRt
bCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAi
cmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhc2luX3ZlYzJf
dmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVm
YXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisg
ICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXNpbl92ZWMy
X3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFzaW5fdmVjMl92ZXJ0
X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAK
KyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICJhc2luX3ZlYzNfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2Rl
bCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFk
ZXIiOiAiYXNpbl92ZWMzX3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjog
ImFzaW5fdmVjM192ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29t
cGFyZSIKKyAgICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9f
MDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdmZTNhNGE4ZDU3MTcyZWUzNGU3MDU3MGRkODExZjY2MDAzZmM4MmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTU2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBO
T1QgRURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0
ZXN0OiBhdGFuXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNz
cyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAw
IiBoZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZh
cz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5y
dW4oeworICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAg
fSwgCisgICAgICAibmFtZSI6ICJhdGFuX2Zsb2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVu
Y2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzJfZnJhZ194dmFy
eV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVz
dFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5LnRl
c3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7Cisg
ICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9k
ZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92
ZWMzX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGws
IAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2Rl
ZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3Zl
YzNfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX3ZlYzNf
ZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAg
fSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImF0YW5fZmxvYXRfZnJhZ194dmFyeXl2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5eXZhcnkuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5eXZhcnkudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVu
Y2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzJfZnJhZ194dmFy
eXl2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAg
ICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMyX2ZyYWdf
eHZhcnl5dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX3ZlYzJfZnJh
Z194dmFyeXl2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAg
ICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRl
eFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiYXRhbl92ZWMzX2ZyYWdfeHZhcnl5dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdt
ZW50U2hhZGVyIjogImF0YW5fdmVjM19mcmFnX3h2YXJ5eXZhcnkuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAiYXRhbl92ZWMzX2ZyYWdfeHZhcnl5dmFyeS50ZXN0Lmh0bWwiLCAKKyAg
ICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5j
ZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXRhbl9mbG9hdF92ZXJ0X3h2
YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0
ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhdGFuX2Zsb2F0X3ZlcnRf
eHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fZmxvYXRfdmVydF94dmFy
eS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAg
eworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
YXRhbl92ZWMyX3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAi
Z3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
ImF0YW5fdmVjMl92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFu
X3ZlYzJfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUi
CisgICAgfQorICBdCit9KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9m
bG93XzAwMV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3df
MDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1N2JmYTE1MTFhNmNmYzQ0ZTMwM2RkMzZjMzUz
N2FlMzMwYWJkMjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29u
dHJvbF9mbG93XzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDI1MiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogY29udHJvbF9m
bG93XzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWln
aHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9i
b2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oewor
ICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgInVu
aWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQiOiAx
LCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2YWx1
ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAg
ICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAgICAg
fQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZXhw
ZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVz
dFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImZvcl9icmVha19mcmFnLmZyYWci
CisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9icmVha19mcmFnLnRlc3QuaHRtbCIsIAor
ICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJl
bmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsK
KyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRm
diIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAsIAorICAgICAg
ICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAg
ICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9k
ZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICJmb3JfYnJlYWtfdmVydC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX2Jy
ZWFrX3ZlcnQudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0s
IAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsK
KyAgICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAg
ICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAg
ICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwg
CisgICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAg
fSwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWci
CisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJmb3JfY29udGludWVfZnJhZy5mcmFnIgorICAgICAg
fSwgCisgICAgICAibmFtZSI6ICJmb3JfY29udGludWVfZnJhZy50ZXN0Lmh0bWwiLCAKKyAgICAg
ICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAg
ICAgICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAK
KyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAg
ICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAg
ICAgICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVy
IjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjog
bnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Zm9yX2NvbnRpbnVlX3ZlcnQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9jb250
aW51ZV92ZXJ0LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9
LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7
CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAg
ICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAg
ICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAs
IAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAg
IH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFn
IgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiZm9yX25lc3RlZF9icmVha19mcmFnLmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9uZXN0ZWRfYnJlYWtfZnJhZy50ZXN0Lmh0bWwi
LCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJl
ZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQi
OiB7CisgICAgICAgICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZv
cm00ZnYiLCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAg
ICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4w
CisgICAgICAgICAgICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdt
ZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiZm9yX25lc3RlZF9icmVha192ZXJ0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFt
ZSI6ICJmb3JfbmVzdGVkX2JyZWFrX3ZlcnQudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAg
ICAgICJ1bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNv
dW50IjogMSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAg
ICAidmFsdWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisg
ICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAg
ICAgICAgIH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2V4cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAg
ICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJmb3JfbmVzdGVkX2Nv
bnRpbnVlX2ZyYWcuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX25lc3RlZF9j
b250aW51ZV9mcmFnLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAg
ICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRl
eFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMi
OiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAg
ICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWwor
ICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAx
LjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAg
ICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5m
cmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJmb3JfbmVzdGVkX2NvbnRpbnVlX3ZlcnQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZy
YWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9uZXN0ZWRfY29udGludWVfdmVydC50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9s
b2dfMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0NDk5YzljOWY3NmRjNjBhMGZlODcwMjFj
YWIwYzExOGE2MGY3MTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90
b18wMDguaHRtbApAQCAtMCwwICsxLDE1NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogbG9nXzAwMV90b18wMDguaHRtbDwvdGl0
bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2Fu
dmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAx
NnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVzdHMiOiBbCisgICAgeworICAg
ICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVm
YXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ19mbG9h
dF9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAK
KyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX2Zsb2F0
X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nX2Zsb2F0X2Zy
YWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0s
IAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJsb2dfZmxvYXRfZnJhZ194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAibG9nX2Zsb2F0X2ZyYWdfeHZhcnkwMS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFt
ZSI6ICJsb2dfZmxvYXRfZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4i
OiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsK
KyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAg
ICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzJfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogImxvZ192ZWMyX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm5hbWUiOiAibG9nX3ZlYzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAg
ICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ192ZWMyX2ZyYWdfeHZhcnkwMV9y
ZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ192ZWMyX2ZyYWdfeHZhcnkwMS5m
cmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfdmVjMl9mcmFnX3h2YXJ5MDEudGVz
dC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAg
ICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2Rl
ZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfdmVj
M19mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAK
KyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzNf
ZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfdmVjM19mcmFn
X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAK
KyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIi
OiAibG9nX3ZlYzNfZnJhZ194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9k
ZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIi
OiAibG9nX3ZlYzNfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjog
ImxvZ192ZWMzX2ZyYWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNv
bXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAg
ICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAg
fSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogImxvZ19mbG9hdF92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwg
CisgICAgICAibmFtZSI6ICJsb2dfZmxvYXRfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAg
ICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnkw
MV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVz
dFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZh
cnkwMS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnkw
MS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9
KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wv
bG9nMi9sb2cyXzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWFhMTc4ZjI4Y2FmMjg1OTVh
NzFkZDZkYzVhNzMyMDQwNjA4OTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9s
b2cyXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE1NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogbG9nMl8wMDFfdG9fMDA4
Lmh0bWw8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxl
PSJ3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+
CisidXNlIHN0cmljdCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWwor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2Rl
bCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAi
bG9nMl9mbG9hdF9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29t
cGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAibG9nMl9mbG9hdF9mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnkwMS5mcmFnIgorICAgICAg
fSwgCisgICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAK
KyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVy
ZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjMl9mcmFnX3h2
YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0
ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMyX2ZyYWdfeHZh
cnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nMl92ZWMyX2ZyYWdfeHZhcnku
dGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsK
KyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cy
X3ZlYzJfZnJhZ194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBu
dWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9n
Ml92ZWMyX2ZyYWdfeHZhcnkwMS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cy
X3ZlYzJfZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFy
ZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAibG9nMl92ZWMzX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAK
KyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJsb2cyX3ZlYzNfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAg
ICAibmFtZSI6ICJsb2cyX3ZlYzNfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5MDFfcmVmLmZy
YWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFt
IjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzNfZnJhZ194dmFyeTAxLmZyYWci
CisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5MDEudGVzdC5o
dG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAg
ICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImxvZzJfZmxv
YXRfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwg
CisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nMl9m
bG9hdF92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2Rl
ZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0
X3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAg
IH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogImxvZzJfZmxvYXRfdmVydF94dmFyeTAxX3JlZi52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnkwMS52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm5hbWUiOiAibG9nMl9mbG9hdF92ZXJ0X3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAi
cGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21v
b3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAv
c21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVlZTk3OTU0OGNhZjdjYjZl
NTIzZjM4MTJmNWIwOWU0ZDg0NjM2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290
aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwKQEAgLTAsMCArMSwxMzAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQuIERPIE5PVCBFRElU
LgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIGNvbmZvcm1hbmNlIHRlc3Q6IHNt
b290aHN0ZXBfMDAxX3RvXzAwNi5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3Nz
IiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0
aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MDAi
IGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwvY2FudmFz
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVubmVyLnJ1
bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAg
ICAiZnJhZ21lbnRTaGFkZXIiOiAic21vb3Roc3RlcF9mbG9hdF9mcmFnX3h2YXJ5X2VkZ2Vjb25z
dHF1YXJ0ZXJfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAg
ICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zs
b2F0X2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bmFtZSI6ICJzbW9vdGhzdGVwX2Zsb2F0X2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci50ZXN0
Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAg
ICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVm
YXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0
ZXBfdmVjMl9mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLmZyYWciCisgICAgICB9LCAK
KyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzJfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVy
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVjMl9mcmFnX3h2
YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21w
YXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzNfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFy
dGVyX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0
ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAic21vb3Roc3RlcF92ZWMzX2Zy
YWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6
ICJzbW9vdGhzdGVwX3ZlYzNfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIs
IAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zs
b2F0X3ZlcnRfeHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9yZWYudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAic21vb3Roc3RlcF9mbG9hdF92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZy
YWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfZmxvYXRfdmVydF94dmFy
eV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFy
ZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzJfdmVydF94dmFyeV9lZGdlY29uc3RxdWFy
dGVyX3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0
ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzJf
dmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6
ICJzbW9vdGhzdGVwX3ZlYzJfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIs
IAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX3Zl
YzNfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyX3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRl
eFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzNfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyLnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFn
IgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJzbW9vdGhzdGVwX3ZlYzNfdmVydF94dmFyeV9l
ZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9u
LWxvbmctbmFtZXMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24t
bG9uZy1uYW1lcy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTAxYTg0ZjcwM2I3MWFkYmY1NDI3MzE4
MmJhNjUyMjBhMjI2YTYzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0
cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTg3IEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBCaW5kQXR0
cmliTG9jYXRpb24gTG9uZyBOYW1lcyBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8Y2FudmFzIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibGFjazsiIGlk
PSJjYW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2
c2hhZGVyIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CithdHRyaWJ1dGUg
dmVjNCB2UG9zaXRpb24kKHN1ZmZpeCk7CithdHRyaWJ1dGUgdmVjNCB2Q29sb3IkKHN1ZmZpeCk7
Cit2YXJ5aW5nIHZlYzQgY29sb3I7Cit2b2lkIG1haW4oKQoreworICBnbF9Qb3NpdGlvbiA9IHZQ
b3NpdGlvbiQoc3VmZml4KTsKKyAgY29sb3IgPSB2Q29sb3IkKHN1ZmZpeCk7Cit9Cis8L3Njcmlw
dD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2Ny
aXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit2YXJ5aW5nIHZlYzQgY29sb3I7Cit2
b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29sb3IgPSBjb2xvcjsKK30KKzwvc2NyaXB0PgorPHNj
cmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHVzaW5n
IGxvbmcgbmFtZXMgd2l0aCBiaW5kQXR0cmliTG9jYXRpb24gd29yay4iKTsKKworZGVidWcoIiIp
OworZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGls
czsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOworc2hvdWxkQmVOb25O
dWxsKCJnbCIpOworCitmdW5jdGlvbiBmYWlsKHgseSwgYnVmLCBzaG91bGRCZSkKK3sKKyAgdmFy
IGkgPSAoeSo1MCt4KSAqIDQ7CisgIHZhciByZWFzb24gPSAicGl4ZWwgYXQgKCIreCsiLCIreSsi
KSBpcyAoIitidWZbaV0rIiwiK2J1ZltpKzFdKyIsIitidWZbaSsyXSsiLCIrYnVmW2krM10rIiks
IHNob3VsZCBiZSAiK3Nob3VsZEJlOworICB0ZXN0RmFpbGVkKHJlYXNvbik7Cit9CisKK2Z1bmN0
aW9uIHBhc3MoKQoreworICB0ZXN0UGFzc2VkKCJkcmF3aW5nIGlzIGNvcnJlY3QiKTsKK30KKwor
ZGVidWcoIiIpOworZGVidWcoIkNoZWNraW5nIGdsLmJpbmRBdHRyaWJMb2NhdGlvbiB3aXRoIGxv
bmcgbmFtZXMuIik7CisKK3ZhciBwcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworCit2YXIg
c3VmZml4ID0gImxvbmciOworZm9yICh2YXIgaWkgPSAwOyBpaSA8IDU7ICsraWkpIHsKKyAgc3Vm
Zml4ID0gc3VmZml4ICsgc3VmZml4OworfQordmFyIHJlcGxhY2VtZW50cyA9IHsKKyAgc3VmZml4
OiBzdWZmaXgKK307CisKK3ZhciB2c3JjID0gd3R1LnJlcGxhY2VQYXJhbXMod3R1LmdldFNjcmlw
dCgidnNoYWRlciIpLCByZXBsYWNlbWVudHMpOwordmFyIGZzcmMgPSB3dHUucmVwbGFjZVBhcmFt
cyh3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyIiksIHJlcGxhY2VtZW50cyk7CisKK3ZhciB2cyA9IHd0
dS5sb2FkU2hhZGVyKGdsLCB2c3JjLCBnbC5WRVJURVhfU0hBREVSKTsKK3ZhciBmcyA9IHd0dS5s
b2FkU2hhZGVyKGdsLCBmc3JjLCBnbC5GUkFHTUVOVF9TSEFERVIpOworCit2YXIgYXR0cmlicyA9
IHsKKyAgdlBvc2l0aW9uOiAidlBvc2l0aW9uIiArIHN1ZmZpeCwKKyAgdkNvbG9yOiAidkNvbG9y
IiArIHN1ZmZpeAorfTsKKworZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHZzKTsKK2dsLmF0dGFj
aFNoYWRlcihwcm9ncmFtLCBmcyk7CisKK3ZhciBwb3NpdGlvbnMgPSBnbC5jcmVhdGVCdWZmZXIo
KTsKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBwb3NpdGlvbnMpOworZ2wuYnVmZmVy
RGF0YSgKKyAgZ2wuQVJSQVlfQlVGRkVSLAorICBuZXcgRmxvYXQzMkFycmF5KAorICAgICAgWyAx
LjAsICAxLjAsIDAuMCwKKyAgICAgICAtMS4wLCAgMS4wLCAwLjAsCisgICAgICAgLTEuMCwgLTEu
MCwgMC4wLAorICAgICAgICAxLjAsICAxLjAsIDAuMCwKKyAgICAgICAtMS4wLCAtMS4wLCAwLjAs
CisgICAgICAgIDEuMCwgLTEuMCwgMC4wXSksCisgIGdsLlNUQVRJQ19EUkFXKTsKKwordmFyIGNv
bG9ycyA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIs
IGNvbG9ycyk7CitnbC5idWZmZXJEYXRhKAorICBnbC5BUlJBWV9CVUZGRVIsCisgIG5ldyBGbG9h
dDMyQXJyYXkoCisgICAgICBbIDAsMSwwLDEsCisgICAgICAgIDAsMSwwLDEsCisgICAgICAgIDAs
MSwwLDEsCisgICAgICAgIDAsMSwwLDEsCisgICAgICAgIDAsMSwwLDEsCisgICAgICAgIDAsMSww
LDFdKSwKKyAgZ2wuU1RBVElDX0RSQVcpOworCitmdW5jdGlvbiBzZXRCaW5kTG9jYXRpb25zKGNv
bG9yTG9jYXRpb24sIHBvc2l0aW9uTG9jYXRpb24pIHsKKyAgZ2wuYmluZEF0dHJpYkxvY2F0aW9u
KHByb2dyYW0sIHBvc2l0aW9uTG9jYXRpb24sIGF0dHJpYnMudlBvc2l0aW9uKTsKKyAgZ2wuYmlu
ZEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sIGNvbG9yTG9jYXRpb24sIGF0dHJpYnMudkNvbG9yKTsK
KyAgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSk7CisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7Cisg
IHZhciBsaW5rZWQgPSAoZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5MSU5LX1NU
QVRVUykgIT0gMCk7CisgIGFzc2VydE1zZyhsaW5rZWQsICJwcm9ncmFtIGxpbmtlZCBzdWNjZXNz
ZnVsbHkiKTsKKworICBkZWJ1ZygidlBvc2l0aW9uOiIgKyBnbC5nZXRBdHRyaWJMb2NhdGlvbihw
cm9ncmFtLCBhdHRyaWJzLnZQb3NpdGlvbikpCisgIGRlYnVnKCJ2Q29sb3IgICA6IiArIGdsLmdl
dEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sIGF0dHJpYnMudkNvbG9yKSkKKyAgYXNzZXJ0TXNnKGds
LmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sIGF0dHJpYnMudlBvc2l0aW9uKSA9PSBwb3NpdGlv
bkxvY2F0aW9uLAorICAgICAgICAgICAgImxvY2F0aW9uIG9mIHZQb3NpdGlvbiBzaG91bGQgYmUg
IiArIHBvc2l0aW9uTG9jYXRpb24pOworICBhc3NlcnRNc2coZ2wuZ2V0QXR0cmliTG9jYXRpb24o
cHJvZ3JhbSwgYXR0cmlicy52Q29sb3IpID09IGNvbG9yTG9jYXRpb24sCisgICAgICAgICAgICAi
bG9jYXRpb24gb2YgdkNvbG9yIHNob3VsZCBiZSAiICsgY29sb3JMb2NhdGlvbik7CisKKyAgdmFy
IHBsb2MgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCBhdHRyaWJzLnZQb3NpdGlvbik7
CisgIHZhciBjbG9jID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52Q29s
b3IpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgcG9zaXRpb25zKTsKKyAgZ2wu
ZW5hYmxlVmVydGV4QXR0cmliQXJyYXkocG9zaXRpb25Mb2NhdGlvbik7CisgIGdsLnZlcnRleEF0
dHJpYlBvaW50ZXIocG9zaXRpb25Mb2NhdGlvbiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsK
KyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGNvbG9ycyk7CisgIGdsLmVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KGNvbG9yTG9jYXRpb24pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KGNvbG9yTG9jYXRpb24sIDQsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Cit9CisKK2Z1bmN0aW9u
IGNoZWNrRHJhdyhjb2xvckxvY2F0aW9uLCBwb3NpdGlvbkxvY2F0aW9uLCByLCBnLCBiLCBhKSB7
CisgIHd0dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgW3IsIGcsIGIsIGFd
LCAic2hvdWxkIGJlIGdyZWVuIik7CisKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHBv
c2l0aW9uTG9jYXRpb24pOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoY29sb3JMb2Nh
dGlvbik7Cit9CisKK3NldEJpbmRMb2NhdGlvbnMoMiwgMyk7CitjaGVja0RyYXcoMiwgMywgMCwg
MjU1LCAwLCAyNTUpOworCitzZXRCaW5kTG9jYXRpb25zKDAsIDMpOworZ2wuZGlzYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDApOworZ2wudmVydGV4QXR0cmliNGYoMCwgMSwgMCwgMCwgMSk7CitjaGVj
a0RyYXcoMCwgMywgMjU1LCAwLCAwLCAyNTUpOworCitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5P
X0VSUk9SKTsKKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9n
cmFtLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4
YzJhZWNiNDRhZjM3NzViODVkNGVmMmFjZjlkYzdlNTczZTFiNWQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbApAQCAtMCwwICsxLDQyMiBAQAorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIFByb2dyYW0gQ29tcGls
aW5nL0xpbmtpbmcgQ29uZm9ybWFuY2UgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25z
dGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiIHR5cGU9
InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgaWQ9
InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCBh
X3Bvc2l0aW9uOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9Qb3NpdGlvbiA9
IGFfcG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyLXJlZCIg
dHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAg
ICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMSwgMCwgMCwgMSk7CisgICAgfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJmc2hhZGVyLWdyZWVuIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAg
ICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLCAxLCAw
LCAxKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXItc2V0dGFibGUiIHR5
cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
ICAgIHVuaWZvcm0gdmVjNCB1X2NvbG9yOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAg
ICBnbF9GcmFnQ29sb3IgPSB1X2NvbG9yOworICAgIH0KKzwvc2NyaXB0PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJj
YW52YXMiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Z1bmN0aW9uIGdvKCkg
eworICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHByb2dyYW0gY29tcGlsaW5nL2xpbmtpbmcv
dXNpbmcgd29ya3MgY29ycmVjdGx5LiIpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJD
YW52YXMuZ2V0Q29udGV4dCIpOworCisgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgi
Y2FudmFzIik7CisgICAgaWYgKCFnbCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJjb250ZXh0IGRv
ZXMgbm90IGV4aXN0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB0ZXN0UGFzc2Vk
KCJjb250ZXh0IGV4aXN0cyIpOworCisgICAgZ2wuY2xlYXJDb2xvcigwLjAsIDAuMCwgMC4wLCAw
LjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJf
QklUKTsKKworICAgIGZ1bmN0aW9uIGRvQXJyYXlzSGF2ZVNhbWVDb250ZW50cyhhLCBiKSB7Cisg
ICAgICAgIHZhciBmbGFncyA9IFtdOworICAgICAgICBmdW5jdGlvbiBoYXNVbnVzZWRWYWx1ZShh
LCB2YWx1ZSkgeworICAgICAgICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGEubGVuZ3RoOyAr
K2lpKSB7CisgICAgICAgICAgICAgICAgaWYgKGFbaWldID09PSB2YWx1ZSAmJiAhZmxhZ3NbaWld
KSB7CisgICAgICAgICAgICAgICAgICAgIGZsYWdzW2lpXSA9IHRydWU7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yICh2YXIgaWkgPSAwOyBp
aSA8IGEubGVuZ3RoOyBpaSsrKSB7CisgICAgICAgICAgICAgICAgaWYgKCFoYXNVbnVzZWRWYWx1
ZShiLCBhW2lpXSkpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKy8vLy8vLy8gQ2hlY2sgY29tcGlsZVNoYWRlcigpIC8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vCisKKyAgICB2YXIgdnMgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVYX1NIQURF
Uik7CisgICAgZ2wuc2hhZGVyU291cmNlKHZzLCAiYXR0cmlidXRlIHZlYzQgYVZlcnRleDsgYXR0
cmlidXRlIHZlYzQgYUNvbG9yOyB2YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IHZD
b2xvciA9IGFDb2xvcjsgZ2xfUG9zaXRpb24gPSBhVmVydGV4OyB9Iik7CisgICAgZ2wuY29tcGls
ZVNoYWRlcih2cyk7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzLCBn
bC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImdvb2QgdmVydGV4IHNo
YWRlciBzaG91bGQgY29tcGlsZSIpOworCisgICAgLy8gVmVyaWZ5IHRoYXQgY29uc3RhbnRzIHJl
bW92ZWQgZnJvbSB0aGUgV2ViR0wgc3BlYyBnZW5lcmF0ZSBJTlZBTElEX0VOVU0gZXJyb3JzCisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMg
YXQgdGhpcyBwb2ludCIpOworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMs
IGRlc2t0b3BHTFsnSU5GT19MT0dfTEVOR1RIJ10pID09PSBudWxsLCAiaW52YWxpZCBjYWxsIHRv
IGdldFNoYWRlclBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsKKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwgIklORk9fTE9HX0xFTkdUSCBpcyBub3QgYSB2YWxp
ZCBhcmd1bWVudCB0byBnZXRTaGFkZXJQYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICBhc3NlcnRN
c2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzLCBkZXNrdG9wR0xbJ1NIQURFUl9TT1VSQ0VfTEVO
R1RIJ10pID09PSBudWxsLCAiaW52YWxpZCBjYWxsIHRvIGdldFNoYWRlclBhcmFtZXRlciBzaG91
bGQgcmV0dXJuIG51bGwiKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5V
TSwgIlNIQURFUl9TT1VSQ0VfTEVOR1RIIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFNo
YWRlclBhcmFtZXRlciBpbiBXZWJHTCIpOworCisgICAgdmFyIHZzMiA9IGdsLmNyZWF0ZVNoYWRl
cihnbC5WRVJURVhfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UodnMyLCAiYXR0cmlidXRl
IHZlYzQgYVZlcnRleDsgYXR0cmlidXRlIHZlYzQgYUNvbG9yOyB2YXJ5aW5nIHZlYzQgdkNvbG9y
OyB2b2lkIG1haW4oKSB7IHZDb2xvciA9IGFDb2xvcjsgZ2xfUG9zaXRpb24gPSBhVmVydGV4ICog
MC41OyB9Iik7CisgICAgZ2wuY29tcGlsZVNoYWRlcih2czIpOworCisgICAgYXNzZXJ0TXNnKGds
LmdldFNoYWRlclBhcmFtZXRlcih2czIsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVlLAorICAg
ICAgICAgICAgICAiZ29vZCB2ZXJ0ZXggc2hhZGVyICMyIHNob3VsZCBjb21waWxlIik7CisKKyAg
ICB2YXIgdnNCYWQgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVYX1NIQURFUik7CisgICAgZ2wu
c2hhZGVyU291cmNlKHZzQmFkLCAiV0lMTCBOT1QgQ09NUElMRTsiKTsKKyAgICBnbC5jb21waWxl
U2hhZGVyKHZzQmFkKTsKKworICAgIC8vIEdMU0wgMS4wLjE3IHNlY3Rpb24gMTAuMjcuIGNvbXBp
bGUgc2hhZGVyIGRvZXMgbm90IGhhdmUgdG8gcmV0dXJuIGZhaWx1cmUuCisgICAgLy9hc3NlcnRN
c2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzQmFkLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gZmFs
c2UsCisgICAgLy8gICAgICAgICAgImJhZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBmYWlsIHRvIGNv
bXBpbGUiKTsKKworICAgIHZhciBmcyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFE
RVIpOworICAgIGdsLnNoYWRlclNvdXJjZShmcywgInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyB2
YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IGdsX0ZyYWdDb2xvciA9IHZDb2xvcjsg
fSIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMpOworCisgICAgYXNzZXJ0TXNnKGdsLmdldFNo
YWRlclBhcmFtZXRlcihmcywgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAg
ICAgICJnb29kIGZyYWdtZW50IHNoYWRlciBzaG91bGQgY29tcGlsZSIpOworCisgICAgdmFyIGZz
MiA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOworICAgIGdsLnNoYWRlclNv
dXJjZShmczIsICJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgdmFyeWluZyB2ZWM0IHZDb2xvcjsg
dm9pZCBtYWluKCkgeyBnbF9GcmFnQ29sb3IgPSB2Q29sb3IgKiAwLjU7IH0iKTsKKyAgICBnbC5j
b21waWxlU2hhZGVyKGZzMik7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVy
KGZzMiwgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAgICJnb29kIGZy
YWdtZW50IHNoYWRlciAjMiBzaG91bGQgY29tcGlsZSIpOworCisgICAgdmFyIGZzQmFkID0gZ2wu
Y3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZz
QmFkLCAiV0lMTCBOT1QgQ09NUElMRTsiKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzQmFkKTsK
KworICAgIC8vIEdMU0wgMS4wLjE3IHNlY3Rpb24gMTAuMjcuIGNvbXBpbGUgc2hhZGVyIGRvZXMg
bm90IGhhdmUgdG8gcmV0dXJuIGZhaWx1cmUuCisgICAgLy9hc3NlcnRNc2coZ2wuZ2V0U2hhZGVy
UGFyYW1ldGVyKGZzQmFkLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gZmFsc2UsCisgICAgLy8gICAg
ICAgICAgImJhZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGZhaWwgdG8gY29tcGlsZSIpOworCisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMg
YXQgdGhpcyBwb2ludCIpOworCisvLy8vLy8vIENoZWNrIGF0dGFjaFNoYWRlcigpIC8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAgICBmdW5jdGlvbiBjaGVja0F0dGFjaFNoYWRlcihh
bHJlYWR5X2F0dGFjaGVkX3NoYWRlcnMsIHNoYWRlciwgZXhwZWN0ZWRfZXJyb3JfY29kZSwgZXJy
bXNnKSB7CisgICAgICAgIHZhciBwcm9nID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGFscmVhZHlfYXR0YWNoZWRfc2hhZGVycy5sZW5ndGg7ICsraSkK
KyAgICAgICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nLCBhbHJlYWR5X2F0dGFjaGVkX3NoYWRl
cnNbaV0pOworICAgICAgICBpZihnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAg
ICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBhdHRhY2hTaGFkZXIo
KSIpOworICAgICAgICBnbC5hdHRhY2hTaGFkZXIocHJvZywgc2hhZGVyKTsKKyAgICAgICAgZ2xF
cnJvclNob3VsZEJlKGdsLCBleHBlY3RlZF9lcnJvcl9jb2RlLCBlcnJtc2cpOworICAgIH0KKwor
ICAgIGNoZWNrQXR0YWNoU2hhZGVyKFtdLCB2cywgZ2wuTk9fRVJST1IsICJhdHRhY2hpbmcgYSB2
ZXJ0ZXggc2hhZGVyIHNob3VsZCBzdWNjZWVkIik7CisgICAgY2hlY2tBdHRhY2hTaGFkZXIoW3Zz
XSwgdnMsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICJhdHRh
Y2hpbmcgYW4gYWxyZWFkeSBhdHRhY2hlZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBnZW5lcmF0ZSBJ
TlZBTElEX09QRVJBVElPTiIpOworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFtdLCBmcywgZ2wuTk9f
RVJST1IsICJhdHRhY2hpbmcgYSBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIHN1Y2NlZWQiKTsKKyAg
ICBjaGVja0F0dGFjaFNoYWRlcihbZnNdLCBmcywgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAg
ICAgICAgICAgICAgICAgICAgImF0dGFjaGluZyBhbiBhbHJlYWR5IGF0dGFjaGVkIGZyYWdtZW50
IHNoYWRlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKyAgICBjaGVja0F0
dGFjaFNoYWRlcihbdnNdLCB2czIsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAg
ICAgICAgICAgICJhdHRhY2hpbmcgc2hhZGVycyBvZiB0aGUgc2FtZSB0eXBlIHRvIGEgcHJvZ3Jh
bSBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKyAgICBjaGVja0F0dGFjaFNo
YWRlcihbZnNdLCBmczIsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAg
ICAgICJhdHRhY2hpbmcgc2hhZGVycyBvZiB0aGUgc2FtZSB0eXBlIHRvIGEgcHJvZ3JhbSBzaG91
bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKworLy8vLy8vLyBDaGVjayBkZXRhY2hT
aGFkZXIoKSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgZnVuY3Rpb24gY2hl
Y2tEZXRhY2hTaGFkZXIoYWxyZWFkeV9hdHRhY2hlZF9zaGFkZXJzLCBzaGFkZXIsIGV4cGVjdGVk
X2Vycm9yX2NvZGUsIGVycm1zZykgeworICAgICAgICB2YXIgcHJvZyA9IGdsLmNyZWF0ZVByb2dy
YW0oKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbHJlYWR5X2F0dGFjaGVkX3NoYWRl
cnMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBnbC5hdHRhY2hTaGFkZXIocHJvZywgYWxyZWFk
eV9hdHRhY2hlZF9zaGFkZXJzW2ldKTsKKyAgICAgICAgaWYoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5O
T19FUlJPUikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3Ig
aW4gYXR0YWNoU2hhZGVyKCkiKTsKKyAgICAgICAgZ2wuZGV0YWNoU2hhZGVyKHByb2csIHNoYWRl
cik7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZXhwZWN0ZWRfZXJyb3JfY29kZSwgZXJy
bXNnKTsKKyAgICB9CisKKyAgICBjaGVja0RldGFjaFNoYWRlcihbdnNdLCB2cywgZ2wuTk9fRVJS
T1IsICJkZXRhY2hpbmcgYSB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBzdWNjZWVkIik7CisgICAgY2hl
Y2tEZXRhY2hTaGFkZXIoW2ZzXSwgdnMsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAg
ICAgICAgICAgICAgICJkZXRhY2hpbmcgYSBub3QgYWxyZWFkeSBhdHRhY2hlZCB2ZXJ0ZXggc2hh
ZGVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworICAgIGNoZWNrRGV0YWNo
U2hhZGVyKFtmc10sIGZzLCBnbC5OT19FUlJPUiwgImRldGFjaGluZyBhIGZyYWdtZW50IHNoYWRl
ciBzaG91bGQgc3VjY2VlZCIpOworICAgIGNoZWNrRGV0YWNoU2hhZGVyKFt2c10sIGZzLCBnbC5J
TlZBTElEX09QRVJBVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAiZGV0YWNoaW5nIGEgbm90
IGFscmVhZHkgYXR0YWNoZWQgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElE
X09QRVJBVElPTiIpOworCisvLy8vLy8vIENoZWNrIGdldEF0dGFjaGVkU2hhZGVycygpIC8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAgICBmdW5jdGlvbiBjaGVja0dldEF0dGFjaGVk
U2hhZGVycyhzaGFkZXJzX3RvX2F0dGFjaCwgc2hhZGVyc190b19kZXRhY2gsIGV4cGVjdGVkX3No
YWRlcnMsIGVycm1zZykgeworICAgICAgICB2YXIgcHJvZyA9IGdsLmNyZWF0ZVByb2dyYW0oKTsK
KyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaGFkZXJzX3RvX2F0dGFjaC5sZW5ndGg7ICsr
aSkKKyAgICAgICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nLCBzaGFkZXJzX3RvX2F0dGFjaFtp
XSk7CisgICAgICAgIGlmKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAgICAgICAg
ICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGluIGF0dGFjaFNoYWRlcigpIik7
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2hhZGVyc190b19kZXRhY2gubGVuZ3RoOyAr
K2kpCisgICAgICAgICAgICBnbC5kZXRhY2hTaGFkZXIocHJvZywgc2hhZGVyc190b19kZXRhY2hb
aV0pOworICAgICAgICBpZihnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAg
ICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBkZXRhY2hTaGFkZXIoKSIp
OworICAgICAgICBhc3NlcnRNc2coZG9BcnJheXNIYXZlU2FtZUNvbnRlbnRzKGdsLmdldEF0dGFj
aGVkU2hhZGVycyhwcm9nKSwgZXhwZWN0ZWRfc2hhZGVycyksIGVycm1zZyk7CisgICAgfQorICAg
IGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtdLCBbXSwgW10sICJnZXRBdHRhY2hlZFNoYWRlcnMg
c2hvdWxkIHJldHVybiBhbiBlbXB0eSBsaXN0IGJ5IGRlZmF1bHQiKTsKKyAgICBjaGVja0dldEF0
dGFjaGVkU2hhZGVycyhbZnNdLCBbXSwgW2ZzXSwgImF0dGFjaGluZyBhIHNpbmdsZSBzaGFkZXIg
c2hvdWxkIGdpdmUgdGhlIGV4cGVjdGVkIGxpc3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hh
ZGVycyhbZnMsIHZzXSwgW10sIFtmcywgdnNdLAorICAgICAgICAiYXR0YWNoaW5nIHNvbWUgc2hh
ZGVycyBzaG91bGQgZ2l2ZSB0aGUgZXhwZWN0ZWQgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNo
ZWRTaGFkZXJzKFtmc10sIFtmc10sIFtdLCAiYXR0YWNoaW5nIGEgc2hhZGVyIGFuZCBkZXRhY2hp
bmcgaXQgc2hvdWQgbGVhdmUgYW4gZW1wdHkgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRT
aGFkZXJzKFtmcywgdnNdLCBbZnMsIHZzXSwgW10sCisgICAgICAgICJhdHRhY2hpbmcgc29tZSBz
aGFkZXJzIGFuZCBkZXRhY2hpbmcgdGhlbSBpbiBzYW1lIG9yZGVyIHNob3VkIGxlYXZlIGFuIGVt
cHR5IGxpc3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbZnMsIHZzXSwgW3ZzLCBm
c10sIFtdLAorICAgICAgICAiYXR0YWNoaW5nIHNvbWUgc2hhZGVycyBhbmQgZGV0YWNoaW5nIHRo
ZW0gaW4gcmFuZG9tIG9yZGVyIHNob3VkIGxlYXZlIGFuIGVtcHR5IGxpc3QiKTsKKyAgICBjaGVj
a0dldEF0dGFjaGVkU2hhZGVycyhbZnMsIHZzXSwgW3ZzXSwgW2ZzXSwKKyAgICAgICAgImF0dGFj
aGluZyBhbmQgZGV0YWNoaW5nIHNvbWUgc2hhZGVycyBzaG91bGQgbGVhdmUgdGhlIGRpZmZlcmVu
Y2UgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbZnNdLCBb
dnNdLAorICAgICAgICAiYXR0YWNoaW5nIGFuZCBkZXRhY2hpbmcgc29tZSBzaGFkZXJzIHNob3Vs
ZCBsZWF2ZSB0aGUgZGlmZmVyZW5jZSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRl
cnMoW2ZzQmFkXSwgW10sIFtmc0JhZF0sCisgICAgICAgICJhdHRhY2hpbmcgYSBzaGFkZXIgdGhh
dCBmYWlsZWQgdG8gY29tcGlsZSBzaG91bGQgc3RpbGwgc2hvdyBpdCBpbiB0aGUgbGlzdCIpOwor
ICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNCYWRdLCBbXSwgW2ZzLCB2c0JhZF0s
CisgICAgICAgICJhdHRhY2hpbmcgc2hhZGVycywgaW5jbHVkaW5nIG9uZSB0aGF0IGZhaWxlZCB0
byBjb21waWxlLCBzaG91bGQgc3RpbGwgc2hvdyB0aGUgaXQgaW4gdGhlIGxpc3QiKTsKKworLy8v
Ly8vLyBDaGVjayBsaW5rUHJvZ3JhbSgpIGFuZCB1c2VQcm9ncmFtIC8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCisKKyAgICBmdW5jdGlvbiBjaGVja0xpbmtBbmRVc2Uoc2hhZGVycywgZGVs
ZXRlU2hhZGVyQWZ0ZXJBdHRhY2gsIGV4cGVjdGVkX3N0YXR1cywgdGVzdEludmFsaWRFbnVtcywg
ZXJybXNnKSB7CisgICAgICAgIHZhciBwcm9nID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHNoYWRlcnMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAg
IGdsLmF0dGFjaFNoYWRlcihwcm9nLCBzaGFkZXJzW2ldKTsKKyAgICAgICAgICAgIGlmIChkZWxl
dGVTaGFkZXJBZnRlckF0dGFjaCkKKyAgICAgICAgICAgICAgICBnbC5kZWxldGVTaGFkZXIoc2hh
ZGVyc1tpXSk7CisgICAgICAgIH0KKyAgICAgICAgZ2wuYmluZEF0dHJpYkxvY2F0aW9uKHByb2cs
IDAsICJhVmVydGV4Iik7CisgICAgICAgIGdsLmJpbmRBdHRyaWJMb2NhdGlvbihwcm9nLCAxLCAi
YUNvbG9yIik7CisgICAgICAgIGdsLmxpbmtQcm9ncmFtKHByb2cpOworICAgICAgICBpZiAoZ2wu
Z2V0RXJyb3IoKSAhPSBnbC5OT19FUlJPUikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwg
InVuZXhwZWN0ZWQgZXJyb3IgaW4gbGlua1Byb2dyYW0oKSIpOworICAgICAgICBhc3NlcnRNc2co
Z2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9nLCBnbC5MSU5LX1NUQVRVUykgPT0gZXhwZWN0ZWRf
c3RhdHVzLCBlcnJtc2cpOworICAgICAgICB2YXIgaW5mb2xvZyA9IGdsLmdldFByb2dyYW1JbmZv
TG9nKHByb2cpOworICAgICAgICBpZiAoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJPUikKKyAg
ICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gZ2V0UHJvZ3Jh
bUluZm9Mb2coKSIpOworICAgICAgICBpZiAodHlwZW9mKGluZm9sb2cpICE9ICJzdHJpbmciKQor
ICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAiZ2V0UHJvZ3JhbUluZm9Mb2coKSBkaWQgbm90
IHJldHVybiBhIHN0cmluZyIpOworICAgICAgICBpZiAoZXhwZWN0ZWRfc3RhdHVzID09IHRydWUg
JiYgZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9nLCBnbC5MSU5LX1NUQVRVUykgPT0gZmFsc2Up
CisgICAgICAgICAgICBkZWJ1ZyhpbmZvbG9nKTsKKyAgICAgICAgaWYgKGdsLmdldEVycm9yKCkg
IT0gZ2wuTk9fRVJST1IpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4cGVjdGVk
IGVycm9yIGluIGdldFByb2dyYW1QYXJhbWV0ZXIoKSIpOworICAgICAgICAKKyAgICAgICAgaWYg
KHRlc3RJbnZhbGlkRW51bXMpIHsKKyAgICAgICAgICAgIC8vIFZlcmlmeSB0aGF0IGNvbnN0YW50
cyByZW1vdmVkIGZyb20gdGhlIFdlYkdMIHNwZWMgZ2VuZXJhdGUgSU5WQUxJRF9FTlVNIGVycm9y
cworICAgICAgICAgICAgYXNzZXJ0TXNnKGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZywgZGVz
a3RvcEdMWydJTkZPX0xPR19MRU5HVEgnXSkgPT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0
UHJvZ3JhbVBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsKKyAgICAgICAgICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiSU5GT19MT0dfTEVOR1RIIGlzIG5vdCBh
IHZhbGlkIGFyZ3VtZW50IHRvIGdldFByb2dyYW1QYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICAg
ICAgICAgIGFzc2VydE1zZyhnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2csIGRlc2t0b3BHTFsn
QUNUSVZFX0FUVFJJQlVURV9NQVhfTEVOR1RIJ10pID09PSBudWxsLCAiaW52YWxpZCBjYWxsIHRv
IGdldFByb2dyYW1QYXJhbWV0ZXIgc2hvdWxkIHJldHVybiBudWxsIik7CisgICAgICAgICAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwgIkFDVElWRV9BVFRSSUJVVEVfTUFY
X0xFTkdUSCBpcyBub3QgYSB2YWxpZCBhcmd1bWVudCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIGlu
IFdlYkdMIik7CisgICAgICAgICAgICBhc3NlcnRNc2coZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihw
cm9nLCBkZXNrdG9wR0xbJ0FDVElWRV9VTklGT1JNX01BWF9MRU5HVEgnXSkgPT09IG51bGwsICJp
bnZhbGlkIGNhbGwgdG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsK
KyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiQUNUSVZF
X1VOSUZPUk1fTUFYX0xFTkdUSCBpcyBub3QgYSB2YWxpZCBhcmd1bWVudCB0byBnZXRQcm9ncmFt
UGFyYW1ldGVyIGluIFdlYkdMIik7CisgICAgICAgIH0KKworICAgICAgICBnbC51c2VQcm9ncmFt
KHByb2cpOworICAgICAgICBpZiAoZXhwZWN0ZWRfc3RhdHVzID09IHRydWUpCisgICAgICAgICAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidXNpbmcgYSB2YWxpZCBwcm9ncmFt
IHNob3VsZCBzdWNjZWVkIik7CisgICAgICAgIGlmIChleHBlY3RlZF9zdGF0dXMgPT0gZmFsc2Up
CisgICAgICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAi
dXNpbmcgYW4gaW52YWxpZCBwcm9ncmFtIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElP
TiIpOworICAgICAgICByZXR1cm4gcHJvZzsKKyAgICB9CisKKyAgICB2YXIgcHJvZ0dvb2QxID0g
Y2hlY2tMaW5rQW5kVXNlKFt2cywgZnNdLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgInZhbGlkIHByb2dy
YW0gc2hvdWxkIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0dvb2QyID0gY2hlY2tMaW5rQW5kVXNlKFt2
cywgZnMyXSwgZmFsc2UsIHRydWUsIGZhbHNlLCAidmFsaWQgcHJvZ3JhbSAjMiBzaG91bGQgbGlu
ayIpOworICAgIHZhciBwcm9nQmFkMSA9IGNoZWNrTGlua0FuZFVzZShbdnNdLCBmYWxzZSwgZmFs
c2UsIGZhbHNlLCAicHJvZ3JhbSB3aXRoIG5vIGZyYWdtZW50IHNoYWRlciBzaG91bGQgZmFpbCB0
byBsaW5rIik7CisgICAgdmFyIHByb2dCYWQyID0gY2hlY2tMaW5rQW5kVXNlKFtmc10sIGZhbHNl
LCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggbm8gdmVydGV4IHNoYWRlciBzaG91bGQgZmFp
bCB0byBsaW5rIik7CisgICAgdmFyIHByb2dCYWQzID0gY2hlY2tMaW5rQW5kVXNlKFt2c0JhZCwg
ZnNdLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAicHJvZ3JhbSB3aXRoIGJhZCB2ZXJ0ZXggc2hhZGVy
IHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0JhZDQgPSBjaGVja0xpbmtBbmRV
c2UoW3ZzLCBmc0JhZF0sIGZhbHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggYmFkIGZy
YWdtZW50IHNoYWRlciBzaG91bGQgZmFpbCB0byBsaW5rIik7CisgICAgdmFyIHByb2dCYWQ1ID0g
Y2hlY2tMaW5rQW5kVXNlKFt2c0JhZCwgZnNCYWRdLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAicHJv
Z3JhbSB3aXRoIGJhZCBzaGFkZXJzIHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKworICAgIGdsLnVz
ZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
LCAidXNpbmcgYSB2YWxpZCBwcm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9yIik7
CisKKyAgICB2YXIgdmJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAgIGdsLmJpbmRCdWZmZXIo
Z2wuQVJSQVlfQlVGRkVSLCB2YnVmKTsKKyAgICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZF
UiwKKyAgICAgICAgICAgICAgICAgIG5ldyBGbG9hdDMyQXJyYXkoWworICAgICAgICAgICAgICAg
ICAgICAgIDAuMCwgMC4wLCAwLjAsIDEuMCwKKyAgICAgICAgICAgICAgICAgICAgICAxLjAsIDAu
MCwgMC4wLCAxLjAsCisgICAgICAgICAgICAgICAgICAgICAgMS4wLCAxLjAsIDAuMCwgMS4wLAor
ICAgICAgICAgICAgICAgICAgICAgIDAuMCwgMS4wLCAwLjAsIDEuMF0pLAorICAgICAgICAgICAg
ICAgICAgZ2wuU1RBVElDX0RSQVcpOworICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgNCwg
Z2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgw
KTsKKyAgICBnbC52ZXJ0ZXhBdHRyaWIzZigxLCAxLjAsIDAuMCwgMC4wKTsKKworICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIGF0IHRoaXMg
cG9pbnQgIzIiKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5O
T19FUlJPUiwgImRyYXdpbmcgd2l0aCBhIHZhbGlkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRl
IGEgR0wgZXJyb3IiKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0JhZDEpOworICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ1c2luZyBhbiBpbnZhbGlkIHBy
b2dyYW0gc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7CisgICAgZ2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDAsIDMpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsICJUcnkgdG8gdXNlIGFuIGludmFsaWQgcHJvZ3JhbSBzaG91bGQgbm90IGNoYW5nZSB0
aGUgY3VycmVudCByZW5kZXJpbmcgc3RhdGUiKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dv
b2QyKTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImRyYXdpbmcgd2l0aCBhIHZhbGlkIHByb2dyYW0g
c2hvdWxkbid0IGdlbmVyYXRlIGEgR0wgZXJyb3IiKTsKKyAgICBnbC5kZXRhY2hTaGFkZXIocHJv
Z0dvb2QyLCBmczIpOworICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nR29vZDIsIGZzQmFkKTsKKyAg
ICBnbC5saW5rUHJvZ3JhbShwcm9nR29vZDIpOworICAgIGFzc2VydE1zZyhnbC5nZXRQcm9ncmFt
UGFyYW1ldGVyKHByb2dHb29kMiwgZ2wuTElOS19TVEFUVVMpID09IGZhbHNlLAorICAgICAgICAg
ICAgICAibGlua2luZyBzaG91bGQgZmFpbCB3aXRoIGluLXVzZSBmb3JtZXJseSBnb29kIHByb2dy
YW0sIHdpdGggbmV3IGJhZCBzaGFkZXIgYXR0YWNoZWQiKTsKKworICAgIC8vIEludmFsaWQgbGlu
ayBsZWF2ZXMgcHJldmlvdXMgdmFsaWQgcHJvZ3JhbSBpbnRhY3QuCisgICAgZ2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDAsIDMpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IsICJkcmF3aW5nIHdpdGggYSB2YWxpZCBwcm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdM
IGVycm9yIik7CisKKyAgICBnbC51c2VQcm9ncmFtKHByb2dHb29kMSk7CisgICAgZ2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDAsIDQpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsICJkcmF3aW5nIHdpdGggYSB2YWxpZCB3aGVuIGxhc3QgdXNlZCBwcm9ncmFtIHNob3Vs
ZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9yIik7CisKKyAgICB2YXIgcHJvZ0dvb2QxID0gY2hlY2tM
aW5rQW5kVXNlKFt2cywgZnNdLCB0cnVlLCB0cnVlLCBmYWxzZSwgImRlbGV0ZSBzaGFkZXJzIGFm
dGVyIGF0dGFjaGluZyB0aGVtIGFuZCBiZWZvcmUgbGlua2luZyBwcm9ncmFtIHNob3VsZCBub3Qg
YWZmZWN0IGxpbmtQcm9ncmFtIik7CisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEpOworICAg
IGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA0KTsKKyAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SLCAiZHJhd2luZyB3aXRoIGEgdmFsaWQgd2hlbiBsYXN0IHVzZWQgcHJv
Z3JhbSBzaG91bGRuJ3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworCisvLy8vLy8vIENoZWNrIGRl
bGV0ZVByb2dyYW0oKSBhbmQgZGVsZXRlU2hhZGVyKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kZWxldGVQcm9n
cmFtKHByb2dHb29kMSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDQpOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJkZWxldGUgdGhlIGN1cnJlbnQg
cHJvZ3JhbSBzaG91bGRuJ3QgY2hhbmdlIHRoZSBjdXJyZW50IHJlbmRlcmluZyBzdGF0ZSIpOwor
CisgICAgZ2wubGlua1Byb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAiVGhlIGN1cnJlbnQgcHJvZ3JhbSBzaG91bGRuJ3QgYmUgZGVsZXRlZCIp
OworCisgICAgdmFyIGZzMyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOwor
ICAgIGdsLnNoYWRlclNvdXJjZShmczMsICJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgdmFyeWlu
ZyB2ZWM0IHZDb2xvcjsgdm9pZCBtYWluKCkgeyBnbF9GcmFnQ29sb3IgPSB2Q29sb3I7IH0iKTsK
KyAgICBnbC5jb21waWxlU2hhZGVyKGZzMyk7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVy
UGFyYW1ldGVyKGZzMywgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAg
ICJnb29kIGZyYWdtZW50IHNoYWRlciBzaG91bGQgY29tcGlsZSIpOworCisgICAgZ2wuZGVsZXRl
U2hhZGVyKGZzMyk7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmczMpOworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImFuIHVuYXR0YWNoZWQgc2hhZGVyIHNob3VsZCBi
ZSBkZWxldGVkIGltbWVkaWF0ZWx5Iik7CisKKyAgICBmczMgPSBnbC5jcmVhdGVTaGFkZXIoZ2wu
RlJBR01FTlRfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UoZnMzLCAicHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgZ2xfRnJhZ0Nv
bG9yID0gdkNvbG9yOyB9Iik7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmczMpOworCisgICAgYXNz
ZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcihmczMsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0
cnVlLAorICAgICAgICAgICAgICAiZ29vZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGNvbXBpbGUi
KTsKKworICAgIGdsLmRldGFjaFNoYWRlcihwcm9nR29vZDEsIGZzKTsKKyAgICBnbC5hdHRhY2hT
aGFkZXIocHJvZ0dvb2QxLCBmczMpOworCisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzMyk7CisgICAg
Z2wuY29tcGlsZVNoYWRlcihmczMpOworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0
ZXIoZnMzLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImFuIGF0
dGFjaGVkIHNoYWRlciBzaG91bGRuJ3QgYmUgZGVsZXRlZCIpOworCisgICAgZ2wudXNlUHJvZ3Jh
bShudWxsKTsKKyAgICBnbC5saW5rUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImEgZGVsZXRlLW1hcmtlZCBwcm9ncmFtIHNob3Vs
ZCBiZSBkZWxldGVkIG9uY2UgaXQncyBubyBsb25nZXIgdGhlIGN1cnJlbnQgcHJvZ3JhbSIpOwor
CisgICAgZ2wuY29tcGlsZVNoYWRlcihmczMpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wu
SU5WQUxJRF9WQUxVRSwgImEgZGVsZXRlLW1hcmtlZCBzaGFkZXIgc2hvdWxkIGJlIGRlbGV0ZWQg
b25jZSBhbGwgaXRzIGF0dGFjaG1lbnRzIGFyZSByZW1vdmVkIik7CisKKy8vLy8vLy8vIENoZWNr
IGxpbmtQcm9ncmFtKCkgd2l0aCByZWxpbmtlZCBwcm9ncmFtIC8vLy8vLy8vLy8KKyAgICB2YXIg
dnMgPSB3dHUubG9hZFNoYWRlckZyb21TY3JpcHQoZ2wsICJ2c2hhZGVyIik7CisgICAgdmFyIGZz
ID0gd3R1LmxvYWRTaGFkZXJGcm9tU2NyaXB0KGdsLCAiZnNoYWRlci1yZWQiKTsKKyAgICB2YXIg
cHJnID0gd3R1LmNyZWF0ZVByb2dyYW0oZ2wsIHZzLCBmcyk7CisgICAgZ2wudXNlUHJvZ3JhbShw
cmcpOworICAgIHZhciBwb3NMb2MgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcmcsICJhX3Bvc2l0
aW9uIik7CisgICAgd3R1LnNldHVwVW5pdFF1YWQoZ2wsIHBvc0xvYyk7CisgICAgd3R1LmRyYXdR
dWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0sICJzaG91
bGQgYmUgcmVkIik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZzLCB3dHUuZ2V0U2NyaXB0KCJmc2hh
ZGVyLWdyZWVuIikpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMpOworICAgIGdsLmxpbmtQcm9n
cmFtKHByZyk7CisgICAgLy8gUHJvZ3JhbSBzaG91bGQgYmUgbmV3IHByb2dyYW0gYXQgdGhpcyBw
b2ludCB3aXRob3V0IGNhbGxpbmcgdXNlUHJvZ3JhbQorICAgIHd0dS5kcmF3UXVhZChnbCk7Cisg
ICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVu
Iik7CisgICAgdmFyIHByZyA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hh
ZGVyLXNldHRhYmxlIl0sIFsiYV9wb3NpdGlvbiJdKTsKKyAgICB2YXIgY29sb3JMb2MgPSBnbC5n
ZXRVbmlmb3JtTG9jYXRpb24ocHJnLCAidV9jb2xvciIpOworICAgIGdsLnVuaWZvcm00Zihjb2xv
ckxvYywgMSwgMCwgMCwgMSk7CisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tD
YW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0sICJzaG91bGQgYmUgcmVkIik7CisgICAgZ2wubGlu
a1Byb2dyYW0ocHJnKTsKKyAgICAvLyBQcm9ncmFtJ3MgdW5pZm9ybXMgc2hvdWxkIGJlIGNsZWFy
ZWQgYXQgdGhpcyBwb2ludCB3aXRob3V0IGNhbGxpbmcgdXNlUHJvZ3JhbQorICAgIHd0dS5kcmF3
UXVhZChnbCwgWzAsIDI1NSwgMCwgMjU1XSk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwg
MCwgMCwgMF0sICJzaG91bGQgYmUgdHJhbnBhcmVudCBibGFjayIpOworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIik7Cit9CisKK2RlYnVn
KCIiKTsKK2dvKCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVz
dC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzZkODlk
OTY4OWNhNWQ4YmRjMjhjZWU0ZmM2ZDIwZDA2NjNmZmUxOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
YWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMjQ2IEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBSZWFkUGl4ZWxzIGNv
bmZvcm1hbmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMg
aWQ9ImV4YW1wbGUiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBzdHlsZT0id2lkdGg6IDIwcHg7
IGhlaWdodDogMjBweCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlw
dGlvbigiQ2hlY2tzIHRoYXQgUmVhZFBpeGVscyB3b3JrcyBhcyBleHBlY3RlZC4iKTsKKwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJleGFtcGxlIik7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisK
K2luaXRUZXN0aW5nSGFybmVzc1dhaXRVbnRpbERvbmUoKTsKKwordmFyIGFjdHVhbDsKK3ZhciBl
eHBlY3RlZDsKK3ZhciB3aWR0aCA9IDI7Cit2YXIgaGVpZ2h0ID0gMjsKK3ZhciBjb250aW51ZVRl
c3RGdW5jID0gY29udGludWVUZXN0UGFydDE7CisKK2dsLmNsZWFyQ29sb3IoMSwgMSwgMSwgMSk7
CitnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworLy8gUmVzaXplIHRoZSBjYW52YXMg
dG8gMngyLiBUaGlzIGlzIGFuIGF0dGVtcHQgdG8gZ2V0IHN0dWZmIGluIHRoZSBiYWNrYnVmZmVy
LgorLy8gdGhhdCBzaG91bGRuJ3QgYmUgdGhlcmUuCitjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigi
d2ViZ2xjb250ZXh0bG9zdCIsIGZ1bmN0aW9uKGUpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB9LCBm
YWxzZSk7CitjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLCBj
b250aW51ZVRlc3RBZnRlckNvbnRleHRSZXN0b3JlZCwgZmFsc2UpOworY2FudmFzLndpZHRoID0g
d2lkdGg7CitjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworaWYgKGdsLmdldEVycm9yKCkgIT0gZ2wu
Q09OVEVYVF9MT1NUX1dFQkdMKSB7CisgIGNvbnRpbnVlVGVzdFBhcnQxKCk7Cit9CisKK2Z1bmN0
aW9uIGNvbnRpbnVlVGVzdEFmdGVyQ29udGV4dFJlc3RvcmVkKCkgeworICB3aW5kb3cuZ2wgPSB3
dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisgIHZhciBmdW5jID0gY29udGludWVUZXN0RnVu
YzsKKyAgd2luZG93LmNvbnRpbnVlVGVzdEZ1bmMgPSBmdW5jdGlvbigpIHsgdGVzdEZhaWxlZCgi
c2hvdWxkIG5vdCBiZSBoZXJlIik7IH07CisgIGZ1bmMoKTsKK30KKworZnVuY3Rpb24gY29udGlu
dWVUZXN0UGFydDEoKSB7CisgIGdsLmNsZWFyQ29sb3IoMC41LCAwLjcsIDEuMCwgMSk7CisgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisgIHZhciBpbm5lckNvbG9yID0gWzAuNSwg
MC43LCAxLjAsIDFdOworICB2YXIgb3V0ZXJDb2xvciA9IFswLCAwLCAwLCAwXTsKKworICB2YXIg
dGVzdHMgPSBbCisgICAgeyBtc2c6ICdpbiByYW5nZScsIGNoZWNrQ29sb3I6IGlubmVyQ29sb3Is
IHg6ICAwLCB5OiAgMCwKKyAgICAgIG9uZUNvbG9yOiBpbm5lckNvbG9yLCBvbmVYOiAwLCBvbmVZ
OiAwfSwKKyAgICB7IG1zZzogJ29mZiB0b3AgbGVmdCcsIGNoZWNrQ29sb3I6IG91dGVyQ29sb3Is
IHg6IC0xLCB5OiAtMSwKKyAgICAgIG9uZUNvbG9yOiBpbm5lckNvbG9yLCBvbmVYOiAxLCBvbmVZ
OiAxfSwKKyAgICB7IG1zZzogJ29mZiBib3R0b20gcmlnaHQnLCBjaGVja0NvbG9yOiBvdXRlckNv
bG9yLCB4OiAgMSwgeTogIDEsCisgICAgICBvbmVDb2xvcjogaW5uZXJDb2xvciwgb25lWDogMCwg
b25lWTogMH0sCisgICAgeyBtc2c6ICdjb21wbGV0ZWx5IG9mZiB0b3AgJywgY2hlY2tDb2xvcjog
b3V0ZXJDb2xvciwgeDogIDAsIHk6IC0yLAorICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3IsIG9u
ZVg6IDAsIG9uZVk6IDB9LAorICAgIHsgbXNnOiAnY29tcGxldGVseSBvZmYgYm90dG9tJywgY2hl
Y2tDb2xvcjogb3V0ZXJDb2xvciwgeDogIDAsIHk6ICAyLAorICAgICAgb25lQ29sb3I6IG91dGVy
Q29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9LAorICAgIHsgbXNnOiAnY29tcGxldGVseSBvZmYgbGVm
dCcsIGNoZWNrQ29sb3I6IG91dGVyQ29sb3IsIHg6IC0yLCB5OiAgMCwKKyAgICAgIG9uZUNvbG9y
OiBvdXRlckNvbG9yLCBvbmVYOiAwLCBvbmVZOiAwfSwKKyAgICB7IG1zZzogJ2NvbXBsZXRlbGV5
IG9mZiByaWdodCcsIGNoZWNrQ29sb3I6IG91dGVyQ29sb3IsIHg6ICAyLCB5OiAgMCwKKyAgICAg
IG9uZUNvbG9yOiBvdXRlckNvbG9yLCBvbmVYOiAwLCBvbmVZOiAwfQorICBdOworCisgIGZvciAo
dmFyIHR0ID0gMDsgdHQgPCB0ZXN0cy5sZW5ndGg7ICsrdHQpIHsKKyAgICB2YXIgdGVzdCA9IHRl
c3RzW3R0XTsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoImNoZWNraW5nOiAiICsgdGVzdC5t
c2cpOworICAgIGNoZWNrQnVmZmVyKHRlc3QuY2hlY2tDb2xvciwgdGVzdC54LCB0ZXN0LnksCisg
ICAgICAgICAgICAgICAgdGVzdC5vbmVDb2xvciwgdGVzdC5vbmVYLCB0ZXN0Lm9uZVkpOworICB9
CisKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBu
byBHTCBlcnJvcnMiKTsKKworICBmdW5jdGlvbiBjaGVja0J1ZmZlcihjaGVja0NvbG9yLCB4LCB5
LCBvbmVDb2xvciwgb25lWCwgb25lWSkgeworICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSh3
aWR0aCAqIGhlaWdodCAqIDQpOworICAgIGdsLnJlYWRQaXhlbHMoeCwgeSwgd2lkdGgsIGhlaWdo
dCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICBmb3IgKHZhciB5eSA9IDA7
IHl5IDwgaGVpZ2h0OyArK3l5KSB7CisgICAgICBmb3IgKHZhciB4eCA9IDA7IHh4IDwgd2lkdGg7
ICsreHgpIHsKKyAgICAgICAgdmFyIG9mZnNldCA9ICh5eSAqIHdpZHRoICsgeHgpICogNDsKKyAg
ICAgICAgdmFyIGV4cGVjdGVkQ29sb3JzID0gKG9uZVggPT0geHggJiYgb25lWSA9PSB5eSkgPyBv
bmVDb2xvciA6IGNoZWNrQ29sb3I7CisgICAgICAgIGZvciAodmFyIGNjID0gMDsgY2MgPCA0OyAr
K2NjKSB7CisgICAgICAgICAgdmFyIGV4cGVjdGVkQ29sb3IgPSBleHBlY3RlZENvbG9yc1tjY10g
KiAyNTU7CisgICAgICAgICAgdmFyIGNvbG9yID0gYnVmW29mZnNldCArIGNjXTsKKyAgICAgICAg
ICB2YXIgZGlmZiA9IE1hdGguYWJzKGV4cGVjdGVkQ29sb3IgLSBjb2xvcik7CisgICAgICAgICAg
YXNzZXJ0TXNnKGRpZmYgPCAzLAorICAgICAgICAgICAgICAgICAgICAiY29sb3IgcGl4ZWwgYXQg
IiArIHh4ICsgIiwgIiArIHl5ICsgIiBzaG91bGQgYmUgYWJvdXQgIiArIGV4cGVjdGVkQ29sb3Ip
OworICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgdmFyIGJhZEZvcm1hdHMgPSBb
CisgICAgeworICAgICAgZm9ybWF0OiBnbC5SR0IsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9C
WVRFLAorICAgICAgZGVzdDogbmV3IFVpbnQ4QXJyYXkoMyksCisgICAgICBlcnJvcjogZ2wuSU5W
QUxJRF9PUEVSQVRJT04KKyAgICB9LAorICAgIHsKKyAgICAgIGZvcm1hdDogZ2wuUkdCLAorICAg
ICAgdHlwZTogZ2wuVU5TSUdORURfU0hPUlRfNV82XzUsCisgICAgICBkZXN0OiBuZXcgVWludDhB
cnJheSgzKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX09QRVJBVElPTgorICAgIH0sCisgICAg
eworICAgICAgZm9ybWF0OiBnbC5SR0JBLAorICAgICAgdHlwZTogZ2wuVU5TSUdORURfU0hPUlRf
NV81XzVfMSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50MTZBcnJheSgxKSwKKyAgICAgIGVycm9yOiBn
bC5JTlZBTElEX09QRVJBVElPTgorICAgIH0sCisgICAgeworICAgICAgZm9ybWF0OiBnbC5SR0JB
LAorICAgICAgdHlwZTogZ2wuVU5TSUdORURfU0hPUlRfNF80XzRfNCwKKyAgICAgIGRlc3Q6IG5l
dyBVaW50MTZBcnJheSgxKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX09QRVJBVElPTgorICAg
IH0sCisgICAgeworICAgICAgZm9ybWF0OiBnbC5BTFBIQSwKKyAgICAgIHR5cGU6IGdsLlVOU0lH
TkVEX0JZVEUsCisgICAgICBkZXN0OiBuZXcgVWludDhBcnJheSgxKSwKKyAgICAgIGVycm9yOiBn
bC5JTlZBTElEX09QRVJBVElPTgorICAgIH0sCisgICAgeworICAgICAgZm9ybWF0OiBnbC5MVU1J
TkFOQ0UsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgZGVzdDogbmV3IFVp
bnQ4QXJyYXkoMSksCisgICAgICBlcnJvcjogZ2wuSU5WQUxJRF9FTlVNCisgICAgfSwKKyAgICB7
CisgICAgICBmb3JtYXQ6IGdsLkxVTUlOQU5DRV9BTFBIQSwKKyAgICAgIHR5cGU6IGdsLlVOU0lH
TkVEX0JZVEUsCisgICAgICBkZXN0OiBuZXcgVWludDhBcnJheSgyKSwKKyAgICAgIGVycm9yOiBn
bC5JTlZBTElEX0VOVU0KKyAgICB9CisgIF07CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoImNoZWNr
IGRpc2FsbG93ZWQgZm9ybWF0cyIpOworICBmb3IgKHZhciB0dCA9IDA7IHR0IDwgYmFkRm9ybWF0
cy5sZW5ndGg7ICsrIHR0KSB7CisgICAgdmFyIGluZm8gPSBiYWRGb3JtYXRzW3R0XQorICAgIHZh
ciBmb3JtYXQgPSBpbmZvLmZvcm1hdDsKKyAgICB2YXIgdHlwZSA9IGluZm8udHlwZTsKKyAgICB2
YXIgZGVzdCA9IGluZm8uZGVzdDsKKyAgICB2YXIgZXJyb3IgPSBpbmZvLmVycm9yOworICAgIGds
LnJlYWRQaXhlbHMoMCwgMCwgMSwgMSwgZm9ybWF0LCB0eXBlLCBkZXN0KTsKKyAgICAvLyBub3Rl
IHRoYXQgdGhlIEdMIGVycm9yIGlzIElOVkFMSURfT1BFUkFUSU9OIGlmIGJvdGggZm9ybWF0IGFu
ZCB0eXBlIGFyZSBpbnZhbGlkLCBidXQKKyAgICAvLyBJTlZBTElEX0VOVU0gaWYgb25seSBvbmUg
aXMuCisgICAgZ2xFcnJvclNob3VsZEJlKAorICAgICAgICBnbCwgZXJyb3IsCisgICAgICAgICJT
aG91bGQgbm90IGJlIGFibGUgdG8gcmVhZCBhcyAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBm
b3JtYXQpICsKKyAgICAgICAgIiAvICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHR5cGUpKTsK
KyAgfQorCisgIGRlYnVnKCIiKTsKKyAgZGVidWcoImNoZWNrIHJlYWRpbmcgd2l0aCBsb3RzIG9m
IGRyYXdpbmciKTsKKyAgY29udGludWVUZXN0RnVuYyA9IGNvbnRpbnVlVGVzdFBhcnQyOworICB3
aWR0aCA9IDEwMjQ7CisgIGhlaWdodCA9IDEwMjQ7CisgIGNhbnZhcy53aWR0aCA9IHdpZHRoOwor
ICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworICBpZiAoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5DT05U
RVhUX0xPU1RfV0VCR0wpIHsKKyAgICBjb250aW51ZVRlc3RQYXJ0MigpOworICB9Cit9CisKK2Z1
bmN0aW9uIGNvbnRpbnVlVGVzdFBhcnQyKCkgeworICBnbC52aWV3cG9ydCgwLCAwLCAxMDI0LCAx
MDI0KTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworICB2YXIg
bG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKyAgZ2wuZGlzYWJs
ZShnbC5CTEVORCk7CisgIGdsLmRpc2FibGUoZ2wuREVQVEhfVEVTVCk7CisgIHZhciBjb2xvcnMg
PSBbWzI1NSwgMCwgMCwgMjU1XSwgWzAsIDI1NSwgMCwgMjU1XSwgWzAsIDAsIDI1NSwgMjU1XV07
CisgIHZhciB0ZXh0dXJlcyA9IFtdOworICB2YXIgcmVzdWx0cyA9IFtdOworICBmb3IgKHZhciBp
aSA9IDA7IGlpIDwgY29sb3JzLmxlbmd0aDsgKytpaSkgeworICAgIGdsLmFjdGl2ZVRleHR1cmUo
Z2wuVEVYVFVSRTAgKyBpaSk7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAg
ICB3dHUuZmlsbFRleHR1cmUoZ2wsIHRleCwgMSwgMSwgY29sb3JzW2lpXSk7CisgICAgdGV4dHVy
ZXMucHVzaCh0ZXgpOworICB9CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBjb2xvcnMubGVuZ3Ro
OyArK2lpKSB7CisgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IDMwMCArIGlpICsgMTsgKytqaikg
eworICAgICAgZ2wudW5pZm9ybTFpKGxvYywgamogJSAzKTsKKyAgICAgIGdsLmRyYXdBcnJheXMo
Z2wuVFJJQU5HTEVTLCAwLCA2KTsKKyAgICB9CisgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5
KDQpOworICAgIGdsLnJlYWRQaXhlbHMoNTEyLCA1MTIsIDEsIDEsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGJ1Zik7CisgICAgcmVzdWx0cy5wdXNoKGJ1Zik7CisgICAgZm9yICh2YXIga2sg
PSAwOyBrayA8IDk5OyArK2trKSB7CisgICAgICBnbC51bmlmb3JtMWkobG9jLCAoamogKyBraykg
JSAzKTsKKyAgICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTsKKyAgICB9Cisg
IH0KKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGNvbG9ycy5sZW5ndGg7ICsraWkpIHsKKyAgICB2
YXIgYnVmID0gcmVzdWx0c1tpaV07CisgICAgdmFyIGNvbG9yID0gY29sb3JzW2lpXTsKKyAgICBh
Y3R1YWwgPSBbYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXTsKKyAgICBleHBlY3RlZCA9
IFtjb2xvclswXSwgY29sb3JbMV0sIGNvbG9yWzJdLCBjb2xvclszXV07CisgICAgc2hvdWxkQmUo
ImFjdHVhbCIsICJleHBlY3RlZCIpOworICB9CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsICJ0aGVyZSBzaG91bGQgYmUgbm8gR0wgZXJyb3JzIik7CisKKyAgZGVidWcoIiIpOwor
ICBmaW5pc2hUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM2NzdmNTEzYzgyMmZjZjk2ZjRiMjEwOWQ3MTRkOWRkNmY2NWYxMzkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwK
QEAgLTAsMCArMSw1NTkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsOwordmFyIGZibzsKK3ZhciBkZXB0aEJ1ZmZlcjsK
K3ZhciBzdGVuY2lsQnVmZmVyOwordmFyIGRlcHRoU3RlbmNpbEJ1ZmZlcjsKK3ZhciBjb2xvckJ1
ZmZlcjsKK3ZhciB3aWR0aDsKK3ZhciBoZWlnaHQ7CisKK3ZhciBBTExPV19DT01QTEVURSAgICAg
ICAgICAgICAgPSAweDAxOwordmFyIEFMTE9XX1VOU1VQUE9SVEVEICAgICAgICAgICA9IDB4MDI7
Cit2YXIgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UID0gMHgwNDsKKworZnVuY3Rpb24gY2hl
Y2tGcmFtZWJ1ZmZlckZvckFsbG93ZWRTdGF0dXNlcyhhbGxvd2VkU3RhdHVzZXMpCit7CisgICAg
Ly8gSWYgdGhlIGZyYW1lYnVmZmVyIGlzIGluIGFuIGVycm9yIHN0YXRlIGZvciBtdWx0aXBsZSBy
ZWFzb25zLAorICAgIC8vIHdlIGNhbid0IGd1YXJhbnRlZSB3aGljaCBvbmUgd2lsbCBiZSByZXBv
cnRlZC4KKyAgICB2YXIgc3RhdHVzID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFN
RUJVRkZFUik7CisgICAgdmFyIHN0YXR1c0FsbG93ZWQgPSAoKGFsbG93ZWRTdGF0dXNlcyAmIEFM
TE9XX0NPTVBMRVRFKSAmJiAoc3RhdHVzID09IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKSkgfHwK
KyAgICAgICAgICAgICAgICAgICAgICAgICgoYWxsb3dlZFN0YXR1c2VzICYgQUxMT1dfVU5TVVBQ
T1JURUQpICYmIChzdGF0dXMgPT0gZ2wuRlJBTUVCVUZGRVJfVU5TVVBQT1JURUQpKSB8fAorICAg
ICAgICAgICAgICAgICAgICAgICAgKChhbGxvd2VkU3RhdHVzZXMgJiBBTExPV19JTkNPTVBMRVRF
X0FUVEFDSE1FTlQpICYmIChzdGF0dXMgPT0gZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9BVFRB
Q0hNRU5UKSk7CisgICAgdmFyIG1zZyA9ICJnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZS
QU1FQlVGRkVSKSByZXR1cm5lZCAiICsgc3RhdHVzOworICAgIGlmIChzdGF0dXNBbGxvd2VkKQor
ICAgICAgICB0ZXN0UGFzc2VkKG1zZyk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKG1z
Zyk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrQnVmZmVyQml0cyhhdHRhY2htZW50MCwgYXR0YWNobWVu
dDEpCit7CisgICAgaWYgKGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIp
ICE9IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKQorICAgICAgcmV0dXJuOworCisgICAgdmFyIGhh
dmVEZXB0aEJ1ZmZlciA9IGF0dGFjaG1lbnQwID09IGdsLkRFUFRIX0FUVEFDSE1FTlQgfHwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDAgPT0gZ2wuREVQVEhfU1RFTkNJTF9B
VFRBQ0hNRU5UIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQxID09IGds
LkRFUFRIX0FUVEFDSE1FTlQgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVu
dDEgPT0gZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UOworICAgIHZhciBoYXZlU3RlbmNpbEJ1
ZmZlciA9IGF0dGFjaG1lbnQwID09IGdsLlNURU5DSUxfQVRUQUNITUVOVCB8fAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQwID09IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNI
TUVOVCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQxID09IGdsLlNU
RU5DSUxfQVRUQUNITUVOVCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaG1l
bnQxID09IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVDsKKworICAgIHNob3VsZEJlVHJ1ZSgi
Z2wuZ2V0UGFyYW1ldGVyKGdsLlJFRF9CSVRTKSArIGdsLmdldFBhcmFtZXRlcihnbC5HUkVFTl9C
SVRTKSArIGdsLmdldFBhcmFtZXRlcihnbC5CTFVFX0JJVFMpICsgZ2wuZ2V0UGFyYW1ldGVyKGds
LkFMUEhBX0JJVFMpID49IDE2Iik7CisKKyAgICBpZiAoaGF2ZURlcHRoQnVmZmVyKQorICAgICAg
c2hvdWxkQmVUcnVlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuREVQVEhfQklUUykgPj0gMTYiKTsKKyAg
ICBlbHNlCisgICAgICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5ERVBUSF9CSVRT
KSA9PSAwIik7CisKKyAgICBpZiAoaGF2ZVN0ZW5jaWxCdWZmZXIpCisgICAgICBzaG91bGRCZVRy
dWUoImdsLmdldFBhcmFtZXRlcihnbC5TVEVOQ0lMX0JJVFMpID49IDgiKTsKKyAgICBlbHNlCisg
ICAgICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5TVEVOQ0lMX0JJVFMpID09IDAi
KTsKK30KKworZnVuY3Rpb24gdGVzdEF0dGFjaG1lbnQoYXR0YWNobWVudCwgYnVmZmVyLCBhbGxv
d2VkU3RhdHVzZXMpCit7CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFt
ZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8p
OworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xP
Ul9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJh
bWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGF0dGFjaG1lbnQsIGdsLlJFTkRF
UkJVRkZFUiwgYnVmZmVyKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsK
KyAgICBjaGVja0ZyYW1lYnVmZmVyRm9yQWxsb3dlZFN0YXR1c2VzKGFsbG93ZWRTdGF0dXNlcyk7
CisgICAgaWYgKChhbGxvd2VkU3RhdHVzZXMgJiBBTExPV19DT01QTEVURSkgPT0gMCkgeworICAg
ICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICAgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTik7CisgICAgICAgIGdsLnJl
YWRQaXhlbHMoMCwgMCwgd2lkdGgsIGhlaWdodCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
bmV3IFVpbnQ4QXJyYXkod2lkdGggKiBoZWlnaHQgKiA0KSk7CisgICAgICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04pOworICAgIH0KKyAgICBj
aGVja0J1ZmZlckJpdHMoYXR0YWNobWVudCk7CisgICAgZ2wuZGVsZXRlRnJhbWVidWZmZXIoZmJv
KTsKK30KKworZnVuY3Rpb24gdGVzdEF0dGFjaG1lbnRzKGF0dGFjaG1lbnQwLCBidWZmZXIwLCBh
dHRhY2htZW50MSwgYnVmZmVyMSwgYWxsb3dlZFN0YXR1c2VzKQoreworICAgIHNob3VsZEJlTm9u
TnVsbCgiZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1
ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZl
cihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwg
Y29sb3JCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVG
RkVSLCBhdHRhY2htZW50MCwgZ2wuUkVOREVSQlVGRkVSLCBidWZmZXIwKTsKKyAgICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZl
cihnbC5GUkFNRUJVRkZFUiwgYXR0YWNobWVudDEsIGdsLlJFTkRFUkJVRkZFUiwgYnVmZmVyMSk7
CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgY2hlY2tGcmFtZWJ1
ZmZlckZvckFsbG93ZWRTdGF0dXNlcyhhbGxvd2VkU3RhdHVzZXMpOworICAgIGNoZWNrQnVmZmVy
Qml0cyhhdHRhY2htZW50MCwgYXR0YWNobWVudDEpOworICAgIGdsLmRlbGV0ZUZyYW1lYnVmZmVy
KGZibyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb2xvclJlbmRlcmJ1ZmZlcihpbnRlcm5hbGZvcm1h
dCwgYWxsb3dlZFN0YXR1c2VzKQoreworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIg
PSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wu
UkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShn
bC5SRU5ERVJCVUZGRVIsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICB0ZXN0QXR0YWNobWVudChnbC5DT0xP
Ul9BVFRBQ0hNRU5UMCwgY29sb3JCdWZmZXIsIGFsbG93ZWRTdGF0dXNlcyk7Cit9CisKK2Z1bmN0
aW9uIHRlc3REZXB0aFN0ZW5jaWxSZW5kZXJidWZmZXIoYWxsb3dlZFN0YXR1c2VzKQoreworICAg
IHNob3VsZEJlTm9uTnVsbCgiZGVwdGhTdGVuY2lsQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVm
ZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhT
dGVuY2lsQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZF
UiwgZ2wuREVQVEhfU1RFTkNJTCwgd2lkdGgsIGhlaWdodCk7CisgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUik7CisKKyAgICAvLyBPcGVuR0wgaXRzZWxmIGRvZXNuJ3Qgc2VlbSB0
byBndWFyYW50ZWUgdGhhdCBlLmcuIGEgMiB4IDAKKyAgICAvLyByZW5kZXJidWZmZXIgd2lsbCBy
ZXBvcnQgMiBmb3IgaXRzIHdpZHRoIHdoZW4gcXVlcmllZC4KKyAgICBpZiAoIShoZWlnaHQgPT0g
MCAmJiB3aWR0aCA+IDApKQorICAgICAgICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFy
YW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX1dJRFRIKSIsICJ3aWR0aCIp
OworICAgIGlmICghKHdpZHRoID09IDAgJiYgaGVpZ2h0ID4gMCkpCisgICAgICAgIHNob3VsZEJl
KCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJC
VUZGRVJfSEVJR0hUKSIsICJoZWlnaHQiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVm
ZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZP
Uk1BVCkiLCAiZ2wuREVQVEhfU1RFTkNJTCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJi
dWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfUkVEX1NJWkUp
IiwgIjAiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJF
TkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUpIiwgIjAiKTsKKyAgICBzaG91
bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVO
REVSQlVGRkVSX0JMVUVfU0laRSkiLCAiMCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJi
dWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfQUxQSEFfU0la
RSkiLCAiMCIpOworICAgIC8vIEF2b2lkIHZlcmlmeWluZyB0aGVzZSBmb3IgemVyby1zaXplZCBy
ZW5kZXJidWZmZXJzIGZvciB0aGUgdGltZQorICAgIC8vIGJlaW5nIHNpbmNlIGl0IGFwcGVhcnMg
dGhhdCBldmVuIE9wZW5HTCBkb2Vzbid0IGd1YXJhbnRlZSB0aGVtLgorICAgIGlmICh3aWR0aCA+
IDAgJiYgaGVpZ2h0ID4gMCkgeworICAgICAgICBzaG91bGRCZVRydWUoImdsLmdldFJlbmRlcmJ1
ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9ERVBUSF9TSVpF
KSA+IDAiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0
ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfU1RFTkNJTF9TSVpFKSA+IDAiKTsK
KyAgICB9CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgdGVzdEF0
dGFjaG1lbnQoZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIs
IGFsbG93ZWRTdGF0dXNlcyk7CisgICAgdGVzdERlcHRoU3RlbmNpbERlcHRoU3RlbmNpbCgpOwor
fQorCitmdW5jdGlvbiB0ZXN0RGVwdGhTdGVuY2lsRGVwdGhTdGVuY2lsKCkKK3sKKyAgICBpZiAo
IXdpZHRoIHx8ICFoZWlnaHQpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHZhciB0
ZXN0cyA9IFsKKyAgICAgICAgeyAgIGZpcnN0Rm9ybWF0OiBnbC5ERVBUSF9DT01QT05FTlQxNiwK
KyAgICAgICAgICAgIGZpcnN0QXR0YWNoOiBnbC5ERVBUSF9BVFRBQ0hNRU5ULAorICAgICAgICAg
ICAgc2Vjb25kRm9ybWF0OiBnbC5ERVBUSF9TVEVOQ0lMLAorICAgICAgICAgICAgc2Vjb25kQXR0
YWNoOiBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQKKyAgICAgICAgfSwKKyAgICAgICAgeyAg
IGZpcnN0Rm9ybWF0OiBnbC5ERVBUSF9TVEVOQ0lMLAorICAgICAgICAgICAgZmlyc3RBdHRhY2g6
IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwKKyAgICAgICAgICAgIHNlY29uZEZvcm1hdDog
Z2wuREVQVEhfQ09NUE9ORU5UMTYsCisgICAgICAgICAgICBzZWNvbmRBdHRhY2g6IGdsLkRFUFRI
X0FUVEFDSE1FTlQKKyAgICAgICAgfQorICAgIF07CisgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8
IHRlc3RzLmxlbmd0aDsgKytpaSkgeworICAgICAgICB2YXIgdGVzdCA9IHRlc3RzW2lpXTsKKyAg
ICAgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IDI7ICsramopIHsKKyAgICAgICAgICAgIHZhciBm
Ym8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpOworICAgICAgICAgICAgdmFyIHRleCA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgICAgICAgICAgIHZhciBmaXJzdFJiID0gZ2wuY3JlYXRlUmVuZGVy
YnVmZmVyKCk7CisKKyAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgIGRlYnVnKCJ0
ZXN0OiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LmZpcnN0Rm9ybWF0KSArICIgdnMg
IiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdGVzdC5zZWNvbmRGb3JtYXQpICsgIiB3aXRoICIg
KyAoamogPyAidW5iaW5kIiA6ICJkZWxldGUiKSk7CisKKyAgICAgICAgICAgIGdsLmJpbmRGcmFt
ZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICAgICAgICAgIC8vIGF0dGFjaCB0ZXh0
dXJlIGFzIGNvbG9yCisgICAgICAgICAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0
ZXgpOworICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JB
LCB3aWR0aCwgaGVpZ2h0LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAg
ICAgICAgICAgIGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xP
Ul9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4LCAwKTsKKworICAgICAgICAgICAgLy8g
YXR0YWNoIGZpcnN0CisgICAgICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJV
RkZFUiwgZmlyc3RSYik7CisgICAgICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJF
TkRFUkJVRkZFUiwgdGVzdC5maXJzdEZvcm1hdCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgICAg
ICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgdGVzdC5maXJzdEF0
dGFjaCwgZ2wuUkVOREVSQlVGRkVSLCBmaXJzdFJiKTsKKworICAgICAgICAgICAgc2hvdWxkQmUo
J2dsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpJywgJ2dsLkZSQU1FQlVG
RkVSX0NPTVBMRVRFJyk7CisgICAgICAgICAgICBnbC5lbmFibGUoZ2wuREVQVEhfVEVTVCk7Cisg
ICAgICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cENvbG9yUXVhZChnbCk7CisgICAgICAg
ICAgICAvLyBUZXN0IGl0IHdvcmtzCisgICAgICAgICAgICB3dHUuZHJhd1VCeXRlQ29sb3JRdWFk
KGdsLCBbMCwgMjU1LCAwLCAyNTVdKTsKKyAgICAgICAgICAgIHd0dS5kcmF3VUJ5dGVDb2xvclF1
YWQoZ2wsIFsyNTUsIDAsIDAsIDI1NV0pOyAgLy8gc2hvdWxkIG5vdCBkcmF3IHNpbmNlIERFUFRI
X0ZVTkMgPT0gTEVTUworICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwg
d2lkdGgsIGhlaWdodCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworCisg
ICAgICAgICAgICB2YXIgc2Vjb25kUmIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKKworICAg
ICAgICAgICAgLy8gYXR0YWNoIHNlY29uZAorICAgICAgICAgICAgZ2wuYmluZFJlbmRlcmJ1ZmZl
cihnbC5SRU5ERVJCVUZGRVIsIHNlY29uZFJiKTsKKyAgICAgICAgICAgIGdsLnJlbmRlcmJ1ZmZl
clN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCB0ZXN0LnNlY29uZEZvcm1hdCwgd2lkdGgsIGhlaWdo
dCk7CisgICAgICAgICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZF
UiwgdGVzdC5zZWNvbmRBdHRhY2gsIGdsLlJFTkRFUkJVRkZFUiwgc2Vjb25kUmIpOworCisgICAg
ICAgICAgICBpZiAoamogPT0gMCkgeworICAgICAgICAgICAgICAvLyBub3cgZGVsZXRlIGl0Cisg
ICAgICAgICAgICAgIGRlYnVnKCJ0ZXN0IGRlbGV0aW5nIHNlY29uZCByZW5kZXJidWZmZXIiKTsK
KyAgICAgICAgICAgICAgZ2wuZGVsZXRlUmVuZGVyYnVmZmVyKHNlY29uZFJiKTsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIC8vIHVuYmluZCBpdAorICAgICAgICAgICAgICBk
ZWJ1ZygidGVzdCB1bmJpbmRpbmcgc2Vjb25kIHJlbmRlcmJ1ZmZlciIpOworICAgICAgICAgICAg
ICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgdGVzdC5zZWNvbmRB
dHRhY2gsIGdsLlJFTkRFUkJVRkZFUiwgbnVsbCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIC8vIElmIHRoZSBmaXJzdCBhdHRhY2htZW50IGlzIG5vdCByZXN0b3JlZCB0aGlzIG1heSBm
YWlsCisgICAgICAgICAgICBzaG91bGRCZSgnZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5G
UkFNRUJVRkZFUiknLCAnZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUnKTsKKyAgICAgICAgICAgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgICAgICAgICAgICAvLyBJZiB0aGUg
Zmlyc3QgYXR0YWNobWVudCBpcyBub3QgcmVzdG9yZWQgdGhpcyBtYXkgZmFpbC4KKyAgICAgICAg
ICAgIGdsLmNsZWFyKGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICAgICAgd3R1LmRyYXdV
Qnl0ZUNvbG9yUXVhZChnbCwgWzAsIDI1NSwgMCwgMjU1XSk7CisgICAgICAgICAgICB3dHUuZHJh
d1VCeXRlQ29sb3JRdWFkKGdsLCBbMjU1LCAwLCAwLCAyNTVdKTsgIC8vIHNob3VsZCBub3QgZHJh
dyBzaW5jZSBERVBUSF9GVU5DID09IExFU1MKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1Jl
Y3QoZ2wsIDAsIDAsIHdpZHRoLCBoZWlnaHQsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUg
Z3JlZW4iKTsKKyAgICAgICAgICAgIGdsLmRpc2FibGUoZ2wuREVQVEhfVEVTVCk7CisKKyAgICAg
ICAgICAgIGlmIChqaiA9PSAxKSB7CisgICAgICAgICAgICAgIGdsLmRlbGV0ZVJlbmRlcmJ1ZmZl
cihzZWNvbmRSYik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGdsLmRlbGV0ZVJlbmRl
cmJ1ZmZlcihzZWNvbmRSYik7CisgICAgICAgICAgICBnbC5kZWxldGVGcmFtZWJ1ZmZlcihmYm8p
OworICAgICAgICB9CisgICAgfQorICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OworfQorCitkZXNjcmlwdGlvbigiVGVzdCBmcmFtZWJ1ZmZlciBvYmplY3QgYXR0YWNobWVudCBi
ZWhhdmlvcnMiKTsKKworZm9yICh3aWR0aCA9IDA7IHdpZHRoIDw9IDI7IHdpZHRoICs9IDIpCit7
CisgICAgZm9yIChoZWlnaHQgPSAwOyBoZWlnaHQgPD0gMjsgaGVpZ2h0ICs9IDIpCisgICAgewor
ICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgIGRlYnVnKCJEaW1lbnNpb25zICIgKyB3aWR0aCAr
ICIgeCAiICsgaGVpZ2h0KTsKKworICAgICAgICBkZWJ1ZygiQ3JlYXRlIHJlbmRlcmJ1ZmZlcnMi
KTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoKSIp
OworICAgICAgICBzaG91bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVy
YnVmZmVyKCkiKTsKKyAgICAgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIs
IGNvbG9yQnVmZmVyKTsKKyAgICAgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJC
VUZGRVIsIGdsLlJHQkE0LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUik7CisgICAgICAgIHNob3VsZEJlTm9uTnVsbCgiZGVwdGhCdWZmZXIg
PSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVy
KGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJT
dG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuREVQVEhfQ09NUE9ORU5UMTYsIHdpZHRoLCBoZWln
aHQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICAgICAg
c2hvdWxkQmVOb25OdWxsKCJzdGVuY2lsQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCki
KTsKKyAgICAgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHN0ZW5jaWxC
dWZmZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwg
Z2wuU1RFTkNJTF9JTkRFWDgsIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aFN0ZW5j
aWxCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgICAgICBnbC5iaW5kUmVu
ZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhTdGVuY2lsQnVmZmVyKTsKKyAgICAgICAg
Z2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLkRFUFRIX1NURU5DSUws
IHdpZHRoLCBoZWlnaHQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
KTsKKworICAgICAgICB2YXIgYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlCisgICAgICAgICAgICA9
ICh3aWR0aCA9PSAwIHx8IGhlaWdodCA9PSAwKSA/IEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVO
VCA6IEFMTE9XX0NPTVBMRVRFOworCisgICAgICAgIC8vIHNvbWUgY2FzZXMgaW52b2x2aW5nIHN0
ZW5jaWwgc2VlbSB0byBiZSBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQKKyAgICAgICAgdmFyIGFs
bG93ZWRTdGF0dXNGb3JJbXBsRGVwZW5kZW50Q2FzZSA9IGFsbG93ZWRTdGF0dXNGb3JHb29kQ2Fz
ZSB8IEFMTE9XX1VOU1VQUE9SVEVEOworCisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGggdXNp
bmcgREVQVEhfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9B
VFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlKTsKKyAgICAg
ICAgZGVidWcoIkF0dGFjaCBkZXB0aCB1c2luZyBTVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAg
ICAgdGVzdEF0dGFjaG1lbnQoZ2wuU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgQUxM
T1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aCB1
c2luZyBERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQo
Z2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVU
RV9BVFRBQ0hNRU5UKTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2lsIHVzaW5nIFNURU5D
SUxfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5TVEVOQ0lMX0FUVEFD
SE1FTlQsIHN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JJbXBsRGVwZW5kZW50Q2FzZSk7
CisgICAgICAgIGRlYnVnKCJBdHRhY2ggc3RlbmNpbCB1c2luZyBERVBUSF9BVFRBQ0hNRU5UIik7
CisgICAgICAgIHRlc3RBdHRhY2htZW50KGdsLkRFUFRIX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZm
ZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2gg
c3RlbmNpbCB1c2luZyBERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0
dGFjaG1lbnQoZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBzdGVuY2lsQnVmZmVyLCBBTExP
V19JTkNPTVBMRVRFX0FUVEFDSE1FTlQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoU3Rl
bmNpbCB1c2luZyBERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFj
aG1lbnQoZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIGFs
bG93ZWRTdGF0dXNGb3JHb29kQ2FzZSk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVu
Y2lsIHVzaW5nIERFUFRIX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wu
REVQVEhfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBBTExPV19JTkNPTVBMRVRFX0FU
VEFDSE1FTlQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCB1c2luZyBTVEVO
Q0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuU1RFTkNJTF9BVFRB
Q0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7
CisKKyAgICAgICAgdmFyIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0YWNobWVudAorICAg
ICAgICAgICAgPSAod2lkdGggPT0gMCB8fCBoZWlnaHQgPT0gMCkgPyBBTExPV19VTlNVUFBPUlRF
RCB8IEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOiBBTExPV19VTlNVUFBPUlRFRDsKKworICAgICAgICBkZWJ1Zygi
QXR0YWNoIGRlcHRoLCB0aGVuIHN0ZW5jaWwsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAg
dGVzdEF0dGFjaG1lbnRzKGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBnbC5TVEVO
Q0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVk
QXR0YWNobWVudCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggc3RlbmNpbCwgdGhlbiBkZXB0aCwg
Y2F1c2luZyBjb25mbGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuU1RFTkNJTF9B
VFRBQ0hNRU5ULCBzdGVuY2lsQnVmZmVyLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZl
ciwgYWxsb3dlZFN0YXR1c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50KTsKKyAgICAgICAgZGVidWco
IkF0dGFjaCBkZXB0aCwgdGhlbiBkZXB0aFN0ZW5jaWwsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAg
ICAgICAgdGVzdEF0dGFjaG1lbnRzKGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBn
bC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0
YXR1c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0
aFN0ZW5jaWwsIHRoZW4gZGVwdGgsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAgdGVzdEF0
dGFjaG1lbnRzKGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVy
LCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0ZvckNvbmZs
aWN0ZWRBdHRhY2htZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2lsLCB0aGVuIGRl
cHRoU3RlbmNpbCwgY2F1c2luZyBjb25mbGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMo
Z2wuREVQVEhfQVRUQUNITUVOVCwgZGVwdGhCdWZmZXIsIGdsLkRFUFRIX1NURU5DSUxfQVRUQUNI
TUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFj
aG1lbnQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCwgdGhlbiBzdGVuY2ls
LCBjYXVzaW5nIGNvbmZsaWN0Iik7CisgICAgICAgIHRlc3RBdHRhY2htZW50cyhnbC5ERVBUSF9T
VEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgZ2wuU1RFTkNJTF9BVFRBQ0hN
RU5ULCBzdGVuY2lsQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQp
OworCisgICAgICAgIGRlYnVnKCJBdHRhY2ggY29sb3IgcmVuZGVyYnVmZmVyIHdpdGggaW50ZXJu
YWxmb3JtYXQgPT0gUkdCQTQiKTsKKyAgICAgICAgdGVzdENvbG9yUmVuZGVyYnVmZmVyKGdsLlJH
QkE0LCBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UpOworCisgICAgICAgIGRlYnVnKCJBdHRhY2gg
Y29sb3IgcmVuZGVyYnVmZmVyIHdpdGggaW50ZXJuYWxmb3JtYXQgPT0gUkdCNV9BMSIpOworICAg
ICAgICB0ZXN0Q29sb3JSZW5kZXJidWZmZXIoZ2wuUkdCNV9BMSwgYWxsb3dlZFN0YXR1c0Zvckdv
b2RDYXNlKTsKKworICAgICAgICBkZWJ1ZygiQXR0YWNoIGNvbG9yIHJlbmRlcmJ1ZmZlciB3aXRo
IGludGVybmFsZm9ybWF0ID09IFJHQjU2NSIpOworICAgICAgICB0ZXN0Q29sb3JSZW5kZXJidWZm
ZXIoZ2wuUkdCNTY1LCBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UpOworCisgICAgICAgIGRlYnVn
KCJDcmVhdGUgYW5kIGF0dGFjaCBkZXB0aFN0ZW5jaWwgcmVuZGVyYnVmZmVyIik7CisgICAgICAg
IHRlc3REZXB0aFN0ZW5jaWxSZW5kZXJidWZmZXIoYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlKTsK
KyAgICB9Cit9CisKKy8vIERldGVybWluZSBpZiB3ZSBjYW4gYXR0YWNoIGJvdGggY29sb3IgYW5k
IGRlcHRoIG9yIGNvbG9yIGFuZCBkZXB0aF9zdGVuY2lsCit2YXIgZGVwdGhGb3JtYXQ7Cit2YXIg
ZGVwdGhBdHRhY2htZW50OworCitmdW5jdGlvbiBjaGVja1ZhbGlkQ29sb3JEZXB0aENvbWJpbmF0
aW9uKCkgeworICAgIHNob3VsZEJlTm9uTnVsbCgiZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIo
KSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBz
aG91bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsK
KyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOwor
ICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwg
Z2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAg
IGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDE2
KTsKKworICAgIHNob3VsZEJlTm9uTnVsbCgiZGVwdGhCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJi
dWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0
aEJ1ZmZlcik7CisKKyAgICByZXR1cm4gdHJ5RGVwdGgoZ2wuREVQVEhfQ09NUE9ORU5UMTYsIGds
LkRFUFRIX0FUVEFDSE1FTlQpIHx8IHRyeURlcHRoKGdsLkRFUFRIX1NURU5DSUwsIGdsLkRFUFRI
X1NURU5DSUxfQVRUQUNITUVOVCk7CisKKyAgICBmdW5jdGlvbiB0cnlEZXB0aCh0cnlfZm9ybWF0
LCB0cnlfYXR0YWNobWVudCkgeworICAgICAgICBpZiAoZGVwdGhBdHRhY2htZW50KSB7CisgICAg
ICAgICAgICAvLyBJZiB3ZSd2ZSB0cmllZCBvbmNlIHVuYXR0YWNoIHRoZSBvbGQgb25lLgorICAg
ICAgICAgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgICAgICAgICAgZ2wu
RlJBTUVCVUZGRVIsIGRlcHRoQXR0YWNobWVudCwgZ2wuUkVOREVSQlVGRkVSLCBudWxsKTsKKyAg
ICAgICAgfQorICAgICAgICBkZXB0aEZvcm1hdCA9IHRyeV9mb3JtYXQ7CisgICAgICAgIGRlcHRo
QXR0YWNobWVudCA9IHRyeV9hdHRhY2htZW50OworICAgICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRl
cmJ1ZmZlcigKKyAgICAgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBkZXB0aEF0dGFjaG1lbnQsIGds
LlJFTkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9y
YWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDE2LCAxNik7CisgICAgICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgICAgICByZXR1cm4gZ2wuY2hlY2tGcmFt
ZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikgPT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEU7
CisgICAgfQorfQorCitpZiAoY2hlY2tWYWxpZENvbG9yRGVwdGhDb21iaW5hdGlvbigpKSB7Cisg
ICAgdGVzdEZyYW1lYnVmZmVySW5jb21wbGV0ZURpbWVuc2lvbnMoKTsKKyAgICB0ZXN0RnJhbWVi
dWZmZXJJbmNvbXBsZXRlQXR0YWNobWVudCgpOworICAgIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxl
dGVNaXNzaW5nQXR0YWNobWVudCgpOworICAgIHRlc3RVc2luZ0luY29tcGxldGVGcmFtZWJ1ZmZl
cigpOworfQorCitmdW5jdGlvbiBjaGVja0ZyYW1lYnVmZmVyKGV4cGVjdGVkKSB7CisgICAgdmFy
IGFjdHVhbCA9IGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpOworICAg
IHZhciBtc2cgPSAiZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikgc2hv
dWxkIGJlICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGV4cGVjdGVkKSArICIgd2FzICIgKyB3
dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGFjdHVhbCk7CisgICAgaWYgKGV4cGVjdGVkICE9IGdsLkZS
QU1FQlVGRkVSX0NPTVBMRVRFKSB7CisgICAgICAgIG1zZyArPSAiIG9yIEZSQU1FQlVGRkVSX1VO
U1VQUE9SVEVEIjsKKyAgICB9CisgICAgaWYgKGFjdHVhbCA9PSBleHBlY3RlZCB8fAorICAgICAg
ICAoZXhwZWN0ZWQgIT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUgJiYKKyAgICAgICAgIGFjdHVh
bCA9PSBnbC5GUkFNQlVGRkVSX1VOU1VQUE9SVEVEKSkgeworICAgICAgICB0ZXN0UGFzc2VkKG1z
Zyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdEZhaWxlZChtc2cpOworICAgIH0KK30KKwor
ZnVuY3Rpb24gdGVzdFVzaW5nSW5jb21wbGV0ZUZyYW1lYnVmZmVyKCkgeworICAgIGRlYnVnKCIi
KTsKKyAgICBkZWJ1ZygiVGVzdCBkcmF3aW5nIG9yIHJlYWRpbmcgZnJvbSBhbiBpbmNvbXBsZXRl
IGZyYW1lYnVmZmVyIik7CisgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQo
Z2wpOworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgd3R1LmZpbGxUZXh0
dXJlKGdsLCB0ZXgsIDEsIDEsIFswLDI1NSwwLDI1NV0pOworCisgICAgc2hvdWxkQmVOb25OdWxs
KCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVy
KGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIg
PSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wu
UkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZm
ZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVO
REVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5S
RU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJk
ZXB0aEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRl
cmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZl
clJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGRlcHRoQXR0YWNobWVudCwg
Z2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFn
ZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAxNiwgMTYpOworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZG
RVJfQ09NUExFVEUpOworCisgICAgLy8gV2UgcGljayB0aGlzIGNvbWJpbmF0aW9uIGJlY2F1c2Ug
aXQgd29ya3Mgb24gZGVza3RvcCBPcGVuR0wgYnV0IHNob3VsZCBub3Qgd29yayBvbiBPcGVuR0wg
RVMgMi4wCisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRo
Rm9ybWF0LCAzMiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5D
T01QTEVURV9ESU1FTlNJT05TKTsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIkRyYXdpbmcg
b3IgcmVhZGluZyBmcm9tIGFuIGluY29tcGxldGUgZnJhbWVidWZmZXIgc2hvdWxkIGdlbmVyYXRl
IElOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIik7CisgICAgdGVzdFJlbmRlcmluZ0FuZFJl
YWRpbmcoKTsKKworICAgIHNob3VsZEJlTm9uTnVsbCgiZmJvMiA9IGdsLmNyZWF0ZUZyYW1lYnVm
ZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibzIpOwor
ICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FU
VEFDSE1FTlQpOworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiRHJhd2luZyBvciByZWFkaW5n
IGZyb20gYW4gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9G
UkFNRUJVRkZFUl9PUEVSQVRJT04iKTsKKyAgICB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygpOwor
CisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZl
cigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVm
ZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVy
KTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQs
IDAsIDApOworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiRHJhd2luZyBvciByZWFkaW5nIGZy
b20gYW4gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9GUkFN
RUJVRkZFUl9PUEVSQVRJT04iKTsKKyAgICB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygpOworCisg
ICAgZnVuY3Rpb24gdGVzdFJlbmRlcmluZ0FuZFJlYWRpbmcoKSB7CisgICAgICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgICAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAg
ICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9O
LCAiZHJhd0FycmF5cyB3aXRoIGluY29tcGxldGUgZnJhbWVidWZmZXIiKTsKKyAgICAgICAgZ2wu
cmVhZFBpeGVscygwLCAwLCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWlu
dDhBcnJheSg0KSk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFN
RUJVRkZFUl9PUEVSQVRJT04sICJyZWFkUGl4ZWxzIGZyb20gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZl
ciIpOworICAgICAgICAvLyBjb3B5VGV4SW1hZ2UgYW5kIGNvcHlUZXhTdWJJbWFnZSBjYW4gYmUg
ZWl0aGVyIElOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIGJlY2F1c2UKKyAgICAgICAgLy8g
dGhlIGZyYW1lYnVmZmVyIGlzIGludmFsaWQgT1IgSU5WQUxJRF9PUEVSQVRJT04gYmVjYXVzZSBp
biB0aGUgY2FzZSBvZiBubyBhdHRhY2htZW50cworICAgICAgICAvLyB0aGUgZnJhbWVidWZmZXIg
aXMgbm90IG9mIGEgY29tcGF0aWJsZSB0eXBlLgorICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCAwLCAwLCAxLCAxKTsKKyAgICAgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBbZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sIGdsLklOVkFMSURf
T1BFUkFUSU9OXSwgImNvcHlUZXhJbWFnZTJEIGZyb20gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIp
OworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAw
LCAwLCAxLCAxLCAwKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBbZ2wuSU5WQUxJRF9G
UkFNRUJVRkZFUl9PUEVSQVRJT04sIGdsLklOVkFMSURfT1BFUkFUSU9OXSwgImNvcHlUZXhTdWJJ
bWFnZTJEIGZyb20gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAgICAgICBnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sICJjbGVhciB3
aXRoIGluY29tcGxldGUgZnJhbWVidWZmZXIiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RG
cmFtZWJ1ZmZlckluY29tcGxldGVBdHRhY2htZW50KCkgeworICAgIHNob3VsZEJlTm9uTnVsbCgi
ZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihn
bC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBzaG91bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0g
Z2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJF
TkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVy
KAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRF
UkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVO
REVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZS
QU1FQlVGRkVSX0NPTVBMRVRFKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiV3Jvbmcg
c3RvcmFnZSB0eXBlIGZvciB0eXBlIG9mIGF0dGFjaG1lbnQgYmUgRlJBTUVCVUZGRVJfSU5DT01Q
TEVURV9BVFRBQ0hNRU5UIChPcGVuR0wgRVMgMi4wIDQuNC41KSIpOworICAgIGdsLnJlbmRlcmJ1
ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEZvcm1hdCwgMTYsIDE2KTsKKyAgICBj
aGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisK
KyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2
LCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisK
KyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIjAgc2l6ZSBhdHRhY2htZW50IHNob3VsZCBiZSBG
UkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQgKE9wZW5HTCBFUyAyLjAgNC40LjUpIik7
CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAw
LCAwKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRU
QUNITUVOVCk7CisKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK30KKwor
ZnVuY3Rpb24gdGVzdEZyYW1lYnVmZmVySW5jb21wbGV0ZU1pc3NpbmdBdHRhY2htZW50KCkgewor
ICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiTm8gYXR0YWNobWVudHMgc2hvdWxkIGJlIElOQ09N
UExFVEVfRlJBTUVCVUZGRVJfTUlTU0lOR19BVFRBQ0hNRU5UIChPcGVuR0wgRVMgMi4wIDQuNC41
KSIpOworICAgIHNob3VsZEJlTm9uTnVsbCgiZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIp
OworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBjaGVj
a0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfTUlTU0lOR19BVFRBQ0hNRU5U
KTsKKworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJi
dWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xv
ckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZS
QU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1
ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJH
QkE0LCAxNiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExF
VEUpOworCisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1F
QlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBudWxsKTsKKyAg
ICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfTUlTU0lOR19BVFRB
Q0hNRU5UKTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworfQorCitm
dW5jdGlvbiB0ZXN0RnJhbWVidWZmZXJJbmNvbXBsZXRlRGltZW5zaW9ucygpIHsKKyAgICBkZWJ1
ZygiIik7CisgICAgZGVidWcoIkF0dGFjaG1lbnRzIG9mIGRpZmZlcmVudCBzaXplcyBzaG91bGQg
YmUgRlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TIChPcGVuR0wgRVMgMi4wIDQuNC41
KSIpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigp
Iik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIHNo
b3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOwor
ICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7Cisg
ICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBn
bC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAg
Z2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYp
OworCisgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1
ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGRlcHRo
QnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJB
TUVCVUZGRVIsIGRlcHRoQXR0YWNobWVudCwgZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7
CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0
LCAxNiwgMTYpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIGNo
ZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOworCisgICAgZ2wucmVuZGVy
YnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAzMiwgMTYpOworICAg
IGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TKTsK
KyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQs
IDE2LCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7
CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsK
KyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2
LCAzMik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJ
TUVOU0lPTlMpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBn
bC5SR0JBNCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NP
TVBMRVRFKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICAgIHZh
ciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgdGV4KTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDE2LCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgZ2wuZnJh
bWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBn
bC5URVhUVVJFXzJELCB0ZXgsIDApOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IpOworICAgIGlmIChnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSAh
PSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkgeworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAzMiwgMTYsIDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wu
RlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TKTsKKyAgICBnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE2LCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgbnVsbCk7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVU
RSk7CisKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK30KKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2ds
LXNjaXNzb3ItdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlOGI1M2Q3ZWQyYjBjOGQwYTUwODFhNGI5
NDU4MzAxYTJjNjY5YjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10
ZXN0Lmh0bWwKQEAgLTAsMCArMSwxMTYgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIFNjaXNzb3IgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9kZWJ1Zy93
ZWJnbC1kZWJ1Zy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhczEi
IHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7
Ij4gPC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXMyIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYi
IHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+IDwvY2FudmFzPgorPHNjcmlwdD4K
KyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJDaGVjayBpZiBnbFNjaXNzb3Igc2V0dGluZyB3
b3Jrcy4iKTsKKworZGVidWcoIiIpOworZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7CisKK3Zh
ciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKworZnVuY3Rpb24gdGVzdChjYW52YXMsIGF0dHJpYnMp
IHsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMsIGF0dHJpYnMpOworCisg
IGZ1bmN0aW9uIHRlc3QoZnVuYykgeworICAgIGdsLmRpc2FibGUoZ2wuU0NJU1NPUl9URVNUKTsK
KyAgICBnbC5jbGVhckNvbG9yKDAsMCwwLDApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZF
Ul9CSVQpOworICAgIGdsLmVuYWJsZShnbC5TQ0lTU09SX1RFU1QpOworCisgICAgdmFyIHNpemUg
PSAxNjsKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2l6ZTsgKytpaSkgeworICAgICAgLy8g
Y2xlYXIgYSBwb3J0aW9uIG9mIG91ciBGQk8KKyAgICAgIGdsLnNjaXNzb3IoaWksIGlpLCAxLCAx
KTsKKyAgICAgIGZ1bmMoKTsKKyAgICB9CisKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2l6
ZTsgKytpaSkgeworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgaWksIGlpLCAxLCBb
MCwgMCwgMCwgMF0sICJzaG91bGQgYmUgYmxhY2siKTsKKyAgICAgIHd0dS5jaGVja0NhbnZhc1Jl
Y3QoZ2wsIGlpLCBpaSwgMSwgMSwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIp
OworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgaWkgKyAxLCBpaSwgc2l6ZSAtIGlpIC0g
MSwgMSwgWzAsIDAsIDAsIDBdLCAic2hvdWxkIGJlIGJsYWNrIik7CisgICAgfQorICB9CisKKyAg
aWYgKCFnbCkgeworICAgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKKyAg
fSBlbHNlIHsKKyAgICB0ZXN0UGFzc2VkKCJjb250ZXh0IGV4aXN0cyIpOworCisgICAgZGVidWco
IiIpOworICAgIGRlYnVnKCJ0ZXN0IHdpdGggY2xlYXIiKTsKKyAgICB0ZXN0KGZ1bmN0aW9uKCkg
eworICAgICAgZ2wuY2xlYXJDb2xvcigwLCAxLCAwLCAxKTsKKyAgICAgIGdsLmNsZWFyKGdsLkNP
TE9SX0JVRkZFUl9CSVQpOworICAgIH0pOworCisgICAgd3R1LnNldHVwQ29sb3JRdWFkKGdsKTsK
KworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygidGVzdCB3aXRoIGRyYXciKTsKKyAgICB0ZXN0
KGZ1bmN0aW9uKCkgeworICAgICAgd3R1LmRyYXdGbG9hdENvbG9yUXVhZChnbCwgWzAsIDEsIDAs
IDFdKTsKKyAgICB9KTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0
aGVyZSBzaG91bGQgYmUgbm8gZXJyb3JzIik7CisgIH0KK30KKworZGVidWcoIiIpOworZGVidWco
InRlc3QgYW50aWFsaWFzOiBmYWxzZSIpOwordGVzdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzMSIpLCB7YW50aWFsaWFzOiBmYWxzZX0pOworCitkZWJ1ZygiIik7CitkZWJ1ZygidGVz
dCBhbnRpYWxpYXM6IHRydWUiKTsKK3Rlc3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
czIiKSwge2FudGlhbGlhczogdHJ1ZX0pOworCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21v
cmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFmNTk5YjgyNjFlNmNjNDdh
Njk2MDhiZmM5MzVmNjJlNmQ4NDU3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3Jl
LXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sCkBAIC0wLDAgKzEsMTQ1IEBACis8IS0tCisKKy8qCisq
KiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9j
dW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1h
dGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRh
dGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoq
IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJp
YWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUg
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQ
Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP
UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMg
T1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoq
IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O
IFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU
SEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBNb3JlIHRoYW4gNjU1MzYg
aW5kaWNlcy48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhh
bXBsZSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQw
cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1q
YXZhc2NyaXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWM0IHZD
b2xvcjsKK3ZhcnlpbmcgdmVjNCBjb2xvcjsKK3ZvaWQgbWFpbigpIHsKKyAgICBnbF9Qb3NpdGlv
biA9IHZQb3NpdGlvbjsKKyAgICBjb2xvciA9IHZDb2xvcjsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0iZnMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lv
biBtZWRpdW1wIGZsb2F0OwordmFyeWluZyB2ZWM0IGNvbG9yOwordm9pZCBtYWluKCkgeworICAg
IGdsX0ZyYWdDb2xvciA9IGNvbG9yOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJp
Y3QiOworZGVzY3JpcHRpb24oImNoZWNrcyB0aGF0IHJlbmRlcmluZyB3aXRoIG1vcmUgdGhhbiA2
NTUzNiBpbmRpY2VzIHdvcmtzLiIpOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOwordmFyIHByb2dyYW0gPSB3dHUuc2V0
dXBQcm9ncmFtKGdsLCBbInZzIiwgImZzIl0sIFsidlBvc2l0aW9uIiwgInZDb2xvciJdKTsKK3Zh
ciBidWZmZXJPYmplY3RzID0gd3R1LnNldHVwVW5pdFF1YWQoZ2wsIDAsIDEpOworCitnbC5iaW5k
QnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyT2JqZWN0c1swXSk7CitnbC5idWZmZXJEYXRh
KGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbCisgICAgICAtMSwgIDEsCisgICAg
ICAgMSwgIDEsCisgICAgICAtMSwgLTEsCisgICAgICAgMSwgLTEsCisgICAgICAtMSwgIDEsCisg
ICAgICAgMSwgIDEsCisgICAgICAtMSwgLTEsCisgICAgICAgMSwgLTFdKSwgZ2wuU1RBVElDX0RS
QVcpOworZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDAp
OworZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMV0pOworZ2wu
YnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBVaW50OEFycmF5KFsKKyAgICAgIDI1NSwg
MCwgMCwgMjU1LAorICAgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAyNTUsIDAsIDAsIDI1NSwK
KyAgICAgIDI1NSwgMCwgMCwgMjU1LAorICAgICAgMCwgMjU1LCAwLCAyNTUsCisgICAgICAwLCAy
NTUsIDAsIDI1NSwKKyAgICAgIDAsIDI1NSwgMCwgMjU1LAorICAgICAgMCwgMjU1LCAwLCAyNTVd
KSwgZ2wuU1RBVElDX0RSQVcpOworZ2wudmVydGV4QXR0cmliUG9pbnRlcigxLCA0LCBnbC5VTlNJ
R05FRF9CWVRFLCB0cnVlLCAwLCAwKTsKK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SLCAiYWZ0ZXIgcHJvZ3JhbSBzZXR1cCIpOworCit3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwgImFmdGVyIGNyZWF0aW5nIHRleHR1cmUiKTsKK3ZhciBudW1RdWFkcyA9IE1h
dGguZmxvb3IoNjU1MzYgLyA2KSArIDQ7Cit2YXIgbnVtUG9pbnRzID0gbnVtUXVhZHMgKiA2Owor
ZGVidWcoIm51bVF1YWRzOiAiICsgbnVtUXVhZHMpOworZGVidWcoIm51bVBvaW50czogIiArIG51
bVBvaW50cyk7Cit2YXIgaW5kZXhCdWYgPSBuZXcgQXJyYXlCdWZmZXIobnVtUG9pbnRzKTsKK3Zh
ciBpbmRpY2VzID0gbmV3IFVpbnQ4QXJyYXkoaW5kZXhCdWYpOwordmFyIGluZGV4QnVmZmVyID0g
Z2wuY3JlYXRlQnVmZmVyKCk7CitnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVS
LCBpbmRleEJ1ZmZlcik7Cit3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImFm
dGVyIHNldHRpbmcgdXAgaW5kaWNlcyIpOworCit2YXIgbW9kZXMgPSBbCisgIHttb2RlOiAnUE9J
TlRTJywgICAgICAgICBvZmZzZXRzOiBbMCwgMSwgMiwgMywgMiwgMV0sIHNraXA6IDB9LAorICB7
bW9kZTogJ0xJTkVTJywgICAgICAgICAgb2Zmc2V0czogWzAsIDEsIDIsIDMsIDIsIDFdLCBza2lw
OiAwfSwKKyAge21vZGU6ICdMSU5FX0xPT1AnLCAgICAgIG9mZnNldHM6IFswLCAxLCAyLCAzLCAy
LCAxXSwgc2tpcDogMX0sCisgIHttb2RlOiAnTElORV9TVFJJUCcsICAgICBvZmZzZXRzOiBbMCwg
MSwgMiwgMywgMiwgMV0sIHNraXA6IDB9LAorICB7bW9kZTogJ1RSSUFOR0xFUycsICAgICAgb2Zm
c2V0czogWzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAwfSwKKyAge21vZGU6ICdUUklBTkdMRV9T
VFJJUCcsIG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwgc2tpcDogMH0sCisgIHttb2RlOiAn
VFJJQU5HTEVfRkFOJywgICBvZmZzZXRzOiBbMCwgMSwgMywgMiwgMiwgMV0sIHNraXA6IDF9Citd
OworCitmb3IgKHZhciBtbSA9IDA7IG1tIDwgbW9kZXMubGVuZ3RoOyArK21tKSB7CisgIHZhciBt
b2RlSW5mbyA9IG1vZGVzW21tXTsKKyAgdmFyIG1vZGUgPSBtb2RlSW5mby5tb2RlOworICB2YXIg
b2Zmc2V0cyA9IG1vZGVJbmZvLm9mZnNldHM7CisgIHZhciBza2lwID0gbW9kZUluZm8uc2tpcDsK
KworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgbnVtUXVhZHM7ICsraWkpIHsKKyAgICB2YXIgb2Zm
c2V0ID0gaWkgKiA2OworICAgIHZhciBxdWFkID0gKGlpID09IDAgfHwgaWkgPT0gKG51bVF1YWRz
IC0gMSkpID8gNCA6IDA7CisgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IDY7ICsramopIHsKKyAg
ICAgIGluZGljZXNbb2Zmc2V0ICsgampdID0gcXVhZCArIG9mZnNldHNbampdOworICAgIH0KKyAg
fQorICBnbC5idWZmZXJEYXRhKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRpY2VzLCBnbC5T
VEFUSUNfRFJBVyk7CisKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZzogIiArIG1vZGUp
OworICAvLyBEcmF3IHdpdGhvdXQgbGFzdCA2IHBvaW50cy4KKyAgZ2wuZHJhd0VsZW1lbnRzKGds
W21vZGVdLCBudW1Qb2ludHMgLSAoc2tpcCArIDEpICogNiwgZ2wuVU5TSUdORURfQllURSwgc2tp
cCAqIDYpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0sICJTaG91bGQg
YmUgcmVkLiIpOworICAvLyBEcmF3IHdpdGggbGFzdCA2IHBvaW50cy4KKyAgZ2wuZHJhd0VsZW1l
bnRzKGdsW21vZGVdLCBudW1Qb2ludHMsIGdsLlVOU0lHTkVEX0JZVEUsIDApOworICB3dHUuY2hl
Y2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJTaG91bGQgYmUgZ3JlZW4uIik7Cit9Cit3
dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImFmdGVyIGRyYXdpbmciKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8
L2h0bWw+CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24u
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDVlODE5MWFmZjY2OTNhZDY0NzZjYjk0MzhiNWI3N2UyZDE2YzYyOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwKQEAgLTAsMCArMSwxMjUg
QEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKyAgPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRpdGxl
PldlYkdMIE11bHRpc2FtcGxlIFJlbmRlcmJ1ZmZlciBDb3JydXB0aW9uIFRlc3Q8L3RpdGxlPgor
ICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIi8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LmpzIj4gPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSIyMDQ4IiBoZWlnaHQ9IjIwNDgiIHN0eWxlPSJ3aWR0aDogMTI4cHg7IGhlaWdo
dDogMTI4cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hh
ZGVyL3gtdmVydGV4Ij4KKyAgICAgICAgYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworICAgICAg
ICB2b2lkIG1haW4oKQorICAgICAgICB7CisgICAgICAgICAgICBnbF9Qb3NpdGlvbiA9IHZQb3Np
dGlvbjsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPHNjcmlwdCBpZD0iZnNoYWRl
ciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgICAgIHZvaWQgbWFpbigpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4wLDAuMCwwLjAsMC4wKTsK
KyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPHNjcmlwdD4KKyAgICAgICAgInVzZSBz
dHJpY3QiOworICAgICAgICBmdW5jdGlvbiBpbml0KCkKKyAgICAgICAgeworICAgICAgICAgICAg
ZGVzY3JpcHRpb24oZG9jdW1lbnQudGl0bGUpOworCisgICAgICAgICAgICB2YXIgbGFzdENvbnRl
eHQgPSBudWxsOworICAgICAgICAgICAgdmFyIGN5Y2xlQ291bnQgPSAwOworICAgICAgICAgICAg
dmFyIG1heEN5Y2xlcyA9IDEwMDsKKyAgICAgICAgICAgIHZhciBmYWlsZWQgPSBmYWxzZTsKKyAg
ICAgICAgICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICAgICAgICAgIHZhciBnbCA9
IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiLCB7YW50aWFsaWFzOiB0cnVlLCBwcmVzZXJ2
ZURyYXdpbmdCdWZmZXI6IHRydWV9KTsKKworICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcigxLjAs
IDAuMCwgMC4wLCAxLjApOworICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCk7CisKKyAgICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2
c2hhZGVyIiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisgICAgICAgICAgICB2YXIgdmVy
dGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgICAgICBnbC5iaW5kQnVmZmVy
KGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgICAgICAgICAgIGdsLmJ1ZmZlckRh
dGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsgMCwyLjUsMCwgMS41LDEuNSww
LCAyLjUsMS41LDAgXSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgICAgICAgICAgIGdsLmVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KDApOworICAgICAgICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigw
LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgICAgICAgICAgICBmdW5jdGlvbiBjeWNs
ZUFuZFRlc3QoKSB7CisgICAgICAgICAgICAgICAgdmFyIGdsMiA9IHd0dS5jcmVhdGUzRENvbnRl
eHQobnVsbCwge2FudGlhbGlhczogdHJ1ZX0pOworCisgICAgICAgICAgICAgICAgZ2wyLmNhbnZh
cy53aWR0aCA9IGdsMi5jYW52YXMuaGVpZ2h0ID0gMTAyNDsKKyAgICAgICAgICAgICAgICBnbDIu
Y2FudmFzLnN0eWxlLndpZHRoID0gZ2wyLmNhbnZhcy5zdHlsZS5oZWlnaHQgPSAiMXB4IjsKKyAg
ICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGdsMi5jYW52YXMpOworCisg
ICAgICAgICAgICAgICAgZ2wyLmNsZWFyQ29sb3IoMS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICAg
ICAgICAgICAgICBnbDIuY2xlYXIoZ2wyLkNPTE9SX0JVRkZFUl9CSVQpOworCisgICAgICAgICAg
ICAgICAgaWYobGFzdENvbnRleHQpIHsKKyAgICAgICAgICAgICAgICAgICAgZ2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDAsIDMpOworICAgICAgICAgICAgICAgICAgICB2YXIgbXNnID0gIlNo
b3VsZCBiZSByZWQgYWZ0ZXIgbG9vcCAiICsgY3ljbGVDb3VudDsKKyAgICAgICAgICAgICAgICAg
ICAgd3R1LmNoZWNrQ2FudmFzUmVjdENvbG9yKGdsLAorICAgICAgICAgICAgICAgICAgICAgICAg
MCwgMCwgZ2wuY2FudmFzLndpZHRoLCBnbC5jYW52YXMuaGVpZ2h0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgWzI1NSwgMCwgMCwgMjU1XSwgbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQobXNn
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICBm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIGRlYnVnKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsYXN0Q29udGV4dC5jYW52YXMpOwor
ICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGxhc3RDb250ZXh0ID0gZ2wyOwor
ICAgICAgICAgICAgICAgIGN5Y2xlQ291bnQrKzsKKworICAgICAgICAgICAgICAgIGlmKGN5Y2xl
Q291bnQgPD0gbWF4Q3ljbGVzICYmICFmYWlsZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgd3R1
LndhaXRGb3JDb21wb3NpdGUoZ2wyLCBjeWNsZUFuZFRlc3QpOworICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGN5Y2xlQW5kVGVzdCgpOworICAgICAg
IH0KKworICAgICAgIGluaXQoKTsKKyAgICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKyAgICA8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL3BvaW50LXNpemUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTRlYmUzNTJkNGU1ZWZkN2ExYzVhNDYzY2U2NGI3NDNjMWVkODBjZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwKQEAgLTAsMCArMSwxNTEgQEAKKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hh
ZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgYXR0cmlidXRlIHZlYzMgcG9zOwor
ICAgIGF0dHJpYnV0ZSB2ZWM0IGNvbG9ySW47CisgICAgdW5pZm9ybSBmbG9hdCBwb2ludFNpemU7
CisgICAgdmFyeWluZyB2ZWM0IGNvbG9yOworCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAg
ICAgIGdsX1BvaW50U2l6ZSA9IHBvaW50U2l6ZTsKKyAgICAgICAgY29sb3IgPSBjb2xvckluOwor
ICAgICAgICBnbF9Qb3NpdGlvbiA9IHZlYzQocG9zLCAxLjApOworICAgIH0KKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICB2YXJ5aW5nIHZlYzQgY29sb3I7CisKKyAgICB2
b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gY29sb3I7CisgICAgfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9InRlc3RiZWQiIHdpZHRoPSIy
IiBoZWlnaHQ9IjIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorICAgICJ1c2Ugc3RyaWN0IjsKKyAgICBk
ZXNjcmlwdGlvbignVmVyaWZ5IEdMX1ZFUlRFWF9QUk9HUkFNX1BPSU5UX1NJWkUgaXMgZW5hYmxl
ZCBpbiBXZWJHTCcpOworCisgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgIHZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoJ3Rlc3RiZWQnLCB7IGFudGlhbGlhczogZmFsc2UgfSk7
CisgICAgc2hvdWxkQmVOb25OdWxsKCJnbCIpOworCisgICAgZ2wuZGlzYWJsZShnbC5CTEVORCk7
CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQp
OworCisgICAgLy8gVGhlIGNob2ljZSBvZiAoMC40LCAwLjQpIGVuc3VyZXMgdGhhdCB0aGUgY2Vu
dGVycyBvZiB0aGUgc3Vycm91bmRpbmcKKyAgICAvLyBwaXhlbHMgYXJlIG5vdCBjb250YWluZWQg
d2l0aGluIHRoZSBwb2ludCB3aGVuIGl0IGlzIG9mIHNpemUgMSwgYnV0CisgICAgLy8gdGhhdCB0
aGV5IGRlZmluaXRlbHkgYXJlIHdoZW4gaXQgaXMgb2Ygc2l6ZSAyLgorICAgIHZhciB2ZXJ0aWNl
cyA9IG5ldyBGbG9hdDMyQXJyYXkoWworICAgICAgICAwLjQsIDAuNCwgMC4wXSk7CisgICAgdmFy
IGNvbG9ycyA9IG5ldyBVaW50OEFycmF5KFsKKyAgICAgICAgMjU1LCAwLCAwLCAyNTVdKTsKKwor
ICAgIHZhciBjb2xvck9mZnNldCA9IHZlcnRpY2VzLmJ5dGVMZW5ndGg7CisKKyAgICB2YXIgYnVm
ID0gbmV3IFVpbnQ4QXJyYXkoMiAqIDIgKiA0KTsKKyAgICB2YXIgaW5kZXggPSAwOworCisgICAg
dmFyIHZibyA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCB2Ym8pOworICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBjb2xvck9m
ZnNldCArIGNvbG9ycy5ieXRlTGVuZ3RoLCBnbC5TVEFUSUNfRFJBVyk7CisgICAgZ2wuYnVmZmVy
U3ViRGF0YShnbC5BUlJBWV9CVUZGRVIsIDAsIHZlcnRpY2VzKTsKKyAgICBnbC5idWZmZXJTdWJE
YXRhKGdsLkFSUkFZX0JVRkZFUiwgY29sb3JPZmZzZXQsIGNvbG9ycyk7CisKKyAgICBmdW5jdGlv
biB0ZXN0KHByb2dyYW0pIHsKKyAgICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBn
bC5GTE9BVCwgZmFsc2UsIDAsIDApOworICAgICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJh
eSgwKTsKKyAgICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigxLCA0LCBnbC5VTlNJR05FRF9C
WVRFLCB0cnVlLCAwLCBjb2xvck9mZnNldCk7CisgICAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJp
YkFycmF5KDEpOworCisgICAgICAgIHZhciBsb2NQb2ludFNpemUgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgJ3BvaW50U2l6ZScpOworCisgICAgICAgIHNob3VsZEJlKCdnbC5nZXRF
cnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7CisKKyAgICAgICAgZGVidWcoJ0RyYXcgYSBwb2ludCBv
ZiBzaXplIDEgYW5kIHZlcmlmeSBpdCBkb2VzIG5vdCB0b3VjaCBhbnkgb3RoZXIgcGl4ZWxzLicp
OworCisgICAgICAgIGdsLnVuaWZvcm0xZihsb2NQb2ludFNpemUsIDEuMCk7CisgICAgICAgIGds
LmRyYXdBcnJheXMoZ2wuUE9JTlRTLCAwLCB2ZXJ0aWNlcy5sZW5ndGggLyAzKTsKKyAgICAgICAg
CisgICAgICAgIHNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7CisKKyAg
ICAgICAgZm9yICh2YXIgeSA9IDA7IHkgPCAyOyArK3kpIHsKKyAgICAgICAgICAgIGZvciAodmFy
IHggPSAwOyB4IDwgMjsgKyt4KSB7CisgICAgICAgICAgICAgICAgdmFyIGNvcnJlY3RDb2xvciA9
ICh4ID09IDEgJiYgeSA9PSAxKSA/IFsyNTUsIDAsIDBdIDogWzAsIDAsIDBdOworICAgICAgICAg
ICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIHgsIHksIDEsIDEsIGNvcnJlY3RDb2xvcik7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVG
RkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworCisgICAgICAgIGRlYnVnKCdEcmF3IGEg
cG9pbnQgb2Ygc2l6ZSAyIGFuZCB2ZXJpZnkgaXQgZmlsbHMgdGhlIGFwcHJvcHJpYXRlIHJlZ2lv
bi4nKTsKKworICAgICAgICB2YXIgcG9pbnRTaXplUmFuZ2UgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wu
QUxJQVNFRF9QT0lOVF9TSVpFX1JBTkdFKTsKKyAgICAgICAgaWYgKHBvaW50U2l6ZVJhbmdlWzFd
ID49IDIuMCkgeworICAgICAgICAgICAgZ2wudW5pZm9ybTFmKGxvY1BvaW50U2l6ZSwgMi4wKTsK
KyAgICAgICAgICAgIGdsLmRyYXdBcnJheXMoZ2wuUE9JTlRTLCAwLCB2ZXJ0aWNlcy5sZW5ndGgg
LyAzKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9S
Jyk7CisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCAyLCAyLCBbMjU1
LCAwLCAwXSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBkZWJ1ZygnJyk7CisgICAgZGVidWco
J1Bhc3MgMScpOworICAgIHZhciBwcm9ncmFtMSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsndnNo
YWRlcicsICdmc2hhZGVyJ10sIFsncG9zJywgJ2NvbG9ySW4nXSk7CisgICAgc2hvdWxkQmUoJ2ds
LmdldEVycm9yKCknLCAnZ2wuTk9fRVJST1InKTsKKyAgICB0ZXN0KHByb2dyYW0xKTsKKworICAg
IC8vIFVuZGVyIHNvbWUgdmVyc2lvbnMgb2YgQU5HTEUgcG9pbnQgc3ByaXRlIHNoYWRlciBwcm9n
cmFtcyB3ZXJlIAorICAgIC8vIGluY29ycmVjdGx5IHJlbG9hZGVkIGZyb20gY2FjaGUuIFJlYnVp
bGRpbmcgdGhlIHNoYWRlciBwcm9ncmFtIGFuZAorICAgIC8vIHJlcGVhdGluZyB0aGUgdGVzdCBz
aW11bGF0ZXMgdGhlIGNvbmRpdGlvbnMgdGhhdCBjYXVzZWQgaXQgdG8gZmFpbAorICAgIGRlYnVn
KCcnKTsKKyAgICBkZWJ1ZygnUGFzcyAyJyk7CisgICAgdmFyIHByb2dyYW0yID0gd3R1LnNldHVw
UHJvZ3JhbShnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWydwb3MnLCAnY29sb3JJbiddKTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICdnbC5OT19FUlJPUicpOworICAgIHRlc3Qo
cHJvZ3JhbTIpOworCisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0
LWNhbGxzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGMwNzQxNjRmMzNmYmMwNDk4ZmIzMTIyZjUzMWFlNDM5YWE1ZGM0YQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbApAQCAtMCwwICsxLDQ2MyBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Citk
ZXNjcmlwdGlvbigiVGVzdCBvZiBnZXQgY2FsbHMgYWdhaW5zdCBHTCBvYmplY3RzIGxpa2UgZ2V0
QnVmZmVyUGFyYW1ldGVyLCBldGMuIik7CisKK2Z1bmN0aW9uIHNpemVJbkJ5dGVzKHR5cGUpIHsK
KyAgc3dpdGNoICh0eXBlKSB7CisgIGNhc2UgZ2wuQllURToKKyAgY2FzZSBnbC5VTlNJR05FRF9C
WVRFOgorICAgIHJldHVybiAxOworICBjYXNlIGdsLlNIT1JUOgorICBjYXNlIGdsLlVOU0lHTkVE
X1NIT1JUOgorICAgIHJldHVybiAyOworICBjYXNlIGdsLklOVDoKKyAgY2FzZSBnbC5VTlNJR05F
RF9JTlQ6CisgIGNhc2UgZ2wuRkxPQVQ6CisgICAgcmV0dXJuIDQ7CisgIGRlZmF1bHQ6CisgICAg
dGhyb3cgInVua25vd24gdHlwZSI7CisgIH0KK30KKwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29u
dGV4dCgpOworCitkZWJ1ZygidGVzdCBnZXRBdHRhY2hlZFNoYWRlcnMiKTsKK3ZhciBzdGFuZGFy
ZFZlcnQgPSB3dHUubG9hZFN0YW5kYXJkVmVydGV4U2hhZGVyKGdsKTsKK3ZhciBzdGFuZGFyZEZy
YWcgPSB3dHUubG9hZFN0YW5kYXJkRnJhZ21lbnRTaGFkZXIoZ2wpOwordmFyIHN0YW5kYXJkUHJv
Z3JhbSA9IGdsLmNyZWF0ZVByb2dyYW0oKTsKK2dsLmF0dGFjaFNoYWRlcihzdGFuZGFyZFByb2dy
YW0sIHN0YW5kYXJkVmVydCk7CitnbC5hdHRhY2hTaGFkZXIoc3RhbmRhcmRQcm9ncmFtLCBzdGFu
ZGFyZEZyYWcpOworZ2wubGlua1Byb2dyYW0oc3RhbmRhcmRQcm9ncmFtKTsKK3ZhciBzaGFkZXJz
ID0gZ2wuZ2V0QXR0YWNoZWRTaGFkZXJzKHN0YW5kYXJkUHJvZ3JhbSk7CitzaG91bGRCZSgnc2hh
ZGVycy5sZW5ndGgnLCAnMicpOworc2hvdWxkQmVUcnVlKCdzaGFkZXJzWzBdID09IHN0YW5kYXJk
VmVydCAmJiBzaGFkZXJzWzFdID09IHN0YW5kYXJkRnJhZyB8fCBzaGFkZXJzWzFdID09IHN0YW5k
YXJkVmVydCAmJiBzaGFkZXJzWzBdID09IHN0YW5kYXJkRnJhZycpOworZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUik7CitzaG91bGRCZU51bGwoJ2dsLmdldEF0dGFjaGVkU2hhZGVycyhu
dWxsKScpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFKTsKK3Nob3VsZFRo
cm93KCdnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRhcmRWZXJ0KScpOworZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUik7CisKK2Z1bmN0aW9uIHRlc3RJbnZhbGlkQXJndW1lbnQoZnVu
Y05hbWUsIGFyZ3VtZW50TmFtZSwgdmFsaWRBcmd1bWVudEFycmF5LCBmdW5jKSB7CisgIHZhciB2
YWxpZEFyZ3VtZW50cyA9IHt9OworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdmFsaWRBcmd1bWVu
dEFycmF5Lmxlbmd0aDsgKytpaSkgeworICAgIHZhbGlkQXJndW1lbnRzW3ZhbGlkQXJndW1lbnRB
cnJheVtpaV1dID0gdHJ1ZTsKKyAgfQorICB2YXIgc3VjY2VzcyA9IHRydWU7CisgIGZvciAodmFy
IGlpID0gMDsgaWkgPCAweDEwMDAwOyArK2lpKSB7CisgICAgaWYgKCF2YWxpZEFyZ3VtZW50c1tp
aV0pIHsKKyAgICAgIHZhciByZXN1bHQgPSBmdW5jKGlpKTsKKyAgICAgIGlmIChyZXN1bHQgIT09
IG51bGwpIHsKKyAgICAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgICB0ZXN0RmFpbGVkKGZ1
bmNOYW1lICsgIiByZXR1cm5lZCAiICsgcmVzdWx0ICsgIiBpbnN0ZWFkIG9mIG51bGwgZm9yIGlu
dmFsaWQgIiArIGFyZ3VtZW50TmFtZSArICIgZW51bTogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhn
bCwgaWkpKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICB2YXIgZXJyID0gZ2wuZ2V0
RXJyb3IoKTsKKyAgICAgIGlmIChlcnIgIT0gZ2wuSU5WQUxJRF9FTlVNKSB7CisgICAgICAgIHN1
Y2Nlc3MgPSBmYWxzZTsKKyAgICAgICAgdGVzdEZhaWxlZChmdW5jTmFtZSArICIgZGlkIG5vdCBn
ZW5lcmF0ZSBJTlZBTElEX0VOVU0gZm9yIGludmFsaWQgIiArIGFyZ3VtZW50TmFtZSArICIgZW51
bTogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgaWkpKTsKKyAgICAgICAgYnJlYWs7CisgICAg
ICB9CisgICAgfQorICB9CisgIGlmIChzdWNjZXNzKSB7CisgICAgdGVzdFBhc3NlZChmdW5jTmFt
ZSArICIgY29ycmVjdGx5IGhhbmRsZWQgaW52YWxpZCAiICsgYXJndW1lbnROYW1lICsgIiBlbnVt
cyIpOworICB9Cit9CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJ0ZXN0IGdldEJ1ZmZlclBhcmFtZXRl
ciIpOworLy8gVGVzdCBnZXRCdWZmZXJQYXJhbWV0ZXIKK3ZhciBidWZmZXJUeXBlcyA9IFtnbC5B
UlJBWV9CVUZGRVIsIGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSXTsKK2ZvciAodmFyIGJiID0gMDsg
YmIgPCBidWZmZXJUeXBlcy5sZW5ndGg7ICsrYmIpIHsKKyAgdmFyIGJ1ZmZlclR5cGUgPSBidWZm
ZXJUeXBlc1tiYl07CisgIHZhciBidWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmlu
ZEJ1ZmZlcihidWZmZXJUeXBlLCBidWZmZXIpOworICBnbC5idWZmZXJEYXRhKGJ1ZmZlclR5cGUs
IDE2LCBnbC5EWU5BTUlDX0RSQVcpOworICB2YXIgZXhwcmVzc2lvbjEgPSAiZ2wuZ2V0QnVmZmVy
UGFyYW1ldGVyKGdsLiIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGJ1ZmZlclR5cGUpICsgIiwg
Z2wuQlVGRkVSX1NJWkUpIjsKKyAgdmFyIGV4cHJlc3Npb24yID0gImdsLmdldEJ1ZmZlclBhcmFt
ZXRlcihnbC4iICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBidWZmZXJUeXBlKSArICIsIGdsLkJV
RkZFUl9VU0FHRSkiOworICBzaG91bGRCZShleHByZXNzaW9uMSwgJzE2Jyk7CisgIHNob3VsZEJl
KGV4cHJlc3Npb24yLCAnZ2wuRFlOQU1JQ19EUkFXJyk7CisgIHRlc3RJbnZhbGlkQXJndW1lbnQo
ImdldEJ1ZmZlclBhcmFtZXRlciIsICJwYXJhbWV0ZXIiLCBbZ2wuQlVGRkVSX1NJWkUsIGdsLkJV
RkZFUl9VU0FHRV0sIGZ1bmN0aW9uKGJ1ZmZlclR5cGUpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24o
cGFyYW1ldGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGJ1ZmZlclR5
cGUsIHBhcmFtZXRlcik7CisgICAgfTsKKyAgfShidWZmZXJUeXBlKSk7Cit9Cit0ZXN0SW52YWxp
ZEFyZ3VtZW50KAorICAgICJnZXRCdWZmZXJQYXJhbWV0ZXIiLAorICAgICJ0YXJnZXQiLAorICAg
IGJ1ZmZlclR5cGVzLAorICAgIGZ1bmN0aW9uKHRhcmdldCkgeworICAgICAgcmV0dXJuIGdsLmdl
dEJ1ZmZlclBhcmFtZXRlcih0YXJnZXQsIGdsLkJVRkZFUl9TSVpFKTsKKyAgICB9CispOworCisK
K2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRl
ciIpOwordmFyIHRleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CitnbC5iaW5kVGV4dHVyZShn
bC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKK2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgMiwgMiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICAg
ICAgbmV3IFVpbnQ4QXJyYXkoWworICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMjU1LAorICAg
ICAgICAgICAgICAgICAgMjU1LCAyNTUsIDI1NSwgMjU1LAorICAgICAgICAgICAgICAgICAgMjU1
LCAyNTUsIDI1NSwgMjU1LAorICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMjU1XSkpOworZ2wu
dGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJ
TkVBUik7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJ
TFRFUiwgZ2wuTElORUFSKTsKK2dsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOwor
dmFyIGZyYW1lYnVmZmVyID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKTsKK2dsLmJpbmRGcmFtZWJ1
ZmZlcihnbC5GUkFNRUJVRkZFUiwgZnJhbWVidWZmZXIpOworZ2wuZnJhbWVidWZmZXJUZXh0dXJl
MkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0
ZXh0dXJlLCAwKTsKK3ZhciByZW5kZXJidWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsK
K2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworZ2wuYmluZFJlbmRlcmJ1ZmZlcihn
bC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcik7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5P
X0VSUk9SKTsKK2dsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5ERVBU
SF9DT01QT05FTlQxNiwgMiwgMik7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsK
K2dsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRB
Q0hNRU5ULCBnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcik7CisvLyBGSVhNRTogb24gc29t
ZSBtYWNoaW5lcyAoaW4gcGFydGljdWxhciB0aGUgV2ViS2l0IGNvbW1pdCBib3RzKSB0aGUKKy8v
IGZyYW1lYnVmZmVyIHN0YXR1cyBpcyBGUkFNRUJVRkZFUl9VTlNVUFBPUlRFRDsgbW9yZSBpbnZl
c3RpZ2F0aW9uCisvLyBpcyBuZWVkZWQgd2h5IHRoaXMgaXMgdGhlIGNhc2UsIGJlY2F1c2UgdGhl
IEZCTyBhbGxvY2F0ZWQKKy8vIGludGVybmFsbHkgYnkgdGhlIFdlYktpdCBpbXBsZW1lbnRhdGlv
biBoYXMgYWxtb3N0IGlkZW50aWNhbAorLy8gcGFyYW1ldGVycyB0byB0aGlzIG9uZS4gU2VlIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTg0My4KK3Nob3VsZEJlKCdn
bC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKScsICdnbC5GUkFNRUJVRkZF
Ul9DT01QTEVURScpOworc2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFt
ZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVS
X0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpJywgJ2dsLlRFWFRVUkUnKTsKK3Nob3VsZEJlKCdnbC5n
ZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9S
X0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKScsICd0
ZXh0dXJlJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVy
KGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRU
QUNITUVOVF9URVhUVVJFX0xFVkVMKScsICcwJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZm
ZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5U
MCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJFX0NVQkVfTUFQX0ZBQ0UpJywgJzAn
KTsKKworc2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5G
UkFNRUJVRkZFUiwgZ2wuREVQVEhfQVRUQUNITUVOVCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVO
VF9PQkpFQ1RfVFlQRSknLCAnZ2wuUkVOREVSQlVGRkVSJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJh
bWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRB
Q0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKScsICdyZW5kZXJi
dWZmZXInKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldEZyYW1lYnVmZmVyQXR0YWNo
bWVudFBhcmFtZXRlciIsCisgICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5GUkFNRUJVRkZFUl9B
VFRBQ0hNRU5UX09CSkVDVF9UWVBFLAorICAgICAgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9P
QkpFQ1RfTkFNRSwKKyAgICAgIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MRVZF
TCwKKyAgICAgIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9DVUJFX01BUF9GQUNF
CisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRG
cmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FU
VEFDSE1FTlQsIHBhcmFtZXRlcik7CisgICAgfQorKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisg
ICAgImdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciIsCisgICAgInRhcmdldCIsCisg
ICAgWyBnbC5GUkFNRUJVRkZFUiBdLAorICAgIGZ1bmN0aW9uKHRhcmdldCkgeworICAgICAgcmV0
dXJuIGdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcih0YXJnZXQsIGdsLkNPTE9S
X0FUVEFDSE1FTlQsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpOworICAg
IH0KKyk7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRGcmFtZWJ1ZmZlckF0dGFjaG1l
bnRQYXJhbWV0ZXIiLAorICAgICJhdHRhY2htZW50IiwKKyAgICBbIGdsLkNPTE9SX0FUVEFDSE1F
TlQwLAorICAgICAgZ2wuREVQVEhfQVRUQUNITUVOVCwKKyAgICAgIGdsLlNURU5DSUxfQVRUQUNI
TUVOVCwKKyAgICAgIGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVAorICAgIF0sCisgICAgZnVu
Y3Rpb24oYXR0YWNobWVudCkgeworICAgICAgcmV0dXJuIGdsLmdldEZyYW1lYnVmZmVyQXR0YWNo
bWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgYXR0YWNobWVudCwgZ2wuRlJBTUVCVUZGRVJf
QVRUQUNITUVOVF9PQkpFQ1RfVFlQRSk7CisgICAgfQorKTsKKworCitkZWJ1ZygiIik7CitkZWJ1
ZygiVGVzdCBnZXRQcm9ncmFtUGFyYW1ldGVyIik7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBh
cmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkRFTEVURV9TVEFUVVMpJywgJ2ZhbHNlJyk7Citz
aG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkxJTktf
U1RBVFVTKScsICd0cnVlJyk7CitzaG91bGRCZSgndHlwZW9mIGdsLmdldFByb2dyYW1QYXJhbWV0
ZXIoc3RhbmRhcmRQcm9ncmFtLCBnbC5WQUxJREFURV9TVEFUVVMpJywgJyJib29sZWFuIicpOwor
c2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoc3RhbmRhcmRQcm9ncmFtLCBnbC5BVFRB
Q0hFRF9TSEFERVJTKScsICcyJyk7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihz
dGFuZGFyZFByb2dyYW0sIGdsLkFDVElWRV9BVFRSSUJVVEVTKScsICcyJyk7CitzaG91bGRCZSgn
Z2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkFDVElWRV9VTklGT1JN
UyknLCAnMScpOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0UHJvZ3JhbVBhcmFtZXRl
ciIsCisgICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5ERUxFVEVfU1RBVFVTLAorICAgICAgZ2wu
TElOS19TVEFUVVMsCisgICAgICBnbC5WQUxJREFURV9TVEFUVVMsCisgICAgICBnbC5BVFRBQ0hF
RF9TSEFERVJTLAorICAgICAgZ2wuQUNUSVZFX0FUVFJJQlVURVMsCisgICAgICBnbC5BQ1RJVkVf
VU5JRk9STVMKKyAgICBdLAorICAgIGZ1bmN0aW9uKHBhcmFtZXRlcikgeworICAgICAgcmV0dXJu
IGdsLmdldFByb2dyYW1QYXJhbWV0ZXIoc3RhbmRhcmRQcm9ncmFtLCBwYXJhbWV0ZXIpOworICAg
IH0KKyk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFJlbmRlcmJ1ZmZlclBhcmFtZXRl
ciIpOworc2hvdWxkQmUoJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZG
RVIsIGdsLlJFTkRFUkJVRkZFUl9XSURUSCknLCAnMicpOworc2hvdWxkQmUoJ2dsLmdldFJlbmRl
cmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9IRUlHSFQp
JywgJzInKTsKKy8vIE5vdGU6IHdlIGNhbid0IHRlc3QgdGhlIGFjdHVhbCB2YWx1ZSBvZiB0aGUg
aW50ZXJuYWwgZm9ybWF0IHNpbmNlCisvLyB0aGUgaW1wbGVtZW50YXRpb24gaXMgYWxsb3dlZCB0
byBjaGFuZ2UgaXQuCitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRl
cihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9JTlRFUk5BTF9GT1JNQVQpJyk7Citz
aG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZG
RVIsIGdsLlJFTkRFUkJVRkZFUl9ERVBUSF9TSVpFKScpOwordmFyIGNvbG9yYnVmZmVyID0gZ2wu
Y3JlYXRlUmVuZGVyYnVmZmVyKCk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsK
K2dsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpOworZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGds
LlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDIsIDIpOworc2hvdWxkQmVOb25aZXJvKCdnbC5nZXRS
ZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfUkVE
X1NJWkUpJyk7CitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihn
bC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9HUkVFTl9TSVpFKScpOworc2hvdWxkQmVO
b25aZXJvKCdnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5S
RU5ERVJCVUZGRVJfQkxVRV9TSVpFKScpOworc2hvdWxkQmVOb25aZXJvKCdnbC5nZXRSZW5kZXJi
dWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfQUxQSEFfU0la
RSknKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldFJlbmRlcmJ1ZmZlclBhcmFtZXRl
ciIsCisgICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5SRU5ERVJCVUZGRVJfV0lEVEgsCisgICAg
ICBnbC5SRU5ERVJCVUZGRVJfSEVJR0hULAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0lOVEVSTkFM
X0ZPUk1BVCwKKyAgICAgIGdsLlJFTkRFUkJVRkZFUl9SRURfU0laRSwKKyAgICAgIGdsLlJFTkRF
UkJVRkZFUl9HUkVFTl9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0JMVUVfU0laRSwKKyAg
ICAgIGdsLlJFTkRFUkJVRkZFUl9BTFBIQV9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0RF
UFRIX1NJWkUsCisgICAgICBnbC5SRU5ERVJCVUZGRVJfU1RFTkNJTF9TSVpFLAorICAgIF0sCisg
ICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0UmVuZGVyYnVmZmVy
UGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgcGFyYW1ldGVyKTsKKyAgICB9KTsKK3Rlc3RJbnZh
bGlkQXJndW1lbnQoCisgICAgImdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlciIsCisgICAgInRhcmdl
dCIsCisgICAgWyBnbC5SRU5ERVJCVUZGRVIgXSwKKyAgICBmdW5jdGlvbih0YXJnZXQpIHsKKyAg
ICAgIHJldHVybiBnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIodGFyZ2V0LCBnbC5SRU5ERVJC
VUZGRVJfV0lEVEgpOworICAgIH0pOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBnZXRTaGFk
ZXJQYXJhbWV0ZXIiKTsKK3Nob3VsZEJlKCdnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc3RhbmRhcmRW
ZXJ0LCBnbC5TSEFERVJfVFlQRSknLCAnZ2wuVkVSVEVYX1NIQURFUicpOworc2hvdWxkQmUoJ2ds
LmdldFNoYWRlclBhcmFtZXRlcihzdGFuZGFyZFZlcnQsIGdsLkRFTEVURV9TVEFUVVMpJywgJ2Zh
bHNlJyk7CitzaG91bGRCZSgnZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHN0YW5kYXJkVmVydCwgZ2wu
Q09NUElMRV9TVEFUVVMpJywgJ3RydWUnKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdl
dFNoYWRlclBhcmFtZXRlciIsCisgICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5ERUxFVEVfU1RB
VFVTLAorICAgICAgZ2wuQ09NUElMRV9TVEFUVVMsCisgICAgICBnbC5TSEFERVJfVFlQRQorICAg
IF0sCisgICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0U2hhZGVy
UGFyYW1ldGVyKHN0YW5kYXJkVmVydCwgcGFyYW1ldGVyKTsKKyAgICB9CispOworCitkZWJ1Zygi
Iik7CitkZWJ1ZygiVGVzdCBnZXRUZXhQYXJhbWV0ZXIiKTsKK2dsLmJpbmRGcmFtZWJ1ZmZlcihn
bC5GUkFNRUJVRkZFUiwgZnJhbWVidWZmZXIpOworZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8y
RCwgdGV4dHVyZSk7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVf
TUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQs
IGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CitnbC50ZXhQYXJhbWV0ZXJpKGds
LlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKK2dsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RP
X0VER0UpOworc2hvdWxkQmUoJ2dsLmdldFRleFBhcmFtZXRlcihnbC5URVhUVVJFXzJELCBnbC5U
RVhUVVJFX01BR19GSUxURVIpJywgJ2dsLk5FQVJFU1QnKTsKK3Nob3VsZEJlKCdnbC5nZXRUZXhQ
YXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSKScsICdnbC5ORUFS
RVNUJyk7CitzaG91bGRCZSgnZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfV1JBUF9TKScsICdnbC5DTEFNUF9UT19FREdFJyk7CitzaG91bGRCZSgnZ2wuZ2V0VGV4
UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9UKScsICdnbC5DTEFNUF9U
T19FREdFJyk7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRUZXhQYXJhbWV0ZXIiLAor
ICAgICJwYXJhbWV0ZXIiLAorICAgIFsgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLAorICAgICAgZ2wu
VEVYVFVSRV9NSU5fRklMVEVSLAorICAgICAgZ2wuVEVYVFVSRV9XUkFQX1MsCisgICAgICBnbC5U
RVhUVVJFX1dSQVBfVAorICAgIF0sCisgICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICBy
ZXR1cm4gZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIHBhcmFtZXRlcik7CisgICAg
fQorKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldFRleFBhcmFtZXRlciIsCisgICAg
InRhcmdldCIsCisgICAgWyBnbC5URVhUVVJFXzJELAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01B
UAorICAgIF0sCisgICAgZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0VGV4
UGFyYW1ldGVyKHRhcmdldCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSKTsKKyAgICB9CispOworCitk
ZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBnZXRVbmlmb3JtIHdpdGggYWxsIHZhcmlhbnRzIG9mIGRh
dGEgdHlwZXMiKTsKKy8vIEJvb2xlYW4gdW5pZm9ybSB2YXJpYWJsZXMKK3ZhciBib29sUHJvZ3Jh
bSA9IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGdsLCAiLi4vcmVzb3VyY2VzL2Jvb2xVbmlmb3Jt
U2hhZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3No
b3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKGJvb2xQcm9ncmFtLCBnbC5MSU5LX1NUQVRV
UyknLCAndHJ1ZScpOwordmFyIGJ2YWxMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oYm9vbFBy
b2dyYW0sICJidmFsIik7Cit2YXIgYnZhbDJMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oYm9v
bFByb2dyYW0sICJidmFsMiIpOwordmFyIGJ2YWwzTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9u
KGJvb2xQcm9ncmFtLCAiYnZhbDMiKTsKK3ZhciBidmFsNExvYyA9IGdsLmdldFVuaWZvcm1Mb2Nh
dGlvbihib29sUHJvZ3JhbSwgImJ2YWw0Iik7CitnbC51c2VQcm9ncmFtKGJvb2xQcm9ncmFtKTsK
K2dsLnVuaWZvcm0xaShidmFsTG9jLCAxKTsKK2dsLnVuaWZvcm0yaShidmFsMkxvYywgMSwgMCk7
CitnbC51bmlmb3JtM2koYnZhbDNMb2MsIDEsIDAsIDEpOworZ2wudW5pZm9ybTRpKGJ2YWw0TG9j
LCAxLCAwLCAxLCAwKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxk
QmUoJ2dsLmdldFVuaWZvcm0oYm9vbFByb2dyYW0sIGJ2YWxMb2MpJywgJ3RydWUnKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRVbmlmb3JtKGJvb2xQcm9ncmFtLCBidmFsMkxvYyknLCAnW3RydWUsIGZhbHNl
XScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oYm9vbFByb2dyYW0sIGJ2YWwzTG9jKScsICdb
dHJ1ZSwgZmFsc2UsIHRydWVdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShib29sUHJvZ3Jh
bSwgYnZhbDRMb2MpJywgJ1t0cnVlLCBmYWxzZSwgdHJ1ZSwgZmFsc2VdJyk7CisvLyBJbnRlZ2Vy
IHVuaWZvcm0gdmFyaWFibGVzCit2YXIgaW50UHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbUZyb21G
aWxlKGdsLCAiLi4vcmVzb3VyY2VzL2ludFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJj
ZXMvbm9vcFVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJh
bWV0ZXIoaW50UHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3ZhciBpdmFsTG9j
ID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGludFByb2dyYW0sICJpdmFsIik7Cit2YXIgaXZhbDJM
b2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oaW50UHJvZ3JhbSwgIml2YWwyIik7Cit2YXIgaXZh
bDNMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oaW50UHJvZ3JhbSwgIml2YWwzIik7Cit2YXIg
aXZhbDRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oaW50UHJvZ3JhbSwgIml2YWw0Iik7Citn
bC51c2VQcm9ncmFtKGludFByb2dyYW0pOworZ2wudW5pZm9ybTFpKGl2YWxMb2MsIDEpOworZ2wu
dW5pZm9ybTJpKGl2YWwyTG9jLCAyLCAzKTsKK2dsLnVuaWZvcm0zaShpdmFsM0xvYywgNCwgNSwg
Nik7CitnbC51bmlmb3JtNGkoaXZhbDRMb2MsIDcsIDgsIDksIDEwKTsKK2dsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwg
aXZhbExvYyknLCAnMScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwgaXZh
bDJMb2MpJywgJ1syLCAzXScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwg
aXZhbDNMb2MpJywgJ1s0LCA1LCA2XScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJv
Z3JhbSwgaXZhbDRMb2MpJywgJ1s3LCA4LCA5LCAxMF0nKTsKKy8vIEZsb2F0IHVuaWZvcm0gdmFy
aWFibGVzCit2YXIgZmxvYXRQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIu
Li9yZXNvdXJjZXMvZmxvYXRVbmlmb3JtU2hhZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL25vb3BV
bmlmb3JtU2hhZGVyLmZyYWciKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKGZs
b2F0UHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3ZhciBmdmFsTG9jID0gZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKGZsb2F0UHJvZ3JhbSwgImZ2YWwiKTsKK3ZhciBmdmFsMkxvYyA9
IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihmbG9hdFByb2dyYW0sICJmdmFsMiIpOwordmFyIGZ2YWwz
TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGZsb2F0UHJvZ3JhbSwgImZ2YWwzIik7Cit2YXIg
ZnZhbDRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oZmxvYXRQcm9ncmFtLCAiZnZhbDQiKTsK
K2dsLnVzZVByb2dyYW0oZmxvYXRQcm9ncmFtKTsKK2dsLnVuaWZvcm0xZihmdmFsTG9jLCAxMSk7
CitnbC51bmlmb3JtMmYoZnZhbDJMb2MsIDEyLCAxMyk7CitnbC51bmlmb3JtM2YoZnZhbDNMb2Ms
IDE0LCAxNSwgMTYpOworZ2wudW5pZm9ybTRmKGZ2YWw0TG9jLCAxNywgMTgsIDE5LCAyMCk7Citn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3Jt
KGZsb2F0UHJvZ3JhbSwgZnZhbExvYyknLCAnMTEnKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3Jt
KGZsb2F0UHJvZ3JhbSwgZnZhbDJMb2MpJywgJ1sxMiwgMTNdJyk7CitzaG91bGRCZSgnZ2wuZ2V0
VW5pZm9ybShmbG9hdFByb2dyYW0sIGZ2YWwzTG9jKScsICdbMTQsIDE1LCAxNl0nKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRVbmlmb3JtKGZsb2F0UHJvZ3JhbSwgZnZhbDRMb2MpJywgJ1sxNywgMTgsIDE5
LCAyMF0nKTsKKy8vIFNhbXBsZXIgdW5pZm9ybSB2YXJpYWJsZXMKK3ZhciBzYW1wbGVyUHJvZ3Jh
bSA9IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGdsLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3Jt
U2hhZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL3NhbXBsZXJVbmlmb3JtU2hhZGVyLmZyYWciKTsK
K3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHNhbXBsZXJQcm9ncmFtLCBnbC5MSU5L
X1NUQVRVUyknLCAndHJ1ZScpOwordmFyIHMyRFZhbExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlv
bihzYW1wbGVyUHJvZ3JhbSwgInMyRCIpOwordmFyIHNDdWJlVmFsTG9jID0gZ2wuZ2V0VW5pZm9y
bUxvY2F0aW9uKHNhbXBsZXJQcm9ncmFtLCAic0N1YmUiKTsKK2dsLnVzZVByb2dyYW0oc2FtcGxl
clByb2dyYW0pOworZ2wudW5pZm9ybTFpKHMyRFZhbExvYywgMCk7CitnbC51bmlmb3JtMWkoc0N1
YmVWYWxMb2MsIDEpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitzaG91bGRC
ZSgnZ2wuZ2V0VW5pZm9ybShzYW1wbGVyUHJvZ3JhbSwgczJEVmFsTG9jKScsICcwJyk7CitzaG91
bGRCZSgnZ2wuZ2V0VW5pZm9ybShzYW1wbGVyUHJvZ3JhbSwgc0N1YmVWYWxMb2MpJywgJzEnKTsK
Ky8vIE1hdHJpeCB1bmlmb3JtIHZhcmlhYmxlcwordmFyIG1hdFByb2dyYW0gPSB3dHUubG9hZFBy
b2dyYW1Gcm9tRmlsZShnbCwgIi4uL3Jlc291cmNlcy9tYXRVbmlmb3JtU2hhZGVyLnZlcnQiLCAi
Li4vcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3Nob3VsZEJlKCdnbC5nZXRQ
cm9ncmFtUGFyYW1ldGVyKG1hdFByb2dyYW0sIGdsLkxJTktfU1RBVFVTKScsICd0cnVlJyk7Cit2
YXIgbXZhbDJMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24obWF0UHJvZ3JhbSwgIm12YWwyIik7
Cit2YXIgbXZhbDNMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24obWF0UHJvZ3JhbSwgIm12YWwz
Iik7Cit2YXIgbXZhbDRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24obWF0UHJvZ3JhbSwgIm12
YWw0Iik7CitnbC51c2VQcm9ncmFtKG1hdFByb2dyYW0pOworZ2wudW5pZm9ybU1hdHJpeDJmdiht
dmFsMkxvYywgZmFsc2UsIFsxLCAyLCAzLCA0XSk7CitnbC51bmlmb3JtTWF0cml4M2Z2KG12YWwz
TG9jLCBmYWxzZSwgWzUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzXSk7CitnbC51bmlmb3Jt
TWF0cml4NGZ2KG12YWw0TG9jLCBmYWxzZSwgWzE0LCAxNSwgMTYsIDE3LCAxOCwgMTksIDIwLCAy
MSwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5XSk7CitnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKG1hdFByb2dyYW0sIG12YWwy
TG9jKScsICdbMSwgMiwgMywgNF0nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKG1hdFByb2dy
YW0sIG12YWwzTG9jKScsICdbNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTNdJyk7CitzaG91
bGRCZSgnZ2wuZ2V0VW5pZm9ybShtYXRQcm9ncmFtLCBtdmFsNExvYyknLCAnWzE0LCAxNSwgMTYs
IDE3LCAxOCwgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5XScpOwor
CitkZWJ1ZygiIik7CitkZWJ1ZygidGVzdCBnZXRWZXJ0ZXhBdHRyaWIiKTsKK3ZhciBhcnJheSA9
IG5ldyBGbG9hdDMyQXJyYXkoWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIs
IDEzLCAxNCwgMTUsIDE2XSk7Cit2YXIgYnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CitnbC5i
aW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKK2dsLmJ1ZmZlckRhdGEoZ2wuQVJS
QVlfQlVGRkVSLCBhcnJheSwgZ2wuRFlOQU1JQ19EUkFXKTsKKy8vIFZlcnRleCBhdHRyaWJ1dGUg
MCBpcyBzcGVjaWFsIGluIHRoYXQgaXQgaGFzIG5vIGN1cnJlbnQgc3RhdGUsIHNvCisvLyBmZXRj
aGluZyBHTF9DVVJSRU5UX1ZFUlRFWF9BVFRSSUIgZ2VuZXJhdGVzIGFuIGVycm9yLiBVc2UgYXR0
cmlidXRlCisvLyAxIGZvciB0aGVzZSB0ZXN0cyBpbnN0ZWFkLgorZ2wuZW5hYmxlVmVydGV4QXR0
cmliQXJyYXkoMSk7CitnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDQsIGdsLkZMT0FULCBmYWxz
ZSwgMCwgMCk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRS
SUJfQVJSQVlfQlVGRkVSX0JJTkRJTkcpJywgJ2J1ZmZlcicpOworc2hvdWxkQmUoJ2dsLmdldFZl
cnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0VOQUJMRUQpJywgJ3RydWUnKTsK
K3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9T
SVpFKScsICc0Jyk7CisvLyBTdHJpZGUgTVVTVCBiZSB0aGUgdmFsdWUgdGhlIHVzZXIgcHV0IGlu
Lgorc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZ
X1NUUklERSknLCAnMCcpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJU
RVhfQVRUUklCX0FSUkFZX1RZUEUpJywgJ2dsLkZMT0FUJyk7CitzaG91bGRCZSgnZ2wuZ2V0VmVy
dGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfTk9STUFMSVpFRCknLCAnZmFsc2Un
KTsKK2dsLnZlcnRleEF0dHJpYlBvaW50ZXIoMSwgNCwgZ2wuRkxPQVQsIGZhbHNlLCAzNiwgMTIp
Oworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZ
X1NUUklERSknLCAnMzYnKTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoMSwg
Z2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9QT0lOVEVSKScsICcxMicpOworZ2wuZGlzYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDEpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJU
RVhfQVRUUklCX0FSUkFZX0VOQUJMRUQpJywgJ2ZhbHNlJyk7CitnbC52ZXJ0ZXhBdHRyaWI0Zigx
LCA1LCA2LCA3LCA4KTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuQ1VSUkVO
VF9WRVJURVhfQVRUUklCKScsICdbNSwgNiwgNywgOF0nKTsKK2dsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IpOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0VmVydGV4QXR0cmli
IiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVS
X0JJTkRJTkcsCisgICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0VOQUJMRUQsCisgICAgICBn
bC5WRVJURVhfQVRUUklCX0FSUkFZX1NJWkUsCisgICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZ
X1NUUklERSwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfVFlQRSwKKyAgICAgIGdsLlZF
UlRFWF9BVFRSSUJfQVJSQVlfTk9STUFMSVpFRCwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJS
QVlfU1RSSURFLAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9FTkFCTEVELAorICAgICAg
Z2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIp
IHsKKyAgICAgIHJldHVybiBnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgcGFyYW1ldGVyKTsKKyAgICB9
CispOwordmFyIG51bVZlcnRleEF0dHJpYnMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRF
WF9BVFRSSUJTKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwg
J2dsLmdldFZlcnRleEF0dHJpYignICsgbnVtVmVydGV4QXR0cmlicyArICcsIGdsLkNVUlJFTlRf
VkVSVEVYX0FUVFJJQiknKTsKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgY2FzZXMgd2hlcmUg
bmFtZSA9PSAwIik7CitnbC5kZWxldGVUZXh0dXJlKHRleHR1cmUpOworc2hvdWxkQmUoJ2dsLmdl
dEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1Jf
QVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpJywgJ2ds
Lk5PTkUnKTsKK2dsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpOworc2hvdWxkQmUo
J2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wu
REVQVEhfQVRUQUNITUVOVCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSkn
LCAnZ2wuTk9ORScpOworZ2wuZGVsZXRlQnVmZmVyKGJ1ZmZlcik7CitzaG91bGRCZU51bGwoJ2ds
LmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5H
KScpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2Nv
cHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTdkMGUzYmI4ZGQ3MTA2
NDMzMDcxZWU0MzUzY2E5YTljNjc3YTY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29w
eS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sCkBAIC0wLDAgKzEsMTgzIEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5WZXJpZnkgY29weVRleEltYWdlMkQgZm9sbG93cyBmb3JtYXQgcmVzdGlj
dGlvbnM8L3RpdGxlPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lk
dGg9IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXNOb0FscGhhIiB3
aWR0aD0iMiIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKworZnVuY3Rpb24gZ2V0Q2hhbm5lbHNGcm9tRm9ybWF0
KGZvcm1hdCkgeworICBzd2l0Y2ggKGdsW2Zvcm1hdF0pIHsKKyAgY2FzZSBnbC5BTFBIQToKKyAg
ICByZXR1cm4gMHgwMDAxOworICBjYXNlIGdsLkxVTUlOQU5DRToKKyAgY2FzZSBnbC5SR0I6Cisg
ICAgcmV0dXJuIDB4MTExMDsKKyAgY2FzZSBnbC5MVU1JTkFOQ0VfQUxQSEE6CisgIGNhc2UgZ2wu
UkdCQToKKyAgICByZXR1cm4gMHgxMTExOworICBkZWZhdWx0OgorICAgIHJldHVybiAwOworICB9
Cit9CisKK3ZhciBmb3JtYXRzID0gWworICAnQUxQSEEnLAorICAnTFVNSU5BTkNFJywKKyAgJ0xV
TUlOQU5DRV9BTFBIQScsCisgICdSR0InLAorICAnUkdCQScKK107CisKK3ZhciBnbCA9IG51bGw7
Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciBjYW52
YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Cit2YXIgY2FudmFzTm9BbHBo
YSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXNOb0FscGhhIik7Cit2YXIgZ2wgPSB3
dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywge2FscGhhOnRydWV9KTsKK3ZhciBnbE5vQWxwaGEg
PSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhc05vQWxwaGEsIHthbHBoYTpmYWxzZX0pOworCitk
ZWJ1ZygidGVzdCB3aXRoIGFuIFJHQkEgYmFja2J1ZmZlciIpOwordmFyIHByb2dyYW0gPSB3dHUu
c2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
IkR1cmluZyBJbml0aWFsaXphdGlvbiIpOwordGVzdEZvcm1hdHMoJ1JHQkEnKTsKKwordGVzdEJh
Y2tidWZmZXJGb3JtYXRzKCk7CisKK2RlYnVnKCJ0ZXN0IHdpdGggYW4gUkdCIGJhY2tidWZmZXIi
KTsKK3ZhciBnbCA9IGdsTm9BbHBoYTsKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRR
dWFkKGdsKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJEdXJpbmcgSW5pdGlh
bGl6YXRpb24iKTsKK3Rlc3RGb3JtYXRzKCdSR0InKTsKKworZnVuY3Rpb24gdGVzdEJhY2tidWZm
ZXJGb3JtYXRzKCkgeworICB2YXIgZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKTsKKyAgZ2wu
YmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworCisgIGZvciAodmFyIGlpID0g
MDsgaWkgPCBmb3JtYXRzLmxlbmd0aDsgKytpaSkgeworICAgIHZhciBiYWNrRm9ybWF0ID0gZm9y
bWF0c1tpaV07CisKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbFtiYWNrRm9ybWF0XSwgMiwgMiwgMCwgZ2xbYmFja0Zvcm1hdF0sIGdsLlVO
U0lHTkVEX0JZVEUsIG51bGwpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisKKyAg
ICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNI
TUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRleCwgMCk7CisgICAgdmFyIHN0YXR1cyA9IGdsLmNoZWNr
RnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpOworCisgICAgZGVidWcoJycpOworICAg
IGlmIChzdGF0dXMgPT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpIHsKKyAgICAgIGRlYnVnKCd0
ZXN0IHdpdGggJyArIGJhY2tGb3JtYXQgKyAnIGZibycpOworICAgICAgdGVzdEZvcm1hdHMoYmFj
a0Zvcm1hdCk7CisgICAgfSBlbHNlIHsKKyAgICAgIGRlYnVnKGJhY2tGb3JtYXQgKyAnIG5vdCBz
dXBwb3J0ZWQgYXMgYSByZW5kZXJidWZmZXIgYXR0YWNobWVudCcpOworICAgIH0KKyAgfQorfQor
CitmdW5jdGlvbiB0ZXN0Rm9ybWF0cyhiYWNrRm9ybWF0KSB7CisgIGZvciAodmFyIGlpID0gMDsg
aWkgPCBmb3JtYXRzLmxlbmd0aDsgKytpaSkgeworICAgIHRlc3RDb3B5VGV4SW1hZ2UyRChiYWNr
Rm9ybWF0LCBmb3JtYXRzW2lpXSk7CisgIH0KK30KKworZnVuY3Rpb24gdG9DaGFubmVscyh2YWx1
ZSkgeworICByZXR1cm4gKCh2YWx1ZSAmIDB4MTAwMCkgPyAnUicgOiAnXycpICsKKyAgICAgICAg
ICgodmFsdWUgJiAweDAxMDApID8gJ0cnIDogJ18nKSArCisgICAgICAgICAoKHZhbHVlICYgMHgw
MDEwKSA/ICdCJyA6ICdfJykgKworICAgICAgICAgKCh2YWx1ZSAmIDB4MDAwMSkgPyAnQScgOiAn
XycpOworfQorCitmdW5jdGlvbiB0ZXN0Q29weVRleEltYWdlMkQoYmFja0Zvcm1hdCwgdGV4Rm9y
bWF0KSB7CisgIHZhciBuZWVkID0gZ2V0Q2hhbm5lbHNGcm9tRm9ybWF0KHRleEZvcm1hdCk7Cisg
IHZhciBoYXZlID0gZ2V0Q2hhbm5lbHNGcm9tRm9ybWF0KGJhY2tGb3JtYXQpOworICB2YXIgc2hv
dWxkUGFzcyA9IChuZWVkICYgaGF2ZSkgPT0gbmVlZAorCisgIC8vZGVidWcoIm5lZWQ6ICIgKyB0
b0NoYW5uZWxzKG5lZWQpKTsKKyAgLy9kZWJ1ZygiaGF2ZTogIiArIHRvQ2hhbm5lbHMoaGF2ZSkp
OworICAvL2RlYnVnKCJib3RoOiAiICsgdG9DaGFubmVscyhoYXZlICYgbmVlZCkpOworCisgIC8v
IGNsZWFyIGJhY2tidWZmZXIKKyAgZ2wuY2xlYXJDb2xvcigwLjI1LCAxLCAwLjc1LCAwLjUpOwor
ICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworICB2YXIgdGV4dHVyZSA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgLy8gQmluZCB0aGUgdGV4dHVyZSB0byB0ZXh0dXJlIHVuaXQgMAor
ICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgZ2wudGV4UGFyYW1l
dGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOwor
ICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwg
Z2wuTkVBUkVTVCk7CisKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2xb
dGV4Rm9ybWF0XSwgMCwgMCwgMiwgMiwgMCk7CisgIGlmICghc2hvdWxkUGFzcykgeworICAgIGds
RXJyb3JTaG91bGRCZSgKKyAgICAgICAgZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAg
ICAic2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNvcHlUZXhJbWFnZTJEICIgKyB0ZXhGb3JtYXQgKyAi
IGZyb20gIiArIGJhY2tGb3JtYXQpOworICAgIHJldHVybjsKKyAgfQorCisgIGdsRXJyb3JTaG91
bGRCZSgKKyAgICAgIGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICJzaG91bGQgYmUgYWJsZSB0byBj
b3B5VGV4SW1hZ2UyRCAiICsgdGV4Rm9ybWF0ICsgIiBmcm9tICIgKyBiYWNrRm9ybWF0KTsKKwor
ICAvLyBEcmF3CisgIHd0dS5kcmF3UXVhZChnbCk7CisKKyAgdmFyIGV4cGVjdGVkQ29sb3JzID0g
eworICAgICdBTFBIQSc6IFswLCAwLCAwLCAxMjddLAorICAgICdMVU1JTkFOQ0UnOiBbNjQsIDY0
LCA2NCwgMjU1XSwKKyAgICAnTFVNSU5BTkNFX0FMUEhBJzogWzY0LCA2NCwgNjQsIDEyN10sCisg
ICAgJ1JHQic6IFs2NCwgMjU1LCAxOTEsIDI1NV0sCisgICAgJ1JHQkEnOiBbNjQsIDI1NSwgMTkx
LCAxMjddCisgIH07CisKKyAgdmFyIGNvbG9yID0gZXhwZWN0ZWRDb2xvcnNbdGV4Rm9ybWF0XTsK
KworICB3dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yLCAic2hvdWxkIGJlICIgKyBjb2xvciwgMTYp
OworCisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJy
b3JzIik7Cit9Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGMwYzQ1MTRmNjkxZTAy
NWM1MTJhYjU4Y2VmZTA5N2RiNDM3MTkyNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2ds
LXBpeGVsc3RvcmVpLmh0bWwKQEAgLTAsMCArMSwxMTkgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHBpeGVsU3RvcmVpIFRlc3Q8L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFu
dHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8
Y2FudmFzIGlkPSIyZDAwIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPGNhbnZh
cyBpZD0iMmQwMSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9
IjJkMDIiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSIyZDAz
IiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0
eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247Cit2b2lk
IG1haW4oKSB7CisgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworfQorPC9zY3JpcHQ+CisKKzxz
Y3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgordm9pZCBtYWlu
KCkgeworICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEuMCwwLjAsMC4wLDEuMCk7Cit9Cis8L3Njcmlw
dD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIGluaXQoKSB7CisgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZHJhd0ltYWdlIGFuZCByZWFkUGl4ZWxzIGFy
ZSBub3QgZWZmZWN0ZWQgYnkgZ2wuUGl4ZWxzdG9yZWkoZ2wuUEFDS19BTElHTk1FTlQpIGFuZCB2
aXNhIHZlcnNhIik7CisKKyAgZGVidWcoIlRoZXJlIHNob3VsZCBiZSA1IHJlZCB0cmlhbmdsZXMg
b24gNSBibGFjayBzcXVhcmVzIGFib3ZlIik7CisgIGRlYnVnKCIiKTsKKworICB2YXIgd3R1ID0g
V2ViR0xUZXN0VXRpbHM7CisgIHZhciBjYW52YXMzZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJleGFtcGxlIik7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsK
KyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRl
ciJdLCBbInZQb3NpdGlvbiJdKTsKKworICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVm
ZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOwor
ICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbIDAsMC41
LDAsIC0wLjUsLTAuNSwwLCAwLjUsLTAuNSwwIF0pLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLmVu
YWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMs
IGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywg
MCwgMyk7CisKKyAgZnVuY3Rpb24gY2hlY2tEYXRhKGN0eCwgbmFtZSkgeworICAgIC8vIFRlc3Qg
c2V2ZXJhbCBsb2NhdGlvbnMKKyAgICAvLyBGaXJzdCBsaW5lIHNob3VsZCBiZSBhbGwgYmxhY2sK
KyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwgMCwgMCwgNTAsIDEsIFswLCAwLCAwLCAwXSk7
CisKKyAgICAvLyBMaW5lIDI1IHNob3VsZCBiZSByZWQgZm9yIGF0IGxlYXN0IDYgcmVkIHBpeGVs
cyBzdGFydGluZyAyMiBwaXhlbHMgaW4KKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwgMjIs
IDI1LCA2LCAxLCBbMjU1LCAwLCAwLCAyNTVdKTsKKworICAgIC8vIExhc3QgbGluZSBzaG91bGQg
YmUgYWxsIGJsYWNrCisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChjdHgsIDAsIDQ5LCA1MCwgMSwg
WzAsIDAsIDAsIDBdKTsKKyAgfQorCisgIHZhciBjdHgyZDsKKworICBmdW5jdGlvbiBjaGVja0Nv
bG9ycygpIHsKKyAgICBjaGVja0RhdGEoZ2wsICIzZCBjb250ZXh0Iik7CisgICAgY2hlY2tEYXRh
KGN0eDJkLCAiMmQgY29udGV4dCIpOworICB9CisKKyAgdmFyIHRhYmxlID0gWzEsIDIsIDQsIDhd
OworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGFibGUubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wu
cGl4ZWxTdG9yZWkoZ2wuUEFDS19BTElHTk1FTlQsIHRhYmxlW2lpXSk7CisgICAgY3R4MmQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiMmQwIiArIGlpKS5nZXRDb250ZXh0KCIyZCIpOworICAg
IGN0eDJkLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKKyAgICBjdHgyZC5kcmF3
SW1hZ2UoY2FudmFzM2QsIDAsIDApOworICAgIGNoZWNrQ29sb3JzKCk7CisgICAgYXNzZXJ0TXNn
KGdsLmdldFBhcmFtZXRlcihnbC5QQUNLX0FMSUdOTUVOVCkgPT0gdGFibGVbaWldLAorICAgICAg
ICAiUEFDS19BTElHTk1FTlQgaXMgIiArIHRhYmxlW2lpXSk7CisgIH0KK30KKworaW5pdCgpOwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDE4
NWI1ZDJiMTUzZjFkOTQ5ZjVkZjQ3Y2EzNmZkYWU1NjFlNTgwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwKQEAgLTAsMCArMSwxNTcgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIE9y
aWdpbiBSZXN0cmljdGlvbnMgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9
InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUg
PSBXZWJHTFRlc3RVdGlsczsKKy8vIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgbGFzdCAyIHdv
cmRzIG9mIHRoZSBkb21haW4gb2YgYSBVUkwKKy8vIFRoaXMgaXMgcHJvYmFibHkgbm90IHRoZSBj
b3JyZWN0IGNoZWNrIGJ1dCBpdCB3aWxsIGRvIGZvciBub3cuCitmdW5jdGlvbiBnZXRCYXNlRG9t
YWluKHN0cikgeworICBzdHIgPSBzdHIucmVwbGFjZSgiXFwiLCAiLyIpOworICB2YXIgcG9zID0g
c3RyLmluZGV4T2YoIjovLyIpOworICBpZiAocG9zID49IDApIHsKKyAgICBzdHIgPSBzdHIuc3Vi
c3RyKHBvcyArIDMpOworICB9CisgIHZhciBwYXJ0cyA9IHN0ci5zcGxpdCgnLycpOworICB2YXIg
ZG9tYWluID0gcGFydHNbMF0ubWF0Y2goL1x3K1wuXHcrJC8pOworICByZXR1cm4gZG9tYWluIHx8
ICcnOworfQorCisvLyBDaGVja3MgaWYgZnVuY3Rpb24gdGhyb3dzIGFuIGV4Y2VwdGlvbi4KK2Z1
bmN0aW9uIGNhdXNlZEV4Y2VwdGlvbihmdW5jKSB7CisgIHZhciBoYWRFeGNlcHRpb24gPSBmYWxz
ZTsKKyAgdHJ5IHsKKyAgICBmdW5jKCk7CisgIH0gY2F0Y2goZSkgeworICAgIGhhZEV4Y2VwdGlv
biA9IHRydWU7CisgIH0KKyAgcmV0dXJuIGhhZEV4Y2VwdGlvbjsKK30KKwordmFyIGltZ0RvbWFp
bjsKK3ZhciBwYWdlRG9tYWluOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZDsKKword2luZG93Lm9u
bG9hZCA9IGZ1bmN0aW9uKCkgeworICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2Vi
R0wgaW1wbGVtZW50YXRpb25zIGZvbGxvdyBwcm9wZXIgc2FtZS1vcmlnaW4gcmVzdHJpY3Rpb25z
LiIpOworICB2YXIgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltZyIpOworICBhc3Nl
cnRNc2coaW1nLndpZHRoID4gMCAmJiBpbWcuaGVpZ2h0ID4gMCwgImltZyB3YXMgbG9hZGVkIik7
CisgIGltZ0RvbWFpbiA9IGdldEJhc2VEb21haW4oaW1nLnNyYyk7CisgIHBhZ2VEb21haW4gPSBn
ZXRCYXNlRG9tYWluKHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpKTsKKyAgYXNzZXJ0TXNnKGlt
Z0RvbWFpbiAhPSBwYWdlRG9tYWluLAorICAgICAgICAgICAgImltZyBkb21haW4gKCIgKyBpbWdE
b21haW4gKyAiKSBhbmQgcGFnZSBkb21haW4gKCIgKyBwYWdlRG9tYWluICsgIikgYXJlIG5vdCB0
aGUgc2FtZS4iKTsKKworICBmdW5jdGlvbiBtYWtlVGV4SW1hZ2UyRChnbCwgc3JjKSB7CisgICAg
cmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBzcmMpOworICAgIH07CisgIH0K
KworICBmdW5jdGlvbiBtYWtlVGV4U3ViSW1hZ2UyRChnbCwgc3JjKSB7CisgICAgcmV0dXJuIGZ1
bmN0aW9uKCkgeworICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAw
LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBzcmMpOworICAgIH07CisgIH0KKworICBmdW5j
dGlvbiBtYWtlUmVhZFBpeGVscyhnbCkgeworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAg
IHZhciBidWYgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwg
MSwgMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICB9OworICB9CisKKyAg
ZnVuY3Rpb24gbWFrZVRvRGF0YVVSTChjYW52YXMpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7
CisgICAgICB2YXIgZGF0YSA9IGNhbnZhcy50b0RhdGFVUkwoKTsKKyAgICB9CisgIH0KKworICB2
YXIgY2FudmFzMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMxIik7CisgIHZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzMSk7CisKKyAgZGVidWcoIiIpOworICBkZWJ1
ZygiY2hlY2sgdGhhdCBhbiBhdHRlbXB0IHRvIHVwbG9hZCBhbiBpbWFnZSBmcm9tIGFub3RoZXIg
b3JpZ2luIHRocm93cyBhbiBleGNlcHRpb24uIik7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0
dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMjU2LCAyNTYsIDAsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIG51bGwpOworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1ha2VU
ZXhJbWFnZTJEKGdsLCBpbWcpKSwKKyAgICAgICAgICAgICJ0ZXhJbWFnZTJEIHdpdGggY3Jvc3Mt
b3JpZ2luIGltYWdlIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIik7CisgIGFzc2VydE1zZyhjYXVz
ZWRFeGNlcHRpb24obWFrZVRleFN1YkltYWdlMkQoZ2wsIGltZykpLAorICAgICAgICAgICAgInRl
eFN1YkltYWdlMkQgd2l0aCBjcm9zcy1vcmlnaW4gaW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlv
bi4iKTsKKworICBkZWJ1ZygiY2hlY2sgdGhhdCByZWFkUGl4ZWxzIGFuZCB0b0RhdGFVUkwgY29u
dGludWUgdG8gd29yayBhZ2FpbnN0IHRoaXMgY2FudmFzLiIpOworICBhc3NlcnRNc2coIWNhdXNl
ZEV4Y2VwdGlvbihtYWtlUmVhZFBpeGVscyhnbCkpLAorICAgICAgICAgICAgInJlYWRQaXhlbHMg
c2hvdWxkIG5ldmVyIHRocm93IGV4Y2VwdGlvbiAtLSBub3QgcG9zc2libGUgdG8gZGlydHkgb3Jp
Z2luIG9mIFdlYkdMIGNhbnZhcy4iKTsKKyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRpb24obWFr
ZVRvRGF0YVVSTChjYW52YXMxKSksCisgICAgICAgICAgICAic2hvdWxkIG5vdCB0aHJvdyBleGNl
cHRpb24gYnkgdG9EYXRhVVJMIGZvciBXZWJHTCBjYW52YXMsIHdoaWNoIHNob3VsZCBzdGF5IG9y
aWdpbiBjbGVhbi4iKTsKKworICBkZWJ1ZygiY2hlY2sgdGhhdCBhbiBhdHRlbXB0IHRvIHVwbG9h
ZCBhIHRhaW50ZWQgY2FudmFzIHRocm93cyBhbiBleGNlcHRpb24uIik7CisgIHZhciBjYW52YXMy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczIiKTsKKyAgdmFyIGN0eDJkID0gY2Fu
dmFzMi5nZXRDb250ZXh0KCIyZCIpOworICBjdHgyZC5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsKKyAg
YXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlVG9EYXRhVVJMKGNhbnZhczIpKSwKKyAgICAg
ICAgICAgICJzaG91bGQgdGhyb3cgZXhjZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3IgTk9OIG9yaWdp
biBjbGVhbiBjYW52YXMuIik7CisgIGFzc2VydE1zZyhjYXVzZWRFeGNlcHRpb24obWFrZVRleElt
YWdlMkQoZ2wsIGNhbnZhczIpKSwKKyAgICAgICAgICAgICJ0ZXhJbWFnZTJEIHdpdGggTk9OIG9y
aWdpbiBjbGVhbiBjYW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iKTsKKyAgYXNzZXJ0TXNn
KGNhdXNlZEV4Y2VwdGlvbihtYWtlVGV4U3ViSW1hZ2UyRChnbCwgY2FudmFzMikpLAorICAgICAg
ICAgICAgInRleFN1YkltYWdlMkQgd2l0aCBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcyBzaG91bGQg
dGhyb3cgZXhjZXB0aW9uLiIpOworCisgIGRlYnVnKCJjaGVjayB0aGF0IHJlYWRQaXhlbHMgYW5k
IHRvRGF0YVVSTCBjb250aW51ZSB0byB3b3JrIGFnYWluc3QgdGhpcyBjYW52YXMuIik7CisgIGFz
c2VydE1zZyghY2F1c2VkRXhjZXB0aW9uKG1ha2VSZWFkUGl4ZWxzKGdsKSksCisgICAgICAgICAg
ICAicmVhZFBpeGVscyBzaG91bGQgbmV2ZXIgdGhyb3cgZXhjZXB0aW9uIC0tIG5vdCBwb3NzaWJs
ZSB0byBkaXJ0eSBvcmlnaW4gb2YgV2ViR0wgY2FudmFzLiIpOworICBhc3NlcnRNc2coIWNhdXNl
ZEV4Y2VwdGlvbihtYWtlVG9EYXRhVVJMKGNhbnZhczEpKSwKKyAgICAgICAgICAgICJzaG91bGQg
bm90IHRocm93IGV4Y2VwdGlvbiBieSB0b0RhdGFVUkwgZm9yIFdlYkdMIGNhbnZhcywgd2hpY2gg
c2hvdWxkIHN0YXkgb3JpZ2luIGNsZWFuLiIpOworCisgIC8vIFRPRE86IFNob3VsZCBjaGVjayB2
aWRlby4KKyAgLy8gVE9ETzogU2hvdWxkIGNoZWNrIENPUlMgc3VwcG9ydC4KKworICBkZWJ1Zygi
Iik7CisgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgIHNob3VsZEJlVHJ1ZSgic3VjY2Vz
c2Z1bGx5UGFyc2VkIik7CisgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBD
T01QTEVURTwvc3Bhbj4nKTsKKyAgbm90aWZ5RmluaXNoZWRUb0hhcm5lc3MoKTsKK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhczEiPjwvY2FudmFzPgorPGNh
bnZhcyBpZD0iY2FudmFzMiI+PC9jYW52YXM+Cis8aW1nIGlkPSJpbWciIHNyYz0iaHR0cDovL3d3
dy5vcGVuZ2wub3JnL2ltZy9vcGVuZ2xfbG9nby5qcGciIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDg5MDhk
OGQ3OWU5ZjNlMGE2ZjhhZWQ0MzM4MGU5Yjk5MjVlZDNiNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1s
CkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtY2FudmFzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Citm
dW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQiIsICJVTlNJR05FRF9T
SE9SVF81XzZfNSIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0
aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0
NC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZmQzOGVkMzUwNWM3MjcwZjIwOGE2NWU0Mzg4ZmQ4
OGZlNGFhNDJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGds
KSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzRfNF80XzQiLCB0ZXN0UHJv
bG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48
L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTkwYTM4YTA2NjAwNGE0YTRlMzIwMTVhNTE5ZTdkZDg3MGM2OGE1MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYmE1NTUxLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1
c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVl
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdC
QSIsICJVTlNJR05FRF9TSE9SVF81XzVfNV8xIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMg
aWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1MjMyYjFmMzA3ZGU5YWQyNGU3MDNmMTM2NjcwOWUy
MTI1NGY2MWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWNhbnZhcy5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0
ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfQllURSIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFz
IGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLXJnYjU2NS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTAyNWIxODVkNGE0MDJkZTEz
ZDExMTc0YjI1NTZhNDZlNDNhMjVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbApAQCAtMCwwICsxLDQ5
IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJv
bG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQiIsICJVTlNJR05FRF9TSE9SVF81XzZfNSIsICIu
LiIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhl
aWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2MzM2I0ODJkODM5MTQ4YjhlM2YzMzk0ZThmNzIyZGE1OThmY2E1OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRl
c3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNF80XzRfNCIsICIuLiIsIHRlc3RQcm9sb2d1ZSko
KSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFz
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA0
MDU1NGM1MTUzMDhjNjFiZmM1ZDhjZmJkNmQzNTk4OTIzNzM4OQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEu
aHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWltYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7
CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdO
RURfU0hPUlRfNV81XzVfMSIsICIuLiIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJl
eGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzRmMmQ1NWQzNDliMGIzMmU3Y2ViYjQzM2U5ZjZkZjNjNjVmODNk
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtaW1hZ2UuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJH
QkEiLCAiVU5TSUdORURfQllURSIsICIuLiIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlk
PSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LXZpZGVvLXJnYjU2NS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby1yZ2I1NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYWMxMWUyNjk2YzJiMzRhNTk5ZmM3
YWRlZjYzZmM5Y2ZmOTQyZmMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbApAQCAtMCwwICsxLDQ5IEBA
Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5j
LgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29y
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRv
IGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoq
IHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn
ZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGll
cyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl
IE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k
IHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3Bp
ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUg
TUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiog
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBP
RiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBP
UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhF
UiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9n
dWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQiIsICJVTlNJR05FRF9TSE9SVF81XzZfNSIsIHRlc3RQ
cm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIi
PjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZGE5MTFhYTAzNzZjZWZkOTViYTdlNjA2N2ExNDlkNGNiYTY3ODZkYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiYTQ0NDQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNl
IHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEi
LCAiVU5TSUdORURfU0hPUlRfNF80XzRfNCIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlk
PSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LXZpZGVvLXJnYmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjdlZjYyZmY3ZDhmYmMxZDZj
N2Q5MmQ5MmYyNmQ1NjkyNzdlYWU1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbApAQCAtMCwwICsx
LDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3Jv
dXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxz
IiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5
LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxs
IGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdo
b20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFs
bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisq
KiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J
VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD
VElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9V
VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBP
UiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0
UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNV81XzVf
MSIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhl
aWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjVj
NGE3ZjUzNGI2OWJmYjlmZDhlMjRhNzNkNDAzMzUwNGY2OTA5YQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbApAQCAt
MCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlv
biB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfQllURSIs
IHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdo
dD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQt
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI5OTYyMjE1YzhhYzI1ZjRiNjgzYWE4NzRmM2RkMTcxYzY3M2Rh
MDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRt
bApAQCAtMCwwICsxLDE5MiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKyAgICA8dGl0bGU+V2ViR0wgQWN0aXZlVGV4dHVyZSBCaW5kVGV4dHVyZSBjb25mb3Jt
YW5jZSB0ZXN0ICMyPC90aXRsZT4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBzdHlsZT0id2lk
dGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iY2FudmFzMmQi
IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+
PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4K
K3VuaWZvcm0gbWF0NCB3b3JsZDsKK2F0dHJpYnV0ZSB2ZWMzIHZQb3NpdGlvbjsKK2F0dHJpYnV0
ZSB2ZWMyIHRleENvb3JkMDsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7
CisgIGdsX1Bvc2l0aW9uID0gd29ybGQgKiB2ZWM0KHZQb3NpdGlvbiwgMSk7CisgIHRleENvb3Jk
ID0gdGV4Q29vcmQwOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMmQiIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZv
cm0gc2FtcGxlcjJEIHRleDJkOwordmFyeWluZyB2ZWMyIHRleENvb3JkOwordm9pZCBtYWluKCkK
K3sKKyAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVyZTJEKHRleDJkLCB0ZXhDb29yZCk7Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJDdWJlIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50
Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBsZXJDdWJlIHRleEN1
YmU7Cit2b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlQ3ViZSh0ZXhDdWJl
LCB2ZWMzKDAsMSwwKSk7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
K2Z1bmN0aW9uIGluaXQoKQoreworICBkZXNjcmlwdGlvbigKKyAgICAgICJUZXN0cyB0aGF0IGJp
bmRpbmcgYm90aCBURVhUVVJFXzJEIGFuZCBURVhUVVJFX0NVQkVfTUFQIHRvIHRoZSBzYW1lIiAr
CisgICAgICAiYWN0aXZlIHRleHR1cmUgdW5pdCB3b3JrcyBhcyBsb25nIGFzIHRoZXkgYXJlIG5v
dCB1c2VkIiArCisgICAgICAic2ltdWx0YW5lb3VzbHkgaW4gdGhlIHNhbWUgc2hhZGVyIHByb2dy
YW0uIik7CisKKyAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
czJkIik7CisgIHZhciBjdHgyZCA9IGNhbnZhczJkLmdldENvbnRleHQoIjJkIik7CisgIGN0eDJk
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICJjb3B5IjsKKworICB2YXIgd3R1ID0gV2ViR0xU
ZXN0VXRpbHM7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKyAg
dmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgICAgZ2wsIFsidnNoYWRlciIsICJm
c2hhZGVyMmQiXSwgWyJ2UG9zaXRpb24iLCAidGV4Q29vcmQwIl0pOworCisgIHZhciBwcm9ncmFt
MmQgPSBwcm9ncmFtOworICB2YXIgcHJvZ3JhbUN1YmUgPSB3dHUuc2V0dXBQcm9ncmFtKAorICAg
ICAgZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyQ3ViZSJdLCBbInZQb3NpdGlvbiIsICJ0ZXhDb29y
ZDAiXSk7CisKKyAgdmFyIHZlcnRleE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5i
aW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVyRGF0
YSgKKyAgICAgIGdsLkFSUkFZX0JVRkZFUiwKKyAgICAgIG5ldyBGbG9hdDMyQXJyYXkoWy0xLCAx
LDAsIDEsMSwwLCAtMSwtMSwwLAorICAgICAgICAgICAgICAgICAgICAgICAgLTEsLTEsMCwgMSwx
LDAsICAxLC0xLDBdKSwKKyAgICAgIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wuZW5hYmxlVmVydGV4
QXR0cmliQXJyYXkoMCk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQs
IGZhbHNlLCAwLCAwKTsKKworICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7
CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICBnbC5i
dWZmZXJEYXRhKAorICAgICAgZ2wuQVJSQVlfQlVGRkVSLAorICAgICAgbmV3IEZsb2F0MzJBcnJh
eShbIDAsMCwgMSwwLCAwLDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgMCwxLCAxLDAsIDEs
MV0pLAorICAgICAgZ2wuU1RBVElDX0RSQVcpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJh
eSgxKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigxLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAs
IDApOworCisgIC8vIE1ha2UgdGV4dHVyZSB1bml0IDEgYWN0aXZlLgorICBnbC5hY3RpdmVUZXh0
dXJlKGdsLlRFWFRVUkUxKTsKKworICAvLyBNYWtlIGEgMmQgdGV4dHVyZQorICB2YXIgdGV4MmQg
PSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRl
eDJkKTsKKyAgY3R4MmQuZmlsbFN0eWxlID0gInJnYmEoMCwgMCwgMjU1LCAyNTUpIjsKKyAgY3R4
MmQuZmlsbFJlY3QoMCwgMCwgMSwgMSk7CisgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzMmQpOworCisgIC8v
IG1ha2UgYSBjdWJlIHRleHR1cmUKKyAgdmFyIHRleEN1YmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7
CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRleEN1YmUpOworICBjdHgy
ZC5maWxsU3R5bGUgPSAicmdiYSgyNTUsIDAsIDI1NSwgMjU1KSI7CisgIGN0eDJkLmZpbGxSZWN0
KDAsIDAsIDEsIDEpOworICB2YXIgdGFyZ2V0cyA9IFsKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQ
X1BPU0lUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgIGds
LlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05F
R0FUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgIGdsLlRF
WFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWl07CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0YXJn
ZXRzLmxlbmd0aDsgKytpaSkgeworICAgIGdsLnRleEltYWdlMkQodGFyZ2V0c1tpaV0sIDAsIGds
LlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZhczJkKTsKKyAgfQorCisgIC8v
IFNldHVwIHByb2dyYW0yZCBhbmQgcHJvZ3JhbUN1YmUKKyAgdmFyIHRleDJkTG9jID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0yZCwgInRleDJkIik7CisgIHZhciB3b3JsZDJkTG9jID0g
Z2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0yZCwgIndvcmxkIik7CisgIHZhciB0ZXhDdWJl
TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1DdWJlLCAidGV4Q3ViZSIpOworICB2
YXIgd29ybGRDdWJlTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1DdWJlLCAid29y
bGQiKTsKKworICBnbC51c2VQcm9ncmFtKHByb2dyYW0yZCk7CisgIGdsLnVuaWZvcm0xaSh0ZXgy
ZExvYywgMSk7CisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbUN1YmUpOworICBnbC51bmlmb3JtMWko
dGV4Q3ViZUxvYywgMSk7CisKKyAgZ2wuY2xlYXJDb2xvcigxLDAsMCwxKTsKKyAgZ2wuY2xlYXIo
Z2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworCisgIHZhciBwcm9n
cmFtcyA9IFtwcm9ncmFtMmQsIHByb2dyYW1DdWJlXTsKKyAgdmFyIHdvcmxkTG9jcyA9IFt3b3Js
ZDJkTG9jLCB3b3JsZEN1YmVMb2NdOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgNDsgKytpaSkg
eworICAgIHZhciB4ID0gaWkgJSAyOworICAgIHZhciB5ID0gTWF0aC5mbG9vcihpaSAvIDIpOwor
ICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbXNbeF0pOworICAgIGdsLnVuaWZvcm1NYXRyaXg0ZnYo
CisgICAgICAgIHdvcmxkTG9jc1t4XSwgZmFsc2UsCisgICAgICAgIFswLjUsIDAsIDAsIDAsCisg
ICAgICAgICAwLCAwLjUsIDAsIDAsCisgICAgICAgICAwLCAwLCAxLCAwLAorICAgICAgICAgLTAu
NSArIHgsIC0wLjUgKyB5LCAwLCAxXSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDAsIDYpOworICB9CisKKyAgdmFyIGNvbG9ycyA9IFsKKyAgICAgIFswLDAsMjU1LDI1NV0sCisg
ICAgICBbMjU1LDAsMjU1LDI1NV0sCisgICAgICBbMCwwLDI1NSwyNTVdLAorICAgICAgWzI1NSww
LDI1NSwyNTVdXTsKKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgY29sb3JzLmxlbmd0aDsgKytp
aSkgeworICAgIHZhciBjID0gY29sb3JzW2lpXTsKKyAgICB2YXIgeCA9IGlpICUgMjsKKyAgICB2
YXIgeSA9IE1hdGguZmxvb3IoaWkgLyAyKTsKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCB4
LCB5LCAxLCAxLCBjKTsKKyAgfQorfQorCitpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZl
LWJpbmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjlhNzkyMTU0ODRhNWI5ZDA4ZWM4MmRiZGM1YjE5MzZi
OWYyM2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5o
dG1sCkBAIC0wLDAgKzEsMTU3IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBBY3RpdmVUZXh0dXJlIEJpbmRUZXh0dXJlIGNvbmZvcm1hbmNl
IHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBs
ZSIgd2lkdGg9IjIiIGhlaWdodD0iMiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7
Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImNhbnZhczJkIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBz
dHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2
c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+Cit1bmlmb3JtIG1hdDQgd29ybGQ7Cith
dHRyaWJ1dGUgdmVjMyB2UG9zaXRpb247CithdHRyaWJ1dGUgdmVjMiB0ZXhDb29yZDA7Cit2YXJ5
aW5nIHZlYzIgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICBnbF9Qb3NpdGlvbiA9IHdvcmxk
ICogdmVjNCh2UG9zaXRpb24sIDEpOworICB0ZXhDb29yZCA9IHRleENvb3JkMDsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciBnbDsKKworZnVuY3Rpb24gaW5pdCgp
Cit7CisgIGRlc2NyaXB0aW9uKAorICAgICAgIlRlc3RzIHRoYXQgZ2xBY3RpdmVUZXh0dXJlIGFu
ZCBnbEJpbmRUZXh0dXJlIHdvcmsgYXMgZXhwZWN0ZWQiICsKKyAgICAgICJTcGVjaWZpY2FsbHkg
dGV4dHVyZSB0YXJnZXRzIGFyZSBwZXIgYWN0aXZlIHRleHR1cmUgdW5pdC4iKTsKKworICB2YXIg
Y2FudmFzMmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMmQiKTsKKyAgdmFyIGN0
eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKworICB2YXIgd3R1ID0gV2ViR0xUZXN0
VXRpbHM7CisgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworICB2YXIgcHJv
Z3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oCisgICAgICBnbCwKKyAgICAgIFsidnNoYWRlciIsIHd0
dS5zZXR1cFNpbXBsZVRleHR1cmVGcmFnbWVudFNoYWRlcihnbCldLAorICAgICAgWyd2UG9zaXRp
b24nLCAndGV4Q29vcmQwJ10pOworICB3dHUuc2V0dXBVbml0UXVhZChnbCk7CisgIGdsLmRpc2Fi
bGUoZ2wuREVQVEhfVEVTVCk7CisgIGdsLmRpc2FibGUoZ2wuQkxFTkQpOworICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICB2YXIgY29sb3JzID0gWworICAgICAgWzAsMTky
LDEyOCwyNTVdLAorICAgICAgWzEyOCw2NCwyNTUsMjU1XSwKKyAgICAgIFsxOTIsMjU1LDY0LDI1
NV0sCisgICAgICBbMjAwLDAsMjU1LDI1NV1dOworCisgIC8vIE1ha2UgNCB0ZXh0dXJlcyBieSB1
c2luZyA0IGFjdGl2ZSB0ZXh0dXJlIHVuaXRzIGlmIGF2YWlsYWJsZS4KKyAgdmFyIHRleHVuaXRz
ID0gTWF0aC5taW4oY29sb3JzLmxlbmd0aCwgZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9DT01CSU5F
RF9URVhUVVJFX0lNQUdFX1VOSVRTKSkKKyAgdmFyIHRleHR1cmVzID0gW107CisgIGZvciAodmFy
IGlpID0gMDsgaWkgPCB0ZXh1bml0czsgKytpaSkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVU
ZXh0dXJlKCk7CisgICAgZ2wuYWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMCArIGlpKTsKKyAgICBn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIHRleHR1cmVzW2lpXSA9IHRl
eDsKKyAgfQorICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICAvLyBub3cg
dXNlIGVhY2ggdGV4dHVyZSB1bml0IHRvIHdyaXRlIGludG8gdGhlIHRleHR1cmVzLAorICBmb3Ig
KHZhciBpaSA9IDA7IGlpIDwgdGV4dW5pdHM7ICsraWkpIHsKKyAgICB2YXIgYyA9IGNvbG9yc1tp
aV07CisgICAgY3R4MmQuZmlsbFN0eWxlID0KKyAgICAgICAgInJnYmEoIiArIGNbMF0gKyAiLCIg
KyBjWzFdICsgIiwiICsgY1syXSArICIsIiArIGNbM10gKyAiKSI7CisgICAgY3R4MmQuZmlsbFJl
Y3QoMCwgMCwgMSwgMSk7CisgICAgZ2wuYWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMCArIGlpKTsK
KyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIGNhbnZhczJkKTsKKyAgfQorICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SKTsKKworICB2YXIgdGV4dHVyZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihw
cm9ncmFtLCAidGV4Iik7CisgIHZhciB3b3JsZExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihw
cm9ncmFtLCAid29ybGQiKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisK
KyAgZ2wuY2xlYXJDb2xvcigxLDAsMCwxKTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXh1
bml0czsgKytpaSkgeworICAgIHZhciB4ID0gaWkgJSAyOworICAgIHZhciB5ID0gTWF0aC5mbG9v
cihpaSAvIDIpOworICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCBpaSk7CisgICAgZ2wudW5p
Zm9ybU1hdHJpeDRmdigKKyAgICAgICAgd29ybGRMb2MsIGZhbHNlLAorICAgICAgICBbMC41LCAw
LCAwLCAwLAorICAgICAgICAgMCwgMC41LCAwLCAwLAorICAgICAgICAgMCwgMCwgMSwgMCwKKyAg
ICAgICAgIC0wLjUgKyB4LCAtMC41ICsgeSwgMCwgMV0pOworICAgIGdsLmRyYXdBcnJheXMoZ2wu
VFJJQU5HTEVTLCAwLCA2KTsKKyAgfQorICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
KTsKKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGV4dW5pdHM7ICsraWkpIHsKKyAgICB2YXIg
YyA9IGNvbG9yc1tpaV07CisgICAgdmFyIHggPSBpaSAlIDI7CisgICAgdmFyIHkgPSBNYXRoLmZs
b29yKGlpIC8gMik7CisgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KDQpOworICAgIGdsLnJl
YWRQaXhlbHMoeCwgeSwgMSwgMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAg
ICB2YXIgbXNnID0gJ2V4cGVjdGVkOicgKworICAgICAgICBjWzBdICsgJywgJyArIGNbMV0gKyAn
LCAnICsgY1syXSArICcsICcgKyBjWzNdICsgJyBmb3VuZDogJyArCisgICAgICAgIGJ1ZlswXSAr
ICcsICcgKworICAgICAgICBidWZbMV0gKyAnLCAnICsKKyAgICAgICAgYnVmWzJdICsgJywgJyAr
CisgICAgICAgIGJ1ZlszXTsKKyAgICBpZiAoYnVmWzBdICE9IGNbMF0gfHwKKyAgICAgICAgYnVm
WzFdICE9IGNbMV0gfHwKKyAgICAgICAgYnVmWzJdICE9IGNbMl0gfHwKKyAgICAgICAgYnVmWzNd
ICE9IGNbM10pCisgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAgZWxzZQorICAgICAgdGVzdFBh
c3NlZChtc2cpOworICB9Cit9CisKK2luaXQoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW1pcHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZhZDJlNmZhOTVlNDY2ZWY1YThhMjFiNTlmODgxMzIwNTI3NWNlNDAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbApAQCAtMCwwICsxLDMxOSBAQAor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdGV4
dHVyZSBtaXBzIGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIiIGhlaWdodD0iMiIgc3R5bGU9IndpZHRo
OiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgordW5pZm9ybSB2ZWM0IHVNdWx0OworYXR0cmlidXRlIHZl
YzQgdlBvc2l0aW9uOworYXR0cmlidXRlIHZlYzIgdGV4Q29vcmQwOwordmFyeWluZyB2ZWMyIHRl
eENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbiAqIHVN
dWx0OworICAgIHRleENvb3JkID0gdGV4Q29vcmQwOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQg
aWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7Cit1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7Cit2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7
Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHRleHR1cmUyRCh0ZXgsIHRleENv
b3JkKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciBjYW52YXM7
Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CitmdW5jdGlvbiBpbml0KCkKK3sKKyAgZGVzY3Jp
cHRpb24oIkNoZWNrcyBtaXAgaXNzdWVzIik7CisKKyAgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImV4YW1wbGUiKTsKKyAgc2hvdWxkQmUoImNhbnZhcy53aWR0aCIsICIyIik7Cisg
IHNob3VsZEJlKCJjYW52YXMuaGVpZ2h0IiwgIjIiKTsKKworICB2YXIgZ2wgPSB3dHUuY3JlYXRl
M0RDb250ZXh0KGNhbnZhcyk7CisKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAg
Z2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAo
Z2wuVEVYVFVSRV8yRCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJ
T04sICJmb3IgZ2VuZXJhdGVNaXBtYXAgd2l0aCBtaXAgMCBpcyAweDAiKTsKKyAgZ2wudGV4SW1h
Z2UyRCgKKyAgICAgIGdsLlRFWFRVUkVfMkQsIDEsIGdsLlJHQkEsIDEsIDEsIDAsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICBuZXcgVWludDhBcnJheSg0KSk7CisgIGdsLmdlbmVy
YXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFM
SURfT1BFUkFUSU9OLCAiZm9yIGdlbmVyYXRlTWlwbWFwIHdpdGggbWlwIDAgaXMgMHgwIik7CisK
KyAgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJF
X0NVQkVfTUFQLCB0ZXgpOworICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFX0NVQkVfTUFQ
KTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvciBnZW5l
cmF0ZU1pcG1hcCB3aXRoIG1pcCAwIGlzIDB4MCIpOworCisgIHZhciBmYWNlcyA9IFsKKyAgICBn
bC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9O
RUdBVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICBnbC5U
RVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJ
VElWRV9aLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWgorICBdOworICBmb3Ig
KHZhciBpaSA9IDA7IGlpIDwgZmFjZXMubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wudGV4SW1hZ2Uy
RCgKKyAgICAgICAgZmFjZXNbaWldLCAwLCBnbC5SR0JBLCAyLCAyLCAwLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLAorICAgICAgICBuZXcgVWludDhBcnJheSg0ICogMiAqIDIpKTsKKyAgICBn
bC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFX0NVQkVfTUFQKTsKKyAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGlpID09IDUgPyBnbC5OT19FUlJPUiA6IGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZm9y
IGdlbmVyYXRlTWlwbWFwIHdpdGggIiArIChpaSArIDEpICsgIiBmYWNlcyIpOworICB9CisKKyAg
d3R1LnNldHVwVW5pdFF1YWQoZ2wsIDAsIDEpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFBy
b2dyYW0oCisgICAgICBnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWyd2UG9zaXRpb24nLCAn
dGV4Q29vcmQwJ10sIFswLCAxXSk7CisKKyAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKyAg
Z2wuZGlzYWJsZShnbC5CTEVORCk7CisKKyAgdmFyIGNvbG9ycyA9IHsKKyAgICBibHVlOiBbMCwg
MCwgMjU1LCAyNTVdLAorICAgIHJlZDogWzI1NSwgMCwgMCwgMjU1XSwKKyAgICBncmVlbjogIFsw
LCAyNTUsIDAsIDI1NV0sCisgICAgY3lhbjogWzEyOCwgMjU1LCAyNTUsIDI1NV0sCisgICAgYmxh
Y2s6IFswLCAwLCAwLCAyNTVdLAorICAgIGJsYW5rOiBbMCwgMCwgMCwgMF0KKyAgfTsKKworICB2
YXIgbWlwcyA9IFsKKyAgXTsKKworICB2YXIgdGV4TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9u
KHByb2dyYW0sICJ0ZXgiKTsKKyAgZ2wudW5pZm9ybTFpKHRleExvYywgMCk7CisgIHZhciBtdWx0
TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1TXVsdCIpOworCisgIC8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgdmFy
IGNsZWFyVGV4ID0gY3JlYXRlVGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwg
MSwgMSwgMSk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIGNsZWFyVGV4KTsKKyAg
Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxNiwgMTYsIDAsIGdsLlJH
QkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICBkZWJ1ZygnZ2wudGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxNiwgMTYsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIG51bGwpOycpOworICBzZXRNaXBEYXRhKDAsIDE2LCAnYmxhbmsnKTsKKyAgbWFrZURpdk1p
cENoYWluKCk7CisgIGdlbmVyYXRlTWlwbWFwKCk7CisgIGNoZWNrKCdibGFuaycsICJ0ZXh0dXJl
IGNyZWF0ZWQgd2l0aCBudWxsIHRoYXQgaGFzIGFsbCBtaXBzIik7CisKKyAgLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgdGV4ID0g
Y3JlYXRlVGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisK
KyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgLy8gMTZ4MTYgdGV4dHVy
ZSBubyBtaXBzCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2LCAnY3lhbicpOworCisgIGNoZWNrKCdi
bGFjaycsCisgICAgICAgICJ0ZXh0dXJlIHRoYXQgaXMgbWlzc2luZyBtaXBzIHdoZW4gVEVYVFVS
RV9NSU5fRklMVEVSIG5vdCBORUFSRVNUIG9yIExJTkVBUiIpOworCisgIGdlbmVyYXRlTWlwbWFw
KCk7CisKKyAgY2hlY2soJ2N5YW4nLCAidGV4dHVyZSB0aGF0IGhhcyBhbGwgbWlwcyIpOworCisg
IC8vIEZpbGwgaW4gdGhlIGJvdHRvbSAyIG1pcHMgd2l0aCBhIGRpZmZlcmVudCBjb2xvci4KKyAg
ZmlsbExldmVsKHRleCwgNCwgMSwgJ2dyZWVuJyk7CisgIGZpbGxMZXZlbCh0ZXgsIDMsIDIsICdn
cmVlbicpOworCisgIC8vIENob29zZSB0aGUgbmVhcmVzdCBtaXAKKyAgdGV4UGFyYW1ldGVyaShn
bC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUl9NSVBNQVBfTkVB
UkVTVCk7CisKKyAgY2hlY2soJ2dyZWVuJywgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRo
ZSBzbWFsbGVzdCAyIG1pcHMiKTsKKworICBnbC51bmlmb3JtNGYobXVsdExvYywgMTYsIDE2LCAx
LCAxKTsKKworICBjaGVjaygnY3lhbicsICJ0ZXh0dXJlIHRoYXQgaXMgdXNpbmcgb25seSB0aGUg
bGFyZ2VzdCAyIG1pcHMiKTsKKworICAvLyBTZXQgdGhlIHRvcCBsZXZlbAorICBmaWxsTGV2ZWwo
dGV4LCAwLCAxLCAncmVkJyk7CisgIGNoZWNrKCdyZWQnLAorICAgICAgICAidGV4dHVyZSB0aGF0
IGlzIG9ubHkgdXNpbmcgdGhlIHRvcCBsZXZlbCBldmVuIHRob3VnaCBvdGhlciBsZXZlbHMgYXJl
IGRlZmluZWQiKTsKKworICAvLyBTZXQgdGhlIHRvcCAyIGxldmVscyB1c2luZyBnZW5lcmF0ZU1p
cG1hcAorICBmaWxsTGV2ZWwodGV4LCAwLCAyLCAnYmx1ZScpOworICBnZW5lcmF0ZU1pcG1hcCgp
OworCisgIGNoZWNrKCdibHVlJywKKyAgICAgICAgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5n
IHRoZSB0b3AgMiBsZXZlbHMgZXZlbiB0aG91Z2ggb3RoZXIgbGV2ZWxzIGFyZSBkZWZpbmVkIik7
CisKKyAgLy8gU2V0IHRoZSB0b3AgMiBsZXZlbHMgYmFjayB0byBzaXplcyB0aGF0IGVuZCB1cCB1
c2luZyBsZXZlbHMgMiwgMywgYW5kIDQgYWdhaW4uCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2LCAn
Ymx1ZScpOworICBmaWxsTGV2ZWwodGV4LCAxLCA4LCAnYmx1ZScpOworICBjaGVjaygnYmx1ZScs
ICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0aGUgbGFyZ2VzdCAyIG1pcHMiKTsKKyAgZ2wu
dW5pZm9ybTRmKG11bHRMb2MsIDEsIDEsIDEsIDEpOworICBjaGVjaygnZ3JlZW4nLCAidGV4dHVy
ZSB0aGF0IGlzIG9ubHkgdXNpbmcgdGhlIHNtYWxsZXN0IDIgbWlwcyIpOworCisgIC8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgdmFyIHRl
eCA9IGNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wudW5pZm9ybTRmKG11bHRMb2MsIDEsIDEsIDEsIDEp
OworICBmaWxsTGV2ZWwodGV4LCAwLCA4LCAnY3lhbicpOworICBnZW5lcmF0ZU1pcG1hcCgpOwor
ICBjaGVjaygnY3lhbicsICJ0ZXh0dXJlIHRoYXQgaGFzIDMgbWlwcyIpOworCisgIGZpbGxMZXZl
bCh0ZXgsIDAsIDE2LCAnYmx1ZScpOworICB0ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGds
LlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgY2hlY2soJ2JsdWUnLCAidGV4dHVy
ZSB0aGF0IGlzIG9ubHkgdXNpbmcgdG9wIG1pcHMiKTsKKworICBmaWxsTGV2ZWwodGV4LCAwLCA4
LCAncmVkJyk7CisgIHRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5f
RklMVEVSLCBnbC5MSU5FQVJfTUlQTUFQX05FQVJFU1QpOworICBjaGVjaygnY3lhbicsICJ0ZXh0
dXJlIHRoYXQgaXMgb25seSB1c2luZyBzbWFsbGVzdCBtaXBzIik7CisKKyAgZ2wudW5pZm9ybTRm
KG11bHRMb2MsIDE2LCAxNiwgMSwgMSk7CisgIGNoZWNrKCdyZWQnLCAidGV4dHVyZSB0aGF0IGlz
IHVzaW5nIG9ubHkgdGhlIGxhcmdlc3QgbWlwIik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgdGV4ID0gY3JlYXRlVGV4
dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGZpbGxMZXZl
bCh0ZXgsIDIsIDEsICdncmVlbicpOworICBmaWxsTGV2ZWwodGV4LCAxLCAyLCAnZ3JlZW4nKTsK
KyAgZmlsbExldmVsKHRleCwgMCwgNCwgJ2dyZWVuJyk7CisgIGNoZWNrKCdncmVlbicsICJ0ZXh0
dXJlIHRoYXQgd2FzIGJ1aWx0IHNtYWxsZXN0IG1pcCBmaXJzdCIpOworCisgIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgdmFyIHRleCA9
IGNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wudW5pZm9ybTRmKG11bHRMb2MsIDEsIDEsIDEsIDEpOwor
ICBmaWxsTGV2ZWwodGV4LCAwLCAxNiwgJ3JlZCcpOworICBnZW5lcmF0ZU1pcG1hcCgpOworICBj
aGVjaygncmVkJywgInRleHR1cmUgd2l0aCAxIGdlbm1pcG1hcHMiKTsKKyAgZmlsbExldmVsKHRl
eCwgMCwgMTYsICdibHVlJyk7CisgIGdlbmVyYXRlTWlwbWFwKCk7CisgIGZpbGxMZXZlbCh0ZXgs
IDAsIDE2LCAnZ3JlZW4nKTsKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKyAgY2hlY2soJ2dyZWVuJywg
InRleHR1cmUgd2l0aCAyIGdlbm1pcG1hcHMiKTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IsICJTaG91bGQgYmUgbm8gZXJyb3JzLiIpOworCisgIGZ1bmN0aW9uIGNyZWF0
ZVRleHR1cmUoKSB7CisgICAgZGVidWcoIjxoci8+Z2wuY3JlYXRlVGV4dHVyZSgpIik7CisgICAg
bWlwcyA9IFtdOworICAgIG1ha2VEaXZNaXBDaGFpbigpOworICAgIHJldHVybiBnbC5jcmVhdGVU
ZXh0dXJlKCk7CisgIH0KKworICBmdW5jdGlvbiB0ZXhQYXJhbWV0ZXJpKHRhcmdldCwgcG5hbWUs
IHZhbHVlKSB7CisgICAgZGVidWcoImdsLnRleFBhcmFtZXRlcmkoIiArCisgICAgICAgICAgd3R1
LmdsRW51bVRvU3RyaW5nKGdsLCB0YXJnZXQpICsgIiwgIiArCisgICAgICAgICAgd3R1LmdsRW51
bVRvU3RyaW5nKGdsLCBwbmFtZSkgKyAiLCAiICsKKyAgICAgICAgICB3dHUuZ2xFbnVtVG9TdHJp
bmcoZ2wsIHZhbHVlKSArICIpIikKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKHRhcmdldCwgcG5hbWUs
IHZhbHVlKTsKKyAgfQorCisgIGZ1bmN0aW9uIGdlbmVyYXRlTWlwbWFwKCkgeworICAgIGRlYnVn
KCJnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKSIpOworICAgIGdsLmdlbmVyYXRlTWlw
bWFwKGdsLlRFWFRVUkVfMkQpOworICAgIHZhciBtaXAwID0gbWlwc1swXTsKKyAgICB2YXIgc2l6
ZSA9IG1pcDAuc2l6ZTsKKyAgICB2YXIgbGV2ZWwgPSAxOworICAgIGZvcig7OykgeworICAgICAg
c2l6ZSA9IE1hdGguZmxvb3Ioc2l6ZSAvIDIpOworICAgICAgaWYgKCFzaXplKSB7CisgICAgICAg
IGJyZWFrOworICAgICAgfQorICAgICAgc2V0TWlwRGF0YShsZXZlbCwgc2l6ZSwgbWlwMC5jb2xv
cik7CisgICAgICArK2xldmVsOworICAgIH0KKyAgICBtYWtlRGl2TWlwQ2hhaW4oKTsKKyAgfQor
CisgIGZ1bmN0aW9uIGNoZWNrKGNvbG9yLCBtc2cpIHsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOwor
ICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgY29sb3JzW2NvbG9yXSwgbXNnICsgIiBzaG91bGQgZHJh
dyB3aXRoICIgKyBjb2xvcik7CisgIH0KKworICBmdW5jdGlvbiBmaWxsTGV2ZWwodGV4LCBsZXZl
bCwgc2l6ZSwgY29sb3IpIHsKKyAgICBzZXRNaXBEYXRhKGxldmVsLCBzaXplLCBjb2xvcik7Cisg
ICAgZGVidWcoImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgIiArIGxldmVsICsgIiwgZ2wu
UkdCQSwgIiArIHNpemUgKyAiLCAiICsgc2l6ZSArCisgICAgICAgICAgIiwgMCwgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwgIiArIGNvbG9yICsgIik7Iik7CisgICAgd3R1LmZpbGxUZXh0dXJl
KGdsLCB0ZXgsIHNpemUsIHNpemUsIGNvbG9yc1tjb2xvcl0sIGxldmVsKTsKKyAgICBtYWtlRGl2
TWlwQ2hhaW4oKTsKKyAgfQorCisgIGZ1bmN0aW9uIHNldE1pcERhdGEobGV2ZWwsIHNpemUsIGNv
bG9yKSB7CisgICAgbWlwc1tsZXZlbF0gPSB7CisgICAgICBzaXplOiBzaXplLAorICAgICAgY29s
b3I6IGNvbG9yCisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VEaXZNaXBDaGFpbihjb2xv
cikgeworICAgIHZhciBodG1sID0gWworICAgICAgJzxkaXYgc3R5bGU9ImhlaWdodDogNjhweDsg
bWFyZ2luLXRvcDogNXB4Ij4nLAorICAgICAgJzxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij5taXBz
OiA8L2Rpdj4nXTsKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgNTsgKytpaSkgeworICAgICAg
dmFyIG1pcCA9IG1pcHNbaWldOworICAgICAgaWYgKG1pcCkgeworICAgICAgICBodG1sLnB1c2go
bWFrZURpdlNxdWFyZShtaXAuc2l6ZSwgbWlwLmNvbG9yKSk7CisgICAgICB9IGVsc2UgeworICAg
ICAgICBodG1sLnB1c2gobWFrZURpdlNxdWFyZSgxNiwgdW5kZWZpbmVkKSk7CisgICAgICB9Cisg
ICAgfQorICAgIGh0bWwucHVzaCgiPC9kaXY+Iik7CisgICAgZGVidWcoaHRtbC5qb2luKCIiKSk7
CisgIH0KKworICBmdW5jdGlvbiBtYWtlRGl2U3F1YXJlKHNpemUsIGNvbG9yKSB7CisgICAgc2l6
ZSAqPSA0OworICAgIHZhciBjID0gY29sb3IgPyBjb2xvcnNbY29sb3JdIDogWzI1NSwyNTUsMjU1
XTsKKyAgICB2YXIgYm9yZGVyID0gY29sb3IgPyAnc29saWQnIDogJ2Rhc2hlZCc7CisgICAgcmV0
dXJuICc8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDogJyArIHNpemUgKyAncHg7IGhlaWdo
dDogJyArIHNpemUgKworICAgICAgICAgICAncHg7IGJhY2tncm91bmQtY29sb3I6ICcgKyByZ2Io
YykgKworICAgICAgICAgICAnOyBib3JkZXI6IDFweCAnICsgYm9yZGVyICsgJyBibGFjazsgbWFy
Z2luLXJpZ2h0OiAzcHg7Ij48L2Rpdj4nOworICB9CisKKyAgZnVuY3Rpb24gcmdiKGMpIHsKKyAg
ICByZXR1cm4gJ3JnYignICsgY1swXSArICcsJyArIGNbMV0gKyAnLCcgKyBjWzJdICsnKSc7Cisg
IH0KK30KKworaW5pdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5w
b3QtdmlkZW8uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjllZjgzYjZmZDg1MWUzYzcxYjI4N2NlMDgwYzViZGYzZWRhMjc2MzcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbApAQCAtMCwwICsxLDE3OSBA
QAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
InVzZSBzdHJpY3QiOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gbnVsbDsK
K3ZhciB0ZXh0dXJlTG9jID0gbnVsbDsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsK
KworaW5pdFRlc3RpbmdIYXJuZXNzV2FpdFVudGlsRG9uZSgpOworCitmdW5jdGlvbiBpbml0KCkK
K3sKKyAgICBkZXNjcmlwdGlvbignVmVyaWZ5IG5wb3QgdmlkZW8nKTsKKworICAgIHZhciBjYW52
YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOworICAgIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dChjYW52YXMpOworICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVy
ZWRRdWFkKGdsKTsKKworICAgIGdsLmNsZWFyQ29sb3IoMCwwLDAsMSk7CisgICAgZ2wuY2xlYXJE
ZXB0aCgxKTsKKworICAgIHRleHR1cmVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3Jh
bSwgInRleCIpOworCisgICAgdmFyIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZp
ZCIpOworICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoCisgICAgICAgICJwbGF5aW5nIiwgZnVu
Y3Rpb24oKSB7IHJ1blRlc3QodmlkZW8pOyB9LCB0cnVlKTsKKyAgICB2aWRlby5sb29wID0gdHJ1
ZTsKKyAgICB2aWRlby5wbGF5KCk7Cit9CisKKy8vIFRoZXNlIHR3byBkZWNsYXJhdGlvbnMgbmVl
ZCB0byBiZSBnbG9iYWwgZm9yICJzaG91bGRCZSIgdG8gc2VlIHRoZW0KK3ZhciBidWYgPSBudWxs
OwordmFyIGlkeCA9IDA7Cit2YXIgcGl4ZWwgPSBbMCwgMCwgMF07Cit2YXIgY29ycmVjdENvbG9y
ID0gbnVsbDsKK3ZhciB0ZXh0dXJlOworCitmdW5jdGlvbiBydW5PbmVJdGVyYXRpb24odmlkZW9F
bGVtZW50LCB1c2VUZXhTdWJJbWFnZTJELCBmbGlwWSwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yLCBi
YWRNaW5GaWx0ZXIsIGJhZENsYW1wLCBnZW5NaXBzKQoreworICAgIGRlYnVnKCdUZXN0aW5nICcg
KyAodXNlVGV4U3ViSW1hZ2UyRCA/ICd0ZXhTdWJJbWFnZTJEJyA6ICd0ZXhJbWFnZTJEJykgKwor
ICAgICAgICAgICcgd2l0aCBmbGlwWT0nICsgZmxpcFkpOworICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAvLyBEaXNhYmxlIGFueSB3
cml0ZXMgdG8gdGhlIGFscGhhIGNoYW5uZWwKKyAgICBnbC5jb2xvck1hc2soMSwgMSwgMSwgMCk7
CisgICAgaWYgKCF0ZXh0dXJlKSB7CisgICAgICAgIHRleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJl
KCk7CisgICAgfQorICAgIC8vIEJpbmQgdGhlIHRleHR1cmUgdG8gdGV4dHVyZSB1bml0IDAKKyAg
ICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICAvLyBTZXQgdXAg
cGl4ZWwgc3RvcmUgcGFyYW1ldGVycworICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19GTElQ
X1lfV0VCR0wsIGZsaXBZKTsKKyAgICAvLyBVcGxvYWQgdGhlIHZpZGVvRWxlbWVudCBpbnRvIHRo
ZSB0ZXh0dXJlCisgICAgZGVidWcoInNpemU6ICIgKyB2aWRlb0VsZW1lbnQudmlkZW9XaWR0aCAr
ICJ4IiArIHZpZGVvRWxlbWVudC52aWRlb0hlaWdodCk7CisgICAgaWYgKHVzZVRleFN1YkltYWdl
MkQpIHsKKyAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgdGV4dHVyZSB0byBibGFjayBmaXJzdAor
ICAgICAgICBkZWJ1ZygidXNlIHRleFN1YkltYWdlMkQiKTsKKyAgICAgICAgZ2wudGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLAorICAgICAgICAgICAgICAgICAgICAgIHZpZGVv
RWxlbWVudC52aWRlb1dpZHRoLCB2aWRlb0VsZW1lbnQudmlkZW9IZWlnaHQsIDAsCisgICAgICAg
ICAgICAgICAgICAgICAgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgICAg
IGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgdmlkZW9FbGVtZW50KTsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1Zygi
dXNlIHRleEltYWdlMkQiKTsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB2aWRlb0VsZW1lbnQpOworICAg
IH0KKworICAgIC8vIFNldCB1cCB0ZXh0dXJlIHBhcmFtZXRlcnMKKyAgICBnbC50ZXhQYXJhbWV0
ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAg
ICBpZiAoYmFkTWluRmlsdGVyKSB7CisgICAgICAgIGRlYnVnKCJiYWQgbWluIGZpbHRlciIpOwor
ICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJ
TFRFUiwgZ2wuTElORUFSX01JUE1BUF9ORUFSRVNUKTsKKyAgICB9IGVsc2UgeworICAgICAgICBk
ZWJ1ZygiZ29vZCBtaW4gZmlsdGVyIik7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVY
VFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICAgIH0KKyAgICBp
ZiAoYmFkQ2xhbXApIHsKKyAgICAgICAgZGVidWcoImJhZCBjbGFtcCIpOworICAgICAgICBnbC50
ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5SRVBFQVQp
OworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JB
UF9ULCBnbC5SRVBFQVQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRlYnVnKCJnb29kIGNsYW1w
Iik7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9X
UkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICB9Cisg
ICAgaWYgKGdlbk1pcHMpIHsKKyAgICAgICAgZGVidWcoImdlbmVyYXRlIG1pcHMiKTsKKyAgICAg
ICAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7CisgICAgICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJzaG91bGQgYmUgSU5WQUxJRF9PUEVSQVRJ
T04iKTsKKyAgICB9CisKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsK
KyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKworLy8gICAgdmFy
IGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKKy8vICAgIGMud2lkdGggPSAx
NjsKKy8vICAgIGMuaGVpZ2h0ID0gMTY7CisvLyAgICBjLnN0eWxlLmJvcmRlciA9ICIxcHggc29s
aWQgYmxhY2siOworLy8gICAgdmFyIGN0eCA9IGMuZ2V0Q29udGV4dCgiMmQiKTsKKy8vICAgIGN0
eC5kcmF3SW1hZ2UodmlkZW9FbGVtZW50LCAwLCAwLCAxNiwgMTYpOworLy8gICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChjKTsKKworICAgIC8vIFBvaW50IHRoZSB1bmlmb3JtIHNhbXBsZXIg
dG8gdGV4dHVyZSB1bml0IDAKKyAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgMCk7CisgICAg
Ly8gRHJhdyB0aGUgdHJpYW5nbGVzCisgICAgd3R1LmRyYXdRdWFkKGdsLCBbMCwgMCwgMCwgMjU1
XSk7CisgICAgLy8gQ2hlY2sgYSBmZXcgcGl4ZWxzIG5lYXIgdGhlIHRvcCBhbmQgYm90dG9tIGFu
ZCBtYWtlIHN1cmUgdGhleSBoYXZlCisgICAgLy8gdGhlIHJpZ2h0IGNvbG9yLgorICAgIGRlYnVn
KCJDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lciIpOworICAgIHd0dS5jaGVja0NhbnZhc1JlY3Qo
Z2wsIDQsIDQsIDIsIDIsIGJvdHRvbUNvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgInNo
b3VsZEJlICIgKyBib3R0b21Db2xvcik7CisgICAgZGVidWcoIkNoZWNraW5nIHVwcGVyIGxlZnQg
Y29ybmVyIik7CisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgNCwgZ2wuY2FudmFzLmhlaWdo
dCAtIDgsIDIsIDIsIHRvcENvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJl
ICIgKyB0b3BDb2xvcik7CisgICAgZGVidWcoIiIpOworfQorCitmdW5jdGlvbiBydW5UZXN0KHZp
ZGVvRWxlbWVudCkKK3sKKyAgICB2YXIgcmVkID0gWzI1NSwgMCwgMF07CisgICAgdmFyIGdyZWVu
ID0gWzAsIDI1NSwgMF07CisgICAgdmFyIGJsYWNrID0gWzAsIDAsIDBdOworICAgIHJ1bk9uZUl0
ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZhbHNlLCB0cnVlLCBibGFjaywgYmxhY2ssIHRydWUsIHRy
dWUsIHRydWUpOworICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZhbHNlLCB0cnVl
LCBibGFjaywgYmxhY2ssIHRydWUsIGZhbHNlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9u
KHZpZGVvRWxlbWVudCwgZmFsc2UsIHRydWUsIGJsYWNrLCBibGFjaywgZmFsc2UsIHRydWUsIGZh
bHNlKTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxzZSwgdHJ1ZSwgYmxh
Y2ssIGJsYWNrLCB0cnVlLCB0cnVlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVv
RWxlbWVudCwgZmFsc2UsIHRydWUsIGdyZWVuLCByZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOwor
ICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZhbHNlLCBmYWxzZSwgcmVkLCBncmVl
biwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVu
dCwgdHJ1ZSwgdHJ1ZSwgZ3JlZW4sIHJlZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisgICAgcnVu
T25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgdHJ1ZSwgZmFsc2UsIHJlZCwgZ3JlZW4sIGZhbHNl
LCBmYWxzZSwgZmFsc2UpOworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
InNob3VsZCBiZSBubyBlcnJvcnMiKTsKKyAgICB2aWRlb0VsZW1lbnQucmVtb3ZlRXZlbnRMaXN0
ZW5lcigicGxheWluZyIsIHJ1blRlc3QpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJpbml0KCkiPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIg
d2lkdGg9IjY0IiBoZWlnaHQ9IjQ4Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHZpZGVvIGlkPSJ2aWQiIHN0eWxlPSJk
aXNwbGF5Om5vbmU7Ij4KKyAgPHNvdXJjZSBzcmM9Ii4uL3Jlc291cmNlcy9ucG90LXZpZGVvLm1w
NCIgIHR5cGU9J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyRTAxRSInIC8+CisgIDxzb3VyY2Ug
c3JjPSIuLi9yZXNvdXJjZXMvbnBvdC12aWRlby53ZWJtdnA4LndlYm0iIHR5cGU9J3ZpZGVvL3dl
Ym07IGNvZGVjcz0idnA4IicgLz4KKyAgPHNvdXJjZSBzcmM9Ii4uL3Jlc291cmNlcy9ucG90LXZp
ZGVvLnRoZW9yYS5vZ3YiICB0eXBlPSd2aWRlby9vZ2c7IGNvZGVjcz0idGhlb3JhIicgLz4KKzwv
dmlkZW8+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNp
emUtbGltaXQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQzZGE5YTYzZDNlMTc4MTM0ZTIwNTk3MTU1YWNjNzk4ZDgyM2U1NjcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbApAQCAtMCwwICsxLDE1OSBA
QAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
dGV4dHVyZSBzaXplIGxpbWl0IGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBz
dHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVz
ZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHZhcmlvdXMgc2l6ZXMgbGltaXRz
IG9mIHRleHR1cmVzICIpCit2YXIgY2FudmFzOworCitmdW5jdGlvbiBudW1MZXZlbHNGcm9tU2l6
ZShzaXplKSB7CisgIHZhciBsZXZlbHMgPSAwOworICB3aGlsZSAoKHNpemUgPj4gbGV2ZWxzKSA+
IDApIHsKKyAgICArK2xldmVsczsKKyAgfQorICByZXR1cm4gbGV2ZWxzOworfQorCit2YXIgd3R1
ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxl
Iik7Cit2YXIgdGVzdHMgPSBbCisgIHsgZm9ybWF0OiBnbC5BTFBIQSwgICAgICAgICAgIHR5cGU6
IGdsLlVOU0lHTkVEX0JZVEUsICAgICAgICAgIHNpemU6IDEsIGRhdGFUeXBlOiBVaW50OEFycmF5
ICB9LAorICB7IGZvcm1hdDogZ2wuTFVNSU5BTkNFLCAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9C
WVRFLCAgICAgICAgICBzaXplOiAxLCBkYXRhVHlwZTogVWludDhBcnJheSAgfSwKKyAgeyBmb3Jt
YXQ6IGdsLkxVTUlOQU5DRV9BTFBIQSwgdHlwZTogZ2wuVU5TSUdORURfQllURSwgICAgICAgICAg
c2l6ZTogMiwgZGF0YVR5cGU6IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5SR0IsICAg
ICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsICAgICAgICAgIHNpemU6IDMsIGRhdGFU
eXBlOiBVaW50OEFycmF5ICB9LAorICB7IGZvcm1hdDogZ2wuUkdCLCAgICAgICAgICAgICB0eXBl
OiBnbC5VTlNJR05FRF9TSE9SVF81XzZfNSwgICBzaXplOiAxLCBkYXRhVHlwZTogVWludDE2QXJy
YXkgfSwKKyAgeyBmb3JtYXQ6IGdsLlJHQkEsICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURf
QllURSwgICAgICAgICAgc2l6ZTogNCwgZGF0YVR5cGU6IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9y
bWF0OiBnbC5SR0JBLCAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzRfNF80XzQs
IHNpemU6IDEsIGRhdGFUeXBlOiBVaW50MTZBcnJheSB9LAorICB7IGZvcm1hdDogZ2wuUkdCQSwg
ICAgICAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVF81XzVfNV8xLCBzaXplOiAxLCBkYXRh
VHlwZTogVWludDE2QXJyYXkgfQorXTsKKworLy8gTm90ZTogV2UgZXhwcmVzc2x5IG9ubHkgdXNl
IDIgdGV4dHVyZXMgYmVjYXVzZSBmaXJzdCBhIHRleHR1cmUgd2lsbCBiZSBkZWZpbmVkCisvLyBh
cyB1c2luZyBhbGwgbWlwcyBvZiAxIGZvcm1hdCwgdGhlbiBmb3IgYSBtb21lbnQgaXQgd2lsbCBo
YXZlIG1peGVkIGZvcm1hdHMgd2hpY2gKKy8vIG1heSB1bmNvdmVyIGJ1Z3MuCit2YXIgdGFyZ2V0
cyA9IFsKKyAgeyB0YXJnZXQ6IGdsLlRFWFRVUkVfMkQsCisgICAgbWF4U2l6ZTogZ2wuZ2V0UGFy
YW1ldGVyKGdsLk1BWF9URVhUVVJFX1NJWkUpLAorICAgIG1heExldmVsOiAxMDAwLAorICAgIHRl
eDogZ2wuY3JlYXRlVGV4dHVyZSgpLAorICAgIHRhcmdldHM6IFtnbC5URVhUVVJFXzJEXQorICB9
LAorICB7IHRhcmdldDogZ2wuVEVYVFVSRV9DVUJFX01BUCwKKyAgICBtYXhTaXplOiBnbC5nZXRQ
YXJhbWV0ZXIoZ2wuTUFYX0NVQkVfTUFQX1RFWFRVUkVfU0laRSksCisgICAgbWF4TGV2ZWw6IDUs
CisgICAgdGV4OiBnbC5jcmVhdGVUZXh0dXJlKCksCisgICAgdGFyZ2V0czogWworICAgICAgZ2wu
VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9O
RUdBVElWRV9YLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgICAg
Z2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01B
UF9QT1NJVElWRV9aLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisgICAg
XQorICB9CitdOworCitnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfQUxJR05NRU5ULCAxKTsKKwor
dmFyIHRyZyA9IDA7Cit2YXIgdHQgPSAwOworcnVuTmV4dFRlc3QoKTsKKworZnVuY3Rpb24gcnVu
TmV4dFRlc3QoKSB7CisgIHZhciB0ID0gdGFyZ2V0c1t0cmddOworCisgIGlmICh0dCA9PSAwKSB7
CisgICAgdmFyIHRleCA9IHQudGV4OworICAgIGdsLmJpbmRUZXh0dXJlKHQudGFyZ2V0LCB0ZXgp
OworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJtYXggc2l6ZSBmb3IgIiArIHd0dS5nbEVu
dW1Ub1N0cmluZyhnbCwgdC50YXJnZXQpICsgIjogIiArIHQubWF4U2l6ZSk7CisgICAgdmFyIG51
bUxldmVscyA9IG51bUxldmVsc0Zyb21TaXplKHQubWF4U2l6ZSk7CisgICAgZGVidWcoIm51bSBs
ZXZlbHMgIiArIG51bUxldmVscyk7CisgIH0KKworICB2YXIgdGVzdCA9IHRlc3RzW3R0XTsKKyAg
dGVzdEZvcm1hdFR5cGUodCwgdGVzdCk7CisgICsrdHQ7CisgIGlmICh0dCA9PSB0ZXN0cy5sZW5n
dGgpIHsKKyAgICB0dCA9IDA7CisgICAgKyt0cmc7CisgICAgaWYgKHRyZyA9PSB0YXJnZXRzLmxl
bmd0aCkgeworICAgICAgZmluaXNoVGVzdCgpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgfQor
ICB3dHUud2FpdEZvckNvbXBvc2l0ZShnbCwgcnVuTmV4dFRlc3QpCit9CisKK2Z1bmN0aW9uIHRl
c3RGb3JtYXRUeXBlKHQsIHRlc3QpIHsKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZzog
IiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdGVzdC5mb3JtYXQpICsgIiwgIiArIHd0dS5nbEVu
dW1Ub1N0cmluZyhnbCwgdGVzdC50eXBlKSk7CisgIGZvciAodmFyIGogPSAwOyBqIDwgdC50YXJn
ZXRzLmxlbmd0aDsgKytqKSB7CisgICAgdmFyIHRhcmdldCA9IHQudGFyZ2V0c1tqXTsKKyAgICBk
ZWJ1ZygiIik7CisgICAgZGVidWcod3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0YXJnZXQpKTsKKyAg
ICB2YXIgbnVtTGV2ZWxzID0gbnVtTGV2ZWxzRnJvbVNpemUodC5tYXhTaXplKTsKKyAgICB2YXIg
bnVtVGVzdExldmVscyA9IE1hdGgubWluKG51bUxldmVscywgdC5tYXhMZXZlbCk7CisgICAgZm9y
ICh2YXIgbCA9IDA7IGwgPCBudW1UZXN0TGV2ZWxzOyArK2wpIHsKKyAgICAgIC8vIERvIGJvdHRv
bSBsZXZlbHMgZmlyc3Q7CisgICAgICB2YXIgc2l6ZSA9IDEgPDwgbDsKKyAgICAgIHZhciBsZXZl
bCA9IG51bUxldmVscyAtIGwgLSAxOworICAgICAgdmFyIG90aGVyRGltZW5zaW9uID0gdC50YXJn
ZXQgPT0gZ2wuVEVYVFVSRV8yRCA/IDEgOiBzaXplOworICAgICAgdmFyIGJhZFNpemUgPSBzaXpl
ICogMjsKKyAgICAgIHZhciBiYWRPdGhlckRpbWVuc2lvbiA9IHQudGFyZ2V0ID09IGdsLlRFWFRV
UkVfMkQgPyAxIDogYmFkU2l6ZTsKKyAgICAgIHZhciBwaXhlbHMgPSBuZXcgdGVzdC5kYXRhVHlw
ZShiYWRTaXplICogYmFkT3RoZXJEaW1lbnNpb24gKiB0ZXN0LnNpemUpOworICAgICAgZ2wudGV4
SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB0ZXN0LmZvcm1hdCwgc2l6ZSwgb3RoZXJEaW1lbnNpb24s
IDAsIHRlc3QuZm9ybWF0LCB0ZXN0LnR5cGUsIHBpeGVscyk7CisgICAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9yIGZvciBsZXZlbDog
IiArIGxldmVsICsgIiAiICsgc2l6ZSArICJ4IiArIG90aGVyRGltZW5zaW9uKTsKKyAgICAgIGds
LnRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgdGVzdC5mb3JtYXQsIG90aGVyRGltZW5zaW9uLCBz
aXplLCAwLCB0ZXN0LmZvcm1hdCwgdGVzdC50eXBlLCBwaXhlbHMpOworICAgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBlcnJvciBmb3IgbGV2
ZWw6ICIgKyBsZXZlbCArICIgIiArIG90aGVyRGltZW5zaW9uICsgIngiICsgc2l6ZSk7CisgICAg
ICBnbC50ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHRlc3QuZm9ybWF0LCBiYWRTaXplLCBiYWRP
dGhlckRpbWVuc2lvbiwgMCwgdGVzdC5mb3JtYXQsIHRlc3QudHlwZSwgcGl4ZWxzKTsKKyAgICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInNob3VsZCBnZW5lcmF0ZSBJ
TlZBTElEX1ZBTFVFIGZvciBsZXZlbDogIiArIGxldmVsICsgIiAiICsgYmFkU2l6ZSArICJ4IiAr
IGJhZE90aGVyRGltZW5zaW9uKTsKKyAgICAgIGdsLnRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwg
dGVzdC5mb3JtYXQsIGJhZE90aGVyRGltZW5zaW9uLCBiYWRTaXplLCAwLCB0ZXN0LmZvcm1hdCwg
dGVzdC50eXBlLCBwaXhlbHMpOworICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElE
X1ZBTFVFLCAic2hvdWxkIGdlbmVyYXRlIElOVkFMSURfVkFMVUUgZm9yIGxldmVsOiAiICsgbGV2
ZWwgKyAiICIgKyBiYWRPdGhlckRpbWVuc2lvbiArICJ4IiArIGJhZFNpemUpOworICAgIH0KKyAg
fQorfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhODc1ZDhiOTdjMzFjNGVlOTUx
ZjI0YzI2ZGEzZDFkMTJlZDVlNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LXNpemUuaHRtbApAQCAtMCwwICsxLDIzOCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdGV4dHVyZSBzaXplIGNvbmZvcm1hbmNlIHRlc3Qu
PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lk
dGg9IjMyIiBoZWlnaHQ9IjMyIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwv
Y2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+Cith
dHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CithdHRyaWJ1dGUgdmVjMyB0ZXhDb29yZDA7Cit2YXJ5
aW5nIHZlYzMgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBv
c2l0aW9uOworICAgIHRleENvb3JkID0gdGV4Q29vcmQwOworfQorPC9zY3JpcHQ+CisKKzxzY3Jp
cHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHNhbXBsZXJDdWJlIHRleDsKK3ZhcnlpbmcgdmVjMyB0ZXhD
b29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVyZUN1YmUodGV4
LCBub3JtYWxpemUodGV4Q29vcmQpKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Rlc2NyaXB0aW9uKCJDaGVja3MgdGhhdCB2YXJpb3VzIHNpemVzIG9mIHRleHR1cmVz
IHJlbmRlciIpCit2YXIgY2FudmFzOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIg
Z2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7Cit2YXIgcHJvZ3JhbTJEID0gd3R1
LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKK3ZhciBwcm9ncmFtQ3ViZU1hcCA9IHd0dS5zZXR1cFBy
b2dyYW0oCisgICAgZ2wsIFsndnNoYWRlcicsICdmc2hhZGVyJ10sIFsndlBvc2l0aW9uJywgJ3Rl
eENvb3JkMCddLCBbMCwgMV0pOworZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKK2dsLmRpc2Fi
bGUoZ2wuQkxFTkQpOwordmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKK3ZhciBtYXgyRFNp
emUgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1RFWFRVUkVfU0laRSk7Cit2YXIgbWF4Q3ViZU1h
cFNpemUgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX0NVQkVfTUFQX1RFWFRVUkVfU0laRSk7Citk
ZWJ1ZygiTUFYX1RFWFRVUkVfU0laRToiICsgbWF4MkRTaXplKTsKK2RlYnVnKCJNQVhfQ1VCRV9N
QVBfVEVYVFVSRV9TSVpFOiIgKyBtYXhDdWJlTWFwU2l6ZSk7CisvLyBBc3N1bWluZyAyMDQ4eDIw
NDh4UkdCQSAoMjJtZWcgd2l0aCBtaXBzKSB3aWxsIHJ1biBvbiBhbGwgV2ViR0wgcGxhdGZvcm1z
Cit2YXIgbWF4MkRTcXVhcmVTaXplID0gTWF0aC5taW4obWF4MkRTaXplLCAyMDQ4KTsKKy8vIEkn
ZCBwcmVmZXIgdGhpcyB0byBiZSAyMDQ4IGJ1dCB0aGF0J3MgMTZtZWcgeCA2IGZhY2VzIG9yIDEy
OG1lZyAod2l0aCBtaXBzKQorLy8gMTAyNCBpcyAzMy41IG1lZyAod2l0aCBtaXBzKQordmFyIG1h
eEN1YmVNYXBTaXplID0gTWF0aC5taW4obWF4Q3ViZU1hcFNpemUsIDEwMjQpOworCit2YXIgY29s
b3JzID0gWworICB7IG5hbWU6ICJncmVlbiIsIHJnYmE6IFswLCAwLCAyNTUsIDI1NV0gfSwKKyAg
eyBuYW1lOiAicmVkIiwgcmdiYTogWzI1NSwgMCwgMCwgMjU1XSB9LAorICB7IG5hbWU6ICJibHVl
IiwgcmdiYTogWzAsIDI1NSwgMCwgMjU1XSB9LAorICB7IG5hbWU6ICJ5ZWxsb3ciLCByZ2JhOiBb
MjU1LCAyNTUsIDAsIDI1NV0gfSwKKyAgeyBuYW1lOiAibWFnZW50YSIsIHJnYmE6IFsyNTUsIDAs
IDI1NSwgMjU1XSB9LAorICB7IG5hbWU6ICJjeWFuIiwgcmdiYTogWzAsIDI1NSwgMjU1LCAyNTVd
IH0KK107CisKK3ZhciBjb3VudCA9IDA7Cit2YXIgcG93ZXIgPSAwOworcnVuVGVzdCgpOworCitm
dW5jdGlvbiBydW5UZXN0KCkgeworICBmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgdmFyIHNpemUg
PSBNYXRoLnBvdygyLCBwb3dlcik7CisgICAgaWYgKHNpemUgPiBtYXgyRFNpemUpIHsKKyAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtMkQpOworICAg
IGlmICghY2hlY2tUZXh0dXJlKHNpemUsIDEsIGZhbHNlKSkgcmV0dXJuIGZhbHNlOworICAgIGlm
ICghY2hlY2tUZXh0dXJlKDEsIHNpemUsIGZhbHNlKSkgcmV0dXJuIGZhbHNlOworICAgIGlmIChz
aXplIDw9IG1heDJEU3F1YXJlU2l6ZSkgeworICAgICAgaWYgKCFjaGVja1RleHR1cmUoc2l6ZSwg
c2l6ZSwgZmFsc2UpKSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKyAgICB9Cisg
ICAgaWYgKHNpemUgPD0gbWF4Q3ViZU1hcFNpemUpIHsKKyAgICAgIGdsLnVzZVByb2dyYW0ocHJv
Z3JhbUN1YmVNYXApOworICAgICAgaWYgKCFjaGVja1RleHR1cmUoc2l6ZSwgc2l6ZSwgdHJ1ZSkp
IHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gdHJ1
ZTsKKyAgfQorCisgIGlmIChkb1Rlc3QoKSkgeworICAgICsrcG93ZXI7CisgICAgc2V0VGltZW91
dChydW5UZXN0LCAxMDApOworICB9IGVsc2UgeworICAgIGZpbmlzaFRlc3QoKTsKKyAgfQorfQor
CitmdW5jdGlvbiBjaGVja1RleHR1cmUod2lkdGgsIGhlaWdodCwgY3ViZU1hcCkgeworICBkZWJ1
ZygiIik7CisgIGNvdW50ID0gKGNvdW50ICsgMSkgJSBjb2xvcnMubGVuZ3RoOworICB2YXIgY29s
b3IgPSBjb2xvcnNbY291bnRdOworICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICB2
YXIgdGFyZ2V0ID0gY3ViZU1hcCA/IGdsLlRFWFRVUkVfQ1VCRV9NQVAgOiBnbC5URVhUVVJFXzJE
OworICB2YXIgdHlwZSA9IGN1YmVNYXAgPyAiY3ViZSBtYXAiIDogIjJEIHRleHR1cmUiOworICBk
ZWJ1ZygiY2hlY2sgIiArIHdpZHRoICsgIiwgIiArIGhlaWdodCArICIgIiArIHR5cGUpOworICBn
bC5iaW5kVGV4dHVyZSh0YXJnZXQsIHRleCk7CisgIGdsLnRleFBhcmFtZXRlcmkodGFyZ2V0LCBn
bC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CisgIGdsLnRleFBhcmFtZXRlcmkodGFy
Z2V0LCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7CisgIGdsLnRleFBhcmFt
ZXRlcmkodGFyZ2V0LCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgIGZp
bGxMZXZlbCgwLCB3aWR0aCwgaGVpZ2h0LCBjb2xvci5yZ2JhLCBjdWJlTWFwKTsKKyAgdmFyIGVy
ciA9IGdsLmdldEVycm9yKCk7CisgIGlmIChlcnIgPT0gZ2wuT1VUX09GX01FTU9SWSkgeworICAg
IGRlYnVnKCJvdXQgb2YgbWVtb3J5Iik7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisgIGlmIChl
cnIgIT0gZ2wuTk9fRVJST1IpIHsKKyAgICB0ZXN0RmFpbGVkKCJ1bmV4cGVjdGVkIGdsIGVycm9y
OiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBlcnIpKTsKKyAgfQorICB3dHUuZHJhd1F1YWQo
Z2wpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yLnJnYmEsCisgICAgICB0eXBlICsgIiBv
ZiBzaXplICIgKyB3aWR0aCArICJ4IiArIGhlaWdodCArICIgd2l0aCBubyBtaXBzIHNob3VsZCBk
cmF3IHdpdGggIiArIGNvbG9yLm5hbWUpOworICBjb3VudCA9IChjb3VudCArIDEpICUgY29sb3Jz
Lmxlbmd0aDsKKyAgY29sb3IgPSBjb2xvcnNbY291bnRdOworICBmaWxsTGV2ZWwoMCwgd2lkdGgs
IGhlaWdodCwgY29sb3IucmdiYSwgY3ViZU1hcCk7CisgIGdsLmdlbmVyYXRlTWlwbWFwKHRhcmdl
dCk7CisgIHZhciBlcnIgPSBnbC5nZXRFcnJvcigpOworICBpZiAoZXJyID09IGdsLk9VVF9PRl9N
RU1PUlkpIHsKKyAgICBkZWJ1Zygib3V0IG9mIG1lbW9yeSIpOworICAgIHJldHVybiBmYWxzZTsK
KyAgfQorICBpZiAoZXJyICE9IGdsLk5PX0VSUk9SKSB7CisgICAgdGVzdEZhaWxlZCgidW5leHBl
Y3RlZCBnbCBlcnJvcjogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgZXJyKSk7CisgIH0KKyAg
Z2wudGV4UGFyYW1ldGVyaSh0YXJnZXQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFS
X01JUE1BUF9ORUFSRVNUKTsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFz
KGdsLCBjb2xvci5yZ2JhLAorICAgICAgdHlwZSArICIgb2Ygc2l6ZSAiICsgd2lkdGggKyAieCIg
KyBoZWlnaHQgKyAiIHdpdGggbWlwcyBzaG91bGQgZHJhdyB3aXRoICIgKyBjb2xvci5uYW1lKTsK
KworICBjb3VudCA9IChjb3VudCArIDEpICUgY29sb3JzLmxlbmd0aDsKKyAgY29sb3IgPSBjb2xv
cnNbY291bnRdOworICBmaWxsTGV2ZWwoMCwgd2lkdGgsIGhlaWdodCwgY29sb3IucmdiYSwgY3Vi
ZU1hcCwgdHJ1ZSk7CisgIGdsLmdlbmVyYXRlTWlwbWFwKHRhcmdldCk7CisKKyAgd3R1LmRyYXdR
dWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBjb2xvci5yZ2JhLAorICAgICAgdHlwZSAr
ICIgb2Ygc2l6ZSAiICsgd2lkdGggKyAieCIgKyBoZWlnaHQgKyAiIHdpdGggbWlwcyBzaG91bGQg
ZHJhdyB3aXRoICIgKyBjb2xvci5uYW1lKTsKKworICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cisg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJTaG91bGQgYmUgbm8gZXJyb3JzLiIp
OworICByZXR1cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gZmlsbExldmVsKGxldmVsLCB3aWR0aCwg
aGVpZ2h0LCBjb2xvciwgb3B0X2N1YmVtYXAsIG9wdF9zdWJUZXgpIHsKKyAgdmFyIG51bVBpeGVs
cyA9IHdpZHRoICogaGVpZ2h0OworICB2YXIgcGl4ZWxzID0gbnVsbDsKKyAgdmFyIGxhcmdlRGlt
ID0gTWF0aC5tYXgod2lkdGgsIGhlaWdodCk7CisgIHZhciBzbWFsbERpbSA9IE1hdGgubWluKHdp
ZHRoLCBoZWlnaHQpOworCisgIHZhciBwaXhlbFJvdyA9IG5ldyBVaW50OEFycmF5KGxhcmdlRGlt
ICogNCk7CisgIGZvciAodmFyIGpqID0gMDsgamogPCBsYXJnZURpbTsgKytqaikgeworICAgIHZh
ciBvZmYgPSBqaiAqIDQ7CisgICAgcGl4ZWxSb3dbb2ZmICsgMF0gPSBjb2xvclswXTsKKyAgICBw
aXhlbFJvd1tvZmYgKyAxXSA9IGNvbG9yWzFdOworICAgIHBpeGVsUm93W29mZiArIDJdID0gY29s
b3JbMl07CisgICAgcGl4ZWxSb3dbb2ZmICsgM10gPSBjb2xvclszXTsKKyAgfQorCisgIGlmIChs
YXJnZURpbSA9PSBudW1QaXhlbHMpIHsKKyAgICBwaXhlbHMgPSBwaXhlbFJvdzsKKyAgfSBlbHNl
IHsKKyAgICB2YXIgcGl4ZWxzID0gbmV3IFVpbnQ4QXJyYXkobnVtUGl4ZWxzICogNCk7CisgICAg
Zm9yICh2YXIgamogPSAwOyBqaiA8IHNtYWxsRGltOyArK2pqKSB7CisgICAgICB2YXIgb2ZmID0g
amogKiBsYXJnZURpbSAqIDQ7CisgICAgICBwaXhlbHMuc2V0KHBpeGVsUm93LCBvZmYpOworICAg
IH0KKyAgfQorIAorICB2YXIgdGFyZ2V0cyA9IG9wdF9jdWJlbWFwID8gWworICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZF
X1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1os
CisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aXSA6CisgICAgW2dsLlRFWFRVUkVf
MkRdOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0YXJnZXRzLmxlbmd0aDsgKytpaSkgewor
ICAgIC8vIGRlYnVnKHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdGFyZ2V0c1tpaV0pKTsKKyAgICB2
YXIgaW5kZXggPSAoaWkgKyBwb3dlcikgJSB0YXJnZXRzLmxlbmd0aDsKKyAgICB2YXIgdGFyZ2V0
ID0gdGFyZ2V0c1tpbmRleF07CisgICAgaWYgKG9wdF9zdWJUZXgpIHsKKyAgICAgIGdsLnRleFN1
YkltYWdlMkQoCisgICAgICAgICAgdGFyZ2V0LCBsZXZlbCwgMCwgMCwgd2lkdGgsIGhlaWdodCwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBwaXhlbHMpOworICAgIH0gZWxz
ZSB7CisgICAgICBnbC50ZXhJbWFnZTJEKAorICAgICAgICAgIHRhcmdldCwgbGV2ZWwsIGdsLlJH
QkEsIHdpZHRoLCBoZWlnaHQsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAg
ICAgcGl4ZWxzKTsKKyAgICB9CisgIH0KK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMv
Z2wtdW5pZm9ybS1hcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTg4YTE4MzkzOGY1MzRjYzJiZDhlMjMwOTIwYmNiOWFlODI3NTY2MAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwKQEAgLTAsMCAr
MSw1MDIgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIHVuaWZvcm0gYXJyYXkgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIiIGhlaWdodD0iMiI+IDwv
Y2FudmFzPgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgor
ICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247CisgICAgdm9pZCBtYWluKCkKKyAgICB7Cisg
ICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNj
cmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9ybSAkKHR5cGUpIGNvbG9yWzNdOworICAgIHZv
aWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvbG9yWzBdJChl
bGVtKSwgY29sb3JbMV0kKGVsZW0pLCBjb2xvclsyXSQoZWxlbSksIDEpOworICAgIH0KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlci1tYXgiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVuaWZvcm0gdmVjNCBjb2xvcmFb
JChtYXhVbmlmb3JtVmVjdG9ycyldOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBn
bF9GcmFnQ29sb3IgPSB2ZWM0KGNvbG9yYVskKHVzZWRVbmlmb3JtVmVjdG9yKV0pOworICAgIH0K
Kzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlci1tYXgtYWItYWIiIHR5cGU9Ingtc2hhZGVy
L3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVuaWZvcm0g
dmVjNCAkKGRlY2wxKTsKKyAgICB1bmlmb3JtIHZlYzQgJChkZWNsMik7CisgICAgdm9pZCBtYWlu
KCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoJCh1c2FnZTEpICsgJCh1c2Fn
ZTIpKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlw
dGlvbigpOworZGVidWcoIiIpOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0g
d3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworCit2YXIgdlNyYyA9IHd0dS5nZXRTY3Jp
cHQoInZzaGFkZXIiKTsKK3ZhciBmVGVtcGxhdGUgPSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyIik7
CisKK3ZhciB0eXBlSW5mb3MgPSBbCisgIHsgdHlwZTogJ2Zsb2F0JywKKyAgICBqc1R5cGVPZjog
J251bWJlcicsCisgICAgc2V0dGVyOiAndW5pZm9ybTFmdicsCisgICAgZWxlbTogJycsCisgICAg
bnVtU3JjVmFsdWVzOiAzLAorICAgIGludmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAg
Z2wudW5pZm9ybTJmdihsb2MsIFsxLCAyXSk7CisgICAgfSwKKyAgICBzcmNWYWx1ZUFzU3RyaW5n
OiBmdW5jdGlvbihpbmRleCwgc3JjVmFsdWVzKSB7CisgICAgICByZXR1cm4gc3JjVmFsdWVzW2lu
ZGV4XS50b1N0cmluZygpOworICAgIH0sCisgICAgcmV0dXJuVmFsdWVBc1N0cmluZzogZnVuY3Rp
b24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCA/ICdudWxsJyA6IHZhbHVl
LnRvU3RyaW5nKCk7CisgICAgfSwKKyAgICBjaGVja1R5cGU6IGZ1bmN0aW9uKHZhbHVlKSB7Cisg
ICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJzsKKyAgICB9LAorICAgIGNoZWNr
VmFsdWU6IGZ1bmN0aW9uKHR5cGVJbmZvLCBpbmRleCwgdmFsdWUpIHsKKyAgICAgIHJldHVybiB0
eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXhdID09IHZhbHVlOworICAgIH0sCisgICAgc3JjVmFsdWVz
OiBbMTYsIDE1LCAxNF0sCisgICAgc3JjVmFsdWVzTGVzczogW10sCisgICAgc3JjVmFsdWVzTGVz
c011bHRpcGxlOiBbMTZdLAorICAgIHNyY1ZhbHVlc01vcmVNdWx0aXBsZTogWzE2LCAxNSwgMTQs
IDEzXSwKKyAgICBzcmNWYWx1ZXNOb25NdWx0aXBsZTogbnVsbCwKKyAgfSwKKyAgeyB0eXBlOiAn
dmVjMicsCisgICAganNUeXBlT2Y6ICdGbG9hdDMyQXJyYXknLAorICAgIHNldHRlcjogJ3VuaWZv
cm0yZnYnLAorICAgIGVsZW06ICdbMV0nLAorICAgIG51bVNyY1ZhbHVlczogMywKKyAgICBpbnZh
bGlkU2V0OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGdsLnVuaWZvcm0xZnYobG9jLCBbMl0pOwor
ICAgIH0sCisgICAgaWxsZWdhbFNldDogZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlmb3Jt
MWZ2KGxvYywgMik7CisgICAgfSwKKyAgICBzcmNWYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbihpbmRl
eCwgc3JjVmFsdWVzKSB7CisgICAgICByZXR1cm4gIlsiICsgc3JjVmFsdWVzW2luZGV4ICogMiAr
IDBdLnRvU3RyaW5nKCkgKyAiLCAiICsKKyAgICAgICAgICAgICAgICAgICBzcmNWYWx1ZXNbaW5k
ZXggKiAyICsgMV0udG9TdHJpbmcoKSArICJdIjsKKyAgICB9LAorICAgIHJldHVyblZhbHVlQXNT
dHJpbmc6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyAn
bnVsbCcgOiAoIlsiICsgdmFsdWVbMF0gKyAiLCAiICsgdmFsdWVbMV0gKyAiXSIpOworICAgIH0s
CisgICAgY2hlY2tUeXBlOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlICYm
CisgICAgICAgICAgICAgdHlwZW9mIHZhbHVlLmxlbmd0aCA9PT0gJ251bWJlcicgJiYKKyAgICAg
ICAgICAgICB2YWx1ZS5sZW5ndGggPT0gMjsKKyAgICB9LAorICAgIGNoZWNrVmFsdWU6IGZ1bmN0
aW9uKHR5cGVJbmZvLCBpbmRleCwgdmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSAhPT0gbnVs
bCAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDIgKyAwXSA9PSB2
YWx1ZVswXSAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDIgKyAx
XSA9PSB2YWx1ZVsxXTsKKyAgICB9LAorICAgIHNyY1ZhbHVlczogWzE2LCAxNSwgMTQsIDEzLCAx
MiwgMTFdLAorICAgIHNyY1ZhbHVlc0xlc3M6IFsxNl0sCisgICAgc3JjVmFsdWVzTGVzc011bHRp
cGxlOiBbMTYsIDE1LCAxNCwgMTNdLAorICAgIHNyY1ZhbHVlc01vcmVNdWx0aXBsZTogWzE2LCAx
NSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5XSwKKyAgICBzcmNWYWx1ZXNOb25NdWx0aXBsZTogWzE2
LCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEwXSwKKyAgfSwKKyAgeyB0eXBlOiAndmVjMycsCisgICAg
anNUeXBlT2Y6ICdGbG9hdDMyQXJyYXknLAorICAgIHNldHRlcjogJ3VuaWZvcm0zZnYnLAorICAg
IGVsZW06ICdbMl0nLAorICAgIG51bVNyY1ZhbHVlczogMywKKyAgICBpbnZhbGlkU2V0OiBmdW5j
dGlvbihsb2MpIHsKKyAgICAgIGdsLnVuaWZvcm0xZnYobG9jLCBbMl0pOworICAgIH0sCisgICAg
aWxsZWdhbFNldDogZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlmb3JtMWZ2KGxvYywgMik7
CisgICAgfSwKKyAgICBzcmNWYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbihpbmRleCwgc3JjVmFsdWVz
KSB7CisgICAgICByZXR1cm4gIlsiICsgc3JjVmFsdWVzW2luZGV4ICogMyArIDBdLnRvU3RyaW5n
KCkgKyAiLCAiICsKKyAgICAgICAgICAgICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiAzICsgMV0u
dG9TdHJpbmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAq
IDMgKyAyXS50b1N0cmluZygpICsgIl0iOworICAgIH0sCisgICAgcmV0dXJuVmFsdWVBc1N0cmlu
ZzogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCA/ICdudWxs
JyA6CisgICAgICAgICAgKCJbIiArIHZhbHVlWzBdICsgIiwgIiArIHZhbHVlWzFdICsgIiwgIiAr
IHZhbHVlWzJdICsgIl0iKTsKKyAgICB9LAorICAgIGNoZWNrVHlwZTogZnVuY3Rpb24odmFsdWUp
IHsKKyAgICAgIHJldHVybiB2YWx1ZSAmJgorICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZS5sZW5n
dGggPT09ICdudW1iZXInICYmCisgICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09IDM7CisgICAg
fSwKKyAgICBjaGVja1ZhbHVlOiBmdW5jdGlvbih0eXBlSW5mbywgaW5kZXgsIHZhbHVlKSB7Cisg
ICAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNW
YWx1ZXNbaW5kZXggKiAzICsgMF0gPT0gdmFsdWVbMF0gJiYKKyAgICAgICAgICAgICB0eXBlSW5m
by5zcmNWYWx1ZXNbaW5kZXggKiAzICsgMV0gPT0gdmFsdWVbMV0gJiYKKyAgICAgICAgICAgICB0
eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiAzICsgMl0gPT0gdmFsdWVbMl07CisgICAgfSwKKyAg
ICBzcmNWYWx1ZXM6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOF0sCisgICAgc3Jj
VmFsdWVzTGVzczogWzE2LCAxNV0sCisgICAgc3JjVmFsdWVzTGVzc011bHRpcGxlOiBbMTYsIDE1
LCAxNCwgMTMsIDEyLCAxMV0sCisgICAgc3JjVmFsdWVzTW9yZU11bHRpcGxlOiBbMTYsIDE1LCAx
NCwgMTMsIDEyLCAxMSwgMTAsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDJdLAorICAgIHNyY1ZhbHVl
c05vbk11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDksIDgsIDddLAorICB9
LAorICB7IHR5cGU6ICd2ZWM0JywKKyAgICBqc1R5cGVPZjogJ0Zsb2F0MzJBcnJheScsCisgICAg
c2V0dGVyOiAndW5pZm9ybTRmdicsCisgICAgZWxlbTogJ1szXScsCisgICAgbnVtU3JjVmFsdWVz
OiAzLAorICAgIGludmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFm
dihsb2MsIFsyXSk7CisgICAgfSwKKyAgICBpbGxlZ2FsU2V0OiBmdW5jdGlvbihsb2MpIHsKKyAg
ICAgIGdsLnVuaWZvcm0xZnYobG9jLCAyKTsKKyAgICB9LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6
IGZ1bmN0aW9uKGluZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAgIHJldHVybiAiWyIgKyBzcmNWYWx1
ZXNbaW5kZXggKiA0ICsgMF0udG9TdHJpbmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAg
IHNyY1ZhbHVlc1tpbmRleCAqIDQgKyAxXS50b1N0cmluZygpICsgIiwgIiArCisgICAgICAgICAg
ICAgICAgICAgc3JjVmFsdWVzW2luZGV4ICogNCArIDJdLnRvU3RyaW5nKCkgKyAiLCAiICsKKyAg
ICAgICAgICAgICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiA0ICsgM10udG9TdHJpbmcoKSArICJd
IjsKKyAgICB9LAorICAgIHJldHVyblZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKHZhbHVlKSB7Cisg
ICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyAnbnVsbCcgOgorICAgICAgICAgICgiWyIgKyB2
YWx1ZVswXSArICIsICIgKyB2YWx1ZVsxXSArCisgICAgICAgICAgICIsICIgKyB2YWx1ZVsyXSAr
ICIsICIgKyB2YWx1ZVszXSArICJdIik7CisgICAgfSwKKyAgICBjaGVja1R5cGU6IGZ1bmN0aW9u
KHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUgJiYKKyAgICAgICAgICAgICB0eXBlb2YgdmFs
dWUubGVuZ3RoID09PSAnbnVtYmVyJyAmJgorICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCA9PSA0
OworICAgIH0sCisgICAgY2hlY2tWYWx1ZTogZnVuY3Rpb24odHlwZUluZm8sIGluZGV4LCB2YWx1
ZSkgeworICAgICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmCisgICAgICAgICAgICAgdHlwZUlu
Zm8uc3JjVmFsdWVzW2luZGV4ICogNCArIDBdID09IHZhbHVlWzBdICYmCisgICAgICAgICAgICAg
dHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogNCArIDFdID09IHZhbHVlWzFdICYmCisgICAgICAg
ICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogNCArIDJdID09IHZhbHVlWzJdICYmCisg
ICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogNCArIDNdID09IHZhbHVlWzNd
OworICAgIH0sCisgICAgc3JjVmFsdWVzOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDks
IDgsIDcsIDYsIDVdLAorICAgIHNyY1ZhbHVlc0xlc3M6IFsxNiwgMTUsIDE0XSwKKyAgICBzcmNW
YWx1ZXNMZXNzTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOV0sCisgICAg
c3JjVmFsdWVzTW9yZU11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDksIDgs
IDcsIDYsIDUsIDQsIDMsIDIsIDFdLAorICAgIHNyY1ZhbHVlc05vbk11bHRpcGxlOiBbMTYsIDE1
LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDksIDgsIDcsIDYsIDUsIDRdLAorICB9CitdOworCitmb3Ig
KHZhciB0dCA9IDA7IHR0IDwgdHlwZUluZm9zLmxlbmd0aDsgKyt0dCkgeworICB2YXIgdHlwZUlu
Zm8gPSB0eXBlSW5mb3NbdHRdOworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJjaGVjayAiICsgdHlw
ZUluZm8udHlwZSk7CisgIHZhciBmU3JjID0gd3R1LnJlcGxhY2VQYXJhbXMoZlRlbXBsYXRlLCB0
eXBlSW5mbyk7CisgIC8vZGVidWcoImZTcmM6ICIgKyBmU3JjKTsKKyAgdmFyIHByb2dyYW0gPSB3
dHUubG9hZFByb2dyYW0oZ2wsIHZTcmMsIGZTcmMpOworCisgIHZhciBudW1Vbmlmb3JtcyA9IGds
LmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2wuQUNUSVZFX1VOSUZPUk1TKTsKKyAgYXNz
ZXJ0TXNnKG51bVVuaWZvcm1zID09IDEsICIxIHVuaWZvcm0gZm91bmQiKTsKKyAgdmFyIGluZm8g
PSBnbC5nZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDApOworICBhc3NlcnRNc2coaW5mby5uYW1l
ID09ICJjb2xvclswXSIsCisgICAgICAgICAgICAidW5pZm9ybSBuYW1lIGlzICdjb2xvclswXScg
bm90ICdjb2xvcicgYXMgcGVyIE9wZW5HTCBFUyAyLjAuMjQgc2VjdGlvbiAyLjEwIik7CisgIHZh
ciBsb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgImNvbG9yWzBdIik7CisgIHZh
ciBzcmNWYWx1ZXMgPSB0eXBlSW5mby5zcmNWYWx1ZXM7CisgIHZhciBzcmNWYWx1ZXNMZXNzID0g
dHlwZUluZm8uc3JjVmFsdWVzTGVzczsKKyAgdmFyIHNyY1ZhbHVlc0xlc3NNdWx0aXBsZSA9IHR5
cGVJbmZvLnNyY1ZhbHVlc0xlc3NNdWx0aXBsZTsKKyAgdmFyIHNyY1ZhbHVlc01vcmVNdWx0aXBs
ZSA9IHR5cGVJbmZvLnNyY1ZhbHVlc01vcmVNdWx0aXBsZTsKKyAgdmFyIHNyY1ZhbHVlc05vbk11
bHRpcGxlID0gdHlwZUluZm8uc3JjVmFsdWVzTm9uTXVsdGlwbGU7CisKKyAgLy8gVHJ5IHNldHRp
bmcgdGhlIHZhbHVlIGJlZm9yZSB1c2luZyB0aGUgcHJvZ3JhbQorICBnbFt0eXBlSW5mby5zZXR0
ZXJdKGxvYywgc3JjVmFsdWVzKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwKKyAgICAgICAgICAgICAgICAgICJzaG91bGQgZmFpbCBpZiB0aGVyZSBpcyBubyBj
dXJyZW50IHByb2dyYW0iKTsKKworICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworICBnbFt0eXBl
SW5mby5zZXR0ZXJdKGxvYywgc3JjVmFsdWVzTGVzcyk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuSU5WQUxJRF9WQUxVRSwKKyAgICAgICAgICAgICAgICAgICJzaG91bGQgZmFpbCB3aXRoIGlu
c3VmZmljaWVudCBhcnJheSBzaXplIHdpdGggZ2wuIiArIHR5cGVJbmZvLnNldHRlcik7CisgIGlm
IChzcmNWYWx1ZXNOb25NdWx0aXBsZSkgeworICAgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBz
cmNWYWx1ZXNOb25NdWx0aXBsZSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElE
X1ZBTFVFLAorICAgICAgICAgICAgICAgICAgICAic2hvdWxkIGZhaWwgd2l0aCBub24tbXVsdGlw
bGUgYXJyYXkgc2l6ZSB3aXRoIGdsLiIgKyB0eXBlSW5mby5zZXR0ZXIpOworICB9CisgIGdsW3R5
cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1ZXMpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SLAorICAgICAgICAgICAgICAgICAgImNhbiBzZXQgYW4gYXJyYXkgb2YgdW5pZm9y
bXMgd2l0aCBnbC4iICsgdHlwZUluZm8uc2V0dGVyKTsKKyAgZ2xbdHlwZUluZm8uc2V0dGVyXShs
b2MsIHNyY1ZhbHVlc0xlc3NNdWx0aXBsZSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsCisgICAgICAgICAgICAgICAgICAiY2FuIHBhcnRpYWxseSBzZXQgYW4gYXJyYXkgb2Yg
dW5pZm9ybXMgd2l0aCBnbC4iICsgdHlwZUluZm8uc2V0dGVyICsgIiB3aXRoIGEgc21hbGxlciBh
cnJheSIpOworICBnbFt0eXBlSW5mby5zZXR0ZXJdKGxvYywgc3JjVmFsdWVzTW9yZU11bHRpcGxl
KTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAg
ICJjYW4gc2V0IGFuIGFycmF5IG9mIHVuaWZvcm1zIHdpdGggZ2wuIiArIHR5cGVJbmZvLnNldHRl
ciArICIgd2l0aCBhIGxhcmdlciBhcnJheSIpOworCisgIHZhciB2YWx1ZXMgPSBnbC5nZXRVbmlm
b3JtKHByb2dyYW0sIGxvYyk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisg
ICAgICAgICAgICAgICAgICAiY2FuIGNhbGwgZ2wuZ2V0VW5pZm9ybSIpOworICBhc3NlcnRNc2co
dHlwZUluZm8uY2hlY2tUeXBlKHZhbHVlcyksCisgICAgICAgICAgICAiZ2wuZ2V0VW5pZm9ybSBy
ZXR1cm5zIHRoZSBjb3JyZWN0IHR5cGUuIik7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0eXBl
SW5mby5udW1TcmNWYWx1ZXM7ICsraWkpIHsKKyAgICB2YXIgZWxlbUxvYyA9IGdsLmdldFVuaWZv
cm1Mb2NhdGlvbihwcm9ncmFtLCAiY29sb3JbIiArIGlpICsgIl0iKTsKKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAiY2FuIGdldCBsb2Nh
dGlvbiBvZiBlbGVtZW50ICIgKyBpaSArCisgICAgICAgICAgICAgICAgICAgICIgb2YgYXJyYXkg
ZnJvbSBnbC5nZXRVbmlmb3JtTG9jYXRpb24iKTsKKyAgICB2YXIgdmFsdWUgPSBnbC5nZXRVbmlm
b3JtKHByb2dyYW0sIGVsZW1Mb2MpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IsCisgICAgICAgICAgICAgICAgICAgICJjYW4gZ2V0IHZhbHVlIG9mIGVsZW1lbnQgIiArIGlp
ICsgIiBvZiBhcnJheSBmcm9tIGdsLmdldFVuaWZvcm0iKTsKKyAgICBhc3NlcnRNc2codHlwZUlu
Zm8uY2hlY2tWYWx1ZSh0eXBlSW5mbywgaWksIHZhbHVlKSwKKyAgICAgICAgICAgICAgInZhbHVl
IHB1dCBpbiAoIiArIHR5cGVJbmZvLnNyY1ZhbHVlQXNTdHJpbmcoaWksIHNyY1ZhbHVlcykgKwor
ICAgICAgICAgICAgICAiKSBtYXRjaGVzIHZhbHVlIHB1bGxlZCBvdXQgKCIgKworICAgICAgICAg
ICAgICB0eXBlSW5mby5yZXR1cm5WYWx1ZUFzU3RyaW5nKHZhbHVlKSArICIpIik7CisgIH0KKyAg
dHlwZUluZm8uaW52YWxpZFNldChsb2MpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFM
SURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgInVzaW5nIHRoZSB3cm9uZyBzaXplIG9m
IGdsLlVuaWZvcm0gZmFpbHMiKTsKKyAgdmFyIGV4Y2VwdGlvbkNhdWdodCA9IGZhbHNlOworICBp
ZiAodHlwZUluZm8uaWxsZWdhbFNldCkgeworICAgIHRyeSB7CisgICAgICB0eXBlSW5mby5pbGxl
Z2FsU2V0KGxvYyk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgZXhjZXB0aW9uQ2F1Z2h0ID0g
dHJ1ZTsKKyAgICB9CisgICAgYXNzZXJ0TXNnKGV4Y2VwdGlvbkNhdWdodCwgInBhc3Npbmcgbm9u
LWFycmF5IHRvIGdsVW5pZm9ybSpmdiBzaG91bGQgdGhyb3cgVHlwZUVycm9yIik7CisgIH0KKwor
ICBnbC51c2VQcm9ncmFtKG51bGwpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
LAorICAgICAgICAgICAgICAgICAgImNhbiBjYWxsIGdsLnVzZVByb2dyYW0obnVsbCkiKTsKK30K
KworLy8gVGhpcyB0ZXN0IGlzIHRvIHRlc3QgZHJpdmVycyB0aGUgaGF2ZSBidWdzIHJlbGF0ZWQg
dG8gb3B0aW1pemluZworLy8gYW4gYXJyYXkgb2YgdW5pZm9ybXMgd2hlbiBvbmx5IDEgb2YgdGhv
c2UgdW5pZm9ybXMgaXMgdXNlZC4KK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGRyaXZlcnMgZG9u
J3Qgb3ZlciBvcHRpbWl6ZSB1bnVzZWQgYXJyYXkgZWxlbWVudHMiKTsKK3ZhciBtYXhVbmlmb3Jt
VmVjdG9ycyA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfRlJBR01FTlRfVU5JRk9STV9WRUNUT1JT
KTsKK3ZhciB0ZXN0cyA9IFsKKyB7IGRlc2M6ICJ1c2luZyBsYXN0IGVsZW1lbnQiLAorICAgbWF4
VW5pZm9ybVZlY3RvcnM6IG1heFVuaWZvcm1WZWN0b3JzLAorICAgdXNlZFVuaWZvcm1WZWN0b3I6
IG1heFVuaWZvcm1WZWN0b3JzIC0gMSwKKyAgIHNoYWRlcjogImZzaGFkZXItbWF4IiwKKyAgIGNv
bG9yOiBbMCwgMSwgMCwgMV0sCisgICBhcnJheU5hbWU6ICJjb2xvcmEiLAorICAgZXh0cmFOYW1l
OiAiY29sb3JiIiwKKyB9LAorIHsgZGVzYzogInVzaW5nIGZpcnN0IGVsZW1lbnQiLAorICAgbWF4
VW5pZm9ybVZlY3RvcnM6IG1heFVuaWZvcm1WZWN0b3JzLAorICAgdXNlZFVuaWZvcm1WZWN0b3I6
IDAsCisgICBzaGFkZXI6ICJmc2hhZGVyLW1heCIsCisgICBjb2xvcjogWzAsIDEsIDAsIDFdLAor
ICAgYXJyYXlOYW1lOiAiY29sb3JhIiwKKyAgIGV4dHJhTmFtZTogImNvbG9yYiIsCisgfSwKK107
CisKKy8vIEdlbmVyYXRlIHRlc3Qgc2hhZGVycy4gV2UncmUgdHJ5aW5nIHRvIGZvcmNlIHRoZSBk
cml2ZXIgdG8KKy8vIG92ZXJmbG93IGZyb20gMSBhcnJheSBpbnRvIHRoZSBuZXh0IGlmIGl0IG9w
dGltaXplcy4gU28gZm9yIGV4YW1wbGUgaWYgaXQgd2FzIEMKKy8vCisvLyAgIGludCBiaWdbNF07
CisvLyAgIGludCBsaXR0bGVbMV07CisvLyAgIGJpZ1s1XSA9IDEyNDsKKy8vCisvLyBXb3VsZCBl
bmQgdXAgc2V0dGluZyBsaXR0bGVbMF0gaW5zdGVhZCBvZiBiaWcuIFNvbWUgZHJpdmVycyBvcHRp
bWl6ZQorLy8gd2hlcmUgaWYgeW91IG9ubHkgdXNlIHNheSAnYmlnWzNdJyBpdCB3aWxsIGFjdHVh
bGx5IG9ubHkgYWxsb2NhdGUganVzdCAxIGVsZW1lbnQKKy8vIGZvciBiaWcuCisvLworLy8gQnV0
LCBzb21lIGRyaXZlcnMgaGF2ZSBhIGJ1ZyB3aGVyZSB0aGUgZmFjdCB0aGF0IHRoZXkgb3B0aW1p
emVkIGJpZyB0byAxIGVsZW1lbnQKKy8vIGRvZXMgbm90IGdldCBwYXNzZWQgZG93biB0byBnbFVu
aWZvcm0gc28gd2hlbiBzZXR0aW5nIHRoZSB1bmlmb3JtICdiaWdbM10nIHRoZXkKKy8vIG92ZXJ3
cml0ZSBtZW1vcnkuCisvLworLy8gSWYgdGhlIGRyaXZlciBjcmFzaGVzLCB5ZWEuIFdlIGZvdW5k
IGEgYnVnLiBXZSBjYW4gYmxhY2tsaXN0IHRoZSBkcml2ZXIuCisvLyBPdGhlcndpc2Ugd2UgdHJ5
IHZhcmlvdXMgY29tYmluYXRpb25zIHNvIHRoYXQgc2V0dGluZyAnbGl0dGxlWzBdJyBmaXJzdAor
Ly8gYW5kIHRoZW4gc2V0dGluZyBhbGwgZWxlbWVudHMgb2YgJ2JpZycgd2UgaG9wZSBpdCB3aWxs
IG92ZXJ3cml0ZSAnbGl0dGxlWzBdJworLy8gd2hpY2ggd2lsbCBzaG93IHRoZSBidWcgYW5kIGFn
YWluIHdlIGNhbiBibGFja2xpc3QgdGhlIGRyaXZlci4KKy8vCisvLyBXZSBkb24ndCBrbm93IGhv
dyB0aGUgZHJpdmVyIHdpbGwgb3JkZXIsIGluIG1lbW9yeSwgdGhlIHZhcmlvdXMgdW5pZm9ybXMK
Ky8vIG9yIGZvciB0aGF0IG1hdHRlciB3ZSBkb24ndCBldmVuIGtub3cgaWYgdGhleSB3aWxsIGJl
IGNvbnRpZ3VvdXMgaW4gbWVtb3J5CisvLyBidXQgdG8gaG9wZWZ1bGx5IGV4cG9zZSBhbnkgYnVn
cyB3ZSB0cnkgdmFyaW91cyBjb21iaW5hdGlvbnMuCisvLworLy8gICAgSXQgY291bGQgYmUgdGhl
IGNvbXBpbGVyIG9yZGVycyB1bmlmb3JtcyBhbHBoYWJldGljYWxseS4KKy8vICAgIEl0IGNvdWxk
IGJlIGl0IG9yZGVycyB0aGVtIGluIG9yZGVyIG9mIGRlY2xhcmF0aW9uLgorLy8gICAgSXQgY291
bGQgYmUgaXQgb3JkZXJzIHRoZW0gaW4gb3JkZXIgb2YgdXNhZ2UuCisvLworLy8gV2UgYWxzbyB0
ZXN0IHVzaW5nIG9ubHkgZmlyc3QgZWxlbWVudCBvZiBiaWcgb3IganVzdCB0aGUgbGFzdCBlbGVt
ZW50IG9mIGJpZy4KKy8vCitmb3IgKHZhciBuYW1lT3JkZXIgPSAwOyBuYW1lT3JkZXIgPCAyOyAr
K25hbWVPcmRlcikgeworICB2YXIgbmFtZTEgPSBuYW1lT3JkZXIgPyAiY29sb3JhIiA6ICJjb2xv
cmIiOworICB2YXIgbmFtZTIgPSBuYW1lT3JkZXIgPyAiY29sb3JiIiA6ICJjb2xvcmEiOworICBm
b3IgKHZhciBsYXN0ID0gMDsgbGFzdCA8IDI7ICsrbGFzdCkgeworICAgIHZhciB1c2VkVW5pZm9y
bVZlY3RvciA9IGxhc3QgPyBtYXhVbmlmb3JtVmVjdG9ycyAtIDIgOiAwOworICAgIGZvciAodmFy
IGRlY2xPcmRlciA9IDA7IGRlY2xPcmRlciA8IDI7ICsrZGVjbE9yZGVyKSB7CisgICAgICB2YXIg
YmlnTmFtZSAgICA9IGRlY2xPcmRlciA/IG5hbWUxIDogbmFtZTI7CisgICAgICB2YXIgbGl0dGxl
TmFtZSA9IGRlY2xPcmRlciA/IG5hbWUyIDogbmFtZTE7CisgICAgICB2YXIgZGVjbDEgPSBiaWdO
YW1lICsgIlsiICsgKG1heFVuaWZvcm1WZWN0b3JzIC0gMSkgKyAiXSI7CisgICAgICB2YXIgZGVj
bDIgPSBsaXR0bGVOYW1lICsgIlsxXSI7CisgICAgICBpZiAoZGVjbE9yZGVyKSB7CisgICAgICAg
IHZhciB0ID0gZGVjbDE7CisgICAgICAgIGRlY2wxID0gZGVjbDI7CisgICAgICAgIGRlY2wyID0g
dDsKKyAgICAgIH0KKyAgICAgIGZvciAodmFyIHVzYWdlT3JkZXIgPSAwOyB1c2FnZU9yZGVyIDwg
MjsgKyt1c2FnZU9yZGVyKSB7CisgICAgICAgIHZhciB1c2FnZTEgPSBiaWdOYW1lICsgIlsiICsg
dXNlZFVuaWZvcm1WZWN0b3IgKyAiXSI7CisgICAgICAgIHZhciB1c2FnZTIgPSBsaXR0bGVOYW1l
ICsgIlswXSI7CisgICAgICAgIGlmICh1c2FnZU9yZGVyKSB7CisgICAgICAgICAgdmFyIHQgPSB1
c2FnZTE7CisgICAgICAgICAgdXNhZ2UxID0gdXNhZ2UyOworICAgICAgICAgIHVzYWdlMiA9IHQ7
CisgICAgICAgIH0KKyAgICAgICAgdmFyIGZTcmMgPSB3dHUucmVwbGFjZVBhcmFtcyh3dHUuZ2V0
U2NyaXB0KCJmc2hhZGVyLW1heC1hYi1hYiIpLCB7CisgICAgICAgICAgZGVjbDE6IGRlY2wxLAor
ICAgICAgICAgIGRlY2wyOiBkZWNsMiwKKyAgICAgICAgICB1c2FnZTE6IHVzYWdlMSwKKyAgICAg
ICAgICB1c2FnZTI6IHVzYWdlMiwKKyAgICAgICAgfSk7CisgICAgICAgIHZhciBkZXNjID0gInRl
c3Rpbmc6ICIgKyBuYW1lMSArICI6IiArIG5hbWUyICsgIiB1c2luZyAiICsgKGxhc3QgPyAibGFz
dCIgOiAiZmlyc3QiKSArCisgICAgICAgICAgICAiIGNyZWF0aW5nIHVuaWZvcm1zICIgKyBkZWNs
MSArICIgIiArIGRlY2wyICsgIiBhbmQgYWNjZXNzaW5nICIgKyB1c2FnZTEgKyAiICIgKyB1c2Fn
ZTI7CisgICAgICAgIHRlc3RzLnB1c2goeworICAgICAgICAgIGRlc2M6IGRlc2MsCisgICAgICAg
ICAgbWF4VW5pZm9ybVZlY3RvcnM6IG1heFVuaWZvcm1WZWN0b3JzIC0gMSwKKyAgICAgICAgICB1
c2VkVW5pZm9ybVZlY3RvcjogdXNlZFVuaWZvcm1WZWN0b3IsCisgICAgICAgICAgc291cmNlOiBm
U3JjLAorICAgICAgICAgIGNvbG9yOiBbMCwgMCwgMCwgMV0sCisgICAgICAgICAgYXJyYXlOYW1l
OiBiaWdOYW1lLAorICAgICAgICAgIGV4dHJhTmFtZTogbGl0dGxlTmFtZSwKKyAgICAgICAgfSk7
CisgICAgICB9CisgICAgfQorICB9Cit9CisKK3ZhciBhbGxSZXF1aXJlZFVuaWZvcm1Mb2NhdGlv
bnNRdWVyeWFibGUgPSB0cnVlOworZnVuY3Rpb24gdGVzdFVuaWZvcm1PcHRpbWl6YXRpb25Jc3N1
ZXModGVzdEluZGV4KSB7CisgIHZhciB0ZXN0ID0gdGVzdHNbdGVzdEluZGV4XTsKKyAgZGVidWco
IiIpOworICBkZWJ1Zyh0ZXN0LmRlc2MpOworICB2YXIgZlNyYyA9IHRlc3Quc291cmNlOworICBp
ZiAoIWZTcmMpIHsKKyAgICBmU3JjID0gd3R1LnJlcGxhY2VQYXJhbXMod3R1LmdldFNjcmlwdCh0
ZXN0LnNoYWRlciksIHRlc3QpOworICB9CisKKyAgdmFyIGNvbnNvbGVFbGVtID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgd3R1LmFkZFNoYWRlclNvdXJjZSgKKyAgICAg
IGNvbnNvbGVFbGVtLCAidmVydGV4IHNoYWRlciIsIHZTcmMpOworICB3dHUuYWRkU2hhZGVyU291
cmNlKAorICAgICAgY29uc29sZUVsZW0sICJmcmFnbWVudCBzaGFkZXIiLCBmU3JjKTsKKworICB2
YXIgcHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbShnbCwgdlNyYywgZlNyYyk7CisgIGdsLnVzZVBy
b2dyYW0ocHJvZ3JhbSk7CisKKyAgdmFyIGNvbG9yYkxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxv
Y2F0aW9uKHByb2dyYW0sIHRlc3QuZXh0cmFOYW1lICsgIlswXSIpOworICBpZiAoY29sb3JiTG9j
YXRpb24pIHsKKyAgICBnbC51bmlmb3JtNGZ2KGNvbG9yYkxvY2F0aW9uLCBbMCwgMSwgMCwgMF0p
OworICB9CisKKyAgLy8gU2V0IGp1c3QgdGhlIHVzZWQgdW5pZm9ybQorICB2YXIgbmFtZSA9IHRl
c3QuYXJyYXlOYW1lICsgIlsiICsgdGVzdC51c2VkVW5pZm9ybVZlY3RvciArICJdIjsKKyAgdmFy
IHVuaWZvcm1Mb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCBuYW1lKTsK
KyAgZ2wudW5pZm9ybTRmdih1bmlmb3JtTG9jYXRpb24sIHRlc3QuY29sb3IpOworICB3dHUuc2V0
dXBRdWFkKGdsLCAxLCBwb3NpdGlvbkxvYyk7CisgIHd0dS5kcmF3SW5kZXhlZFF1YWQoZ2wsIDEp
OworICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3Jl
ZW4iKTsKKworICAvLyBTZXQgYWxsIHRoZSB1bnVzZWQgdW5pZm9ybXMKKyAgdmFyIGxvY2F0aW9u
cyA9IFtdOworICBhbGxSZXF1aXJlZFVuaWZvcm1Mb2NhdGlvbnNRdWVyeWFibGUgPSB0cnVlOwor
ICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdC5tYXhVbmlmb3JtVmVjdG9yczsgKytpaSkgewor
ICAgIHZhciBuYW1lID0gdGVzdC5hcnJheU5hbWUgKyAiWyIgKyBpaSArICJdIjsKKyAgICB2YXIg
dW5pZm9ybUxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sIG5hbWUpOwor
ICAgIGxvY2F0aW9ucy5wdXNoKHVuaWZvcm1Mb2NhdGlvbik7CisgICAgaWYgKGlpID09IHRlc3Qu
dXNlZFVuaWZvcm1WZWN0b3IpIHsKKyAgICAgIGNvbnRpbnVlOworICAgIH0KKyAgICAvLyBMb2Nh
dGlvbnMgPiB1c2VkVW5mb3JtVmVjdG9yIG1heSBub3QgZXhpc3QuCisgICAgLy8gTG9jYXRpb25z
IDw9IHVzZWRVbmlmb3JtVmVjdG9yIE1VU1QgZXhpc3QuCisgICAgaWYgKGlpIDw9IHRlc3QudXNl
ZFVuaWZvcm1WZWN0b3IgJiYgKHVuaWZvcm1Mb2NhdGlvbiA9PT0gdW5kZWZpbmVkIHx8IHVuaWZv
cm1Mb2NhdGlvbiA9PT0gbnVsbCkpIHsKKyAgICAgIGFsbFJlcXVpcmVkVW5pZm9ybUxvY2F0aW9u
c1F1ZXJ5YWJsZSA9IGZhbHNlOworICAgIH0KKyAgICBnbC51bmlmb3JtNGZ2KHVuaWZvcm1Mb2Nh
dGlvbiwgWzEsIDAsIDAsIDFdKTsKKyAgfQorICBzaG91bGRCZVRydWUoImFsbFJlcXVpcmVkVW5p
Zm9ybUxvY2F0aW9uc1F1ZXJ5YWJsZSIpOworICB2YXIgcG9zaXRpb25Mb2MgPSBnbC5nZXRBdHRy
aWJMb2NhdGlvbihwcm9ncmFtLCAiYV9wb3NpdGlvbiIpOworICB3dHUuc2V0dXBRdWFkKGdsLCAx
LCBwb3NpdGlvbkxvYyk7CisgIHd0dS5kcmF3SW5kZXhlZFF1YWQoZ2wsIDEpOworICB3dHUuY2hl
Y2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKworICAv
LyBDaGVjayB3ZSBjYW4gcmVhZCAmIHdyaXRlIGVhY2ggdW5pZm9ybS4KKyAgLy8gTm90ZTogdW5p
Zm9ybXMgcGFzdCB0ZXN0LnVzZWRVbmlmb3JtVmVjdG9yIG1pZ2h0IG5vdCBleGlzdC4KKyAgZm9y
ICh2YXIgaWkgPSAwOyBpaSA8IHRlc3QubWF4VW5pZm9ybVZlY3RvcnM7ICsraWkpIHsKKyAgICBn
bC51bmlmb3JtNGZ2KGxvY2F0aW9uc1tpaV0sIFtpaSArIDQsIGlpICsgMiwgaWkgKyAzLCBpaSAr
IDFdKTsKKyAgfQorCisgIHZhciBrRXBzaWxvbiA9IDAuMDE7CisgIHZhciBpc1NhbWUgPSBmdW5j
dGlvbih2MSwgdjIpIHsKKyAgICByZXR1cm4gTWF0aC5hYnModjEgLSB2MikgPCBrRXBzaWxvbjsK
KyAgfTsKKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdC5tYXhVbmlmb3JtVmVjdG9yczsg
KytpaSkgeworICAgIHZhciBsb2NhdGlvbiA9IGxvY2F0aW9uc1tpaV07CisgICAgaWYgKGxvY2F0
aW9uKSB7CisgICAgICB2YXIgdmFsdWUgPSBnbC5nZXRVbmlmb3JtKHByb2dyYW0sIGxvY2F0aW9u
c1tpaV0pOworICAgICAgaWYgKCFpc1NhbWUodmFsdWVbMF0sIGlpICsgNCkgfHwKKyAgICAgICAg
ICAhaXNTYW1lKHZhbHVlWzFdLCBpaSArIDIpIHx8CisgICAgICAgICAgIWlzU2FtZSh2YWx1ZVsy
XSwgaWkgKyAzKSB8fAorICAgICAgICAgICFpc1NhbWUodmFsdWVbM10sIGlpICsgMSkpIHsKKyAg
ICAgICAgdGVzdEZhaWxlZCgibG9jYXRpb246ICIgKyBpaSArICIgd2FzIG5vdCBjb3JyZWN0IHZh
bHVlIik7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfQorfQorCit2YXIgdGVz
dEluZGV4ID0gMDsKK2Z1bmN0aW9uIHJ1bk5leHRUZXN0KCkgeworICB0ZXN0VW5pZm9ybU9wdGlt
aXphdGlvbklzc3Vlcyh0ZXN0SW5kZXgrKyk7CisgIGlmICh0ZXN0SW5kZXggPCB0ZXN0cy5sZW5n
dGgpIHsKKyAgICBzZXRUaW1lb3V0KHJ1bk5leHRUZXN0LCAxMCk7CisgIH0gZWxzZSB7CisgICAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBlcnJv
cnMiKTsKKyAgICBkZWJ1ZygiIik7CisgICAgZmluaXNoVGVzdCgpOworICB9Cit9CitydW5OZXh0
VGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFs
dWVzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjFlYWU4MGMwMGE0MjczMTg2ZmIzNGU1MDc4ZDhhYmEwMjU1OWViNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDM2
MiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgdW5pZm9ybSBkZWZhdWx0IHZhbHVlczwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3QtZXZhbC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIi
IGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdCBpZD0idnNoYWRlcjAiIHR5cGU9Ingtc2hh
ZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7
CisgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
ImZzaGFkZXIwIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1w
IGZsb2F0OwordW5pZm9ybSAkKHR5cGUpIHVfdW5pZm9ybTsKKworYm9vbCBpc1plcm8oJCh0eXBl
KSB2YWx1ZSkgeworICQoY2hlY2spOworfQorCit2b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29s
b3IgPSBpc1plcm8odV91bmlmb3JtKSA/IHZlYzQoMCwxLDAsMSkgOiB2ZWM0KDEsMCwwLDEpOwor
fQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyMSIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0
ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwordmFyeWluZyB2ZWM0IHZfY29sb3I7Cit1
bmlmb3JtICQodHlwZSkgdV91bmlmb3JtOworCitib29sIGlzWmVybygkKHR5cGUpIHZhbHVlKSB7
CisgICAkKGNoZWNrKTsKK30KKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQ
b3NpdGlvbjsKKyAgICB2X2NvbG9yID0gaXNaZXJvKHVfdW5pZm9ybSkgPyB2ZWM0KDAsMSwwLDEp
IDogdmVjNCgxLDAsMCwxKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjEiIHR5
cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5
aW5nIHZlYzQgdl9jb2xvcjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdl9j
b2xvcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlcjIiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7Cisg
ICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZz
aGFkZXIyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZs
b2F0OwordW5pZm9ybSAkKHR5cGUpIHVfdW5pZm9ybVsyXTsKKworYm9vbCBpc1plcm8oJCh0eXBl
KSB2YWx1ZSkgeworICAkKGNoZWNrKTsKK30KKwordm9pZCBtYWluKCkKK3sKKyAgZ2xfRnJhZ0Nv
bG9yID0gaXNaZXJvKHVfdW5pZm9ybVsxXSkgPyB2ZWM0KDAsMSwwLDEpIDogdmVjNCgxLDAsMCwx
KTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlcjMiIHR5cGU9Ingtc2hhZGVyL3gt
dmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK3ZhcnlpbmcgdmVjNCB2X2NvbG9y
OwordW5pZm9ybSAkKHR5cGUpIHVfdW5pZm9ybVsyXTsKKworYm9vbCBpc1plcm8oJCh0eXBlKSB2
YWx1ZSkgeworICAgJChjaGVjayk7Cit9CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRp
b24gPSB2UG9zaXRpb247CisgICAgdl9jb2xvciA9IGlzWmVybyh1X3VuaWZvcm1bMV0pID8gdmVj
NCgwLDEsMCwxKSA6IHZlYzQoMSwwLDAsMSk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZz
aGFkZXIzIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZs
b2F0OwordmFyeWluZyB2ZWM0IHZfY29sb3I7Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdD
b2xvciA9IHZfY29sb3I7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Citk
ZXNjcmlwdGlvbigpOworCit2YXIgdGVzdHMgPSBbCit7IHR5cGU6ICdmbG9hdCcsCisgIGNoZWNr
OiAicmV0dXJuIHZhbHVlID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGds
LnVuaWZvcm0xZihsb2MsIDMuMCk7IH0KK30sCit7IHR5cGU6ICdpbnQnLAorICBjaGVjazogInJl
dHVybiB2YWx1ZSA9PSAwIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9y
bTFpKGxvYywgMy4wKTsgfQorfSwKK3sgdHlwZTogJ2Jvb2wnLAorICBjaGVjazogInJldHVybiB2
YWx1ZSA9PSBmYWxzZSIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0x
aShsb2MsIDEpOyB9Cit9LAoreyB0eXBlOiAndmVjMicsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVl
WzBdID09IDAuMCAmJiB2YWx1ZVsxXSA9PSAwLjAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxv
YykgeyBnbC51bmlmb3JtMmYobG9jLCAzLjAsIDMuMCk7IH0KK30sCit7IHR5cGU6ICd2ZWMzJywK
KyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0gMC4wICYmIHZhbHVlWzFdID09IDAuMCAmJiB2
YWx1ZVsyXSA9PSAwLjAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3Jt
M2YobG9jLCAzLjAsIDMuMCwgMy4wKTsgfQorfSwKK3sgdHlwZTogJ3ZlYzQnLAorICBjaGVjazog
InJldHVybiB2YWx1ZVswXSA9PSAwLjAgJiYgdmFsdWVbMV0gPT0gMC4wICYmIHZhbHVlWzJdID09
IDAuMCAmJiB2YWx1ZVszXSA9PSAwLjAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBn
bC51bmlmb3JtNGYobG9jLCAzLjAsIDMuMCwgMy4wLCAzLjApOyB9Cit9LAoreyB0eXBlOiAnaXZl
YzInLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSAwICYmIHZhbHVlWzFdID09IDAiLAor
ICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMmkobG9jLCAzLCAzKTsgfQor
fSwKK3sgdHlwZTogJ2l2ZWMzJywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0gMCAmJiB2
YWx1ZVsxXSA9PSAwICYmIHZhbHVlWzJdID09IDAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxv
YykgeyBnbC51bmlmb3JtM2kobG9jLCAzLCAzLCAzKTsgfQorfSwKK3sgdHlwZTogJ2l2ZWM0JywK
KyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0gMCAmJiB2YWx1ZVsxXSA9PSAwICYmIHZhbHVl
WzJdID09IDAgJiYgdmFsdWVbM10gPT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7
IGdsLnVuaWZvcm00aShsb2MsIDMsIDMsIDMsIDMpOyB9Cit9LAoreyB0eXBlOiAnYnZlYzInLAor
ICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSBmYWxzZSAmJiB2YWx1ZVsxXSA9PSBmYWxzZSIs
CisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0yaShsb2MsIDEsIDEpOyB9
Cit9LAoreyB0eXBlOiAnYnZlYzMnLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSBmYWxz
ZSAmJiB2YWx1ZVsxXSA9PSBmYWxzZSAmJiB2YWx1ZVsyXSA9PSBmYWxzZSIsCisgIHNldEZuOiBm
dW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0zaShsb2MsIDEsIDEsIDEpOyB9Cit9LAoreyB0
eXBlOiAnYnZlYzQnLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSBmYWxzZSAmJiB2YWx1
ZVsxXSA9PSBmYWxzZSAmJiB2YWx1ZVsyXSA9PSBmYWxzZSAmJiB2YWx1ZVszXSA9PSBmYWxzZSIs
CisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm00aShsb2MsIDEsIDEsIDEs
IDEpOyB9Cit9LAoreyB0eXBlOiAnbWF0MicsCisgIGNoZWNrOgorICAgICJyZXR1cm4gIiArCisg
ICAgInZhbHVlWzBdWzBdID09IDAuMCAmJiB2YWx1ZVswXVsxXSA9PSAwLjAgJiYgIiArCisgICAg
InZhbHVlWzFdWzBdID09IDAuMCAmJiB2YWx1ZVsxXVswXSA9PSAwLjAiLAorICB2YWx1ZUNoZWNr
OgorICAgICJyZXR1cm4gIiArCisgICAgInZhbHVlWzBdID09IDAuMCAmJiB2YWx1ZVsxXSA9PSAw
LjAgJiYgIiArCisgICAgInZhbHVlWzJdID09IDAuMCAmJiB2YWx1ZVszXSA9PSAwLjAiLAorICBz
ZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtTWF0cml4MmZ2KGxvYywgZmFsc2Us
IFsxLCAxLCAxLCAxXSk7IH0KK30sCit7IHR5cGU6ICdtYXQzJywKKyAgY2hlY2s6CisgICAgInJl
dHVybiAiICsKKyAgICAidmFsdWVbMF1bMF0gPT0gMC4wICYmIHZhbHVlWzFdWzBdID09IDAuMCAm
JiB2YWx1ZVsyXVswXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzBdWzFdID09IDAuMCAmJiB2
YWx1ZVsxXVsxXSA9PSAwLjAgJiYgdmFsdWVbMl1bMV0gPT0gMC4wICYmICIgKworICAgICJ2YWx1
ZVswXVsyXSA9PSAwLjAgJiYgdmFsdWVbMV1bMl0gPT0gMC4wICYmIHZhbHVlWzJdWzJdID09IDAu
MCIsCisgIHZhbHVlQ2hlY2s6CisgICAgInJldHVybiAiICsKKyAgICAidmFsdWVbMF0gPT0gMC4w
ICYmIHZhbHVlWzFdID09IDAuMCAmJiB2YWx1ZVsyXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVl
WzNdID09IDAuMCAmJiB2YWx1ZVs0XSA9PSAwLjAgJiYgdmFsdWVbNV0gPT0gMC4wICYmICIgKwor
ICAgICJ2YWx1ZVs2XSA9PSAwLjAgJiYgdmFsdWVbN10gPT0gMC4wICYmIHZhbHVlWzhdID09IDAu
MCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm1NYXRyaXgzZnYobG9j
LCBmYWxzZSwgWzEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDFdKTsgfQorfSwKK3sgdHlwZTogJ21h
dDQnLAorICBjaGVjazoKKyAgICAicmV0dXJuICIgKworICAgICJ2YWx1ZVswXVswXSA9PSAwLjAg
JiYgdmFsdWVbMV1bMF0gPT0gMC4wICYmIHZhbHVlWzJdWzBdID09IDAuMCAmJiB2YWx1ZVszXVsw
XSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzBdWzFdID09IDAuMCAmJiB2YWx1ZVsxXVsxXSA9
PSAwLjAgJiYgdmFsdWVbMl1bMV0gPT0gMC4wICYmIHZhbHVlWzNdWzFdID09IDAuMCAmJiAiICsK
KyAgICAidmFsdWVbMF1bMl0gPT0gMC4wICYmIHZhbHVlWzFdWzJdID09IDAuMCAmJiB2YWx1ZVsy
XVsyXSA9PSAwLjAgJiYgdmFsdWVbM11bMl0gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVswXVsz
XSA9PSAwLjAgJiYgdmFsdWVbMV1bM10gPT0gMC4wICYmIHZhbHVlWzJdWzNdID09IDAuMCAmJiB2
YWx1ZVszXVszXSA9PSAwLjAiLAorICB2YWx1ZUNoZWNrOgorICAgICJyZXR1cm4gIiArCisgICAg
InZhbHVlWyAwXSA9PSAwLjAgJiYgdmFsdWVbIDFdID09IDAuMCAmJiB2YWx1ZVsgMl0gPT0gMC4w
ICYmIHZhbHVlWyAzXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWyA0XSA9PSAwLjAgJiYgdmFs
dWVbIDVdID09IDAuMCAmJiB2YWx1ZVsgNl0gPT0gMC4wICYmIHZhbHVlWyA3XSA9PSAwLjAgJiYg
IiArCisgICAgInZhbHVlWyA4XSA9PSAwLjAgJiYgdmFsdWVbIDldID09IDAuMCAmJiB2YWx1ZVsx
MF0gPT0gMC4wICYmIHZhbHVlWzExXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzEyXSA9PSAw
LjAgJiYgdmFsdWVbMTNdID09IDAuMCAmJiB2YWx1ZVsxNF0gPT0gMC4wICYmIHZhbHVlWzE1XSA9
PSAwLjAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtTWF0cml4NGZ2
KGxvYywgZmFsc2UsIFsxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxXSk7IH0KK30sCit7IHR5cGU6ICdzYW1wbGVyMkQnLAorICBjaGVjazoKKyAgICAidmVjNCB2
ID0gdGV4dHVyZTJEKHZhbHVlLCB2ZWMyKDAsIDApKTsiICsKKyAgICAicmV0dXJuIHYueCA9PSAx
LjAgJiYgdi55ID09IDEuMCAmJiB2LnogPT0gMS4wICYmIHYudyA9PSAxLjAiLAorICB2YWx1ZUNo
ZWNrOgorICAgICJyZXR1cm4gdmFsdWUgPT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9j
KSB7IGdsLnVuaWZvcm0xaShsb2MsIDEpOyB9Cit9LAoreyB0eXBlOiAnc2FtcGxlckN1YmUnLAor
ICBjaGVjazoKKyAgICAidmVjNCB2ID0gdGV4dHVyZUN1YmUodmFsdWUsIHZlYzMoMCwgMCwgMCkp
OyIgKworICAgICJyZXR1cm4gdi54ID09IDEuMCAmJiB2LnkgPT0gMS4wICYmIHYueiA9PSAxLjAg
JiYgdi53ID09IDEuMCIsCisgIHZhbHVlQ2hlY2s6CisgICAgInJldHVybiB2YWx1ZSA9PSAwIiwK
KyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFpKGxvYywgMSk7IH0KK30s
CitdOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RD
b250ZXh0KCk7Cit2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7Cit2
YXIgY2hlY2tGbjsKKword3R1LnNldHVwVW5pdFF1YWQoZ2wsIFswLCAxXSk7CisKKy8vIFNldCB1
bml0IDAgdG8gYSBub24tMCB0ZXh0dXJlLgordmFyIGhhdmVWZXJ0ZXhUZXh0dXJlSW1hZ2VVbml0
cyA9CisgICAgZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WRVJURVhfVEVYVFVSRV9JTUFHRV9VTklU
UykgPj0gMjsKK3ZhciB0ZXgyRCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKK3ZhciB0ZXhDdWJlID0g
Z2wuY3JlYXRlVGV4dHVyZSgpOworZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4MkQp
OworZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4Q3ViZSk7CisKK3ZhciBw
aXhlbCA9IG5ldyBVaW50OEFycmF5KFsyNTUsIDI1NSwgMjU1LCAyNTVdKTsKK3ZhciB0YXJnZXRz
ID0gWworICBnbC5URVhUVVJFXzJELAorICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gs
CisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgZ2wuVEVYVFVSRV9DVUJFX01B
UF9QT1NJVElWRV9ZLAorICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgIGdsLlRF
WFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElW
RV9aCitdOworZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRhcmdldHMubGVuZ3RoOyArK2lpKSB7Cisg
ICAgZ2wudGV4SW1hZ2UyRCgKKyAgICAgICAgdGFyZ2V0c1tpaV0sIDAsIGdsLlJHQkEsIDEsIDEs
IDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHBpeGVsKTsKK30KKwordmFyIHNoYWRlclRl
bXBsYXRlcyA9IFsKK3sgdnM6ICJ2c2hhZGVyMCIsIGZzOiAiZnNoYWRlcjAiLCB0eXBlOiAnZicg
fSwKK3sgdnM6ICJ2c2hhZGVyMSIsIGZzOiAiZnNoYWRlcjEiLCB0eXBlOiAndicgfSwKK3sgdnM6
ICJ2c2hhZGVyMiIsIGZzOiAiZnNoYWRlcjIiLCB0eXBlOiAnZicgfSwKK3sgdnM6ICJ2c2hhZGVy
MyIsIGZzOiAiZnNoYWRlcjMiLCB0eXBlOiAndicgfSwKK107CisKKy8vIEdldCBzaGFkZXIgdGVt
cGxhdGVzCitmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2hhZGVyVGVtcGxhdGVzLmxlbmd0aDsgKytp
aSkgeworICB2YXIgdGVtcGxhdGUgPSBzaGFkZXJUZW1wbGF0ZXNbaWldOworICB0ZW1wbGF0ZS52
cyA9IHd0dS5nZXRTY3JpcHQodGVtcGxhdGUudnMpOworICB0ZW1wbGF0ZS5mcyA9IHd0dS5nZXRT
Y3JpcHQodGVtcGxhdGUuZnMpOworfQorCitmdW5jdGlvbiB0ZXN0VHlwZSh0ZXN0KSB7CisgIGRl
YnVnKCIiKTsKKyAgZGVidWcoInRlc3Rpbmc6ICIgKyB0ZXN0LnR5cGUpOworCisgIGZvciAodmFy
IGlpID0gMDsgaWkgPCBzaGFkZXJUZW1wbGF0ZXMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIHRl
bXBsYXRlID0gc2hhZGVyVGVtcGxhdGVzW2lpXTsKKworICAgIGlmICh0ZXN0LnR5cGUuc3Vic3Ry
aW5nKDAsIDcpID09ICJzYW1wbGVyIiAmJgorICAgICAgICB0ZW1wbGF0ZS50eXBlID09ICd2JyAm
JgorICAgICAgICAhaGF2ZVZlcnRleFRleHR1cmVJbWFnZVVuaXRzKSB7CisgICAgICBjb250aW51
ZTsKKyAgICB9CisKKyAgICB2YXIgdnMgPSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZS52cywg
dGVzdCk7CisgICAgdmFyIGZzID0gd3R1LnJlcGxhY2VQYXJhbXModGVtcGxhdGUuZnMsIHRlc3Qp
OworCisgICAgd3R1LmFkZFNoYWRlclNvdXJjZShjLCAidmVydGV4IHNoYWRlciIsIHZzKTsKKyAg
ICB3dHUuYWRkU2hhZGVyU291cmNlKGMsICJmcmFnbWVudCBzaGFkZXIiLCBmcyk7CisKKyAgICB2
YXIgdnMgPSB3dHUubG9hZFNoYWRlcihnbCwgdnMsIGdsLlZFUlRFWF9TSEFERVIpOworICAgIHZh
ciBmcyA9IHd0dS5sb2FkU2hhZGVyKGdsLCBmcywgZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICB2
YXIgcHJvZ3JhbSA9IHd0dS5jcmVhdGVQcm9ncmFtKGdsLCB2cywgZnMpOworCisgICAgZ2wudXNl
UHJvZ3JhbShwcm9ncmFtKTsKKworICAgIHZhciBsb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24o
cHJvZ3JhbSwgInVfdW5pZm9ybVsxXSIpOworICAgIGlmICghbG9jKSB7CisgICAgICAgIHZhciBs
b2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfdW5pZm9ybSIpOworICAgIH0K
KworICAgIHZhciB2YWx1ZSA9IGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgbG9jKTsKKyAgICBUZXN0
RXZhbCgiY2hlY2tGbiA9IGZ1bmN0aW9uKHZhbHVlKSB7IiArICh0ZXN0LnZhbHVlQ2hlY2sgPyB0
ZXN0LnZhbHVlQ2hlY2sgOiB0ZXN0LmNoZWNrKSArICI7fSIpOworICAgIGlmIChjaGVja0ZuKHZh
bHVlKSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJ1bmlmb3JtIGlzIHplcm8iKTsKKyAgICB9IGVs
c2UgeworICAgICAgICB0ZXN0RmFpbGVkKCJ1bmlmb3JtIGlzIG5vdCB6ZXJvIik7CisgICAgfQor
CisgICAgZGVidWcoImRlZmF1bHQgdmFsdWUgc2hvdWxkIGJlIHplcm8iKTsKKyAgICB3dHUuZHJh
d1F1YWQoZ2wpOworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNo
b3VsZCBiZSBncmVlbiIsIDApOworCisgICAgZGVidWcoInRlc3QgdGVzdCBieSBzZXR0aW5nIHZh
bHVlIik7CisgICAgdGVzdC5zZXRGbihnbCwgbG9jKTsKKworICAgIHd0dS5kcmF3UXVhZChnbCk7
CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMjU1LCAwLCAwLCAyNTVdLCAic2hvdWxkIGJlIHJl
ZCIsIDApOworCisgICAgZGVidWcoInJlLWxpbmtpbmcgc2hvdWxkIHJlc2V0IHRvIGRlZmF1bHRz
Iik7CisgICAgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSk7CisKKyAgICB3dHUuZHJhd1F1YWQoZ2wp
OworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBn
cmVlbiIsIDApOworCisgICAgZ2wuZGVsZXRlUHJvZ3JhbShwcm9ncmFtKTsKKyAgICBnbC5kZWxl
dGVTaGFkZXIodnMpOworICAgIGdsLmRlbGV0ZVNoYWRlcihmcyk7CisKKyAgICB3dHUuZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBHTCBlcnJvcnMiKTsKKyAg
fQorfQorCit2YXIgdGVzdE5keCA9IDA7CitmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsKKyAgICB0
ZXN0VHlwZSh0ZXN0c1t0ZXN0TmR4KytdKTsKKyAgICBpZiAodGVzdE5keCA+PSB0ZXN0cy5sZW5n
dGgpIHsKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIHNldFRp
bWVvdXQocnVuTmV4dFRlc3QsIDEpOworICAgIH0KK30KKworcnVuTmV4dFRlc3QoKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1sb2NhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNWM2ZDc5MDE3OGUzOTI2MWIyOWJh
ZmZlNTg0ZWJhNjRkMzI3NzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxv
Y2F0aW9uLmh0bWwKQEAgLTAsMCArMSwxMTYgQEAKKzwhLS0KKy8qCisqKiBDb3B5cmlnaHQgKGMp
IDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5
IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBj
b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl
cyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0
IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRz
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1
YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoq
IHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRv
IHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg
YmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg
dGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMi
LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJ
TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFO
VEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H
RU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M
REVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklM
SVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJX
SVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBN
QVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgor
Ki8KKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
ZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBXZWJHTFVuaWZvcm1Mb2NhdGlvbiBBUEkiKTsKKwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGNvbnRleHRBID0gd3R1LmNyZWF0ZTNEQ29udGV4
dCgpOwordmFyIGNvbnRleHRCID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOwordmFyIHByb2dyYW1B
MSA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHRBKTsKK3ZhciBwcm9ncmFtQTIgPSB3
dHUubG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0QSk7Cit2YXIgcHJvZ3JhbUIgPSB3dHUubG9h
ZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0Qik7Cit2YXIgcHJvZ3JhbVMgPSB3dHUubG9hZFByb2dy
YW1Gcm9tRmlsZShjb250ZXh0QSwgIi4uL3Jlc291cmNlcy9zdHJ1Y3RVbmlmb3JtU2hhZGVyLnZl
cnQiLCAiLi4vcmVzb3VyY2VzL2ZyYWdtZW50U2hhZGVyLmZyYWciKTsKK3ZhciBwcm9ncmFtViA9
IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGNvbnRleHRBLCAiLi4vcmVzb3VyY2VzL2Zsb2F0VW5p
Zm9ybVNoYWRlci52ZXJ0IiwgIi4uL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci5mcmFnIik7
Cit2YXIgbG9jYXRpb25BID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1BMSwg
J3VfbW9kZWxWaWV3UHJvak1hdHJpeCcpOwordmFyIGxvY2F0aW9uQiA9IGNvbnRleHRCLmdldFVu
aWZvcm1Mb2NhdGlvbihwcm9ncmFtQiwgJ3VfbW9kZWxWaWV3UHJvak1hdHJpeCcpOwordmFyIGxv
Y2F0aW9uU3ggPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X3N0cnVj
dC54Iik7Cit2YXIgbG9jYXRpb25TeDI7Cit2YXIgbG9jYXRpb25BcnJheTAgPSBjb250ZXh0QS5n
ZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X2FycmF5WzBdIik7Cit2YXIgbG9jYXRpb25B
cnJheTEgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X2FycmF5WzFd
Iik7Cit2YXIgbG9jYXRpb25WZWM0ID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dy
YW1WLCAiZnZhbDQiKTsKKwordmFyIHZlYyA9IFsxLCAyLCAzLCA0XTsKK3ZhciBtYXQgPSBbMSwg
MiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTZdOworCitz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4
dEEudXNlUHJvZ3JhbShwcm9ncmFtQTIpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4
dEEsIGNvbnRleHRBLklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dEEudW5pZm9ybU1hdHJpeDRm
dihsb2NhdGlvbkEsIGZhbHNlLCBtYXQpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4
dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudXNlUHJvZ3JhbShwcm9ncmFtQTEpIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29u
dGV4dEEudW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbkEsIGZhbHNlLCBtYXQpIik7CitzaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5p
Zm9ybU1hdHJpeDRmdihudWxsLCBmYWxzZSwgbWF0KSIpOworCitzaG91bGRHZW5lcmF0ZUdMRXJy
b3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudXNlUHJvZ3JhbShwcm9n
cmFtUykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJS
T1IsICJjb250ZXh0QS51bmlmb3JtMWkobG9jYXRpb25TeCwgMzMzKSIpOworc2hvdWxkR2VuZXJh
dGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0x
Zihsb2NhdGlvbkFycmF5MCwgNC4wKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRB
LCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0xZihsb2NhdGlvbkFycmF5MSwg
NS4wKSIpOworCitzaG91bGRCZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRp
b25TeCkiLCAiMzMzIik7CitzaG91bGRCZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywg
bG9jYXRpb25BcnJheTApIiwgIjQuMCIpOworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0o
cHJvZ3JhbVMsIGxvY2F0aW9uQXJyYXkxKSIsICI1LjAiKTsKKworc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVzZVByb2dyYW0ocHJv
Z3JhbVYpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VS
Uk9SLCAiY29udGV4dEEudW5pZm9ybTRmdihsb2NhdGlvblZlYzQsIHZlYykiKTsKK3Nob3VsZEJl
KCJjb250ZXh0QS5nZXRVbmlmb3JtKHByb2dyYW1WLCBsb2NhdGlvblZlYzQpIiwgInZlYyIpOwor
CitzaG91bGRCZU51bGwoImNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtViwgXCJJ
RG9udEV4aXN0XCIpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRB
Lk5PX0VSUk9SLCAiY29udGV4dEEubGlua1Byb2dyYW0ocHJvZ3JhbUExKSIpOworLy8gQWZ0ZXIg
bGlua2luZyBhbGwgYm94ZXMgYXJlIGJhZC4KK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0
QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2
KGxvY2F0aW9uQSwgZmFsc2UsIG1hdCkiKTsKKworLy8gYWZ0ZXIgcmUtbGlua2luZyB0aGUgc2Ft
ZSBwcm9ncmFtLCBhbGwgdW5pZm9ybSBsb2NhdGlvbnMgYmVjb21lIGludmFsaWQuCitzaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudXNl
UHJvZ3JhbShwcm9ncmFtUykiKTsKK2NvbnRleHRBLnN0ZW5jaWxNYXNrKDEpOworc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLmxpbmtQ
cm9ncmFtKHByb2dyYW1TKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250
ZXh0QS5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHRBLnVuaWZvcm0xaShsb2NhdGlvblN4LCAz
KSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09Q
RVJBVElPTiwgImNvbnRleHRBLmdldFVuaWZvcm0ocHJvZ3JhbVMsIGxvY2F0aW9uU3gpIik7CisK
Ky8vIFJldHJpZXZlIHRoZSBsb2NhdGlvbnMgYWdhaW4sIGFuZCB0aGV5IHNob3VsZCBiZSBnb29k
LgorbG9jYXRpb25TeCA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVf
c3RydWN0LngiKTsKK2xvY2F0aW9uQXJyYXkwID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9u
KHByb2dyYW1TLCAidV9hcnJheVswXSIpOworZGVidWcoImhlcmUiKTsKK2NvbnRleHRBLnN0ZW5j
aWxNYXNrKDApOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19F
UlJPUiwgImNvbnRleHRBLnVuaWZvcm0xaShsb2NhdGlvblN4LCAzKSIpOworc2hvdWxkR2VuZXJh
dGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0x
Zihsb2NhdGlvbkFycmF5MCwgMTIzKSIpOworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0o
cHJvZ3JhbVMsIGxvY2F0aW9uU3gpIiwgIjMiKTsKK3Nob3VsZEJlKCJjb250ZXh0QS5nZXRVbmlm
b3JtKHByb2dyYW1TLCBsb2NhdGlvbkFycmF5MCkiLCAiMTIzIik7CisKKy8vIGdldFVuaWZvcm1M
b2NhdGlvbiBzaG91bGQgcmV0dXJuIGEgZGlmZmVyZW50IG9iamVjdCBldmVyeXRpbWUsIHNob3Vs
ZCBub3QgY2FjaGUgYW5kIHJldHVybiB0aGUgc2FtZSBvYmplY3QKK2RlYnVnKCJUZXN0aW5nIHRo
YXQgZ2V0VW5pZm9ybUxvY2F0aW9uIHJldHVybnMgYSBkaWZmZXJlbnQgb2JqZWN0IGV2ZXJ5dGlt
ZSIpOworbG9jYXRpb25TeCAgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMs
ICJ1X3N0cnVjdC54Iik7Citsb2NhdGlvblN4MiA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlv
bihwcm9ncmFtUywgInVfc3RydWN0LngiKTsKK3Nob3VsZEJlRmFsc2UoImxvY2F0aW9uU3ggPT09
IGxvY2F0aW9uU3gyIik7Citsb2NhdGlvblN4LmZvbyAgPSB7fTsKK2xvY2F0aW9uU3gyLmZvbyA9
IHt9Oworc2hvdWxkQmVGYWxzZSgibG9jYXRpb25TeC5mb28gPT09IGxvY2F0aW9uU3gyLmZvbyIp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwZWQ1
NzdkMTYwMzQxMWM1N2UwZDk2ODNlNTljNzAwNTE0N2M5ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91
bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbApAQCAtMCwwICsxLDExMCBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+V2ViR0wg
c2FtcGxlciB1bmlmb3JtcyBjb25mb3JtYW5jZSB0ZXN0LjwvdGl0bGU+CisgICAgPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4K
KyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIg
aGVpZ2h0PSIyIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisK
KyAgPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIGluaXQoKQoreworICBkZXNjcmlw
dGlvbigKKyAgICAgICJUZXN0cyB0aGF0IG9ubHkgVW5pZm9ybTFpIGFuZCBVbmlmb3JtMWl2IGNh
biBiZSB1c2VkIHRvIHNldCIgKworICAgICAgInNhbXBsZXIgdW5pZm9ybXMuIik7CisKKyAgdmFy
IGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczJkIik7CisKKyAgdmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJl
eGFtcGxlIik7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKKwor
ICB2YXIgdGV4dHVyZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7
CisKKyAgZ2wudW5pZm9ybTFpKHRleHR1cmVMb2MsIDEpOworICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgInVuaWZvcm0xaSBjYW4gc2V0IGEgc2FtcGxlciB1
bmlmb3JtIik7CisgIGdsLnVuaWZvcm0xaXYodGV4dHVyZUxvYywgWzFdKTsKKyAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICJ1bmlmb3JtMWl2IGNhbiBzZXQg
YSBzYW1wbGVyIHVuaWZvcm0iKTsKKyAgZ2wudW5pZm9ybTFmKHRleHR1cmVMb2MsIDEpOworICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgInVu
aWZvcm0xZiByZXR1cm5zIElOVkFMSURfT1BFUkFUSU9OIGlmIGF0dGVtcHRpbmcgdG8gc2V0IGEg
c2FtcGxlciB1bmlmb3JtIik7CisgIGdsLnVuaWZvcm0xZnYodGV4dHVyZUxvYywgWzFdKTsKKyAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwKKyAgICAgICAgICAgICJ1
bmlmb3JtMWZ2IHJldHVybnMgSU5WQUxJRF9PUEVSQVRJT04gaWYgYXR0ZW1wdGluZyB0byBzZXQg
YSBzYW1wbGVyIHVuaWZvcm0iKTsKKworICB2YXIgbWF4VGV4dHVyZVVuaXRzID0gZ2wuZ2V0UGFy
YW1ldGVyKGdsLk1BWF9DT01CSU5FRF9URVhUVVJFX0lNQUdFX1VOSVRTKTsKKworICB2YXIgc3Vj
Y2VzcyA9IHRydWU7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBtYXhUZXh0dXJlVW5pdHM7ICsr
aWkpIHsKKyAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgaWkpOworICAgIHN1Y2Nlc3MgPSBz
dWNjZXNzICYmIChnbC5nZXRFcnJvcigpID09IGdsLk5PX0VSUk9SKTsKKyAgfQorICBleHBlY3RU
cnVlKHN1Y2Nlc3MsICJ1bmlmb3JtMWkgd29ya3MgZm9yIGFueSB2YWxpZCB0ZXh0dXJlIHVuaXQi
KTsKKworICB2YXIgc3VjY2VzcyA9IHRydWU7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBtYXhU
ZXh0dXJlVW5pdHM7ICsraWkpIHsKKyAgICBnbC51bmlmb3JtMWl2KHRleHR1cmVMb2MsIFtpaV0p
OworICAgIHN1Y2Nlc3MgPSBzdWNjZXNzICYmIChnbC5nZXRFcnJvcigpID09IGdsLk5PX0VSUk9S
KTsKKyAgfQorICBleHBlY3RUcnVlKHN1Y2Nlc3MsICJ1bmlmb3JtMWl2IHdvcmtzIGZvciBhbnkg
dmFsaWQgdGV4dHVyZSB1bml0Iik7CisKKyAgdmFyIHN1Y2Nlc3MgPSB0cnVlOworICBmb3IgKHZh
ciBpaSA9IG1heFRleHR1cmVVbml0czsgaWkgPCAweDEwMDAwOyArK2lpKSB7CisgICAgZ2wudW5p
Zm9ybTFpKHRleHR1cmVMb2MsIGlpKTsKKyAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiAoZ2wuZ2V0
RXJyb3IoKSA9PSBnbC5JTlZBTElEX1ZBTFVFKTsKKyAgfQorICBleHBlY3RUcnVlKHN1Y2Nlc3Ms
ICJ1bmlmb3JtMWkgZ2VuZXJhdGVzIElOVkFMSURfVkFMVUUgZm9yIGludmFsaWQgdGV4dHVyZSB1
bml0cyIpOworCisgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSBtYXhUZXh0
dXJlVW5pdHM7IGlpIDwgMHgxMDAwMDsgKytpaSkgeworICAgIGdsLnVuaWZvcm0xaXYodGV4dHVy
ZUxvYywgW2lpXSk7CisgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGdsLmdldEVycm9yKCkgPT0g
Z2wuSU5WQUxJRF9WQUxVRSk7CisgIH0KKyAgZXhwZWN0VHJ1ZShzdWNjZXNzLCAidW5pZm9ybTFp
diBnZW5lcmF0ZXMgSU5WQUxJRF9WQUxVRSBmb3IgaW52YWxpZCB0ZXh0dXJlIHVuaXRzIik7CisK
K30KKworaW5pdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187134</attachid>
            <date>2013-02-07 10:49:18 -0800</date>
            <delta_ts>2013-02-07 13:25:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109075-20130207104554.patch</filename>
            <type>text/plain</type>
            <size>709663</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMTM5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTcwZDQwNzBhM2Q1MzNlNTY2OTFl
NTkyNjEwYjBjZTQ5MzgzMmViZC4uOTY4ZTY1MzRlODE2YjgzMmNiYWUwMzEwOTVjMTM1MTdkNjc1
YWE1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2MiBAQAorMjAxMy0wMi0wNyAgR3JlZ2cgVGF2YXJlcyAg
PGdtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZHMgZmFpbGluZyBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwOTA3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2
ZS10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRh
LXVybC10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1
ZmZlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2Nv
bnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9u
LWFuZC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1m
dW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJl
c3RyaWN0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlp
bmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmlu
Zy1hcnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQt
d29yZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJj
dWl0aW5nLW9wZXJhdG9ycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9y
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWls
YXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12
YXJ5aW5ncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3Zh
cmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
TF9TLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZl
ckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2Uy
RC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZGVsZXRlQnVmZmVyQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0Fy
cmF5cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0FycmF5c091dE9mQm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFk
QXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1Yklt
YWdlMkRIVE1MLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29z
L2Fjb3NfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRh
bl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18w
MDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29n
bGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFf
dG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVw
XzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxz
LXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9y
ZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29y
LXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmpl
Y3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29w
eS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1j
b25mb3JtYW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YjU2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiYTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiNTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1
NjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1p
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW1pcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1h
cnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZh
dWx0LXZhbHVlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLWxvY2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3Qt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3Jl
ZW4tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11
cmwtdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRy
YXdpbmctYnVmZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVz
dHJ1Y3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhz
dGVwLWdlbnR5cGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250
YWluaW5nLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1z
aG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXJzLXdpdGgtdmFyeWluZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29y
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1MX1MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLVNfVi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1Yklt
YWdlMkRCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3Vi
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhU
TUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9h
dGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xf
Zmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFt
cy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgt
aW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLXJnYmE1NTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5k
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9n
bC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFs
dWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTA3ICDD
gWTDoW0gS2FsbGFpICA8a2FkYW1AaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtRdF0gVW5y
ZXZpZXdlZCBnYXJkZW5pbmcuIEFkZGVkIHBsYXRmb3JtIHNwZWNpZmljIGV4cGVjdGVkIGZpbGVz
IGFmdGVyIHIxNDA2OTMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA3ZjRkMDA5MTM0NjdlOGExNjc3YTYwMzAwMGZiZWFiNzViNDUwZDRm
Li40NzFhMDA4OTQ4NGVlNTdhZjI0OGY3MmI3OTdkMjJiOGY2MmQ5NjU0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0MzUsNyArMTQz
NSw0NiBAQCB3ZWJraXQub3JnL2IvNzUyNzYgWyBBbmRyb2lkIF0gZmFzdC9yZXBhaW50L3NoYWRv
dy1tdWx0aXBsZS1zdHJpY3QtdmVydGljYWwuaHRtbAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBXZWJHTCBUZXN0
cwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQy
Njggd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0
bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1taXBzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9y
bWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbCBbIFNraXAgXQorY3JidWcuY29t
LzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVz
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9y
bXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmds
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sIFsgU2tpcCBd
CitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXpl
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2
OCB3ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBbIFNraXAg
XQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0
LWNhbGxzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIFsgU2tpcCBd
CiBjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0
dHJpYi16ZXJvLWlzc3Vlcy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBl
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwgWyBTa2lwIF0KK2Ny
YnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFy
cmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbCBbIFNraXAgXQorY3JidWcuY29t
LzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4
IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0t
YXJyYXktbmFtZXMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwgWyBTa2lwIF0KK2NyYnVn
LmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29y
ZC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVz
L0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjgg
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbCBbIFNr
aXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0
YW5fMDAxX3RvXzAwOC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5j
b20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwgWyBTa2lwIF0KK2Ny
YnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9v
dGhzdGVwXzAwMV90b18wMDYuaHRtbCBbIFNraXAgXQorCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbCBbIFNraXAgU2tpcCBdCitj
cmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0
ZXJhbC52ZXJ0Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbCBbIFNraXAgXQorY3JidWcu
Y29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFk
QXJncy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0
NjYgd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRt
bCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVm
ZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wv
Y29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwgWyBTa2lwIF0KK2Ny
YnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3Qu
aHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0
L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwgWyBTa2lwIF0K
K2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0
aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xMDg5MDEg
d2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwgWyBT
bG93IF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBi
ZjY3ZjIzZTg1NDhiYzdkNzM4ZTU2NzEyNTRjMzVkZTUwMjY0Mjg5Li4xYjQxMjk3MmZlOGQ2MDI3
Y2YwYzk5NDZhZjE5OTVjMTRiMDhkOWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtOTY5LDYgKzk2OSw3MiBAQCBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtZ2xvYmFsLXNlbGVjdGlvbi5odG1sCiAjIEN1cnJlbnRseSBmYWlsaW5nIFdlYkdMIHRlc3Rz
IDxyZGFyOi8vcHJvYmxlbS85MzU1NDYwPgogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCiAKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwOTA4MQord2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdp
bmdidWZmZXItdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvdG8t
ZGF0YS11cmwtdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2Nv
bnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwgWyBTa2lwIF0KK3dl
YmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24u
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5j
dGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1w
YWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1s
IFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQt
Y2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwgWyBTa2lwIF0K
K3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1s
IFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjIuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUIzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ku
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUxfUy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sIFsg
U2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2Uy
RC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbCBbIFNr
aXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJn
cy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4
ZWxzQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIFsgU2tp
cCBdCit3ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1s
b25nLW5hbWVzLXRlc3QuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMv
cHJvZ3JhbS10ZXN0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbCBbIFNraXAg
XQord2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRt
bCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCBb
IFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCBb
IFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1h
bmNlLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy1yZ2JhNDQ0NC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sIFsgU2tpcCBdCit3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWltYWdlLXJnYmE0NDQ0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbCBbIFNr
aXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbCBb
IFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCBbIFNraXAgXQor
CiAjIFNlbmRpbmcgdGhlIG1vdXNlIGRvd24gZXZlbnQgdG8gdGhlIHNjcm9sbGJhciBzdGFydHMg
YSBuZXN0ZWQgcnVuIGxvb3Agd2hpY2ggY2F1c2VzIGEgaGFuZy4KIGZhc3QvZXZlbnRzL21vdXNl
ZG93bi1pbi1zdWJmcmFtZS1zY3JvbGxiYXIuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2Ny
ZWVuLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMDM1YjdiMjEzNjkxNjYwZTE0MjU3
Njg4NmRhZjk1YjY0ZWE3MGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVl
bi10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmNjN2Q1MWE2YzlmODlmNDNkNmUyNTQwYzc3ODA4ZjQxZjBlMjZkMmYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNj
cmVlbi10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgYnVmZmVyLW9mZnNjcmVlbi10
ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0
bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9i
dWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8
ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVy
LXByZXNlcnZlLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
NTVjNWNiODVlOGE1ZmM2MDA0YjhjYWYyNDg1YjY5NWRkMWNlOGUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10
ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9j
YW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUt
dGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkMjJjMDIyZjE2NTA4ZTRmZDVhYmNmZDAxOWY3ZTA3Mjk1
Mzg3YjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9j
YW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBi
dWZmZXItcHJlc2VydmUtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1w
cmVzZXJ2ZS10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10
ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45YzNjNjA0MjRhYjE5OGNiNzM0M2IzN2YxZTYxODU4N2M5ZGM3YTc3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdi
dWZmZXItdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3Qu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVy
LXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWI3YWM1YTU4ZDI1NjliZTBmZGE5M2QzMjUyMjUyYWQ2
MDM4NjUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRy
YXdpbmdidWZmZXItdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZm
ZXItdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3Rv
LWRhdGEtdXJsLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlNGFi
OWNjYjkzMjA3Yzg0ZjRjNTdkNWFjZWI1M2M2NGRhNDRhYzIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3Rv
LWRhdGEtdXJsLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wY2QwNGQyODA4Y2FmNWM0ZGUwNWRmNmRhYjg5ODYzNGE2ZDk4OWI4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRl
c3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0by1kYXRhLXVybC10ZXN0Lmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2Fu
dmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdp
bmctYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2Nv
bnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2NTNmNDRhYzZlODdkZTJkNDVlMmY5ODhkMWI2MDRmYTc3YzhlMGQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0
L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0
cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1w
cmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRjYzRkMDdlMjQyZWQ3ZWFhNzYyNDYwZmVjMjA1OTZlOTUwMWY1MGYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2Nv
bnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJh
d2luZy1idWZmZXIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29u
dGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4
dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWU0NDlmZjY0ZTUyODg4YTY4ZjkzMGY1MWU4Y2E0ZTk4
ZGRiNjI0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVh
dGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQt
Y3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGMyMmI4OWUwZWU1OTg5
ODE0N2MyOTU5ZDc5NTg2MDk5MTBiZWZmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rp
b24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0
cnVjdGlvbi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQt
d2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFu
ZC1kZXN0cnVjdGlvbi5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2Nv
bnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1z
bW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0ZTMzMDY0NDdiNjU3ZjkxYTFjNTU4ZjNhYTEyZmIyNGVl
MzZkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlv
bnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1
bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZmJjMDc0YTY3ODcwMTI4ZTU2OTZkZjhlOGUzOGY2OTMxNmQ0NzU0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5j
dGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciBnbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVw
LWdlbnR5cGUuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRt
bDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFt
ZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9m
bG9hdF9saXRlcmFsLnZlcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjMyODE0YjQ2ODM4NTlhMmQ2M2E3OGYxZjFjOWNkNzk2NDJhOTcxOTQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zs
b2F0X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2xpdGVy
YWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjVh
Y2Q0OWNiMzk5MmVhYjBhNmNhMTcwYjIwOTgxM2VjZDNmYzBkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFs
LnZlcnQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBmbG9hdF9saXRlcmFsLnZlcnQuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52
ZXJ0Lmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xp
dGVyYWwudmVydC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJl
MGU4ZTBlZGZmMzQ4NTMzN2FkZWJiNzIwNzI1MzNiMTQyMDFjMjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0t
cGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3Ry
aWN0aW9ucy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3Jt
LXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmYyMzUwYTI1YjcwMWI5MmU3
OTAyMjhmYmYxNTNkMDExNTEyNWQ5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0
aW9ucy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci11bmlmb3JtLXBhY2tpbmct
cmVzdHJpY3Rpb25zLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBh
Y2tpbmctcmVzdHJpY3Rpb25zLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0
cmljdGlvbnMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12
YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzQz
MzllNmM1OTM0YmU3MTRjZDViNjg1YmE0NjNjOTJjMzBiMDUyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBh
Y2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmlj
dGlvbnMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1w
YWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2YWNiMGZhY2Q1NTczYzhiZDU5
ZjUxZDIyYjRkYjY3ZGI5Mzc0MWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlv
bnMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXItdmFyeWluZy1wYWNraW5nLXJl
c3RyaWN0aW9ucy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
ci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNr
aW5nLXJlc3RyaWN0aW9ucy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJp
Y3Rpb25zLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJh
eXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdjODhjMjlhYWNiNDA0OTlkZGU0MDMzYzE3NzM2M2FlMWIzOTMwM2YK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDog
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9m
LXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMGExMGM5MDllZDky
NDNkYzZjNmE0YTZjZDI4MTc4ZjlhMDgxZjU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVj
dHMtY29udGFpbmluZy1hcnJheXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXIt
d2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250
YWluaW5nLWFycmF5cy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWlu
aW5nLWFycmF5cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9Imlm
cmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFp
bmluZy1hcnJheXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1t
aXNtYXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjNkMTNkNTljODU0YTMzYmJhMDY4NjhhMTZhMjgxMmFlODA4
OGYzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xv
YmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhYmVhNDA5
M2EzNDRjNDBlYjBmNTJhMGE5MDcyMjhlMzZlYWY0NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNo
YWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUt
cHJlY2lzaW9uLW1pc21hdGNoLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJl
Y2lzaW9uLW1pc21hdGNoLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXBy
ZWNpc2lvbi1taXNtYXRjaC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
ci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2UyMGM0
YjI0MjNmYTVkYTNmYjZiOGM3Y2M0ZGEwNjgxMTk2YzczZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVz
ZXJ2ZWQtd29yZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmEyOTllZmNhNjFjZWUyMWFlNzkyZWU2NWRhZjY3N2JhODFmMTYxYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciBzaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbCI+
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5v
bi1yZXNlcnZlZC13b3Jkcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJh
dG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRmYTdjYjZhMTQwOWI5MjdkZmFmZWRmMzEyZTVjYTNjNjhmZTU0M2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1z
aG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJj
dWl0aW5nLW9wZXJhdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDlhZDM4NzU4MGEyYjEwMWZiOTQ4M2NjM2E0NDgyNWY2ZThjM2U5YgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIHNoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1v
cGVyYXRvcnMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVu
aWZvcm0tYXJyYXktbmFtZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjNzMzYTg0YTJjMDA0
NDQ4YTJhOThjNzM4NzkzZDE0OTQ1NTQxM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3Jt
LWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5h
bWVzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNp
bWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjYjU4OGM5ZDM5NGVk
MTlkNDk4ZTcxN2M4YWNmODZlZjk1YjNlMGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3Jt
LWFycmF5LW5hbWVzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0
by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVyLXdpdGgtc2lt
aWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwiPi4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlp
bmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3NzczNTJl
ODZmZGMwMzM0MTRjYWE2MzdmMzUyNDk0MmMxMzI4NDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5
aW5ncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
cnMtd2l0aC12YXJ5aW5ncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxOTNiNDVjMzAxZjNjODNkNjY2ODlj
NmVkNjQ2YWJiYjc5ZGUyN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3Igc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwiPi4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJz
LXdpdGgtdmFyeWluZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxl
cy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjBkNDMwM2E1NzhlZjFiYTc1ZWI2OTA1ZGRjNjExNmNlNmUwMDM5YWQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2lu
dGNvb3JkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRj
b29yZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMv
Z2wtcG9pbnRjb29yZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1NmY2YTA4MmRjZjUxN2U2YTYyMmQyMmUy
YmVmODQ0Y2RiMjBkZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgZ2wtcG9pbnRjb29yZC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNs
L3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2M2FjYmY2MmVhYmMx
MGI5ZTJlZjYwODBmZjgyOWE0N2VjNjg4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDdiMTk2M2VmMTYyYmJiNTk4NGVlNWU3
YzgzODNhMTlhODgzZmM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUEuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwiPi4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1BLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgzMWQyYzJlYTg0NzM0MTYyZjgwYjQ5M2IzZjcwOGQzODdiMjUwODgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTMyMmQ0MWEyNzUzY2NkZDgzZTQ2MjI2YmJlZTNmZmU3NGY5YmZhNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CMS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjEu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1CMS5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CMS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZjQ1YTNiZThiOTcxOWQ5MGZj
NjIxOGRlYjk0YmNkY2NlNDI3NWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODcxYTg2YWRmOTkwYWY3M2U2NzM1ZmE0ZmI0
NDJlOWMzMzQ4NTg2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sIj4uLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQjIuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJp
ZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjhmZmQxNzQ3MjVkZmFmZjBiNjBkODZkNDExYWUzNjQ1OTg0NTE5OGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktQjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDMxMDY0M2JjMDVkMDU1ZDMxZmM2ZTU0MmFlYTg0OWZjMjBmMzkyMgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEkt
QjMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0
LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CMy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJh
bWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktQjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNmQ0ZTg3MWI5MzdkYmMx
MTI1OWZiYTU2OTBhMzhjNTU1MTM1MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6
IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1C
NC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhiZWFlNGEzZDg1NjU4ZjUwMTJkMGIx
NzU2YzJiMDczNjY0MTA3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIj4uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktQjQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIiB3
aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1DLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wY2NhYmQ0Y2E3NGM2OTJlNDUxMzI1YmVlYmE0ZWE0ZGE4ODNiNjE2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGUzZDZiZTY2Y2NhNDhhNjg3ZmY1MjUzN2UzNTYwNDRmNDM2MWM2MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1DLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1DLmh0
bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1EX0ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2MGM1Y2VkMDk5NTZhMjQ4OTYxZGRj
Nzk5NDE2MmU5ZGYyODJlYWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLURfRy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzNWRlM2IwNTc3MDAwNWEzNmJiODZlN2Ew
ZWU4Y2MyODJmYjQxOTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1EX0cuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbCI+Li4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLURfRy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDhkMmU5YWJiODdhY2MyMThjYWY4YjA5MDIyOTBmODM1NTEzY2E4
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1HX0kuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2Y1ZGMxYTEzNmI0ZWNmMzI3MDI1OTQ5OWE2MWZjMjEwNzkxZDA2ZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBx
dWlja0NoZWNrQVBJLUdfSS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19J
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUxfUy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZWI2MThlOTBjMGQ3NzhhNjkwZTdhMTlmNjI1MTFmOTEwNWZhMWZhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUxfUy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MzQ4MDhkZjYzZjNlMzUxODE0YjI1YWM0NmI4NWU1YmZmOGYyMjQwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUxfUy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktTF9T
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktTF9TLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyZTgxMjc0OWY1YWVm
NTY3NDQ3YjliMWU2ZDQzNDcxNDczOTcyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLVNfVi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3OTk4NzhkOGM3ODZiZjUy
OTJjYzY0NGZlMGIzOWQ1ZmMwNGY5ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1TX1YuaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbCI+
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LVNfVi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTViMGQ3Nzk4ZTZlODE3NWM5MTFjNDZhMGNkNDIzZDRh
ZGVjMjg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFC
YWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMWU3NjA4MTAyY2RlYzNiMTFhNmVkMTgyZGMyYzNlYjA3MGQzOTYyZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgYnVmZmVy
RGF0YUJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Nv
cHlUZXhJbWFnZTJELWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzEwNGYyYzA0NzViZTMzNGMy
OWE4ZTdhMWVkZGMwZTA3ZmM3ZjhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2NvcHlUZXhJbWFnZTJELmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWFlY2ZlODExNDBlZDQzNjg4ODUyNGJmZmJlN2QxMGUzMzdkYmY2Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29weVRl
eEltYWdlMkQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Nv
cHlUZXhJbWFnZTJELmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9j
b3B5VGV4SW1hZ2UyRC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1MjU2M2Q5YTljMzNlMWRk
MGFiOTJjMmRhM2QzNjE2MGFiZWU0NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFn
ZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTg5MzNlNDg5Mjcy
NmRkYjlmYjMwNzkwMmUyZmM5OGNiMTQ5ZDkxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJn
cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRC
YWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29w
eVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3YjI1MmNiMDBmZTA5MjYz
ZWQxYjQwODcyZjZiMWFjNTdkMmRiZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDog
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eFN1YkltYWdlMkQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjFlMDM5NDVkZDI0Y2Q3MzI2YjA2MTNiMzI1
NmI1MWI2NDhhY2E0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciBjb3B5VGV4U3ViSW1hZ2UyRC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbCI+Li4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1
YkltYWdlMkQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29w
eVRleFN1YkltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjIyYWZhYWY0ZTEwMjBmY2IzNTBhZDQxNjhiZGE1ZDM4NTYzNTVm
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1
YkltYWdlMkRCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTI4Yzc3ZDM4NGViN2MzN2QxNDM3
Mjg3MDZiN2EyMTQ4ZjVkMTVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJh
ZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAi
PjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3ZmExOTgy
YjcwYjMyODE0OWY1Mjk2OGQ4MzEzZDFhZGY3ZWRjNDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRB
cmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRl
QnVmZmVyQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4YzNkNDIzNTVi
YjIzMTMxOGVmYzkzOWI1ZjZmMDBlYTYzOGUwNmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdz
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJn
cy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVC
dWZmZXJCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lZGM5ODU5NTRlNjRjYTRiOGNlNWFiMWU3MDM4YWYyYjFhZTk2Mjcz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZHJhd0FycmF5cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdBcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdBcnJheXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDJkZjU5NzFlNDQ4YjczYzQ0NWNm
OGJlNTFjZTdiYzU4NjhlOWJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRl
c3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdy
YXBwZXIgZm9yIGRyYXdBcnJheXMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sPC9hPgorPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0FycmF5cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJy
YXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyNGRlYWQ0NTJmMzllMGU1
YWZkMDIzYmNmYTNmYzFhNmFjZmMzMDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNP
dXRPZkJvdW5kcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ5YzBkYWNiZDAy
ZDJmODRmYjMwYjI3NjVhNjE1YjhmMzliMWJiMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5k
cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9m
Qm91bmRzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVt
ZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgxM2MzNWRkMzE1MjRlMjgwNTYzZjVkODli
YjVjOWEyMmY0ZWQxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1l
bnRzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
YTM3Y2Y3MTQ4YzUwNDEyOGQ0NmQ2NWFjZWRjYTc1YWExMjIyNzBlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1l
bnRzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZHJhd0VsZW1lbnRzLmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbCI+Li4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
cmF3RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjcyNTdkYzE2YzdhM2ZkNzkxOGRlYzQxNTgwYTFiNWNkOTMwMTgyYTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIwMTZkMTE4ZTI3NWZjZjkwYWQ5Y2M1NDY3YzZjNmRkNjlhODI5MDkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
cmF3RWxlbWVudHNCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElU
IC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZHJhd0VsZW1l
bnRzQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFy
Z3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0Mzk3OThk
NTk1ZmJjMTAzODAxNjk1ZTUyODA3ZDhlZjQ4ZTAxMDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJn
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxz
QmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTBiYzBlYjlkYWE4ZjVhMWYx
YTQyZGE3M2U0OTQyMzI1ZWNiNzI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0
ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFu
Y2UgVGVzdCBXcmFwcGVyIGZvciByZWFkUGl4ZWxzQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCI+Li4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
cmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE2MzI4ZjYxZTVmYTQzY2JkMWM1NTllNGI0MTJmYWNkYzAzN2M0NGQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjJhOTkxZDA1NDEwMGU5YjI5ZDUzZjI2N2MyYTZiNWRkZTkyYmYxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1h
Z2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXhJbWFnZTJEQmFkQXJn
cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQt
d2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2Uy
REJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eEltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhU
TUwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2ODEyN2JhOGNjZDJlMjczOTQzYzY5MGQxODNi
ZWJkZmFmM2I4NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2Uy
REhUTUwuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40YTkxNDM2NTJlM2ZmMzhmM2NmZjUwNjBlYzdkZDlhOTg3MWZmNzM0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4
SW1hZ2UyREhUTUwuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXhJbWFnZTJESFRNTC5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhU
TUwuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRI
VE1MLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFy
Z3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1NjI2NTllYzJiYzY3MTBmZjk5MjYyMTZhZGUx
NWFhNmI1N2QzNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4
U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1h
Z2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjliMTNhZWRiODcxNmEwMWY0MjI2NmVhNzkw
MTMyMzRjYmVmYzFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciB0ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCI+Li4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8
ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdz
Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVlMDMzZTM4MTkwNjM3OTgzOWM0NmY3ODJkYjk2ZTVjYmQ1N2M4
OGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhU
TUwuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xZWZiOWM2YTM2NmY1YTM5YmMwNWI4YzgyZjI3YTMxN2M3YjQ2Y2ZlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4U3ViSW1hZ2UyREhUTUwuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXhTdWJJbWFn
ZTJESFRNTC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4
U3ViSW1hZ2UyREhUTUwuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDwvYT4KKzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAw
MV90b18wMDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4ZmQ3MjBmYTQ0NTdjZDY5YjU5NDhm
ZmRmNmI0N2IxZDQ0OWQ1Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9h
Y29zXzAwMV90b18wMDYuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iYTNjM2RmZjU4YTBjMzFiZGJiM2I3ODgwNjhjNjYyZjFhYzY1MmJkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wv
YWNvcy9hY29zXzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBhY29zXzAw
MV90b18wMDYuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwiPi4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4v
YXNpbl8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zM2YyMGNjZTRjZTU3MjQ2
ODM3NDhmNDE3NTBmYzAwODFlYjE4ODllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4u
Ly4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9f
MDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGY1OWEwMDI1YWRkZmNiODI2ZGIxZWE0NzkzNTBmZWI2YmZi
NTZiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29n
bGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
YXNpbl8wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAw
Ni5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9hdGFuL2F0YW5fMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODUzYjM1NmM0
NGUyYzdjZmExNGQ4NjkyOWQwMmUzMWRlNjFlNmRlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5f
MDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MTIzODQ4OGI4NTgwMTIxY2Q0MDRmZmIxM2Mz
NWM3YzBiYTcyN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIGF0YW5fMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbCI+Li4vLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAw
MV90b18wMDguaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9m
bG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDhjNzU1MzVkMjE5NTkyMTA1ZDc3NzliZDUy
YzIxMjA2OGNkNGZiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2ds
ZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJv
bF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zMDY4MmFhMDJmOTk3MzI0MGFjZTJiZDE0MmM5ODZjYzkyNDQ3OWI0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAx
X3RvXzAwOC5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRt
bDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFt
ZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9s
b2dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1
YWRkMTEzOTUxNWE4ZjcwODVkYTNkYzJlZjc0ZDJjMGZlYTk1YWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18w
MDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAw
OC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18w
MDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ0Yjk5OWU3YzY4NTMxNjc1YmNjNjNmNjdlZWJh
OWIyOWFjN2I1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIGxvZ18wMDFfdG9fMDA4Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAw
OC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9s
b2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjgwZWE1YzNjNTRm
Yzk0NzdiZDYzN2EwN2U1MGQ4MTRiNDAxMmFmNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0
OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAx
X3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZWE4NzFhYWMwYzM4ODE0ZDk1ODY4ZDcxZWIzZGQx
OWM4NTMzMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIGxvZzJfMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbCI+Li4vLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90
b18wMDguaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9z
bW9vdGhzdGVwXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjUyZTFmNjVlMmE3ZmE4NTBjOTM1MjEwMWZkNTJhOWQyMDEzY2Zl
MTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3Rl
cC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAx
X3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21v
b3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzUzY2E4MDI0
N2RjZTVjY2E0NmU4NmEyNzIzNDBlNDJiNzc1ZmQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAw
MV90b18wMDYuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzbW9vdGhzdGVwXzAwMV90b18w
MDYuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290
aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwiPi4uLy4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3Rl
cF8wMDFfdG9fMDA2Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAw
Ni5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3By
b2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJp
Yi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4YTRk
ODI3YTUxZDY1M2FjOTI0NDU4NmNhMDg4ZmRmYTcxMmIxYmMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2Nh
dGlvbi1sb25nLW5hbWVzLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFt
ZXMtdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRy
aWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2YxMDhmNDg1ODcw
YTNiYjg4MTg1NjQ3NTZjZTZmZDM1YmIzYzQwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxv
bmctbmFtZXMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLWJpbmQtYXR0cmli
LWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMv
Z2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmli
LWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24t
bG9uZy1uYW1lcy10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTUyMmNiMzIwYWVkMGI0MDNjZGUxY2I5YjI3ZDBkYjA5Y2QzYWYwOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3By
b2dyYW0tdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MGE4MGJjMmVmZjUzZjI1ZTcyNTk4ZjY2NWQ4MjE5NzE3OTk3MjYzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJv
Z3JhbS10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcHJvZ3JhbS10ZXN0Lmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9n
cmFtcy9wcm9ncmFtLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NGRlYjk5NGEzYTY0OWNmNTliMTI4MTBlNzA3N2ExMGU5MGIw
MzY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVh
ZGluZy9yZWFkLXBpeGVscy10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbAorUEFTUworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4
ZWxzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVh
ZC1waXhlbHMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2MjFmZTkxZGFiOTk2MzEyNGYzY2ZiOGIx
YzU3NTgwZWIwZGU0NzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciByZWFkLXBpeGVscy10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQt
cGl4ZWxzLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJi
dWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0
LWF0dGFjaG1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2NzgyODcxYWY1NWE5NDMxYjBi
YmIzOWMzMTg4YThhYzU5OWU5ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5k
ZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwKK1BBU1MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFt
ZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBhNGEzZGI5ZDYwYTM0NTBmMTIxZjU1ZTA3ZTJmMzBkNDU3MjY5YzEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJz
L2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
bmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbCI+Li4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1
ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
KzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0
YWNobWVudC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWI4ZDk5OWQ4N2JhZjMxN2RkYjc0YWU4NDFhZTkxM2Y2ODI1ZmZmMAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9n
bC1zY2lzc29yLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10
ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Np
c3Nvci10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzEzYzMwNDBkOTVjNjI2NmFlYmRhZTc5YTIxYjZm
ZWM3ODdhYjNjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0t
IFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4g
RE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZv
ciBnbC1zY2lzc29yLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lz
c29yLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmlu
Zy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEzZTQzMGYyZDk1NDM4ZTlkYjhlMmE1NzRlOWExZGJiYjk2ODUyYmQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Jl
bmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDY4NDQ1ZTMzYjRhOGY5Zjk1ZjBlODk0MTJhZGRiODhkNGYyMWU0MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRo
YW4tNjU1MzYtaW5kaWNlcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIG1vcmUtdGhhbi02
NTUzNi1pbmRpY2VzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1
NTM2LWluZGljZXMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFu
LTY1NTM2LWluZGljZXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29y
cnVwdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGE4ZmZmZjU0ZTlmOTg4ZTZjNjkwMzEw
NTU3MjQ1NTNlYTUxMjY0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1w
bGUtY29ycnVwdGlvbi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ0NzU0MmQ3NzIxMmM4NGZkMjc2MDcyOWY3ZTNlYzhhNTVkNTVi
MTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBE
TyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9y
IG11bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9t
dWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
bXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42YzA5YmVkYzEwYzZhYzc0OGE4NDg0ZjY4YTM1YTA3ZTc5YjRiYWI5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzVlYTc2NzE0Mjk4NDQwMjhjM2E3ODgxMWRiNWQ5OWZmYmZjNDRkNQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9w
b2ludC1zaXplLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcG9pbnQtc2l6ZS5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCI+Li4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbDwv
YT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmlu
Zy9wb2ludC1zaXplLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41OTEwNjI4NzJhOGFlZjRkMjI2ZmM5ZGVkNjlhNDEwNjMxZDYxYzRj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUv
Z2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1n
ZXQtY2FsbHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9i
amVjdC1nZXQtY2FsbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzRhZjg5ZjllNTAwNDgwZjk0YmRmMzdi
OWM1ODU1MjhlMzdlM2RlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIGdsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2ds
LW9iamVjdC1nZXQtY2FsbHMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1j
YWxscy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdkMzk3MGE1NTgyNWI0NjgxZmFkMWQ0NTk2YjIx
NDI0ZmFiNmI0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdl
LTJkLWZvcm1hdHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3Jt
YXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY4YzZlMGVhODBlNTcxOGFkYTE5NjhkODliZDA5YWRiOWQx
N2MzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciBjb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1h
dHMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1w
aXhlbHN0b3JlaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI3NTA5ZGIwYmYxN2Q2YzU3MjA3
OTM1MWRhMDg1MDcxMmJkNzc4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiYjdiNmU1OTQ4ZjUw
ZTJlZWNkMWQ5MzgxNDVmYTU1ZWU3MTlmNmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIGdsLXBpeGVsc3RvcmVpLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9y
ZWkuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWRlMjE2M2U2MTFiYjM2Yzk1ZDA5Y2RjMDY2ZTc0MjUy
NzNlNDM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9y
bWFuY2UuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjliOWI5YmRhNWM2YjliYjRkMWUwODIyMWVlZTlhNzIyNzk2ZjRlYjkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9v
cmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBvcmln
aW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdp
bi1jbGVhbi1jb25mb3JtYW5jZS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDwvYT4K
KzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL29y
aWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40OWI5NjI5NDQwYmJmZWQ4Yzk2MTJiYjZmYTViMjAzZDY4N2Y2MTRiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiNTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYjU2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFkNWRmYTVmMWZjYTAyM2MwZDZhYTU2
ZTFkNTVhYTA5MTZkMmE1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYjU2NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTFiY2Q2
Nzg1OGQyNjE1MGFjYjM2ZmM2OWI4MzY0ZWIxYjlmM2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1y
Z2I1NjUuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbCIg
d2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjE1MDBiNzljMjhiY2YwMmE5YmRjNTMxZGFmM2M1ZTM1MTgyMDUxMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3ZjA3NDZlNmNlY2Y3MDU4NDY0OTkwNzU1MmNm
Nzc5ZWI1YzE1M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2Jh
NDQ0NC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sIj4uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbCIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTMyOTQwMjM2
ZTUzZWQxZTk5MDVhNjlmODAyNDMxNmMzNTU4ZmE0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLXJnYmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI0MjA1NDYzOTg3NTI4MjFmN2QxMmQ5NGM0MzRhNzkwMWJlN2JiMTYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3Jt
YW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2Fu
dmFzLXJnYmE1NTUxLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sIj4uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAi
PjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MGY3ODBiNTZlN2Y5NTNiNzYxODAwZmZjMjU2M2VhN2ZkZDk2MDg5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbCI+
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zYjRkYTI3YjQzZmU0ZWViZTAxMDNkNzg3MmRhMzI2NjEzOTY3MmFiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtaW1hZ2UtcmdiNTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
NTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGEyZWRlOGViZGJlMTA0NmUyYzAyNjliZGM0
NTQwMzEzNjFjYjY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1
NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JkMmZlYTU5ODRkZTRh
ZTc0OWEwOTEwYmNiNGU1M2Q4MDQwMjg4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiNTY1Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTAxMmVmMDZlOTE3
M2NlOGZkMmVhOTQ3NmVlMmQ4MjQyNDQ3ODkwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtaW1hZ2UtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UtcmdiYTQ0NDQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWI0ZmZmYjgwN2EyZTljM2Q1OTEwM2Q4NWM0NzdmZDlkOWI3YmRkZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0
NDQ0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UtcmdiYTQ0NDQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdl
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjYjNiNDQ5NWMyOGZiODUzMmQ3OTM0ZjFmODYwZWYxNjky
ZWI1MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4YWRjNDljNjk2NzVj
ZmZmYmM3ZmE2MGJkZjYzNDE4MzE5YjE3M2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElU
IC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1
MS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmZjc1ZTcyZjAxZGY3Mzc3MjYyMjc2MTQ3Y2UxNWMyY2U2
OTczMzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1pbWFnZS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZGIxODNhNTMyMmRmMWMxY2Y4ZDFjMmFmYzI5
ODYyMTc0ZjU1ZjUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtdmlkZW8tcmdiNTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGJhNWYzMDQ3Njc0
NmMxOWUxNjExNzM2MmNlMGE4ZGM1NDY1NzU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby1yZ2I1NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlk
ZW8tcmdiNTY1Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1y
Z2I1NjUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGVkMTY2MWU0MjA3ZDhjMDg2OTFlYTgwOTk4Njk2ZmY2NDYxZjdhOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbDwvdGl0
bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlk
ZW8tcmdiNTY1Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzNhY2M3ZGMzZGM4YmMxZTQ1ZWYyNjdkZjg2NmFmODAyMDEwMjEwNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJn
YmE0NDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU2NDVkYTJiMjM1NGUxMmZhZjUwZmYwYTRlZDFlZWM2
Y2VjNTJhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBi
eSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
Q29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwiPi4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlk
ZW8tcmdiYTU1NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwMThiMDRiYmY1NjYxMmYzYzQ0
ZjhjY2FlN2IwZGQ5YWRjMWUzYzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLXJnYmE1NTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJn
YmE1NTUxLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2Jh
NTU1MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA5ZDI4YjVmOTUyYzY4YTVlY2E3YjU3NGE5YTg5Y2Y1ZmExZDNmY2YKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC12aWRlby1yZ2JhNTU1MS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJn
YmE1NTUxLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0NzQ4YTg0NDlmNTY1MGRkNWE4
NTJmNTI1MzFhYzdmYzY2NzhmODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC12aWRlby5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjE2ODg1YmVkZWNmNjRjZTFmNGY0OTczZDZkZTA4ZTY0NmRiZTUwMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2QwZTY2YTJm
ZmQ2MjZhYTRkOTVkMGRmZDFiZWQyZmU3ZWRlMDE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0
bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkg
Z2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENv
bmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbCI+Li4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1h
Y3RpdmUtYmluZC0yLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbCIgd2lkdGg9Ijgw
MCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFj
dGl2ZS1iaW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZjVk
NDNkMzhmZjgxMjE4OTg1YzM3OWI1MmFkZTdmMDkzZDExNDgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5k
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUt
YmluZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2OWExMzI2NjU0NTU0ZTE2MThlMDVjZWI5MmE5ZTA4NzFl
ZTkyMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
dGV4dHVyZS1hY3RpdmUtYmluZC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1hY3RpdmUtYmluZC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2
ZS1iaW5kLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDgyY2EwYTkwMWFhMmM1OWYyYzMwYWZjNTg3OGQ4ZTk1ZDU0ZTVhZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlw
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iMDk2OTVhMzkyNjhlODBiZDFjM2ZiMjNkNjc0MmJiY2ZhYTAwZDA3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBz
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1taXBzLmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWw8L2E+Cis8
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0
dXJlLW1pcHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zMzc1NDdlOTU4NDMyNzA1ZmNiMzcwMDg2YmY1NjEzMTg4YzFjZDQ1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbAorUEFTUwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0
dXJlLW5wb3QtdmlkZW8uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2MTIzY2ZhMWM2YmY0NTM3
OTIzZjk5NjVhMzI3Y2EzNjhmZTM5MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciB0ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDwv
YT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtbnBvdC12aWRlby5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJh
bWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFjMzRiMWFjZjNjN2FhMjFmNjg4YjdiMmM0YjMxY2FjZTAzYjU5Y2IK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLXNpemUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1p
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLXNpemUtbGltaXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlODAzOTNmODZiNjJj
NjI5YTRkNTY3M2RmZjQzMmJlNzJkNDdkMGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtc2l6ZS1saW1pdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTBkOThmOTI0MWZhMTgxNDhmYzVhZmU1ZTNhOWEzZGE0YzA5NTU3YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtc2l6ZS1saW1pdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleHR1cmUtc2l6ZS1s
aW1pdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0
bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtc2l6ZS1saW1pdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0
dXJlLXNpemUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTYxNTFiN2U1NDM4YTQ3ZDM3ZDdiZTgzN2NlNzlh
NmY4MDEwYWFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4
dHVyZS1zaXplLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1zaXplLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11
bmlmb3JtLWFycmF5cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDZiYTdiMjFkNjJjM2JlY2Rj
NmZjYWQyNDAzOWQxYWIxNmVkZmFkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3Jt
LWFycmF5cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ4OGQwZDMwZDlkZjU4ZTAxMmUzYWJjNDY3NDI2YzgwOTIyY2M2MjgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFy
cmF5cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXVuaWZvcm0tYXJyYXlzLmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sIj4uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3Jt
LWFycmF5cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFs
dWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1z
L3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlNTRjYmMz
ZGI3OWViMGFjYWZhOWNmYjA4NDRjOGNlNGFjNzNmZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVl
cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1k
ZWZhdWx0LXZhbHVlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiMmIyZmU2ZTFkZTdiODU5OWNkMDBjNDQ1
MGNjOTZiYzlhMTYwNzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVz
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91
bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3Jt
LWxvY2F0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NzljZTM0OTdiYmNmMGUyOGYxNDI3
MjEwZTZjYjFkNGU3YzQyMWUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlv
bi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTQzMjFh
YzNmZTQyNTMwYzUxMTMzMWM0NWRkN2RkM2QwMDAxNTgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHVuaWZvcm0tbG9jYXRpb24uaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9y
bXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJh
bWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBs
ZXJzLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmY2VhMjIyMDQxNTQ0NzI4ODgyYTg2
Yzk4MGQ5YTJjYzE2ODRjZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2Ft
cGxlcnMtdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWQ0MjBkNjc2ZmE1MDRkMTYyODY4ZmEyMDE2MjY3OTVlM2I3M2ZkMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3Vu
aWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJ
VCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHVuaWZvcm0t
c2FtcGxlcnMtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1w
bGVycy10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVy
cy10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVz
dC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0
NDYxZDliYjQxZTg4MmZhODcyYmY1NmE2NDlmNThmNmRjMDY3ZGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxMTcgQEAKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCByZXF1aXJl
ZCBidWZmZXIgY2xlYXIgYmVoYXZpb3VyIHRlc3Q8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+Citib2R5IHsKKyAgICBoZWlnaHQ6IDMwMDBweDsKK30KKzwvc3R5bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3ZhciBpdGVyID0gMDsKK3ZhciBnbDE7
Cit2YXIgZ2wyOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisKK2Z1bmN0aW9uIHRpbWVy
KCkgeworICAgIGlmIChpdGVyID09IDApIHsKKyAgICAgICAgLy8gc29tZSByYW5kb20gaGFja3kg
c3R1ZmYgdG8gbWFrZSBzdXJlIHRoYXQgd2UgZ2V0IGEgY29tcG9zaXRpbmcgc3RlcAorICAgICAg
ICB3aW5kb3cuc2Nyb2xsQnkoMCwgMTApOworICAgICAgICB3aW5kb3cuc2Nyb2xsQnkoMCwgLTEw
KTsKKyAgICAgICAgaXRlcisrOworCisgICAgICAgIHNldFRpbWVvdXQodGltZXIsIDUwMCk7Cisg
ICAgfSBlbHNlIGlmIChpdGVyID09IDEpIHsKKyAgICAgICAgZnVuY3Rpb24gY2xlYXIoZ2wpIHsK
KyAgICAgICAgICAgIC8vIHNjaXNzb3Igd2FzIHNldCBlYXJsaWVyCisgICAgICAgICAgICBnbC5j
bGVhckNvbG9yKDAsIDAsIDEsIDEpOworICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVG
RkVSX0JJVCk7CisgICAgICAgIH0KKyAgICAgICAgY2xlYXIoZ2wxKTsKKyAgICAgICAgY2xlYXIo
Z2wyKTsKKworICAgICAgICBkZWJ1ZygiY2hlY2sgb24gc2NyZWVuIGNhbnZhcyIpOworICAgICAg
ICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsMSwgMCwgMTAsIDEwLCAxMCwgWzAsIDAsIDI1NSwgMjU1
XSwgImNsZWFyZWQgY29ybmVyIHNob3VsZCBiZSBibHVlLCBzdGVuY2lsIHNob3VsZCBiZSBwcmVz
ZXJ2ZWQiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbDEsIDAsIDAsIDEwLCAxMCwg
WzAsIDAsIDAsIDBdLCAicmVtYWluZGVyIG9mIGJ1ZmZlciBzaG91bGQgYmUgY2xlYXJlZCIpOwor
ICAgICAgICBkZWJ1ZygiY2hlY2sgb2ZmIHNjcmVlbiBjYW52YXMiKTsKKyAgICAgICAgd3R1LmNo
ZWNrQ2FudmFzUmVjdChnbDIsIDAsIDEwLCAxMCwgMTAsIFswLCAwLCAyNTUsIDI1NV0sICJjbGVh
cmVkIGNvcm5lciBzaG91bGQgYmUgYmx1ZSwgc3RlbmNpbCBzaG91bGQgYmUgcHJlc2VydmVkIik7
CisgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wyLCAwLCAwLCAxMCwgMTAsIFsyNTUsIDAs
IDAsIDI1NV0sICJyZW1haW5kZXIgb2YgYnVmZmVyIHNob3VsZCBiZSB1bi1jbGVhcmVkIHJlZCIp
OworCisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGdvKCkgewor
ICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyBXZWJHTCBpbXBsZW1lbnRhdGlvbnMg
Y29ycmVjdGx5IGNsZWFyIHRoZSBkcmF3aW5nIGJ1ZmZlciBvbiBjb21wb3NpdGUgaWYgcHJlc2Vy
dmVEcmF3aW5nQnVmZmVyIGlzIGZhbHNlLiIpOworCisgICAgZGVidWcoIiIpOworCisgICAgZ2wx
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiYyIpOworICAgIGdsMiA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoKTsKKyAgICBzaG91bGRCZVRydWUoImdsMSAhPSBudWxsIik7CisgICAgc2hvdWxkQmVUcnVl
KCJnbDIgIT0gbnVsbCIpOworCisgICAgc2hvdWxkQmVUcnVlKCdnbDEuZ2V0Q29udGV4dEF0dHJp
YnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgPT0gZmFsc2UnKTsKKyAgICBzaG91bGRCZVRy
dWUoJ2dsMi5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNlcnZlRHJhd2luZ0J1ZmZlciA9PSBm
YWxzZScpOworCisgICAgZnVuY3Rpb24gaW5pdChnbCkgeworICAgICAgICBnbC5jbGVhckNvbG9y
KDEsIDAsIDAsIDEpOworICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wu
REVQVEhfQlVGRkVSX0JJVCB8IGdsLlNURU5DSUxfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgLy8g
ZW5hYmxlIHNjaXNzb3IgaGVyZSwgYmVmb3JlIGNvbXBvc2l0aW5nLCB0byBtYWtlIHN1cmUgaXQn
cyBjb3JyZWN0bHkKKyAgICAgICAgLy8gaWdub3JlZCBhbmQgcmVzdG9yZWQKKyAgICAgICAgZ2wu
c2Npc3NvcigwLCAxMCwgMTAsIDEwKTsKKyAgICAgICAgZ2wuZW5hYmxlKGdsLlNDSVNTT1JfVEVT
VCk7CisgICAgfQorCisgICAgaW5pdChnbDEpOworICAgIGluaXQoZ2wyKTsKKworICAgIHNldFRp
bWVvdXQodGltZXIsIDUwMCk7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
Z28sIGZhbHNlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGNhbnZhcyB3
aWR0aD0iMjAiIGhlaWdodD0iMjAiIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibHVlOyIgaWQ9
ImMiPjwvY2FudmFzPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFz
L2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGMxOGQxYjNiY2MxZDM4YzY0
OWQxODg0NjkwMDU1NzVjZTllZjU1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXIt
cHJlc2VydmUtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTEyIEBACis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgcmVxdWlyZWQgYnVmZmVyIGNsZWFyIGJl
aGF2aW91ciB0ZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9k
eSB7CisgICAgaGVpZ2h0OiAzMDAwcHg7Cit9Cis8L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgorCit2YXIgaXRlciA9IDA7Cit2YXIgZ2wxOworCit2YXIgd3R1ID0gV2Vi
R0xUZXN0VXRpbHM7CisKK2Z1bmN0aW9uIHRpbWVyKCkgeworICAgIGlmIChpdGVyID09IDApIHsK
KyAgICAgIGZ1bmN0aW9uIGluaXQoZ2wpIHsKKyAgICAgICAgICBnbC5jbGVhckNvbG9yKDEsIDAs
IDAsIDEpOworICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBU
SF9CVUZGRVJfQklUIHwgZ2wuU1RFTkNJTF9CVUZGRVJfQklUKTsKKworICAgICAgICAgIC8vIGVu
YWJsZSBzY2lzc29yIGhlcmUsIGJlZm9yZSBjb21wb3NpdGluZywgdG8gbWFrZSBzdXJlIGl0J3Mg
Y29ycmVjdGx5CisgICAgICAgICAgLy8gaWdub3JlZCBhbmQgcmVzdG9yZWQKKyAgICAgICAgICBn
bC5zY2lzc29yKDAsIDEwLCAxMCwgMTApOworICAgICAgICAgIGdsLmVuYWJsZShnbC5TQ0lTU09S
X1RFU1QpOworICAgICAgfQorICAgICAgaW5pdChnbDEpOworICAgIH0gZWxzZSBpZiAoaXRlciA9
PSAxKSB7CisgICAgICAgIC8vIHNvbWUgcmFuZG9tIGhhY2t5IHN0dWZmIHRvIG1ha2Ugc3VyZSB0
aGF0IHdlIGdldCBhIGNvbXBvc2l0aW5nIHN0ZXAKKyAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAs
IDEwKTsKKyAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIC0xMCk7CisgICAgfSBlbHNlIGlmIChp
dGVyID09IDIpIHsKKyAgICAgICAgZnVuY3Rpb24gY2xlYXIoZ2wpIHsKKyAgICAgICAgICAgIC8v
IHNjaXNzb3Igd2FzIHNldCBlYXJsaWVyCisgICAgICAgICAgICBnbC5jbGVhckNvbG9yKDAsIDAs
IDEsIDEpOworICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAg
ICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDEwLCAxMCwgMTAsIFswLCAwLCAy
NTUsIDI1NV0sICJjbGVhcmVkIGNvcm5lciBzaG91bGQgYmUgYmx1ZSwgc3RlbmNpbCBzaG91bGQg
YmUgcHJlc2VydmVkIik7CisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAw
LCAxMCwgMTAsIFswLCAwLCAwLCAwXSwgInJlbWFpbmRlciBvZiBidWZmZXIgc2hvdWxkIGJlIGNs
ZWFyZWQiKTsKKyAgICAgICAgfQorICAgICAgICBjbGVhcihnbDEpOworCisgICAgICAgIGZpbmlz
aFRlc3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGl0ZXIrKzsKKyAgICBzZXRU
aW1lb3V0KHRpbWVyLCA1MDApOworfQorCitmdW5jdGlvbiBnbygpIHsKKyAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25zIGNvcnJlY3RseSBjbGVh
ciB0aGUgZHJhd2luZyBidWZmZXIgb24gY29tcG9zaXRlIGlmIHByZXNlcnZlRHJhd2luZ0J1ZmZl
ciBpcyBmYWxzZS4iKTsKKworICAgIGRlYnVnKCIiKTsKKworICAgIGdsMSA9IHd0dS5jcmVhdGUz
RENvbnRleHQoImMiKTsKKyAgICBpZiAoIWdsMSkgeworICAgICAgICBmaW5pc2hUZXN0KCk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzaG91bGRCZVRydWUoImdsMSAhPSBudWxsIik7
CisgICAgc2hvdWxkQmVUcnVlKCdnbDEuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURy
YXdpbmdCdWZmZXIgPT0gZmFsc2UnKTsKKworICAgIHNldFRpbWVvdXQodGltZXIsIDUwMCk7Cit9
CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZ28sIGZhbHNlKTsKKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPCEt
LSBJbXBvcnRhbnQgdG8gcHV0IHRoZSBjYW52YXMgYXQgdGhlIHRvcCBzbyB0aGF0IGl0J3MgYWx3
YXlzIHZpc2libGUgZXZlbiBpbiB0aGUgdGVzdCBzdWl0ZSBydW5uZXIuCisgICAgIE90aGVyd2lz
ZSBpdCBqdXN0IGRvZXNuJ3QgZ2V0IGNvbXBvc2l0ZWQgaW4gRmlyZWZveC4gLS0+Cis8Y2FudmFz
IHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsdWU7IiBp
ZD0iYyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3
aW5nYnVmZmVyLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NjM3OWM2YWZhODE0M2M4NTQ0OTM3OTUxNTUzNzNmY2NiMDRlYzI5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sCkBAIC0wLDAgKzEsMTM5
IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDYW52YXMuZHJhd2luZ0J1ZmZlcldpZHRoLGRyYXdpbmdCdWZmZXJIZWlnaHQgQ29uZm9ybWFu
Y2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1ZygiIik7CisKK3ZhciBnbDsKK3ZhciBvbGRWaWV3
cG9ydDsKKworZnVuY3Rpb24gZ2V0TWF4Vmlld3BvcnREaW1lbnNpb25zKCkgeworICAvLyBjcmVh
dGUgYSBmcmVzaCBjYW52YXMuIFRoaXMgY2FudmFzIHdpbGwgYmUgZGlzY2FyZGVkCisgIC8vIGFm
dGVyIGV4aXRpbmcgdGhpcyBmdW5jdGlvbi4KKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImNhbnZhcyIpOworICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB7
YW50aWFsaWFzOiBmYWxzZX0pOworICBpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiY29udGV4
dCBkb2VzIG5vdCBleGlzdCIpOworICAgIHJldHVybiBbMCwgMF07CisgIH0gZWxzZSB7CisgICAg
dGVzdFBhc3NlZCgiY29udGV4dCBleGlzdHMiKTsKKworICAgIC8vIEZvciBhIGRlZmF1bHQgc2l6
ZSBjYW52YXMgdGhlc2Ugc2hvdWxkIGJlIGVxdWFsLgorICAgIC8vIFdlYkdMIGNvbnRleHRzIGFy
ZSBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRyYXdpbmdCdWZmZXIKKyAg
ICAvLyBmb3IgdGhpbmdzIGxpa2UgaGktcmVzIGRpc3BsYXlzLgorICAgIHNob3VsZEJlKCdnbC5k
cmF3aW5nQnVmZmVyV2lkdGgnLCAnZ2wuY2FudmFzLndpZHRoJyk7CisgICAgc2hvdWxkQmUoJ2ds
LmRyYXdpbmdCdWZmZXJIZWlnaHQnLCAnZ2wuY2FudmFzLmhlaWdodCcpOworICAgIHJldHVybiBn
bC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZJRVdQT1JUX0RJTVMpOworICB9Cit9CisKK2Z1bmN0aW9u
IHRlc3QoZGVzaXJlZFdpZHRoLCBkZXNpcmVkSGVpZ2h0KSB7CisgIGRlYnVnKCIiKTsKKyAgZGVi
dWcoInRlc3RpbmcgY2FudmFzIHdpZHRoID0gIiArIGRlc2lyZWRXaWR0aCArICIsIGhlaWdodCA9
ICIgKyBkZXNpcmVkSGVpZ2h0KTsKKworICAvLyBNYWtlIGEgZnJlc2ggY2FudmFzLgorICB2YXIg
Y2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CisgIGNhbnZhcy53aWR0
aCA9IGRlc2lyZWRXaWR0aDsKKyAgY2FudmFzLmhlaWdodCA9IGRlc2lyZWRIZWlnaHQ7CisKKyAg
Ly8gVGhpcyAnZ2wnIG11c3QgYmUgZ2xvYmFsIGZvciBzaG91bGRCZSB0byB3b3JrLgorICBnbCA9
IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB7YW50aWFsaWFzOiBmYWxzZX0pOworICBpZiAo
IWdsKSB7CisgICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICB9IGVs
c2UgeworICAgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgICAvLyBWZXJpZnkg
dGhlc2Ugc3RhdHMgZGlkbid0IGNoYW5nZSBzaW5jZSB0aGV5IGNvbWUgZnJvbSBhIGRpZmZlcmVu
dAorICAgIC8vIGNvbnRleHQuCisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5NQVhf
VklFV1BPUlRfRElNUylbMF0nLCAnbWF4U2l6ZVswXScpOworICAgIHNob3VsZEJlKCdnbC5nZXRQ
YXJhbWV0ZXIoZ2wuTUFYX1ZJRVdQT1JUX0RJTVMpWzFdJywgJ21heFNpemVbMV0nKTsKKworICAg
IC8vIGNoZWNrIHRoZSBpbml0aWFsIHZpZXdwb3J0IG1hdGNoZXMgdGhlIGRyYXdpbmdCdWZmZXJX
aWR0aCBhbmQgZHJhd2luZ0J1ZmZlckhlaWdodAorICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0
ZXIoZ2wuVklFV1BPUlQpWzBdJywgJzAnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVy
KGdsLlZJRVdQT1JUKVsxXScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihn
bC5WSUVXUE9SVClbMl0nLCAnZ2wuZHJhd2luZ0J1ZmZlcldpZHRoJyk7CisgICAgc2hvdWxkQmUo
J2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbM10nLCAnZ2wuZHJhd2luZ0J1ZmZlckhlaWdo
dCcpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJ0ZXN0aW5nIHJlc2l6aW5nIGNhbnZh
cyB0byB3aWR0aCA9ICIgKyBkZXNpcmVkV2lkdGggKyAiLCBoZWlnaHQgPSAiICsgZGVzaXJlZEhl
aWdodCk7CisKKyAgICBvbGRWaWV3cG9ydCA9IGdsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVCk7
CisKKyAgICAvLyBmbGlwIHdpZHRoIGFuZCBoZWlnaHQKKyAgICBjYW52YXMud2lkdGggPSBkZXNp
cmVkSGVpZ2h0OworICAgIGNhbnZhcy5oZWlnaHQgPSBkZXNpcmVkV2lkdGg7CisKKyAgICAvLyBW
ZXJpZnkgdGhlIHZpZXdwb3J0IGRpZG4ndCBjaGFuZ2UuCisgICAgc2hvdWxkQmUoJ2dsLmdldFBh
cmFtZXRlcihnbC5WSUVXUE9SVClbMF0nLCAnb2xkVmlld3BvcnRbMF0nKTsKKyAgICBzaG91bGRC
ZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsxXScsICdvbGRWaWV3cG9ydFsxXScpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzJdJywgJ29sZFZpZXdw
b3J0WzJdJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbM10n
LCAnb2xkVmlld3BvcnRbM10nKTsKKworICAgIC8vIGZpeCB0aGUgdmlld3BvcnQKKy8vICAgIGds
LnZpZXdwb3J0KDAsIDAsIGdsLmRyYXdpbmdCdWZmZXJXaWR0aCwgZ2wuZHJhd2luZ0J1ZmZlckhl
aWdodCk7CisKKyAgICBzaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICdnbC5OT19FUlJPUicpOwor
ICB9Cit9CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBtYXhTaXplID0gZ2V0TWF4
Vmlld3BvcnREaW1lbnNpb25zKCk7CitkZWJ1ZygiTUFYX1ZJRVdQT1JUX0RJTVM6ICIgKyBtYXhT
aXplWzBdICsgIiwgIiArIG1heFNpemVbMV0pOworCitzaG91bGRCZVRydWUoJ21heFNpemVbMF0g
PiAwJyk7CitzaG91bGRCZVRydWUoJ21heFNpemVbMV0gPiAwJyk7CisKKy8vIHRlc3QgYSBzbWFs
bCBzaXplIHRvIG1ha2Ugc3VyZSBpdCB3b3JrcyBhdCBhbGwuCit0ZXN0KDE2LCAzMik7CisKKy8v
IE1ha2UgYSBjYW52YXMgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gdGhlIG1heCBzaXplIFdlYkdMIGNh
biBoYW5kbGUuCisvLyBGcm9tIHNlY3Rpb24gMi4yIG9mIHRoZSBzcGVjIHRoZSBXZWJHTCBpbXBs
ZW1lbnRhdGlvbiBzaG91bGQgYWxsb3cgdGhpcyB0byB3b3JrLgorCisvLyB0ZXN0IGEgc2l6ZSBs
YXJnZXIgdGhhbiBNQVhfVklFV1BPUlRfRElNUyBpbiBib3RoIGRpbWVuc2lvbnMKK3Rlc3QobWF4
U2l6ZVswXSArIDMyLCA4KTsKKworZGVidWcoIiIpCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3Rv
LWRhdGEtdXJsLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uY2ZlOGRmZjFhODkxZTU5MzkyNzU5M2JlYmM3OWUzYjIzOWNhYmI4NgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxMzAgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB0b0Rh
dGFVUkwgdGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIHdpZHRo
PSIyMCIgaGVpZ2h0PSIyMCIgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyB3aWR0aDog
MTZweDsgaGVpZ2h0OiAxNnB4IiBpZD0iYzNkIj48L2NhbnZhcz4KKzxjYW52YXMgd2lkdGg9IjIw
IiBoZWlnaHQ9IjIwIiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IHdpZHRoOiAxNnB4
OyBoZWlnaHQ6IDE2cHgiIGlkPSJjMmQiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgbnVtVGVzdHMgPSAxMDsK
K3ZhciBnbDsKK3ZhciBjdHg7CisKK3ZhciBtYWluID0gZnVuY3Rpb24oKSB7CisgIGRlc2NyaXB0
aW9uKCk7CisgIGN0eCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjMmQiKS5nZXRDb250ZXh0
KCIyZCIpOworICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImMzZCIpOworCisgIGlmICghZ2wp
IHsKKyAgICB0ZXN0RmFpbGVkKCJjYW4ndCBjcmVhdGUgM2QgY29udGV4dCIpOworICAgIHJldHVy
bjsKKyAgfQorCisgIHZhciBjbGVhclJlY3QgPSBmdW5jdGlvbihnbCwgeCwgeSwgd2lkdGgsIGhl
aWdodCwgY29sb3IpIHsKKyAgICBnbC5jbGVhckNvbG9yKGNvbG9yWzBdIC8gMjU1LCBjb2xvclsx
XSAvIDI1NSwgY29sb3JbMl0gLyAyNTUsIGNvbG9yWzNdIC8gMjU1KTsKKyAgICBnbC5zY2lzc29y
KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQp
OworICB9OworCisgIHZhciB0ZXN0U2l6ZSA9IGZ1bmN0aW9uKGdsLCB3aWR0aCwgaGVpZ2h0LCBj
YWxsYmFjaykgeworICAgIGRlYnVnKCJ0ZXN0aW5nICIgKyB3aWR0aCArICIgYnkgIiArIGhlaWdo
dCk7CisgICAgZ2wuY2FudmFzLndpZHRoID0gd2lkdGg7CisgICAgZ2wuY2FudmFzLmhlaWdodCA9
IGhlaWdodDsKKyAgICBnbC52aWV3cG9ydCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBnbC5l
bmFibGUoZ2wuU0NJU1NPUl9URVNUKTsKKworICAgIHZhciBib3R0b21Db2xvciA9IFsyNTUsIDAs
IDAsIDI1NV07CisgICAgdmFyIHRvcENvbG9yID0gWzAsIDI1NSwgMCwgMjU1XTsKKyAgICB2YXIg
cmlnaHRDb2xvciA9IFswLCAwLCAyNTUsIDI1NV07CisgICAgdmFyIGhhbGZIZWlnaHQgPSBNYXRo
LmZsb29yKGhlaWdodCAvIDIpOworICAgIHZhciB0b3BIZWlnaHQgPSBoZWlnaHQgLSBoYWxmSGVp
Z2h0OworICAgIHZhciBjYW52YXNUb3BIZWlnaHQgPSBoZWlnaHQgLSB0b3BIZWlnaHQ7CisgICAg
Y2xlYXJSZWN0KGdsLCAwLCAwLCB3aWR0aCwgaGFsZkhlaWdodCwgYm90dG9tQ29sb3IpOworICAg
IGNsZWFyUmVjdChnbCwgMCwgaGFsZkhlaWdodCwgd2lkdGgsIHRvcEhlaWdodCwgdG9wQ29sb3Ip
OworICAgIGNsZWFyUmVjdChnbCwgd2lkdGggLSAxLCAwLCAxLCBoZWlnaHQsIHJpZ2h0Q29sb3Ip
OworCisgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOworICAgIGltZy5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKKyAgICAgIGN0eC5jYW52YXMud2lkdGggPSB3aWR0aDsKKyAgICAgIGN0eC5jYW52YXMu
aGVpZ2h0ID0gaGVpZ2h0OworICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDApOworICAgICAg
d3R1LmNoZWNrQ2FudmFzUmVjdChjdHgsIDAsIDAsIHdpZHRoIC0gMSwgdG9wSGVpZ2h0LCB0b3BD
b2xvcik7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwgMCwgdG9wSGVpZ2h0LCB3aWR0
aCAtIDEsIGhhbGZIZWlnaHQsIGJvdHRvbUNvbG9yKTsKKyAgICAgIHd0dS5jaGVja0NhbnZhc1Jl
Y3QoY3R4LCB3aWR0aCAtIDEsIDAsIDEsIGhlaWdodCwgcmlnaHRDb2xvcik7CisgICAgICBkZWJ1
ZygiIik7CisgICAgICBjYWxsYmFjaygpOworICAgIH07CisgICAgaW1nLnNyYyA9IGdsLmNhbnZh
cy50b0RhdGFVUkwoKTsKKyAgfTsKKworICB2YXIgdGVzdHMgPSBbCisgICAgeyB3aWR0aDogIDE2
ICAgICwgaGVpZ2h0OiAgMTYgICAgLCB9LAorICAgIHsgd2lkdGg6ICAxNiAtIDEsIGhlaWdodDog
IDE2ICAgICwgfSwKKyAgICB7IHdpZHRoOiAgMTYgLSAxLCBoZWlnaHQ6ICAxNiAtIDEsIH0sCisg
ICAgeyB3aWR0aDogIDE2ICsgMSwgaGVpZ2h0OiAgMTYgLSAxLCB9LAorICAgIHsgd2lkdGg6ICAx
NiAtIDEsIGhlaWdodDogIDE2ICsgMSwgfSwKKyAgICB7IHdpZHRoOiAyNTYgICAgLCBoZWlnaHQ6
IDI1NiAgICAsIH0sCisgICAgeyB3aWR0aDogMjU2IC0gMSwgaGVpZ2h0OiAyNTYgICAgLCB9LAor
ICAgIHsgd2lkdGg6IDI1NiAtIDEsIGhlaWdodDogMjU2IC0gMSwgfSwKKyAgICB7IHdpZHRoOiAy
NTYgKyAxLCBoZWlnaHQ6IDI1NiAtIDEsIH0sCisgICAgeyB3aWR0aDogMjU2IC0gMSwgaGVpZ2h0
OiAyNTYgKyAxLCB9LAorICAgIHsgd2lkdGg6IDUxMiAgICAsIGhlaWdodDogNTEyICAgICwgfSwK
KyAgICB7IHdpZHRoOiA1MTIgLSAxLCBoZWlnaHQ6IDUxMiAgICAsIH0sCisgICAgeyB3aWR0aDog
NTEyIC0gMSwgaGVpZ2h0OiA1MTIgLSAxLCB9LAorICAgIHsgd2lkdGg6IDUxMiArIDEsIGhlaWdo
dDogNTEyIC0gMSwgfSwKKyAgICB7IHdpZHRoOiA1MTIgLSAxLCBoZWlnaHQ6IDUxMiArIDEsIH0s
CisgIF07CisgIHZhciB0ZXN0SW5kZXggPSAwOworICB2YXIgcnVuTmV4dFRlc3QgPSBmdW5jdGlv
bigpIHsKKyAgICBpZiAodGVzdEluZGV4ID09IHRlc3RzLmxlbmd0aCkgeworICAgICAgZmluaXNo
VGVzdCgpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgICB2YXIgdGVzdCA9IHRlc3RzW3Rlc3RJ
bmRleCsrXTsKKyAgICB0ZXN0U2l6ZShnbCwgdGVzdC53aWR0aCwgdGVzdC5oZWlnaHQsIGZ1bmN0
aW9uKCkgeworICAgICAgc2V0VGltZW91dChydW5OZXh0VGVzdCwgMTAwKTsKKyAgICB9KQorICB9
OworICBydW5OZXh0VGVzdCgpOworfTsKK21haW4oKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRl
eHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRl
eHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMThjMDZhZDRlYWI1ZWZhOTY2NjUzY2ZhODI1OWFlYjlhOTJkZmNhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZl
ci5odG1sCkBAIC0wLDAgKzEsMTIyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGNhbnZhcyB7CisgICAgICAgICAgICAgICAg
d2lkdGg6NTBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6NTBweDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIC5zcXVhcmUgeworICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJs
b2NrOworICAgICAgICAgICAgICAgIHdpZHRoOjUwcHg7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OjUwcHg7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZWQ7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAidXNl
IHN0cmljdCI7CisgICAgICAgICAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgICAg
ICAgICBmdW5jdGlvbiBjaGVja1Jlc3VsdChjdHgxLCBjdHgyLCBwcmVzZXJ2ZSkgeworICAgICAg
ICAgICAgICAgIHZhciBpbWdEYXRhMSA9IGN0eDEuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpOworICAg
ICAgICAgICAgICAgIHZhciBpbWdEYXRhMiA9IGN0eDIuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpOwor
ICAgICAgICAgICAgICAgIHZhciBjb3JyZWN0MSA9IFsyNTUsMCwwLDI1NV07CisgICAgICAgICAg
ICAgICAgdmFyIGNvcnJlY3QyID0gcHJlc2VydmUgPyBbMjU1LDAsMCwyNTVdIDogWzAsMCwwLDI1
NV07CisgICAgICAgICAgICAgICAgdmFyIG9rMSA9IHRydWU7CisgICAgICAgICAgICAgICAgdmFy
IG9rMiA9IHRydWU7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCA0OyArK3Ap
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGltZ0RhdGExLmRhdGFbcF0gIT0gY29ycmVjdDFb
cF0pCisgICAgICAgICAgICAgICAgICAgICAgICBvazEgPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGltZ0RhdGEyLmRhdGFbcF0gIT0gY29ycmVjdDJbcF0pCisgICAgICAgICAgICAg
ICAgICAgICAgICBvazIgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgaWYgKG9rMSAmJiBvazIpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ1JlbmRl
cmVkIG9rIHdpdGggcHJlc2VydmVEcmF3aW5nQnVmZmVyICcgKyBwcmVzZXJ2ZSArJy4nKTsKKyAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ0RpZCBu
b3QgcmVuZGVyIG9rIHdpdGggcHJlc2VydmVEcmF3aW5nQnVmZmVyICcgKyBwcmVzZXJ2ZSArICcu
Jyk7CisgICAgICAgICAgICAgICAgaWYgKHByZXNlcnZlKSB7CisgICAgICAgICAgICAgICAgICAg
IGZpbmlzaFRlc3QoKQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgIHJ1blRlc3QodHJ1ZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KHByZXNlcnZlKSB7CisgICAgICAgICAgICAgICAg
dmFyIGMxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnICsgKHByZXNlcnZlICogMyArIDEp
KTsKKyAgICAgICAgICAgICAgICB2YXIgYzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycg
KyAocHJlc2VydmUgKiAzICsgMikpOworICAgICAgICAgICAgICAgIHZhciBjMyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdjJyArIChwcmVzZXJ2ZSAqIDMgKyAzKSk7CisgICAgICAgICAgICAg
ICAgdmFyIGN0eDEgPSBjMS5nZXRDb250ZXh0KCcyZCcpOworICAgICAgICAgICAgICAgIHZhciBj
dHgyID0gYzIuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICAgICAgICAgICAgICB2YXIgZ2wgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KGMzLCB7IGFscGhhOmZhbHNlLCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6
cHJlc2VydmUgfSk7CisgICAgICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcigxLCAwLCAwLCAxKTsK
KyAgICAgICAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICAgICAg
ICAgICAgICBjdHgxLmRyYXdJbWFnZShjMywgMCwgMCk7CisgICAgICAgICAgICAgICAgd3R1Lndh
aXRGb3JDb21wb3NpdGUoZ2wsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBjdHgy
LmRyYXdJbWFnZShjMywgMCwgMCk7CisgICAgICAgICAgICAgICAgICAgIGNoZWNrUmVzdWx0KGN0
eDEsIGN0eDIsIHByZXNlcnZlKTsKKyAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAg
fQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxk
aXY+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjMSc+PC9jYW52YXM+CisgICAgICAgICAgICA8
Y2FudmFzIGlkPSdjMic+PC9jYW52YXM+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjMyc+PC9j
YW52YXM+CisgICAgICAgICAgICA8c3Bhbj5zaG91bGQgbG9vayBhcyByaWdodCBwYXR0ZXJuPC9z
cGFuPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nc3F1YXJlJz48L2Rpdj4KKyAgICAgICAgICAg
IDxkaXYgY2xhc3M9J3NxdWFyZScgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6YmxhY2snPjwvZGl2
PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nc3F1YXJlJz48L2Rpdj4KKyAgICAgICAgPC9kaXY+
CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjNCc+PC9jYW52YXM+Cisg
ICAgICAgICAgICA8Y2FudmFzIGlkPSdjNSc+PC9jYW52YXM+CisgICAgICAgICAgICA8Y2FudmFz
IGlkPSdjNic+PC9jYW52YXM+CisgICAgICAgICAgICA8c3Bhbj5zaG91bGQgbG9vayBhcyByaWdo
dCBwYXR0ZXJuPC9zcGFuPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nc3F1YXJlJz48L2Rpdj4K
KyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+CisgICAgICAgICAgICA8ZGl2
IGNsYXNzPSdzcXVhcmUnPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCdWZXJpZnkgdGhhdCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIgYXR0cmlidXRlIGlz
IGhvbm9yZWQuJyk7CisgICAgICAgICAgICBydW5UZXN0KGZhbHNlKTsKKyAgICAgICAgICAgIHZh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJz
dWNjZXNzZnVsbHlQYXJzZWQiKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQwOGZjMzkxMzQwYWE3ZThlYzljMDc4NmFiZjc1MDdiNGZkNjE1YWUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0
bWwKQEAgLTAsMCArMSw4NCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+VGVzdCB0aGF0IGNvbnRleHRzIGFyZSBmcmVlZCBhbmQgZ2FyYmFnZSBjb2xs
ZWN0ZWQgcmVhc29uYWJseTwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgdGFyZ2V0ID0g
NTAwOwordmFyIGNvdW50ID0gMDsKKworZGVzY3JpcHRpb24oKTsKK2RvTmV4dFRlc3QoKTsKKwor
Ly8gQ3JlYXRlcyBhIGNhbnZhcyBhbmQgYSB0ZXh0dXJlIHRoZW4gZXhpdHMuIFRoZXJlIGFyZQor
Ly8gbm8gcmVmZXJlbmNlcyB0byBlaXRoZXIgc28gYm90aCBzaG91bGQgYmUgZ2FyYmFnZSBjb2xs
ZWN0ZWQuCitmdW5jdGlvbiB0ZXN0KCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiY2FudmFzIik7CisgIC8vIFRoaXMgaXMgc2FmZSBmb3IgYW55IGRldmljZS4gU2Vl
IGRyYXdpbmdCdWZmZXJXaWR0aCBpbiBzcGVjLgorICBjYW52YXMud2lkdGggPSAyMDQ4OworICBj
YW52YXMuaGVpZ2h0ID0gMjA0ODsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52
YXMpOworICB2YXIgbWF4VGV4dHVyZVNpemUgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1RFWFRV
UkVfU0laRSk7CisgIHZhciBzaXplID0gTWF0aC5taW4oMTAyNCwgbWF4VGV4dHVyZVNpemUpOwor
ICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXgpOworICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IHNpemUsIHNpemUsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgICAg
ICAgbmV3IFVpbnQ4QXJyYXkoc2l6ZSAqIHNpemUgKiA0KSk7CisgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiU2hvdWxk
IGJlIG5vIGVycm9ycyIpOworfQorCitmdW5jdGlvbiBkb05leHRUZXN0KCkgeworICArK2NvdW50
OworICBkZWJ1ZygidGVzdCAiICsgY291bnQgKyAiIG9mICIgKyB0YXJnZXQpOworICB0ZXN0KCk7
CisgIGlmIChjb3VudCA8IHRhcmdldCkgeworICAgIHNldFRpbWVvdXQoZG9OZXh0VGVzdCwgMTAw
KTsKKyAgfSBlbHNlIHsKKyAgICBmaW5pc2hUZXN0KCk7CisgIH0KK30KKwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43NDBkMGEyOWIwNmMwYzZiZmMzNTY2NGE5YTliMjM2MzhlZDExYTlmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVw
LWdlbnR5cGUuaHRtbApAQCAtMCwwICsxLDgwIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPkdMU0wgc21vb3Roc3RlcC1nZW50eXBlIGZ1bmN0aW9u
IHRlc3Q8L3RpdGxlPgorICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+CisgIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+
CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1nZW5lcmF0b3IuanMiPiA8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCisKK0dMU0xH
ZW5lcmF0b3IucnVuRmVhdHVyZVRlc3QoeworICBmZWF0dXJlOiAic21vb3Roc3RlcCIsCisgIGFy
Z3M6ICIkKHR5cGUpIGVkZ2UwLCAkKHR5cGUpIGVkZ2UxLCAkKHR5cGUpIHZhbHVlIiwKKyAgYmFz
ZUFyZ3M6ICJlZGdlMCQoZmllbGQpLCBlZGdlMSQoZmllbGQpLCB2YWx1ZSQoZmllbGQpIiwKKyAg
dGVzdEZ1bmM6ICIkKGZ1bmMpKCQodHlwZSksICQodHlwZSksICQodHlwZSkpIiwKKyAgZW11RnVu
YzogWyJmbG9hdCAkKGZ1bmMpX2Jhc2UoZmxvYXQgZWRnZTAsIGZsb2F0IGVkZ2UxLCBmbG9hdCB2
YWx1ZSkgeyIsCisgICAgICAgICAgICAiICBmbG9hdCB0ID0gY2xhbXAoKHZhbHVlIC0gZWRnZTAp
IC8gKGVkZ2UxIC0gZWRnZTApLCAwLjAsIDEuMCk7IiwKKyAgICAgICAgICAgICIgIHJldHVybiB0
ICogdCAqICgzLjAgLSAyLjAgKiB0KTsiLAorICAgICAgICAgICAgIn0iXS5qb2luKCJcbiIpLAor
ICBncmlkUmVzOiA4LAorICB0b2xlcmFuY2U6IDEsCisgIHRlc3RzOiBbCisgICAgWyIkKG91dHB1
dCkgPSB2ZWM0KCIsCisgICAgICIgICAgJChmdW5jKSgwLjMsIDAuNywgJChpbnB1dCkueCksIiwK
KyAgICAgIiAgICAkKGZ1bmMpKDAuMiwgMC44LCAkKGlucHV0KS55KSwiLAorICAgICAiICAgIDAs
IiwKKyAgICAgIiAgICAxKTsiXS5qb2luKCJcbiIpLAorICAgIFsiJChvdXRwdXQpID0gdmVjNCgi
LAorICAgICAiICAgICQoZnVuYykodmVjMigwLjQsIDAuNiksIHZlYzIoMC44LCAwLjkpLCAkKGlu
cHV0KS54eSksIiwKKyAgICAgIiAgICAwLCAxKTsiXS5qb2luKCJcbiIpLAorICAgIFsiJChvdXRw
dXQpID0gdmVjNCgiLAorICAgICAiICAgICQoZnVuYykodmVjMygwLjMsIDAuNSwgMC43KSwgdmVj
MygwLjcsIDAuOSwgMS4wKSwgJChpbnB1dCkueHl6KSwiLAorICAgICAiICAgIDEpOyJdLmpvaW4o
IlxuIiksCisgICAgWyIkKG91dHB1dCkgPSAiLAorICAgICAiICAgICQoZnVuYykodmVjNCgwLjMs
IDAuNCwgMC41LCAwLjIpLCAiLAorICAgICAiICAgICAgICAgICAgdmVjNCgwLjcsIDAuNiwgMC45
LCAwLjgpLCAiLAorICAgICAiICAgICAgICAgICAgJChpbnB1dCkpOyJdLmpvaW4oIlxuIikKKyAg
XQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVy
dC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zODhlNGUxZGE2ZThlNTdkNDUwNWJhMzc3ZTg2MjljYjI1NGMwMTMyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbApAQCAtMCwwICsxLDcz
IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBHTFNMIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3Nz
Ii8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2Ut
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idmVydGV4U2hh
ZGVyIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CisKKy8vIHBhcnNpbmcg
ZmxvYXRpbmcgcG9pbnQgbGl0ZXJhbHMgc2hvdWxkIHN1Y2NlZWQKK3ZvaWQgbWFpbigpIHsKKyAg
ZmxvYXQgemVybyA9IDAuMDsKKyAgZmxvYXQgZnJhY3Rpb25hbENvbnN0YW50ID0gMS4wOworICBm
bG9hdCBmcmFjdGlvbmFsQ29uc3RhbnRFeHBvbmVudCA9IDEuMGUxOworICBmbG9hdCBmcmFjdGlv
bmFsQ29uc3RhbnRQb3NFeHBvbmVudCA9IDEuMGUrMTsKKyAgZmxvYXQgZnJhY3Rpb25hbENvbnN0
YW50TmVnRXhwb25lbnQgPSAxLjBlLTE7CisgIGZsb2F0IGRpZ2l0U2VxdWVuY2VFeHBvbmVudCA9
IDFlMTsKKyAgZmxvYXQgZGlnaXRTZXF1ZW5jZVBvc0V4cG9uZW50ID0gMWUrMTsKKyAgZmxvYXQg
ZGlnaXRTZXF1ZW5jZU5lZ0V4cG9uZW50ID0gMWUtMTsKKyAgZmxvYXQgcG9pbnREaWdpdCA9IC4x
OworICBmbG9hdCBkaWdpdFBvaW50PSAxLjsKKyAgZmxvYXQgdXBwZXJDYXNlRXhwb25lbnQgPSAx
LjBFMTsKKyAgaGlnaHAgZmxvYXQgcG9zSW5SYW5nZSA9IDQ2MTE2ODYwMTg0MjczODc5MDMuOyAg
Ly8gMl42MiAtIDEKKyAgaGlnaHAgZmxvYXQgcG9zT3V0UmFuZ2UgPSA0NjExNjg2MDE4NDI3Mzg3
OTA1LjsgIC8vIDJeNjIgKyAxCisgIGhpZ2hwIGZsb2F0IHBvc0h1Z2UgPSAxRTEwMDsKKyAgaGln
aHAgZmxvYXQgbmVnSW5SYW5nZSA9IC00NjExNjg2MDE4NDI3Mzg3OTAzLjsKKyAgaGlnaHAgZmxv
YXQgbmVnT3V0UmFuZ2UgPSAtNDYxMTY4NjAxODQyNzM4NzkwNS47CisgIGhpZ2hwIGZsb2F0IG5l
Z0h1Z2UgPSAxRTEwMDsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK0dM
U0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTA4
YzdlN2I2MmIxYjAwNTY1YzdlYTdjYmNhYTZhZTI5NzJlMGNmMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCkBAIC0w
LDAgKzEsMjY4IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCB1bmlmb3JtIHBhY2tpbmcgcmVzdHJjdGlvbnMgQ29uZm9ybWFuY2UgVGVzdDwv
dGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2Nh
bnZhcz4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAg
ICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAg
ICAgICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CisgICAgdmFyeWluZyB2ZWM0IHZfdmFyeWluZzsKKyAgICB2b2lkIG1haW4o
KQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdl92YXJ5aW5nOworICAgIH0KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0idnNoYWRlckFycmF5VGVzdCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0
ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247CisgICAgdmFyeWluZyB2ZWM0IHZf
dmFyeWluZzsKKyAgICB1bmlmb3JtICQodHlwZSkgdV91bmlmb3JtWyQobnVtVGVzdFR5cGUpXTsK
KyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgdl92YXJ5aW5nID0gJChjb2RlKTsKKyAg
ICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0iZnNoYWRlckFycmF5VGVzdCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAg
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9ybSAkKHR5cGUpIHVfdW5pZm9ybVsk
KG51bVRlc3RUeXBlKV07CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdD
b2xvciA9ICQoY29kZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyVW5p
Zm9ybVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIGF0dHJpYnV0ZSB2ZWM0
IGFfcG9zaXRpb247CisgICAgdmFyeWluZyB2ZWM0IHZfdmFyeWluZzsKKyQodW5pZm9ybXMpCisg
ICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIHZfdmFyeWluZyA9ICQoY29kZSk7CisgICAg
ICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
aWQ9ImZzaGFkZXJVbmlmb3JtVGVzdCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAg
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CiskKHVuaWZvcm1zKQorICAgIHZvaWQgbWFpbigpCisg
ICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSAkKGNvZGUpOworICAgIH0KKzwvc2NyaXB0Pgor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1ZygiIik7Cit2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFt
cGxlIik7CisKK3ZhciB1bmlmb3JtVHlwZXMgPSBbCisgIHsgdHlwZTogImJvb2wiLCAgICAgICAg
Y29tcG9uZW50c1BlclJvdzogMSwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkk
KGluZGV4KSwgMCwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJmbG9hdCIsICAgICAgIGNvbXBvbmVu
dHNQZXJSb3c6IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCks
IDAsIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAiaW50IiwgICAgICAgICBjb21wb25lbnRzUGVyUm93
OiAxLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwLCAwLCAw
KSIsIH0sCisgIHsgdHlwZTogInZlYzIiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMiwgcm93
czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCwgMCkiLCB9LAorICB7
IHR5cGU6ICJpdmVjMiIsICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDIsIHJvd3M6IDEsIGNvZGU6
ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAiYnZl
YzIiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiAyLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3Vu
aWZvcm0kKGlkKSQoaW5kZXgpLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzMiLCAgICAgICAg
Y29tcG9uZW50c1BlclJvdzogMywgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkk
KGluZGV4KSwgMCkiLCB9LAorICB7IHR5cGU6ICJpdmVjMyIsICAgICAgIGNvbXBvbmVudHNQZXJS
b3c6IDMsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDApIiwg
fSwKKyAgeyB0eXBlOiAiYnZlYzMiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiAzLCByb3dzOiAx
LCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwKSIsIH0sCisgIHsgdHlwZTog
InZlYzQiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czogMSwgY29kZTogInZlYzQo
dV91bmlmb3JtJChpZCkkKGluZGV4KSkiLCB9LAorICB7IHR5cGU6ICJpdmVjNCIsICAgICAgIGNv
bXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChp
bmRleCkpIiwgfSwKKyAgeyB0eXBlOiAiYnZlYzQiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiA0
LCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpKSIsIH0sCisvLyBZ
ZXMsIHRoZSBzcGVjIHNheXMgbWF0MiB0YWtlcyA0IGNvbHVtbnMsIDIgcm93cy4KKyAgeyB0eXBl
OiAibWF0MiIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dzOiAyLCBjb2RlOiAidmVj
NCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpWzBdLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogIm1hdDMi
LCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czogMywgY29kZTogInZlYzQodV91bmlm
b3JtJChpZCkkKGluZGV4KVswXSwgMCkiLCB9LAorICB7IHR5cGU6ICJtYXQ0IiwgICAgICAgIGNv
bXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDQsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChp
bmRleClbMF0pIiwgfSwKKy8vIFNhbXBsZXJzIGdlbmVyYWxseSBoYXZlIG1vcmUgcmVzdGljdGl2
ZSBsaW1pdHMuCisvLyAgeyB0eXBlOiAic2FtcGxlcjJEIiwgICBjb21wb25lbnRzUGVyUm93OiAx
LCByb3dzOiAxLCBjb2RlOiAidmVjNCh0ZXh0dXJlMkQodV91bmlmb3JtWyQoaW5kZXgpXSwgdmVj
MigwLCAwKSkpIiwgfSwKKy8vICB7IHR5cGU6ICJzYW1wbGVyQ3ViZSIsIGNvbXBvbmVudHNQZXJS
b3c6IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHRleHR1cmVDdWJlKHVfdW5pZm9ybVskKGluZGV4
KV0sIHZlYzMoMCwgMCwgMCkpKSIsIH0sCitdOworCit2YXIgdkJhc2VTb3VyY2UgPSB3dHUuZ2V0
U2NyaXB0KCJ2c2hhZGVyIik7Cit2YXIgZkJhc2VTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJmc2hh
ZGVyIik7Cit2YXIgdkFycmF5VGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoInZzaGFkZXJBcnJh
eVRlc3QiKTsKK3ZhciBmQXJyYXlUZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgiZnNoYWRlckFy
cmF5VGVzdCIpOwordmFyIHZVbmlmb3JtVGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoInZzaGFk
ZXJVbmlmb3JtVGVzdCIpOwordmFyIGZVbmlmb3JtVGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQo
ImZzaGFkZXJVbmlmb3JtVGVzdCIpOworCit2YXIgdGVzdHMgPSBbXTsKK3ZhciBzaGFkZXJUeXBl
cyA9IFsKKyAgeyB0eXBlOiAidmVydGV4IiwKKyAgICAvLyBGb3IgdGVzdHMgdGhhdCBleHBlY3Qg
ZmFpbHVyZSB3aGljaCBzaGFkZXIgbWlnaHQgZmFpbC4KKyAgICB2ZXJ0RXhwZWN0YXRpb246IGZh
bHNlLAorICAgIGZyYWdFeHBlY3RhdGlvbjogdHJ1ZSwKKyAgICB2ZXJ0QXJyYXlUZXN0OiB2QXJy
YXlUZXN0U291cmNlLAorICAgIGZyYWdBcnJheVRlc3Q6IGZCYXNlU291cmNlLAorICAgIHZlcnRV
bmlmb3JtVGVzdDogdlVuaWZvcm1UZXN0U291cmNlLAorICAgIGZyYWdVbmlmb3JtVGVzdDogZkJh
c2VTb3VyY2UsCisgICAgbWF4VmVjdG9yczogZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WRVJURVhf
VU5JRk9STV9WRUNUT1JTKSwKKyAgICBtaW5WZWN0b3JzOiAxMjgsICAvLyBHTFNMIEVTIDEuMC4x
NyBBcHBlbmRpeCBBLjcsCisgIH0sCisgIHsgdHlwZTogImZyYWdtZW50IiwKKyAgICAvLyBGb3Ig
dGVzdHMgdGhhdCBleHBlY3QgZmFpbHVyZSB3aGljaCBzaGFkZXIgbWlnaHQgZmFpbC4KKyAgICB2
ZXJ0RXhwZWN0YXRpb246IHRydWUsCisgICAgZnJhZ0V4cGVjdGF0aW9uOiBmYWxzZSwKKyAgICB2
ZXJ0QXJyYXlUZXN0OiB2QmFzZVNvdXJjZSwKKyAgICBmcmFnQXJyYXlUZXN0OiBmQXJyYXlUZXN0
U291cmNlLAorICAgIHZlcnRVbmlmb3JtVGVzdDogdkJhc2VTb3VyY2UsCisgICAgZnJhZ1VuaWZv
cm1UZXN0OiBmVW5pZm9ybVRlc3RTb3VyY2UsCisgICAgbWF4VmVjdG9yczogZ2wuZ2V0UGFyYW1l
dGVyKGdsLk1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlMpLAorICAgIG1pblZlY3RvcnM6IDE2
LCAgLy8gR0xTTCBFUyAxLjAuMTcgQXBwZW5kaXggQS43LAorICB9LAorXTsKK2ZvciAodmFyIHNz
ID0gMDsgc3MgPCBzaGFkZXJUeXBlcy5sZW5ndGg7ICsrc3MpIHsKKyAgdmFyIHNoYWRlclR5cGUg
PSBzaGFkZXJUeXBlc1tzc107CisgIGRlYnVnKCJtYXggIiArIHNoYWRlclR5cGUudHlwZSArICI6
ICIgKyBzaGFkZXJUeXBlLm1heFZlY3RvcnMpOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdW5p
Zm9ybVR5cGVzLmxlbmd0aDsgKytpaSkgeworICAgIHZhciBpbmZvID0gdW5pZm9ybVR5cGVzW2lp
XTsKKyAgICB3dHUubG9nKCJjaGVja2luZzogIiArIGluZm8udHlwZSk7CisgICAgLy8gQ29tcHV0
ZSB0aGUgbWF4aW11bSBhbW91bnQgb2YgdGhpcyB0eXBlIGFsbG93ZWQgaW4gYSBzaW5nbGUgYXJy
YXkuCisgICAgdmFyIG51bVZhcnMgPSBNYXRoLmZsb29yKHNoYWRlclR5cGUubWF4VmVjdG9ycyAv
IGluZm8ucm93cyk7CisgICAgLy8gQ29tcHV0ZSB0aGUgbWluaW11bSByZXF1aXJlZCB0byB3b3Jr
IGluIGEgc2luZ2xlIGFycmF5LgorICAgIHZhciBtaW5WYXJzID0gTWF0aC5mbG9vcihzaGFkZXJU
eXBlLm1pblZlY3RvcnMgLyBpbmZvLnJvd3MpOworICAgIC8vIFRlc3QgYXJyYXlbMV0gb2YgdGhl
IHR5cGUKKyAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiAi
IiwgaW5kZXg6ICJbMF0ifSk7CisgICAgdGVzdHMucHVzaCh7CisgICAgICB2U2hhZGVyU291cmNl
OiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRBcnJheVRlc3QsIHtudW1UZXN0VHlw
ZTogMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisg
ICAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdBcnJh
eVRlc3QsIHtudW1UZXN0VHlwZTogMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgZlNoYWRl
clN1Y2Nlc3M6IHRydWUsCisgICAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICAgIHBhc3NNc2c6
IHNoYWRlclR5cGUudHlwZSArICIgc2hhZGVyIHdpdGggdW5pZm9ybSBhcnJheSBvZiAiICsgaW5m
by50eXBlICsgIiB3aXRoIDEgZWxlbWVudCBzaG91bGQgc3VjY2VlZCIsCisgICAgfSk7CisgICAg
Ly8gVGVzdCBhcnJheVttYXhdIG9mIHRoZSB0eXBlCisgICAgLy8gTm90ZTogV2UgY2FuJ3QgdGVz
dCB0aGlzIGFzIGFjdHVhbCBHTCBkcml2ZXJzIGFyZSBvbmx5IHJlcXVpcmVkIHRvIGJlIGFibGUg
dG8KKyAgICAvLyBkbyB0aGUgbWluaW11bSBudW1iZXIuIEFmdGVyIHRoYXQgaXQgY2FuIGZhaWwg
Zm9yIGFueSByZWFzb24uCisgICAgaWYgKGZhbHNlKSB7CisgICAgICB2YXIgY29kZSA9IHd0dS5y
ZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChudW1WYXJzIC0g
MSkgKyAiXSJ9KTsKKyAgICAgIHRlc3RzLnB1c2goeworICAgICAgICB2U2hhZGVyU291cmNlOiB3
dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRBcnJheVRlc3QsIHtudW1UZXN0VHlwZTog
bnVtVmFycywgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgICB2U2hhZGVyU3VjY2VzczogdHJ1
ZSwKKyAgICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5m
cmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51bVZhcnMsIGNvZGU6IGNvZGV9LCBpbmZvKSwK
KyAgICAgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICAgIGxpbmtTdWNjZXNzOiB0cnVl
LAorICAgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoIHVuaWZv
cm0gYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgbnVtVmFycyArICIgZWxlbWVu
dHMgKHRoZSBtYXhpbXVtKSBzaG91bGQgc3VjY2VlZCIsCisgICAgICB9KTsKKyAgICB9CisKKyAg
ICAvLyBUZXN0IHJlcXVpcmVkIG51bWJlciBvZiB1bmlmb3JtcworICAgIHZhciBjb2RlID0gd3R1
LnJlcGxhY2VQYXJhbXMoaW5mby5jb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG1pblZhcnMg
LSAxKSArICJdIn0pOworICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJjZTogd3R1
LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0QXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG1p
blZhcnMsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAor
ICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnQXJy
YXlUZXN0LCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAg
IGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICBw
YXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2Yg
IiArIGluZm8udHlwZSArICIgd2l0aCAiICsgbWluVmFycyArICIgZWxlbWVudHMgKHRoZSBtaW5p
bXVtIHJlcXVpcmVkKSBzaG91bGQgc3VjY2VlZCIsCisgICAgfSk7CisKKyAgICAvLyBUZXN0IGFy
cmF5W21heCArIDFdIGFjY2Vzc2luZyBsYXN0IGVsZW1lbnQuIFdlYkdMIHJlcXVpcmVzIHRoaXMg
dG8gZmFpbC4KKyAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lk
OiAiIiwgaW5kZXg6ICJbIiArIG51bVZhcnMgKyAiXSJ9KTsKKyAgICB0ZXN0cy5wdXNoKHsKKyAg
ICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUudmVydEFycmF5
VGVzdCwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgY29kZTogY29kZX0sIGluZm8pLAorICAg
ICAgdlNoYWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUudmVydEV4cGVjdGF0aW9uLAorICAgICAgZlNo
YWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnQXJyYXlUZXN0LCB7
bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCBjb2RlOiBjb2RlfSwgaW5mbyksCisgICAgICBmU2hh
ZGVyU3VjY2Vzczogc2hhZGVyVHlwZS5mcmFnRXhwZWN0YXRpb24sCisgICAgICBsaW5rU3VjY2Vz
czogZmFsc2UsCisgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRo
IHVuaWZvcm0gYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgKG51bVZhcnMgKyAx
KSArICIgZWxlbWVudHMgKG9uZSBwYXN0IG1heGltdW0pIGFjY2Vzc2luZyBsYXN0IGVsZW1lbnQg
c2hvdWxkIGZhaWwiLAorICAgIH0pOworCisgICAgLy8gVGVzdCBhcnJheVttYXggKyAxXSBhY2Nl
c3NpbmcgZmlyc3QgZWxlbWVudC4gV2ViR0wgcmVxdWlyZXMgdGhpcyB0byBmYWlsIGJ1dCBFUyBh
bGxvd3MgdHJ1bmNhdGluZyBhcnJheS4KKyAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1z
KGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgICAgdGVzdHMucHVzaCh7Cisg
ICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRBcnJh
eVRlc3QsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAg
ICAgIHZTaGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLnZlcnRFeHBlY3RhdGlvbiwKKyAgICAgIGZT
aGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ0FycmF5VGVzdCwg
e251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgZlNo
YWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUuZnJhZ0V4cGVjdGF0aW9uLAorICAgICAgbGlua1N1Y2Nl
c3M6IGZhbHNlLAorICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0
aCB1bmlmb3JtIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIChudW1WYXJzICsg
MSkgKyAiIGVsZW1lbnRzIChvbmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3NpbmcgZmlyc3QgZWxlbWVu
dCBzaG91bGQgZmFpbCIsCisgICAgfSk7CisKKyAgICAvLyBUZXN0IG1heCB1bmlmb3JtcyBvZiB0
eXBlLgorICAgIC8vIE5vdGU6IFdlIGNhbid0IHRlc3QgdGhpcyBhcyBhY3R1YWwgR0wgZHJpdmVy
cyBhcmUgb25seSByZXF1aXJlZCB0byBiZSBhYmxlIHRvCisgICAgLy8gZG8gdGhlIG1pbmltdW0g
bnVtYmVyLiBBZnRlciB0aGF0IGl0IGNhbiBmYWlsIGZvciBhbnkgcmVhc29uLgorICAgIGlmIChm
YWxzZSkgeworICAgIH0KKworICAgIHZhciBnZW5lcmF0ZUNvZGUgPSBmdW5jdGlvbihudW1WYXJz
KSB7CisgICAgICB2YXIgdW5pZm9ybXMgPSBbXTsKKyAgICAgIHZhciBjb2RlcyA9IFtdOworICAg
ICAgZm9yICh2YXIgdXUgPSAwOyB1dSA8IG51bVZhcnM7ICsrdXUpIHsKKyAgICAgICAgdW5pZm9y
bXMucHVzaCgiICAgIHVuaWZvcm0gIiArIGluZm8udHlwZSArICIgdV91bmlmb3JtIiArIHV1ICsg
IjsiKTsKKyAgICAgICAgY29kZXMucHVzaCh3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUsIHtp
ZDogdXUsIGluZGV4OiAiIn0pKTsKKyAgICAgIH0KKyAgICAgIHJldHVybiB7CisgICAgICAgIHVu
aWZvcm1zOiB1bmlmb3Jtcy5qb2luKCJcbiIpLAorICAgICAgICBjb2RlOiBjb2Rlcy5qb2luKCIg
KyBcbiAgICAgICAgICAgICIpLAorICAgICAgfTsKKyAgICB9OworCisgICAgLy8gVGVzdCBtYXgr
MSB1bmlmb3JtcyBvZiB0eXBlLgorICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJj
ZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0VW5pZm9ybVRlc3QsIGdlbmVyYXRl
Q29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHNoYWRlclR5
cGUudmVydEV4cGVjdGF0aW9uLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJh
bXMoc2hhZGVyVHlwZS5mcmFnVW5pZm9ybVRlc3QsIGdlbmVyYXRlQ29kZShudW1WYXJzICsgMSks
IGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUuZnJhZ0V4cGVjdGF0aW9u
LAorICAgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50
eXBlICsgIiBzaGFkZXIgd2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgdW5pZm9ybXMgb2YgIiAr
IGluZm8udHlwZSArICIgKG9uZSBwYXN0IG1heGltdW0pIHNob3VsZCBmYWlsIiwKKyAgICB9KTsK
KworICAgIC8vIFRlc3QgcmVxdWlyZWQgdW5pZm9ybXMgb2YgdHlwZS4KKyAgICB0ZXN0cy5wdXNo
KHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUudmVy
dFVuaWZvcm1UZXN0LCBnZW5lcmF0ZUNvZGUobWluVmFycyksIGluZm8pLAorICAgICAgdlNoYWRl
clN1Y2Nlc3M6IHRydWUsCisgICAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhz
aGFkZXJUeXBlLmZyYWdVbmlmb3JtVGVzdCwgZ2VuZXJhdGVDb2RlKG1pblZhcnMpLCBpbmZvKSwK
KyAgICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisg
ICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoICIgKyBtaW5WYXJz
ICsgIiB1bmlmb3JtcyBvZiAiICsgaW5mby50eXBlICsgIiAodGhlIG1pbmltdW0gcmVxdWlyZWQp
IHNob3VsZCBzdWNjZWVkIiwKKyAgICB9KTsKKyAgfQorfQorR0xTTENvbmZvcm1hbmNlVGVzdGVy
LnJ1blRlc3RzKHRlc3RzKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFy
eWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5n
LXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjczNjQyMzI2ZjYxNDgyNmRj
MDRjMTRlMDg2ZWQ0MzI1NDYzYWQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMjIwIEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB2YXJ5
aW5nIHBhY2tpbmcgcmVzdHJjdGlvbnMgQ29uZm9ybWFuY2UgVGVzdDwvdGl0bGU+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1m
ZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9n
bHNsLWNvbmZvcm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52
YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQg
aWQ9InZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0
ZSB2ZWM0IGFfcG9zaXRpb247Cit2YXJ5aW5nICQodHlwZSkgdl92YXJ5aW5nWyQobnVtVGVzdFR5
cGUpXTsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAg
ICQodmNvZGUpCit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJBcnJheVRlc3QiIHR5
cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
ICAgIHZhcnlpbmcgJCh0eXBlKSB2X3ZhcnlpbmdbJChudW1UZXN0VHlwZSldOworICAgIHZvaWQg
bWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSAkKGZjb2RlKTsKKyAgICB9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXJWYXJ5aW5nVGVzdCIgdHlwZT0ieC1zaGFkZXIv
eC1mcmFnbWVudCI+CithdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworJCh2YXJ5aW5ncykKKyAg
ICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOwor
ICAgICAgICAkKHZjb2RlKQorICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlclZh
cnlpbmdUZXN0IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVk
aXVtcCBmbG9hdDsKKyQodmFyeWluZ3MpCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAg
IGdsX0ZyYWdDb2xvciA9ICQoZmNvZGUpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1
c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1ZygiIik7Cit2YXIgd3R1ID0gV2ViR0xU
ZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKK3Zh
ciB2YXJ5aW5nVHlwZXMgPSBbCisgIHsgdHlwZTogImZsb2F0IiwgICAgICAgY29tcG9uZW50c1Bl
clJvdzogMSwgcm93czogMSwgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gMS4wOyIs
ICAgICAgICAgICAgICBmY29kZTogInZlYzQodl92YXJ5aW5nJChpZCkkKGluZGV4KSwgMCwgMCwg
MCkiLCB9LAorICB7IHR5cGU6ICJ2ZWMyIiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDIsIHJv
d3M6IDEsIHZjb2RlOiAidl92YXJ5aW5nJChpZCkkKGluZGV4KSA9IHZlYzIoMCwgMCk7IiwgICAg
ICAgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleCksIDAsIDApIiwgfSwKKyAgeyB0
eXBlOiAidmVjMyIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiAzLCByb3dzOiAxLCB2Y29kZTog
InZfdmFyeWluZyQoaWQpJChpbmRleCkgPSB2ZWMzKDAsIDAsIDApOyIsICAgIGZjb2RlOiAidmVj
NCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpLCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzQiLCAgICAg
ICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czogMSwgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQo
aW5kZXgpID0gdmVjNCgwLCAwLCAwLCAwKTsiLCBmY29kZTogInZlYzQodl92YXJ5aW5nJChpZCkk
KGluZGV4KSkiLCB9LAorLy8gWWVzLCB0aGUgc3BlYyBzYXlzIG1hdDIgdGFrZXMgNCBjb2x1bW5z
LCAyIHJvd3MuICAgIHZjb2RlOiAiIiwKKyAgeyB0eXBlOiAibWF0MiIsICAgICAgICBjb21wb25l
bnRzUGVyUm93OiA0LCByb3dzOiAyLCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkgPSBt
YXQyKDEuMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleClbMF0sIDAsIDAp
IiwgfSwKKyAgeyB0eXBlOiAibWF0MyIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiAzLCByb3dz
OiAzLCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkgPSBtYXQzKDEuMCk7IiwgZmNvZGU6
ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleClbMF0sIDApIiwgfSwKKyAgeyB0eXBlOiAibWF0
NCIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dzOiA0LCB2Y29kZTogInZfdmFyeWlu
ZyQoaWQpJChpbmRleCkgPSBtYXQ0KDEuMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQp
JChpbmRleClbMF0pIiwgfSwKK107CisKK3ZhciB2QXJyYXlUZXN0U291cmNlID0gd3R1LmdldFNj
cmlwdCgidnNoYWRlckFycmF5VGVzdCIpOwordmFyIGZBcnJheVRlc3RTb3VyY2UgPSB3dHUuZ2V0
U2NyaXB0KCJmc2hhZGVyQXJyYXlUZXN0Iik7Cit2YXIgdlZhcnlpbmdUZXN0U291cmNlID0gd3R1
LmdldFNjcmlwdCgidnNoYWRlclZhcnlpbmdUZXN0Iik7Cit2YXIgZlZhcnlpbmdUZXN0U291cmNl
ID0gd3R1LmdldFNjcmlwdCgiZnNoYWRlclZhcnlpbmdUZXN0Iik7CisKK3ZhciBtaW5WYXJ5aW5n
VmVjdG9ycyA9IDg7Cit2YXIgbWF4VmFyeWluZ1ZlY3RvcnMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wu
TUFYX1ZBUllJTkdfVkVDVE9SUyk7Cit2YXIgdGVzdHMgPSBbXTsKKworZm9yICh2YXIgaWkgPSAw
OyBpaSA8IHZhcnlpbmdUeXBlcy5sZW5ndGg7ICsraWkpIHsKKyAgdmFyIGluZm8gPSB2YXJ5aW5n
VHlwZXNbaWldOworICB3dHUubG9nKCJjaGVja2luZzogIiArIGluZm8udHlwZSk7CisgIC8vIENv
bXB1dGUgdGhlIG1heGltdW0gYW1vdW50IG9mIHRoaXMgdHlwZSBhbGxvd2VkIGluIGEgc2luZ2xl
IGFycmF5LgorICB2YXIgbnVtVmFycyA9IE1hdGguZmxvb3IobWF4VmFyeWluZ1ZlY3RvcnMgLyBp
bmZvLnJvd3MpOworICAvLyBDb21wdXRlIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHRvIHdvcmsgaW4g
YSBzaW5nbGUgYXJyYXkuCisgIHZhciBtaW5WYXJzID0gTWF0aC5mbG9vcihtaW5WYXJ5aW5nVmVj
dG9ycyAvIGluZm8ucm93cyk7CisgIC8vIFRlc3QgYXJyYXlbMV0gb2YgdGhlIHR5cGUKKyAgdmFy
IHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5kZXg6ICJb
MF0ifSk7CisgIHZhciBmY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNvZGUsIHtpZDog
IiIsIGluZGV4OiAiWzBdIn0pOworICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3
dHUucmVwbGFjZVBhcmFtcyh2QXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IDEsIHZjb2Rl
OiB2Y29kZX0sIGluZm8pLAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJT
b3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTog
MSwgZmNvZGU6IGZjb2RlfSwgaW5mbyksCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAg
bGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFy
cmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggMSBlbGVtZW50IHNob3VsZCBzdWNjZWVkIiwK
KyAgfSk7CisgIC8vIGRvIHRoZSBtaW5pbXVtIG51bWJlci4gQWZ0ZXIgdGhhdCBpdCBjYW4gZmFp
bCBmb3IgYW55IHJlYXNvbi4KKyAgaWYgKGZhbHNlKSB7CisgICAgdmFyIHZjb2RlID0gd3R1LnJl
cGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChudW1WYXJzIC0g
MSkgKyAiXSJ9KTsKKyAgICB2YXIgZmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2Rl
LCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG51bVZhcnMgLSAxKSArICJdIn0pOworICAgIHRlc3Rz
LnB1c2goeworICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXModkFycmF5VGVz
dFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzLCB2Y29kZTogdmNvZGV9LCBpbmZvKSwKKyAg
ICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxh
Y2VQYXJhbXMoZkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzLCBmY29kZTog
ZmNvZGV9LCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgbGlua1N1
Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNnOiAic2hhZGVycyB3aXRoIHZhcnlpbmcgYXJyYXkg
b2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgbnVtVmFycyArICIgZWxlbWVudHMgKHRoZSBt
YXhpbXVtKSBzaG91bGQgc3VjY2VlZCIsCisgICAgfSk7CisgIH0KKworICAvLyBUZXN0IHJlcXVp
cmVkIG51bWJlciBvZiB1bmlmb3JtcworICB2YXIgdmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhp
bmZvLnZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG1pblZhcnMgLSAxKSArICJdIn0pOwor
ICB2YXIgZmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6ICIiLCBpbmRl
eDogIlsiICsgKG1pblZhcnMgLSAxKSArICJdIn0pOworICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hh
ZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2QXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5
cGU6IG1pblZhcnMsIHZjb2RlOiB2Y29kZX0sIGluZm8pLAorICAgIHZTaGFkZXJTdWNjZXNzOiB0
cnVlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RTb3Vy
Y2UsIHtudW1UZXN0VHlwZTogbWluVmFycywgZmNvZGU6IGZjb2RlfSwgaW5mbyksCisgICAgZlNo
YWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzog
InNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiAr
IG1pblZhcnMgKyAiIGVsZW1lbnRzICh0aGUgbWluaW11bSByZXF1aXJlZCkgc2hvdWxkIHN1Y2Nl
ZWQiLAorICB9KTsKKworICAvLyBUZXN0IGFycmF5W21heCArIDFdIGFjY2Vzc2luZyBsYXN0IGVs
ZW1lbnQuIFdlYkdMIHJlcXVpcmVzIHRoaXMgdG8gZmFpbC4KKyAgdmFyIHZjb2RlID0gd3R1LnJl
cGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIG51bVZhcnMgKyAi
XSJ9KTsKKyAgdmFyIGZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby5mY29kZSwge2lkOiAi
IiwgaW5kZXg6ICJbIiArIG51bVZhcnMgKyAiXSJ9KTsKKyAgdGVzdHMucHVzaCh7CisgICAgdlNo
YWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RU
eXBlOiBudW1WYXJzICsgMSwgdmNvZGU6IHZjb2RlfSwgaW5mbyksCisgICAgdlNoYWRlclN1Y2Nl
c3M6IGZhbHNlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRl
c3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEsIGZjb2RlOiBmY29kZX0sIGluZm8p
LAorICAgIGZTaGFkZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBsaW5rU3VjY2VzczogZmFsc2UsCisg
ICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBpbmZvLnR5cGUg
KyAiIHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIGVsZW1lbnRzIChvbmUgcGFzdCBtYXhpbXVt
KSBhY2Nlc3NpbmcgbGFzdCBlbGVtZW50IHNob3VsZCBmYWlsIiwKKyAgfSk7CisKKyAgLy8gVGVz
dCBhcnJheVttYXggKyAxXSBhY2Nlc3NpbmcgZmlyc3QgZWxlbWVudC4gV2ViR0wgcmVxdWlyZXMg
dGhpcyB0byBmYWlsIGJ1dCBFUyBhbGxvd3MgdHJ1bmNhdGluZyBhcnJheS4KKyAgdmFyIHZjb2Rl
ID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7
CisgIHZhciBmY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNvZGUsIHtpZDogIiIsIGlu
ZGV4OiAiWzBdIn0pOworICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVw
bGFjZVBhcmFtcyh2QXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCB2
Y29kZTogdmNvZGV9LCBpbmZvKSwKKyAgICB2U2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgZlNo
YWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoZkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RU
eXBlOiBudW1WYXJzICsgMSwgZmNvZGU6IGZjb2RlfSwgaW5mbyksCisgICAgZlNoYWRlclN1Y2Nl
c3M6IGZhbHNlLAorICAgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgICBwYXNzTXNnOiAic2hhZGVy
cyB3aXRoIHZhcnlpbmcgYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgKG51bVZh
cnMgKyAxKSArICIgZWxlbWVudHMgKG9uZSBwYXN0IG1heGltdW0pIGFjY2Vzc2luZyBmaXJzdCBl
bGVtZW50IHNob3VsZCBmYWlsIiwKKyAgfSk7CisKKyAgLy8gVGVzdCBtYXggdW5pZm9ybXMgb2Yg
dHlwZS4KKyAgLy8gTm90ZTogV2UgY2FuJ3QgdGVzdCB0aGlzIGFzIGFjdHVhbCBHTCBkcml2ZXJz
IGFyZSBvbmx5IHJlcXVpcmVkIHRvIGJlIGFibGUgdG8KKyAgLy8gZG8gdGhlIG1pbmltdW0gbnVt
YmVyLiBBZnRlciB0aGF0IGl0IGNhbiBmYWlsIGZvciBhbnkgcmVhc29uLgorICBpZiAoZmFsc2Up
IHsKKyAgfQorCisgIHZhciBnZW5lcmF0ZUNvZGUgPSBmdW5jdGlvbihudW1WYXJzKSB7CisgICAg
dmFyIHZhcnlpbmdzID0gW107CisgICAgdmFyIHZjb2RlcyA9IFtdOworICAgIHZhciBmY29kZXMg
PSBbXTsKKyAgICBmb3IgKHZhciB1dSA9IDA7IHV1IDwgbnVtVmFyczsgKyt1dSkgeworICAgICAg
dmFyeWluZ3MucHVzaCgiICAgIHZhcnlpbmcgIiArIGluZm8udHlwZSArICIgdl92YXJ5aW5nIiAr
IHV1ICsgIjsiKTsKKyAgICAgIHZjb2Rlcy5wdXNoKHd0dS5yZXBsYWNlUGFyYW1zKGluZm8udmNv
ZGUsIHtpZDogdXUsIGluZGV4OiAiIn0pKTsKKyAgICAgIGZjb2Rlcy5wdXNoKHd0dS5yZXBsYWNl
UGFyYW1zKGluZm8uZmNvZGUsIHtpZDogdXUsIGluZGV4OiAiIn0pKTsKKyAgICB9CisgICAgcmV0
dXJuIHsKKyAgICAgIHZhcnlpbmdzOiB2YXJ5aW5ncy5qb2luKCJcbiIpLAorICAgICAgdmNvZGU6
IHZjb2Rlcy5qb2luKCJcbiAgICAgICAgICAgICIpLAorICAgICAgZmNvZGU6IGZjb2Rlcy5qb2lu
KCIgKyBcbiAgICAgICAgICAgICIpLAorICAgIH07CisgIH07CisKKyAgLy8gVGVzdCBtYXgrMSB2
YXJ5aW5ncyBvZiB0eXBlLgorICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUu
cmVwbGFjZVBhcmFtcyh2VmFyeWluZ1Rlc3RTb3VyY2UsIGdlbmVyYXRlQ29kZShudW1WYXJzICsg
MSksIGluZm8pLAorICAgIHZTaGFkZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBmU2hhZGVyU291cmNl
OiB3dHUucmVwbGFjZVBhcmFtcyhmVmFyeWluZ1Rlc3RTb3VyY2UsIGdlbmVyYXRlQ29kZShudW1W
YXJzICsgMSksIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBsaW5rU3Vj
Y2VzczogZmFsc2UsCisgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCAiICsgKG51bVZhcnMgKyAx
KSArICIgdmFyeWluZ3Mgb2YgIiArIGluZm8udHlwZSArICIgKG9uZSBwYXN0IG1heGltdW0pIHNo
b3VsZCBmYWlsIiwKKyAgfSk7CisKKyAgLy8gVGVzdCByZXF1aXJlZCB2YXJ5aW5ncyBvZiB0eXBl
LgorICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2
VmFyeWluZ1Rlc3RTb3VyY2UsIGdlbmVyYXRlQ29kZShtaW5WYXJzKSwgaW5mbyksCisgICAgdlNo
YWRlclN1Y2Nlc3M6IHRydWUsCisgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMo
ZlZhcnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNvZGUobWluVmFycyksIGluZm8pLAorICAgIGZT
aGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6
ICJzaGFkZXJzIHdpdGggIiArIG1pblZhcnMgKyAiIHZhcnlpbmdzIG9mICIgKyBpbmZvLnR5cGUg
KyAiICh0aGUgbWluaW11bSByZXF1aXJlZCkgc2hvdWxkIHN1Y2NlZWQiLAorICB9KTsKK30KKwor
R0xTTENvbmZvcm1hbmNlVGVzdGVyLnJ1blRlc3RzKHRlc3RzKTsKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlz
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5n
LWFycmF5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkYzY4YTk0MmQ2NDRmN2YwZmYzZTZmZjVhMjFkYTIx
YmFmYTc3MWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXkt
b2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sCkBAIC0wLDAgKzEsMTU3IEBACisKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkdMU0wgQXJyYXkg
b2YgU3RydWN0cyBDb250YWluaW5nIEFycmF5czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3Rz
LmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5q
cyI+IDwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJ2c2hhZGVyIiwgdHlwZT0ieC1zaGFkZXIveC12
ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3ZvaWQgbWFpbih2b2lkKSB7Cisg
ICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJm
c2hhZGVyMCIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CitzdHJ1Y3QgbXlfc3RydWN0IHsKKyAgdmVjNCBjb2xvclsyXTsKK307Cit1bmlmb3Jt
IG15X3N0cnVjdCB1X2NvbG9yc1syXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0Nv
bG9yID0gdV9jb2xvcnNbMF0uY29sb3JbMF07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZz
aGFkZXIxIiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKK3N0cnVjdCBteV9zdHJ1Y3QgeworICB2ZWM0IGNvbG9yWzJdOworfTsKK3VuaWZvcm0g
bXlfc3RydWN0IHVfY29sb3JzWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29s
b3IgPSB1X2NvbG9yc1swXS5jb2xvclsxXTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNo
YWRlci13aXRoLW9uZS1lbGVtZW50LWFycmF5cyIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CitzdHJ1Y3QgbXlfc3RydWN0IHsKKyAgdmVjNCBj
b2xvclsxXTsKK307Cit1bmlmb3JtIG15X3N0cnVjdCB1X2NvbG9yc1sxXTsKK3ZvaWQgbWFpbih2
b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9jb2xvcnNbMF0uY29sb3JbMF07Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIzIiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3N0cnVjdCBteV9zdHJ1Y3QgeworICB2ZWM0IGNv
bG9yMVsyXTsKKyAgdmVjNCBjb2xvcjJbMl07Cit9OwordW5pZm9ybSBteV9zdHJ1Y3QgdV9jb2xv
cnNbMl07Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfY29sb3JzWzBd
LmNvbG9yMVswXSArIHVfY29sb3JzWzBdLmNvbG9yMlswXSArIHVfY29sb3JzWzFdLmNvbG9yMVsx
XSArdV9jb2xvcnNbMV0uY29sb3IyWzFdOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciB3dHUgPSBXZWJHTFRl
c3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOword3R1LnNl
dHVwVW5pdFF1YWQoZ2wpOworCitmb3IgKHZhciBpaSA9IDA7IGlpIDwgMjsgKytpaSkgeworICB2
YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIiAr
IGlpXSwgWyJhX3Bvc2l0aW9uIl0pOworICB2YXIgcmVkX2xvYyA9IGdsLmdldFVuaWZvcm1Mb2Nh
dGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMF0uY29sb3JbIiArIGlpICArICJdIik7CisgIHZhciBn
cmVlbl9sb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzBdLmNv
bG9yWyIgKyAoMSAtIGlpKSArICJdIik7CisgIGdsLnVuaWZvcm00ZnYocmVkX2xvYywgWzEsIDAs
IDAsIDFdKTsKKyAgZ2wudW5pZm9ybTRmdihncmVlbl9sb2MsIFswLCAxLCAwLCAxXSk7CisgIHd0
dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwgMjU1XSwg
IlNob3VsZCBiZSByZWQiKTsKK30KKwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGds
LCBbInZzaGFkZXIiLCAiZnNoYWRlci13aXRoLW9uZS1lbGVtZW50LWFycmF5cyJdLCBbImFfcG9z
aXRpb24iXSk7Cit2YXIgZ3JlZW5fbG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0s
ICJ1X2NvbG9yc1swXS5jb2xvclswXSIpOworZ2wudW5pZm9ybTRmdihncmVlbl9sb2MsIFswLCAx
LCAwLCAxXSk7Cit3dHUuZHJhd1F1YWQoZ2wpOword3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1
LCAwLCAyNTVdLCAiU2hvdWxkIGJlIGdyZWVuIik7CisKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVw
UHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIzIl0sIFsiYV9wb3NpdGlvbiJdKTsKK3Zh
ciBudW1Vbmlmb3JtcyA9IGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2wuQUNUSVZF
X1VOSUZPUk1TKTsKK3Nob3VsZEJlKCJudW1Vbmlmb3JtcyIsICI0Iik7Cit2YXIgdW5pZm9ybXMg
PSBbXQorZm9yICh2YXIgaWkgPSAwOyBpaSA8IG51bVVuaWZvcm1zOyArK2lpKSB7CisgIHVuaWZv
cm1zLnB1c2goZ2wuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCBpaSkubmFtZSk7Cit9Cit1bmlm
b3Jtcy5zb3J0KCk7CitzaG91bGRCZSgidW5pZm9ybXNbMF0iLCAnInVfY29sb3JzWzBdLmNvbG9y
MVswXSInKTsKK3Nob3VsZEJlKCJ1bmlmb3Jtc1sxXSIsICcidV9jb2xvcnNbMF0uY29sb3IyWzBd
IicpOworc2hvdWxkQmUoInVuaWZvcm1zWzJdIiwgJyJ1X2NvbG9yc1sxXS5jb2xvcjFbMF0iJyk7
CitzaG91bGRCZSgidW5pZm9ybXNbM10iLCAnInVfY29sb3JzWzFdLmNvbG9yMlswXSInKTsKK3Zh
ciBsb2MwMCA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMF0uY29s
b3IxIik7Cit2YXIgbG9jMDEgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29s
b3JzWzBdLmNvbG9yMiIpOwordmFyIGxvYzEwID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dy
YW0sICJ1X2NvbG9yc1sxXS5jb2xvcjEiKTsKK3ZhciBsb2MxMSA9IGdsLmdldFVuaWZvcm1Mb2Nh
dGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMV0uY29sb3IyIik7CitzaG91bGRCZVRydWUoImxvYzAw
ICE9IHVuZGVmaW5lZCIpOworc2hvdWxkQmVUcnVlKCJsb2MwMSAhPSB1bmRlZmluZWQiKTsKK3No
b3VsZEJlVHJ1ZSgibG9jMTAgIT0gdW5kZWZpbmVkIik7CitzaG91bGRCZVRydWUoImxvYzExICE9
IHVuZGVmaW5lZCIpOworZ2wudW5pZm9ybTRmdihsb2MwMCwgWzEsIDAsIDAsIDBdKTsKK2dsLnVu
aWZvcm00ZnYobG9jMDEsIFswLCAxLCAwLCAwXSk7CitnbC51bmlmb3JtNGZ2KGxvYzEwLCBbMCwg
MCwgMCwgMCwgMCwgMCwgMSwgMF0pOworZ2wudW5pZm9ybTRmdihsb2MxMSwgWzAsIDAsIDAsIDAs
IDAsIDAsIDAsIDFdKTsKK3ZhciBsb2MxMDEgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3Jh
bSwgInVfY29sb3JzWzFdLmNvbG9yMVsxXSIpOwordmFyIGxvYzExMSA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMV0uY29sb3IyWzFdIik7CitzaG91bGRCZVRydWUo
ImxvYzEwMSAhPSB1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgibG9jMTExICE9IHVuZGVmaW5l
ZCIpOword3R1LmRyYXdRdWFkKGdsLCBbMCwgMCwgMCwgMF0pOworZ2wudW5pZm9ybTRmdihsb2Mx
MDEsIFswLCAwLCAwLCAwXSk7CitnbC51bmlmb3JtNGZ2KGxvYzExMSwgWzAsIDAsIDAsIDBdKTsK
K3d0dS5kcmF3UXVhZChnbCwgWzAsIDAsIDAsIDBdKTsKK3d0dS5jaGVja0NhbnZhcyhnbCwgWzI1
NSwgMjU1LCAwLCAwXSwgIlNob3VsZCBiZSB5ZWxsb3ciKTsKKworZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBlcnJvcnMiKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNp
b24tbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUt
cHJlY2lzaW9uLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA4OGFjZjlhYWJlNzkzM2JlMjA4
M2Y2NTUyNTM2YTdkNzllOGJkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwx
MjQgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91
cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy
Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh
bmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMi
KSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu
ZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks
IG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwg
Y29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hv
bSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxs
IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoq
IFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg
QU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU
RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5Z
CisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU
SU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VU
IE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9S
IE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIEdMU0wgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5j
c3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFu
dHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0iZnNoYWRlcldpdGhNZWRpdW1wR2xvYmFsIiB0eXBl
PSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CisvLyBUaGVyZSBpcyBubyBkZWZhdWx0
IHByZWNpc2lvbiBpbiBmcmFnbWVudCBzaGFkZXJzLCBzbyBzcGVjaWZ5IG1lZGl1bXAuCitwcmVj
aXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSB2ZWM0IGZvbzsKKwordm9pZCBtYWluKCkK
K3sKKyAgICBnbF9GcmFnQ29sb3IgPSBmb287Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZz
aGFkZXJXaXRoTWVkaXVtcEdsb2JhbFN0cnVjdCIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWph
dmFzY3JpcHQiPgorLy8gVGhlcmUgaXMgbm8gZGVmYXVsdCBwcmVjaXNpb24gaW4gZnJhZ21lbnQg
c2hhZGVycywgc28gc3BlY2lmeSBtZWRpdW1wLgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisK
K3N0cnVjdCBmb28KK3sKKyAgIHZlYzQgYmFyOworfTsKKwordW5pZm9ybSBmb28gYmF6OworCit2
b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IGJhei5iYXI7Cit9Cis8L3NjcmlwdD4K
KzxzY3JpcHQgaWQ9InZzaGFkZXJXaXRoSGlnaHBHbG9iYWwiIHR5cGU9Ingtc2hhZGVyL3gtdmVy
dGV4Ij4KKy8vIERlZmF1bHQgcHJlY2lzaW9uIGZvciB2ZXJ0ZXggc2hhZGVycyBpcyBoaWdocC4K
K3VuaWZvcm0gdmVjNCBmb287CisKK3ZvaWQgbWFpbigpIHsKKyAgICBnbF9Qb3NpdGlvbiA9IGZv
bzsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlcldpdGhIaWdocEdsb2JhbFN0cnVj
dCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorLy8gRGVmYXVsdCBwcmVjaXNpb24gZm9yIHZl
cnRleCBzaGFkZXJzIGlzIGhpZ2hwLgorc3RydWN0IGZvbworeworICAgdmVjNCBiYXI7Cit9Owor
Cit1bmlmb3JtIGZvbyBiYXo7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSBi
YXouYmFyOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRp
b24oIkNoZWNrcyBzaGFkZXJzIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyBhbmQgcHJlY2lzaW9uIHF1
YWxpZmllciBtaXNtYXRjaC4iKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCit2YXIg
Z2xzbFRlc3RzID0gW107CisKK2dsc2xUZXN0cy5wdXNoKHsKKyAgdlNoYWRlcklkOiAndnNoYWRl
cldpdGhIaWdocEdsb2JhbCcsCisgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICBmU2hhZGVySWQ6
ICdmc2hhZGVyV2l0aE1lZGl1bXBHbG9iYWwnLAorICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAg
bGlua1N1Y2Nlc3M6IGZhbHNlLAorICBwYXNzTXNnOiAibWlzbWF0Y2hpbmcgcHJlY2lzaW9uIGZv
ciB1bmlmb3JtcyBjYXVzZXMgbGluayBlcnJvciAoYXMgZXhwZWN0ZWQpIiwKK30pOworCitnbHNs
VGVzdHMucHVzaCh7CisgIHZTaGFkZXJJZDogJ3ZzaGFkZXJXaXRoSGlnaHBHbG9iYWxTdHJ1Y3Qn
LAorICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgZlNoYWRlcklkOiAnZnNoYWRlcldpdGhNZWRp
dW1wR2xvYmFsU3RydWN0JywKKyAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgIGxpbmtTdWNjZXNz
OiBmYWxzZSwKKyAgcGFzc01zZzogIm1pc21hdGNoaW5nIHByZWNpc2lvbiBmb3Igc3RydWN0dXJl
IHVuaWZvcm1zIGNhdXNlcyBsaW5rIGVycm9yIChhcyBleHBlY3RlZCkiLAorfSk7CisKK0dMU0xD
b25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0cyhnbHNsVGVzdHMpOworCitkZWJ1ZygiIik7Cit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmRjOGExNjBmNzVhNWExNDBlNDM4ZTM5OWNjNmQ4ZTM0NmM5YjQwZmQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwKQEAg
LTAsMCArMSw3MjQgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKwor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIEdMU0wgQ29uZm9ybWFuY2UgVGVzdHMgLSBOb24gUmVzZXJ2ZWQgV29yZHM8
L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhTaGFkZXIwIiB0eXBlPSJ0ZXh0L3NvbWV0aGlu
Zy1ub3QtamF2YXNjcmlwdCI+CitzdHJ1Y3QgJHJlcGxhY2VNZSB7CisgIHZlYzQgJHJlcGxhY2VN
ZTsKK307CitzdHJ1Y3QgRm9vIHsKKyAgJHJlcGxhY2VNZSAkcmVwbGFjZU1lOworfTsKK2F0dHJp
YnV0ZSB2ZWM0IHBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sKKyAgICBGb28gZjsKKyAgICBmLiRy
ZXBsYWNlTWUuJHJlcGxhY2VNZSA9IHBvc2l0aW9uOworICAgIGdsX1Bvc2l0aW9uID0gZi4kcmVw
bGFjZU1lLiRyZXBsYWNlTWU7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hh
ZGVyMCIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7Cit2ZWM0ICRyZXBsYWNlTWUoKSB7CisgICAgcmV0dXJuIHZlYzQoMCwxLDAs
MSk7Cit9Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9ICRyZXBsYWNlTWUoKTsK
K30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydGV4U2hhZGVyMSIgdHlwZT0idGV4dC9zb21l
dGhpbmctbm90LWphdmFzY3JpcHQiPgorYXR0cmlidXRlIHZlYzQgJHJlcGxhY2VNZTsKK3ZvaWQg
bWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSAkcmVwbGFjZU1lOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJmcmFnbWVudFNoYWRlcjEiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZh
c2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordmVjNCBmb28odmVjNCAkcmVwbGFj
ZU1lKSB7CisgIHJldHVybiAkcmVwbGFjZU1lOworfQordm9pZCBtYWluKCkKK3sKKyAgICBnbF9G
cmFnQ29sb3IgPSBmb28odmVjNCgxLDAsMSwxKSk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
InZlcnRleFNoYWRlcjIiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3Zh
cnlpbmcgdmVjNCAkcmVwbGFjZU1lOworYXR0cmlidXRlIHZlYzQgcG9zaXRpb247Cit2b2lkIG1h
aW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gcG9zaXRpb247CisgICAgJHJlcGxhY2VNZSA9IHBv
c2l0aW9uOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNoYWRlcjIiIHR5cGU9
InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0
OwordmFyeWluZyB2ZWM0ICRyZXBsYWNlTWU7Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdD
b2xvciA9ICRyZXBsYWNlTWU7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRl
cjMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0
IHBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHBvc2l0aW9uOwor
fQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNoYWRlcjMiIHR5cGU9InRleHQvc29t
ZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9y
bSB2ZWM0ICRyZXBsYWNlTWU7Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9ICRy
ZXBsYWNlTWU7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgRFhX
b3JkcyA9IFsKKyAgIkJ1ZmZlciIsCisgICJkb3VibGUiLAorICAidWludCIsCisgICJoYWxmIiwK
KyAgImR3b3JkIiwKKyAgInN0cmluZyIsCisgICJ0ZXh0dXJlIiwKKyAgInBpeGVsc2hhZGVyIiwK
KyAgInZlcnRleHNoYWRlciIsCisgICJzd2l0Y2giLAorICAibWluMTZmbG9hdCIsCisgICJtaW4x
MGZsb2F0IiwKKyAgIm1pbjE2aW50IiwKKyAgIm1pbjEyaW50IiwKKyAgIm1pbjE2dWludCIsCisg
ICJ2ZWN0b3IiLAorICAibWF0cml4IiwKKyAgImZsb2F0MiIsCisgICJmbG9hdDMiLAorICAiZmxv
YXQ0IiwKKyAgImZsb2F0MXgxIiwKKyAgImZsb2F0MXgyIiwKKyAgImZsb2F0MXgzIiwKKyAgImZs
b2F0MXg0IiwKKyAgImZsb2F0MngxIiwKKyAgImZsb2F0MngyIiwKKyAgImZsb2F0MngzIiwKKyAg
ImZsb2F0Mng0IiwKKyAgImZsb2F0M3gxIiwKKyAgImZsb2F0M3gyIiwKKyAgImZsb2F0M3gzIiwK
KyAgImZsb2F0M3g0IiwKKyAgImZsb2F0NHgxIiwKKyAgImZsb2F0NHgyIiwKKyAgImZsb2F0NHgz
IiwKKyAgImZsb2F0NHg0IiwKKyAgImludDF4MSIsCisgICJpbnQxeDIiLAorICAiaW50MXgzIiwK
KyAgImludDF4NCIsCisgICJpbnQyeDEiLAorICAiaW50MngyIiwKKyAgImludDJ4MyIsCisgICJp
bnQyeDQiLAorICAiaW50M3gxIiwKKyAgImludDN4MiIsCisgICJpbnQzeDMiLAorICAiaW50M3g0
IiwKKyAgImludDR4MSIsCisgICJpbnQ0eDIiLAorICAiaW50NHgzIiwKKyAgImludDR4NCIsCisg
ICJkb3VibGUxeDEiLAorICAiZG91YmxlMXgyIiwKKyAgImRvdWJsZTF4MyIsCisgICJkb3VibGUx
eDQiLAorICAiZG91YmxlMngxIiwKKyAgImRvdWJsZTJ4MiIsCisgICJkb3VibGUyeDMiLAorICAi
ZG91YmxlMng0IiwKKyAgImRvdWJsZTN4MSIsCisgICJkb3VibGUzeDIiLAorICAiZG91YmxlM3gz
IiwKKyAgImRvdWJsZTN4NCIsCisgICJkb3VibGU0eDEiLAorICAiZG91YmxlNHgyIiwKKyAgImRv
dWJsZTR4MyIsCisgICJkb3VibGU0eDQiLAorICAiYWJvcnQiLAorICAiYWJzIiwKKyAgImFjb3Mi
LAorICAiYWxsIiwKKyAgIkFsbE1lbW9yeUJhcnJpZXIiLAorICAiQWxsTWVtb3J5QmFycmllcldp
dGhHcm91cFN5bmMiLAorICAiYW55IiwKKyAgImFzZG91YmxlIiwKKyAgImFzZmxvYXQiLAorICAi
YXNpbiIsCisgICJhc2ludCIsCisgICJhc2ludCIsCisgICJhc3VpbnQiLAorICAiYXN1aW50IiwK
KyAgImF0YW4iLAorICAiYXRhbjIiLAorICAiY2VpbCIsCisgICJjbGFtcCIsCisgICJjbGlwIiwK
KyAgImNvcyIsCisgICJjb3NoIiwKKyAgImNvdW50Yml0cyIsCisgICJjcm9zcyIsCisgICJEM0RD
T0xPUnRvVUJZVEU0IiwKKyAgImRkeCIsCisgICJkZHhfY29hcnNlIiwKKyAgImRkeF9maW5lIiwK
KyAgImRkeSIsCisgICJkZHlfY29hcnNlIiwKKyAgImRkeV9maW5lIiwKKyAgImRlZ3JlZXMiLAor
ICAiZGV0ZXJtaW5hbnQiLAorICAiRGV2aWNlTWVtb3J5QmFycmllciIsCisgICJEZXZpY2VNZW1v
cnlCYXJyaWVyV2l0aEdyb3VwU3luYyIsCisgICJkaXN0YW5jZSIsCisgICJkb3QiLAorICAiZHN0
IiwKKyAgImVycm9yZiIsCisgICJFdmFsdWF0ZUF0dHJpYnV0ZUF0Q2VudHJvaWQiLAorICAiRXZh
bHVhdGVBdHRyaWJ1dGVBdFNhbXBsZSIsCisgICJFdmFsdWF0ZUF0dHJpYnV0ZVNuYXBwZWQiLAor
ICAiZXhwIiwKKyAgImV4cDIiLAorICAiZjE2dG9mMzIiLAorICAiZjMydG9mMTYiLAorICAiZmFj
ZWZvcndhcmQiLAorICAiZmlyc3RiaXRoaWdoIiwKKyAgImZpcnN0Yml0bG93IiwKKyAgImZsb29y
IiwKKyAgImZtYSIsCisgICJmbW9kIiwKKyAgImZyYWMiLAorICAiZnJleHAiLAorICAiZndpZHRo
IiwKKyAgIkdldFJlbmRlclRhcmdldFNhbXBsZUNvdW50IiwKKyAgIkdldFJlbmRlclRhcmdldFNh
bXBsZVBvc2l0aW9uIiwKKyAgIkdyb3VwTWVtb3J5QmFycmllciIsCisgICJHcm91cE1lbW9yeUJh
cnJpZXJXaXRoR3JvdXBTeW5jIiwKKyAgIkludGVybG9ja2VkQWRkIiwKKyAgIkludGVybG9ja2Vk
QW5kIiwKKyAgIkludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlIiwKKyAgIkludGVybG9ja2VkQ29t
cGFyZVN0b3JlIiwKKyAgIkludGVybG9ja2VkRXhjaGFuZ2UiLAorICAiSW50ZXJsb2NrZWRNYXgi
LAorICAiSW50ZXJsb2NrZWRNaW4iLAorICAiSW50ZXJsb2NrZWRPciIsCisgICJJbnRlcmxvY2tl
ZFhvciIsCisgICJpc2Zpbml0ZSIsCisgICJpc2luZiIsCisgICJpc25hbiIsCisgICJsZGV4cCIs
CisgICJsZW5ndGgiLAorICAibGVycCIsCisgICJsaXQiLAorICAibG9nIiwKKyAgImxvZzEwIiwK
KyAgImxvZzIiLAorICAibWFkIiwKKyAgIm1heCIsCisgICJtaW4iLAorICAibW9kZiIsCisgICJt
c2FkNCIsCisgICJtdWwiLAorICAibm9pc2UiLAorICAibm9ybWFsaXplIiwKKyAgInBvdyIsCisg
ICJwcmludGYiLAorICAiUHJvY2VzczJEUXVhZFRlc3NGYWN0b3JzQXZnIiwKKyAgIlByb2Nlc3My
RFF1YWRUZXNzRmFjdG9yc01heCIsCisgICJQcm9jZXNzMkRRdWFkVGVzc0ZhY3RvcnNNaW4iLAor
ICAiUHJvY2Vzc0lzb2xpbmVUZXNzRmFjdG9ycyIsCisgICJQcm9jZXNzUXVhZFRlc3NGYWN0b3Jz
QXZnIiwKKyAgIlByb2Nlc3NRdWFkVGVzc0ZhY3RvcnNNYXgiLAorICAiUHJvY2Vzc1F1YWRUZXNz
RmFjdG9yc01pbiIsCisgICJQcm9jZXNzVHJpVGVzc0ZhY3RvcnNBdmciLAorICAiUHJvY2Vzc1Ry
aVRlc3NGYWN0b3JzTWF4IiwKKyAgIlByb2Nlc3NUcmlUZXNzRmFjdG9yc01pbiIsCisgICJyYWRp
YW5zIiwKKyAgInJjcCIsCisgICJyZWZsZWN0IiwKKyAgInJlZnJhY3QiLAorICAicmV2ZXJzZWJp
dHMiLAorICAicm91bmQiLAorICAicnNxcnQiLAorICAic2F0dXJhdGUiLAorICAic2lnbiIsCisg
ICJzaW4iLAorICAic2luY29zIiwKKyAgInNpbmgiLAorICAic21vb3Roc3RlcCIsCisgICJzcXJ0
IiwKKyAgInN0ZXAiLAorICAidGFuIiwKKyAgInRhbmgiLAorICAidGV4MUQiLAorICAidGV4MUQi
LAorICAidGV4MURiaWFzIiwKKyAgInRleDFEZ3JhZCIsCisgICJ0ZXgxRGxvZCIsCisgICJ0ZXgx
RHByb2oiLAorICAidGV4MkQiLAorICAidGV4MkQiLAorICAidGV4MkRiaWFzIiwKKyAgInRleDJE
Z3JhZCIsCisgICJ0ZXgyRGxvZCIsCisgICJ0ZXgyRHByb2oiLAorICAidGV4M0QiLAorICAidGV4
M0QiLAorICAidGV4M0RiaWFzIiwKKyAgInRleDNEZ3JhZCIsCisgICJ0ZXgzRGxvZCIsCisgICJ0
ZXgzRHByb2oiLAorICAidGV4Q1VCRSIsCisgICJ0ZXhDVUJFIiwKKyAgInRleENVQkViaWFzIiwK
KyAgInRleENVQkVncmFkIiwKKyAgInRleENVQkVsb2QiLAorICAidGV4Q1VCRXByb2oiLAorICAi
dHJhbnNwb3NlIiwKKyAgInRydW5jIgorXTsKKwordmFyIEdMU0xfNF8yMF8xMV93b3JkcyA9IFsK
KyAgImF0dHJpYnV0ZSIsCisgICJjb25zdCIsCisgICJ1bmlmb3JtIiwKKyAgInZhcnlpbmciLAor
ICAiY29oZXJlbnQiLAorICAidm9sYXRpbGUiLAorICAicmVzdHJpY3QiLAorICAicmVhZG9ubHki
LAorICAid3JpdGVvbmx5IiwKKyAgImF0b21pY191aW50IiwKKyAgImxheW91dCIsCisgICJjZW50
cm9pZCIsCisgICJmbGF0IiwKKyAgInNtb290aCIsCisgICJub3BlcnNwZWN0aXZlIiwKKyAgInBh
dGNoIiwKKyAgInNhbXBsZSIsCisgICJicmVhayIsCisgICJjb250aW51ZSIsCisgICJkbyIsCisg
ICJmb3IiLAorICAid2hpbGUiLAorICAic3dpdGNoIiwKKyAgImNhc2UiLAorICAiZGVmYXVsdCIs
CisgICJpZiIsCisgICJlbHNlIiwKKyAgInN1YnJvdXRpbmUiLAorICAiaW4iLAorICAib3V0IiwK
KyAgImlub3V0IiwKKyAgImZsb2F0IiwKKyAgImRvdWJsZSIsCisgICJpbnQiLAorICAidm9pZCIs
CisgICJib29sIiwKKyAgInRydWUiLAorICAiZmFsc2UiLAorICAiaW52YXJpYW50IiwKKyAgImRp
c2NhcmQiLAorICAicmV0dXJuIiwKKyAgIm1hdDIiLAorICAibWF0MyIsCisgICJtYXQ0IiwKKyAg
ImRtYXQyIiwKKyAgImRtYXQzIiwKKyAgImRtYXQ0IiwKKyAgIm1hdDJ4MiIsCisgICJtYXQyeDMi
LAorICAibWF0Mng0IiwKKyAgImRtYXQyeDIiLAorICAiZG1hdDJ4MyIsCisgICJkbWF0Mng0IiwK
KyAgIm1hdDN4MiIsCisgICJtYXQzeDMiLAorICAibWF0M3g0IiwKKyAgImRtYXQzeDIiLAorICAi
ZG1hdDN4MyIsCisgICJkbWF0M3g0IiwKKyAgIm1hdDR4MiIsCisgICJtYXQ0eDMiLAorICAibWF0
NHg0IiwKKyAgImRtYXQ0eDIiLAorICAiZG1hdDR4MyIsCisgICJkbWF0NHg0IiwKKyAgInZlYzIi
LAorICAidmVjMyIsCisgICJ2ZWM0IiwKKyAgIml2ZWMyIiwKKyAgIml2ZWMzIiwKKyAgIml2ZWM0
IiwKKyAgImJ2ZWMyIiwKKyAgImJ2ZWMzIiwKKyAgImJ2ZWM0IiwKKyAgImR2ZWMyIiwKKyAgImR2
ZWMzIiwKKyAgImR2ZWM0IiwKKyAgInVpbnQiLAorICAidXZlYzIiLAorICAidXZlYzMiLAorICAi
dXZlYzQiLAorICAibG93cCIsCisgICJtZWRpdW1wIiwKKyAgImhpZ2hwIiwKKyAgInByZWNpc2lv
biIsCisgICJzYW1wbGVyMUQiLAorICAic2FtcGxlcjJEIiwKKyAgInNhbXBsZXIzRCIsCisgICJz
YW1wbGVyQ3ViZSIsCisgICJzYW1wbGVyMURTaGFkb3ciLAorICAic2FtcGxlcjJEU2hhZG93IiwK
KyAgInNhbXBsZXJDdWJlU2hhZG93IiwKKyAgInNhbXBsZXIxREFycmF5IiwKKyAgInNhbXBsZXIy
REFycmF5IiwKKyAgInNhbXBsZXIxREFycmF5U2hhZG93IiwKKyAgInNhbXBsZXIyREFycmF5U2hh
ZG93IiwKKyAgImlzYW1wbGVyMUQiLAorICAiaXNhbXBsZXIyRCIsCisgICJpc2FtcGxlcjNEIiwK
KyAgImlzYW1wbGVyQ3ViZSIsCisgICJpc2FtcGxlcjFEQXJyYXkiLAorICAiaXNhbXBsZXIyREFy
cmF5IiwKKyAgInVzYW1wbGVyMUQiLAorICAidXNhbXBsZXIyRCIsCisgICJ1c2FtcGxlcjNEIiwK
KyAgInVzYW1wbGVyQ3ViZSIsCisgICJ1c2FtcGxlcjFEQXJyYXkiLAorICAidXNhbXBsZXIyREFy
cmF5IiwKKyAgInNhbXBsZXIyRFJlY3QiLAorICAic2FtcGxlcjJEUmVjdFNoYWRvdyIsCisgICJp
c2FtcGxlcjJEUmVjdCIsCisgICJ1c2FtcGxlcjJEUmVjdCIsCisgICJzYW1wbGVyQnVmZmVyIiwK
KyAgImlzYW1wbGVyQnVmZmVyIiwKKyAgInVzYW1wbGVyQnVmZmVyIiwKKyAgInNhbXBsZXIyRE1T
IiwKKyAgImlzYW1wbGVyMkRNUyIsCisgICJ1c2FtcGxlcjJETVMiLAorICAic2FtcGxlcjJETVNB
cnJheSIsCisgICJpc2FtcGxlcjJETVNBcnJheSIsCisgICJ1c2FtcGxlcjJETVNBcnJheSIsCisg
ICJzYW1wbGVyQ3ViZUFycmF5IiwKKyAgInNhbXBsZXJDdWJlQXJyYXlTaGFkb3ciLAorICAiaXNh
bXBsZXJDdWJlQXJyYXkiLAorICAidXNhbXBsZXJDdWJlQXJyYXkiLAorICAiaW1hZ2UxRCIsCisg
ICJpaW1hZ2UxRCIsCisgICJ1aW1hZ2UxRCIsCisgICJpbWFnZTJEIiwKKyAgImlpbWFnZTJEIiwK
KyAgInVpbWFnZTJEIiwKKyAgImltYWdlM0QiLAorICAiaWltYWdlM0QiLAorICAidWltYWdlM0Qi
LAorICAiaW1hZ2UyRFJlY3QiLAorICAiaWltYWdlMkRSZWN0IiwKKyAgInVpbWFnZTJEUmVjdCIs
CisgICJpbWFnZUN1YmUiLAorICAiaWltYWdlQ3ViZSIsCisgICJ1aW1hZ2VDdWJlIiwKKyAgImlt
YWdlQnVmZmVyIiwKKyAgImlpbWFnZUJ1ZmZlciIsCisgICJ1aW1hZ2VCdWZmZXIiLAorICAiaW1h
Z2UxREFycmF5IiwKKyAgImlpbWFnZTFEQXJyYXkiLAorICAidWltYWdlMURBcnJheSIsCisgICJp
bWFnZTJEQXJyYXkiLAorICAiaWltYWdlMkRBcnJheSIsCisgICJ1aW1hZ2UyREFycmF5IiwKKyAg
ImltYWdlQ3ViZUFycmF5IiwKKyAgImlpbWFnZUN1YmVBcnJheSIsCisgICJ1aW1hZ2VDdWJlQXJy
YXkiLAorICAiaW1hZ2UyRE1TIiwKKyAgImlpbWFnZTJETVMiLAorICAidWltYWdlMkRNUyIsCisg
ICJpbWFnZTJETVNBcnJheSIsCisgICJpaW1hZ2UyRE1TQXJyYXkiLAorICAidWltYWdlMkRNU0Fy
cmF5IiwKKyAgInN0cnVjdCIKK107CisKK3ZhciBHTFNMXzRfMjBfMTFfZnV0dXJlX3dvcmRzID0g
WworICAiY29tbW9uIiwKKyAgInBhcnRpdGlvbiIsCisgICJhY3RpdmUiLAorICAiYXNtIiwKKyAg
ImNsYXNzIiwKKyAgInVuaW9uIiwKKyAgImVudW0iLAorICAidHlwZWRlZiIsCisgICJ0ZW1wbGF0
ZSIsCisgICJ0aGlzIiwKKyAgInBhY2tlZCIsCisgICJyZXNvdXJjZSIsCisgICJnb3RvIiwKKyAg
ImlubGluZSIsCisgICJub2lubGluZSIsCisgICJwdWJsaWMiLAorICAic3RhdGljIiwKKyAgImV4
dGVybiIsCisgICJleHRlcm5hbCIsCisgICJpbnRlcmZhY2UiLAorICAibG9uZyIsCisgICJzaG9y
dCIsCisgICJoYWxmIiwKKyAgImZpeGVkIiwKKyAgInVuc2lnbmVkIiwKKyAgInN1cGVycCIsCisg
ICJpbnB1dCIsCisgICJvdXRwdXQiLAorICAiaHZlYzIiLAorICAiaHZlYzMiLAorICAiaHZlYzQi
LAorICAiZnZlYzIiLAorICAiZnZlYzMiLAorICAiZnZlYzQiLAorICAic2FtcGxlcjNEUmVjdCIs
CisgICJmaWx0ZXIiLAorICAic2l6ZW9mIiwKKyAgImNhc3QiLAorICAibmFtZXNwYWNlIiwKKyAg
InVzaW5nIiwKKyAgInJvd19tYWpvciIKK107CisKK3ZhciBHTFNMXzFfMF8xN193b3JkcyA9IFsK
KyAgImF0dHJpYnV0ZSIsCisgICJjb25zdCIsCisgICJ1bmlmb3JtIiwKKyAgInZhcnlpbmciLAor
ICAiYnJlYWsiLAorICAiY29udGludWUiLAorICAiZG8iLAorICAiZm9yIiwKKyAgIndoaWxlIiwK
KyAgImlmIiwKKyAgImVsc2UiLAorICAiaW4iLAorICAib3V0IiwKKyAgImlub3V0IiwKKyAgImZs
b2F0IiwKKyAgImludCIsCisgICJ2b2lkIiwKKyAgImJvb2wiLAorICAidHJ1ZSIsCisgICJmYWxz
ZSIsCisgICJsb3dwIiwKKyAgIm1lZGl1bXAiLAorICAiaGlnaHAiLAorICAicHJlY2lzaW9uIiwK
KyAgImludmFyaWFudCIsCisgICJkaXNjYXJkIiwKKyAgInJldHVybiIsCisgICJtYXQyIiwKKyAg
Im1hdDMiLAorICAibWF0NCIsCisgICJ2ZWMyIiwKKyAgInZlYzMiLAorICAidmVjNCIsCisgICJp
dmVjMiIsCisgICJpdmVjMyIsCisgICJpdmVjNCIsCisgICJidmVjMiIsCisgICJidmVjMyIsCisg
ICJidmVjNCIsCisgICJzYW1wbGVyMkQiLAorICAic2FtcGxlckN1YmUiLAorICAic3RydWN0Igor
XQorCit2YXIgR0xTTF8xXzBfMTdfRnV0dXJlV29yZHMgPSBbCisgICJhc20iLAorICAiY2xhc3Mi
LAorICAidW5pb24iLAorICAiZW51bSIsCisgICJ0eXBlZGVmIiwKKyAgInRlbXBsYXRlIiwKKyAg
InRoaXMiLAorICAicGFja2VkIiwKKyAgImdvdG8iLAorICAic3dpdGNoIiwKKyAgImRlZmF1bHQi
LAorICAiaW5saW5lIiwKKyAgIm5vaW5saW5lIiwKKyAgInZvbGF0aWxlIiwKKyAgInB1YmxpYyIs
CisgICJzdGF0aWMiLAorICAiZXh0ZXJuIiwKKyAgImV4dGVybmFsIiwKKyAgImludGVyZmFjZSIs
CisgICJmbGF0IiwKKyAgImxvbmciLAorICAic2hvcnQiLAorICAiZG91YmxlIiwKKyAgImhhbGYi
LAorICAiZml4ZWQiLAorICAidW5zaWduZWQiLAorICAic3VwZXJwIiwKKyAgImlucHV0IiwKKyAg
Im91dHB1dCIsCisgICJodmVjMiIsCisgICJodmVjMyIsCisgICJodmVjNCIsCisgICJkdmVjMiIs
CisgICJkdmVjMyIsCisgICJkdmVjNCIsCisgICJmdmVjMiIsCisgICJmdmVjMyIsCisgICJmdmVj
NCIsCisgICJzYW1wbGVyMUQiLAorICAic2FtcGxlcjNEIiwKKyAgInNhbXBsZXIxRFNoYWRvdyIs
CisgICJzYW1wbGVyMkRTaGFkb3ciLAorICAic2FtcGxlcjJEUmVjdCIsCisgICJzYW1wbGVyM0RS
ZWN0IiwKKyAgInNhbXBsZXIyRFJlY3RTaGFkb3ciLAorICAic2l6ZW9mIiwKKyAgImNhc3QiLAor
ICAibmFtZXNwYWNlIiwKKyAgInVzaW5nIgorXTsKKworZGVzY3JpcHRpb24oKTsKKwordmFyIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOwordmFy
IGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworCit2YXIgYmFkV29yZHMg
PSBbCisgIHsgd29yZHM6IERYV29yZHMgfSwKKyAgeyB3b3JkczogR0xTTF80XzIwXzExX3dvcmRz
LCB9LAorICB7IHdvcmRzOiBHTFNMXzRfMjBfMTFfZnV0dXJlX3dvcmRzLCB9CitdOworCit2YXIg
cmVzZXJ2ZWRXb3Jkc0xpc3RzID0gWworICBHTFNMXzFfMF8xN193b3JkcywKKyAgR0xTTF8xXzBf
MTdfRnV0dXJlV29yZHMKK107CisKK3ZhciByZXNlcnZlZFdvcmRzID0geyB9OworZm9yICh2YXIg
aWkgPSAwOyBpaSA8IHJlc2VydmVkV29yZHNMaXN0cy5sZW5ndGg7ICsraWkpIHsKKyAgdmFyIGxp
c3QgPSByZXNlcnZlZFdvcmRzTGlzdHNbaWldOworICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgbGlz
dC5sZW5ndGg7ICsramopIHsKKyAgICByZXNlcnZlZFdvcmRzW2xpc3RbampdXSA9IHRydWU7Cisg
IH0KK30KKwordmFyIGNoZWNrZWRXb3JkcyA9IHt9OworCit2YXIgc3JjID0gW107Citmb3IgKHZh
ciBpaSA9IDA7IGlpIDwgNDsgKytpaSkgeworICB2YXIgdnNyYyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ2ZXJ0ZXhTaGFkZXIiICsgaWkpLnRleHQ7CisgIHZhciBmc3JjID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImZyYWdtZW50U2hhZGVyIiArIGlpKS50ZXh0OworICBzcmMucHVzaCh7
dnNyYzogdnNyYywgZnNyYzogZnNyY30pOworfQorCit2YXIgYmFkV29yZE5keCA9IDA7Cit2YXIg
bGlzdE5keCA9IDA7CisKK2Z1bmN0aW9uIHRlc3ROZXh0V29yZCgpIHsKKyAgdmFyIGxpc3QgPSBi
YWRXb3Jkc1tiYWRXb3JkTmR4XS53b3JkczsKKyAgaWYgKGxpc3ROZHggPj0gbGlzdC5sZW5ndGgp
IHsKKyAgICArK2JhZFdvcmROZHg7CisgICAgaWYgKGJhZFdvcmROZHggPj0gYmFkV29yZHMubGVu
Z3RoKSB7CisgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICByZXR1cm47CisgICAgfQorICAgIGxp
c3ROZHggPSAwOworICAgIGxpc3QgPSBiYWRXb3Jkc1tiYWRXb3JkTmR4XS53b3JkczsKKyAgfQor
ICB0ZXN0V29yZChsaXN0W2xpc3ROZHhdKTsKKyAgKytsaXN0TmR4OworICBzZXRUaW1lb3V0KHRl
c3ROZXh0V29yZCwxKTsKK30KK3Rlc3ROZXh0V29yZCgpOworCitmdW5jdGlvbiB0ZXN0V29yZCh3
b3JkKSB7CisgIGlmICh3b3JkIGluIHJlc2VydmVkV29yZHMgfHwgd29yZCBpbiBjaGVja2VkV29y
ZHMpIHsKKyAgICByZXR1cm47CisgIH0KKyAgY2hlY2tlZFdvcmRzW3dvcmRdID0gdHJ1ZTsKKyAg
ZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZzogIiArIHdvcmQpOworCisgIGZvciAodmFyIGlp
ID0gMDsgaWkgPCBzcmMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIHZzID0gc3JjW2lpXS52c3Jj
LnJlcGxhY2UoL1wkcmVwbGFjZU1lL2csIHdvcmQpOworICAgIHZhciBmcyA9IHNyY1tpaV0uZnNy
Yy5yZXBsYWNlKC9cJHJlcGxhY2VNZS9nLCB3b3JkKTsKKworICAgIHd0dS5hZGRTaGFkZXJTb3Vy
Y2UoYywgInZlcnRleCBzaGFkZXIiLCB2cyk7CisgICAgd3R1LmFkZFNoYWRlclNvdXJjZShjLCAi
ZnJhZ21lbnQgc2hhZGVyIiwgZnMpOworCisgICAgdmFyIHN1Y2Nlc3MgPSB0cnVlOworICAgIHZh
ciBwcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtKGdsLCB2cywgZnMsIGZ1bmN0aW9uKG1zZykgewor
ICAgICAgZGVidWcobXNnKTsKKyAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKKyAgICB9KTsKKyAgICBp
ZiAoc3VjY2VzcykgeworICAgICAgdGVzdFBhc3NlZCgic2hhZGVyIHdpdGg6ICciICsgd29yZCAr
ICInIGNvbXBpbGVkIik7CisgICAgfSBlbHNlIHsKKyAgICAgIHRlc3RGYWlsZWQoInNoYWRlciB3
aXRoOiAnIiArIHdvcmQgKyAiJyBmYWlsZWQgdG8gY29tcGlsZSIpOworICAgIH0KKyAgICBpZiAo
cHJvZ3JhbSkgeworICAgICAgZ2wuZGVsZXRlUHJvZ3JhbShwcm9ncmFtKTsKKyAgICB9CisgICAg
d3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gR0wgZXJy
b3JzIik7CisgIH0KK30KKworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13
aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM3NTQ4ZjM2
YzkyYjBmNzY0MjVlNTRjMjZlN2ZiOWJjYmI4MmQ3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sCkBAIC0wLDAg
KzEsMTkxIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgICAgIDx0aXRsZT5XZWJHTCBzaG9ydC1jaXJjdWl0IGV2YWx1YXRpb248L3RpdGxlPgorICAg
ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiLz4KKyAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvZGVz
a3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cisg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKyAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxj
YW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKworICAg
IDwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICBXZWJHTCBTaGFkZXJz
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgorICAgIDwhLS0gUGFz
cyB0aHJvdWdoIFNoYWRlcnMgLS0+CisgICAgPHNjcmlwdCBpZD0idnNoYWRlcjAiIHR5cGU9Ingt
c2hhZGVyL3gtdmVydGV4Ij4KKyAgICAgIC8qIFBBU1MtVEhST1VHSCBWRVJURVggU0hBREVSICov
CisgICAgICBhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisKKyAgICAgIHZvaWQgbWFpbigpCisg
ICAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgICAgfQorICAgIDwv
c2NyaXB0PgorCisgICAgPHNjcmlwdCBpZD0iZnNoYWRlcjAiIHR5cGU9Ingtc2hhZGVyL3gtZnJh
Z21lbnQiPgorICAgICAgLyogUEFTUy1USFJPVUdIIEZSQUdNRU5UIFNIQURFUiAqLworICAgICAg
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICB2YXJ5aW5nIHZlYzQgdlBhc3NUaHJvdWdo
OworCisgICAgICB2b2lkIG1haW4oKQorICAgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2
UGFzc1Rocm91Z2g7CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8IS0tIGJhc2ljIGNv
bmRpdG9uYWwgc2hvcnQgY2lyY3VpdCBTaGFkZXJzIC0tPgorICAgIDxzY3JpcHQgaWQ9InZzaGFk
ZXIxIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgICBhdHRyaWJ1dGUgdmVjNCB2UG9z
aXRpb247CisgICAgICB2YXJ5aW5nIHZlYzQgdlBhc3NUaHJvdWdoOworCisgICAgICB2b2lkIG1h
aW4oKQorICAgICAgeworICAgICAgICBpbnQgeCA9IDE7CisgICAgICAgICQodmFyaWFibGVzKQor
ICAgICAgCisgICAgICAgIGlmICgkKGNvbmRpdGlvbikpCisgICAgICAgIHsgLypkbyBub3RoaW5n
Ki8gfQorCisgICAgICAgIC8qIGlmIHggd2FzIHVubW9kaWZpZWQgcmV0dXJuIGdyZWVuLCBlbHNl
IHJldHVybiByZWQgKi8KKyAgICAgICAgdlBhc3NUaHJvdWdoID0gKHggPT0gMSkgPyB2ZWM0KDAs
IDEsIDAsIDEpIDogdmVjNCgxLCAwLCAwLCAxKTsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB2UG9z
aXRpb247CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0IGlkPSJmc2hhZGVy
MSIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgICBwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKKworICAgICAgdm9pZCBtYWluKCkKKyAgICAgIHsKKyAgICAgICAgaW50IHggPSAxOwor
ICAgICAgICAkKHZhcmlhYmxlcykKKyAgICAgICAgCisgICAgICAgIGlmICgkKGNvbmRpdGlvbikp
CisgICAgICAgIHsgLypkbyBub3RoaW5nKi8gfQorCisgICAgICAgIGdsX0ZyYWdDb2xvciA9ICh4
ID09IDEpID8gdmVjNCgwLCAxLCAwLCAxKSA6IHZlYzQoMSwgMCwgMCwgMSk7CisgICAgICB9Cisg
ICAgPC9zY3JpcHQ+CisKKyAgICA8IS0tIE1haW4gYm9keSBvZiB0aGUgV2ViZ2wgcHJvZ3JhbSAt
LT4KKyAgICA8c2NyaXB0PgorICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgIGRlc2NyaXB0aW9uKCk7
CisKKyAgICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICAgIHZhciBnbCA9IHd0dS5j
cmVhdGUzRENvbnRleHQoKTsKKyAgICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnNvbGUiKTsKKworICAgICAgd3R1LnNldHVwVW5pdFF1YWQoZ2wsIFswLCAxXSk7CisKKyAg
ICAgIHZhciBzaGFkZXJUZW1wbGF0ZXMgPSBbCisgICAgICB7IHZzOiAidnNoYWRlcjEiLCBmczog
ImZzaGFkZXIwIiB9LCAvLyBiYXNpYyB2ZXJ0ZXggc2hvcnQtY2lyY3VpdCB0ZXN0CisgICAgICB7
IHZzOiAidnNoYWRlcjAiLCBmczogImZzaGFkZXIxIiB9LCAvLyBiYXNpYyBmcmFnbWVudCBzaG9y
dC1jaXJjdWl0IHRlc3QKKyAgICAgIF07CisKKyAgICAgIC8qIHJlcGxhY2UgdGhlIG5hbWVzIG9m
IHRoZSBzaGFkZXJzIGluIHRoZSB0ZW1wYXRlIHZhcmlhYmxlcyB3aXRoCisgICAgICAqIHRoZSBz
aGFkZXJzIHRoZW1zZWx2ZXMgKi8KKyAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzaGFkZXJU
ZW1wbGF0ZXMubGVuZ3RoOyArK2lpKSB7CisgICAgICAgIHZhciB0ZW1wbGF0ZSA9IHNoYWRlclRl
bXBsYXRlc1tpaV07CisgICAgICAgIHRlbXBsYXRlLnZzID0gd3R1LmdldFNjcmlwdCh0ZW1wbGF0
ZS52cyk7CisgICAgICAgIHRlbXBsYXRlLmZzID0gd3R1LmdldFNjcmlwdCh0ZW1wbGF0ZS5mcyk7
CisgICAgICB9CisKKyAgICAgIC8qIGRlZmluZSB0aGUgY29uZGl0b24gdGhhdCB3aWxsIGJlIHVz
ZWQgaW4gdGhlIHNoYWRlcnMuIElmIGFkZGl0aW9uYWwKKyAgICAgICAqIHZhcmlhYmxlcyBhcmUg
bmVlZGVkIHRoYXQgYXJlIG5vdCBwcmVzZW50IGkgdGhlIHNoYWRlciB0aGV5IG15IGJlCisgICAg
ICAgKiBkZWZpbmVkIGluIHRoZSB2YXJpYWJsZXMgdmFyaWFibGUgKi8KKyAgICAgIHZhciB0ZXN0
cyA9IFsKKyAgICAgICAgeyBjb25kaXRpb246ICJ0cnVlIHx8ICh4ID0gMCkgPT0gMSIsIHZhcmlh
YmxlczogIiIgfSwgLyogdGVzdCBiYXNpYyAnb3InIHNob3J0IGNpcmN1aXQgKi8KKyAgICAgICAg
eyBjb25kaXRpb246ICJmYWxzZSAmJiAoeCA9IDApID09IDEiLCB2YXJpYWJsZXM6ICIiIH0sIC8q
IHRlc3QgYmFzaWMgJ2FuZCcgc2hvcnQgY2lyY3VpdCAqLworICAgICAgICB7IGNvbmRpdGlvbjog
IihqID09IDMgJiYgaiA9PSBrKSB8fCAoaiA+ICh4ID0gMCkpIiwgdmFyaWFibGVzOiAiaW50IGog
PSAzO1xuaW50IGsgPSAzOyIgfSwgLyogdGVzdCBiYXNpYyAnb3InIHNob3J0IGNpcmN1aXQgd2l0
aCBhY3R1YWwgY29uZGl0aW9uICovCisgICAgICAgIHsgY29uZGl0aW9uOiAiKGogPT0gMyAmJiBq
ID09IGspICYmIChqID4gKHggPSAwKSkiLCB2YXJpYWJsZXM6ICJpbnQgaiA9IDM7XG5pbnQgayA9
IDQ7IiB9LCAvKiB0ZXN0IGJhc2ljICdhbmQnIHNob3J0IGNpcmN1aXQgd2l0aCBhY3R1YWwgY29u
ZGl0aW9uICovCisgICAgICAgIHsgY29uZGl0aW9uOiAiKGogKyAzID4gayAmJiAoKGogPCAxMCkg
fHwgKHggKyA1ID4gaiArICh4ID0gMCkpKSB8fCAoIHggPSAwICkgPT0gNykiLCB2YXJpYWJsZXM6
ICJpbnQgaiA9IDU7XG5pbnQgayA9IDM7IiB9LCAvKiBjb21wbGV4IHRlc3QgKi8KKyAgICAgICAg
eyBjb25kaXRpb246ICJqICsgMSA9PSA2ID8geCA9PSAxIHx8IGogPiAoeCA9IDApIDogKHggPSAw
KSA9PSAxICYmICh4ID0gMCkgPD0gMSIsIHZhcmlhYmxlczogImludCBqID0gNTsiIH0sIC8qIG5l
c3RlZCB3aXRoIHRlcm5hcnkgb3BlcmF0b3IgKi8KKyAgICAgIF07CisKKyAgICAgIGZ1bmN0aW9u
IHRlc3RTaG9ydENpcmN1aXQodGVzdCkgeworICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgIGRl
YnVnKCJ0ZXN0aW5nIHNob3J0IGNpcmN1aXQgY29uZGl0aW9uOiAiICsgdGVzdC5jb25kaXRpb24p
OworCisgICAgICAgIC8qIFNldHRpbmcgY2xlYXIgY29sb3IgdG8gYmx1ZSAqLworICAgICAgICBn
bC5jbGVhckNvbG9yKDAuMCwgMC4wLCAxLjAsIDEuMCk7CisKKyAgICAgICAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IHNoYWRlclRlbXBsYXRlcy5sZW5ndGg7ICsraWkpIHsKKworICAgICAgICAgIC8q
IGNsZWFyIHRoZSBzY3JlZW4gc28gdGhhdCBzdWJzZXF1ZW50IHRlc3RzIGRvbid0IGNvbmZsaWN0
ICovCisgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgICAgICAg
dmFyIHRlbXBsYXRlID0gc2hhZGVyVGVtcGxhdGVzW2lpXTsKKworICAgICAgICAgIHZhciB2cyA9
IHd0dS5yZXBsYWNlUGFyYW1zKHRlbXBsYXRlLnZzLCB0ZXN0KTsKKyAgICAgICAgICB2YXIgZnMg
PSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZS5mcywgdGVzdCk7CisKKyAgICAgICAgICB3dHUu
YWRkU2hhZGVyU291cmNlKGMsICJ2ZXJ0ZXggc2hhZGVyIiwgdnMpOworICAgICAgICAgIHd0dS5h
ZGRTaGFkZXJTb3VyY2UoYywgImZyYWdtZW50IHNoYWRlciIsIGZzKTsKKworICAgICAgICAgIHZh
ciB2cyA9IHd0dS5sb2FkU2hhZGVyKGdsLCB2cywgZ2wuVkVSVEVYX1NIQURFUik7CisgICAgICAg
ICAgdmFyIGZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIGZzLCBnbC5GUkFHTUVOVF9TSEFERVIpOwor
ICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LmNyZWF0ZVByb2dyYW0oZ2wsIHZzLCBmcyk7CisK
KyAgICAgICAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworCisgICAgICAgICAgd3R1LmRyYXdR
dWFkKGdsKTsKKyAgICAgICAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0s
ICJzaG91bGQgYmUgZ3JlZW4iLCAwKTsKKworICAgICAgICAgIGdsLmRlbGV0ZVByb2dyYW0ocHJv
Z3JhbSk7CisgICAgICAgICAgZ2wuZGVsZXRlU2hhZGVyKHZzKTsKKyAgICAgICAgICBnbC5kZWxl
dGVTaGFkZXIoZnMpOworCisgICAgICAgICAgd3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsICJzaG91bGQgYmUgbm8gR0wgZXJyb3JzIik7CisgICAgICAgIH0KKyAgICAgIH0KKwor
ICAgICAgdmFyIHRlc3ROZHggPSAwOworICAgICAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKSB7Cisg
ICAgICAgICAgdGVzdFNob3J0Q2lyY3VpdCh0ZXN0c1t0ZXN0TmR4KytdKTsKKyAgICAgICAgICBp
ZiAodGVzdE5keCA+PSB0ZXN0cy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgZmluaXNoVGVzdCgp
OworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHNldFRpbWVvdXQocnVuTmV4dFRl
c3QsIDEpOworICAgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgcnVuTmV4dFRlc3QoKTsKKwor
ICAgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKyAgICA8L3NjcmlwdD4KKyAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWls
YXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWls
YXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkZTBkNDU2OGZjYTY3MDIw
NWZmZWUyYTRkZTE4NDU2YmQyOTU0OGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwKQEAgLTAsMCArMSwxMzEg
QEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkdMU0wg
c2ltaWxhciBuYW1lcyBpc3N1ZTwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2Ny
aXB0PgorCis8c2NyaXB0IGlkPSJ2c2hhZGVyIiwgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgor
YXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfUG9z
aXRpb24gPSBhX3Bvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMSIs
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1
bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxp
c2lvbjJbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAg
ICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb25bMF0gKyB1X25hbWVDb2xsaXNpb24yWzBd
ICsgdV9uYW1lWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMiIsIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3Jt
IHZlYzQgdV9uYW1lQ29sbGlzaW9uMlsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb25b
Ml07Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9G
cmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb24yWzBdICsgdV9uYW1lQ29sbGlzaW9uWzBdICsgdV9u
YW1lWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMyIsIHR5cGU9Ingtc2hh
ZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQg
dV9uYW1lQ29sbGlzaW9uWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsKK3VuaWZvcm0gdmVj
NCB1X25hbWVDb2xsaXNpb24yWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29s
b3IgPSB1X25hbWVDb2xsaXNpb25bMF0gKyB1X25hbWVbMF0gKyB1X25hbWVDb2xsaXNpb24yWzBd
OworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyNCIsIHR5cGU9Ingtc2hhZGVyL3gt
ZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1l
Q29sbGlzaW9uMlsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVbMl07Cit1bmlmb3JtIHZlYzQgdV9u
YW1lQ29sbGlzaW9uWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1
X25hbWVDb2xsaXNpb24yWzBdICsgdV9uYW1lWzBdICsgdV9uYW1lQ29sbGlzaW9uWzBdOworfQor
PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyNSIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21l
bnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwor
dW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvblsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xs
aXNpb24yWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVb
MF0gKyB1X25hbWVDb2xsaXNpb25bMF0gKyB1X25hbWVDb2xsaXNpb24yWzBdOworfQorPC9zY3Jp
cHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyNiIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgor
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwordW5pZm9y
bSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9u
WzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVbMF0gKyB1
X25hbWVDb2xsaXNpb24yWzBdICsgdV9uYW1lQ29sbGlzaW9uWzBdOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUw
Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CisKK3Zh
ciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNh
bnZhcyIpOword3R1LnNldHVwVW5pdFF1YWQoZ2wpOworCitmb3IgKHZhciBpaSA9IDA7IGlpIDwg
NjsgKytpaSkgeworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRl
ciIsICJmc2hhZGVyIiArIChpaSArIDEpXSwgWyJhX3Bvc2l0aW9uIl0pOworICB2YXIgbG9jMSA9
IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9uYW1lWzBdIik7CisgIHZhciBsb2My
ID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X25hbWVDb2xsaXNpb25bMF0iKTsK
KyAgdmFyIGxvYzMgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfbmFtZUNvbGxp
c2lvbjJbMF0iKTsKKyAgZ2wudW5pZm9ybTRmdihsb2MxLCBbMSwgMCwgMCwgMF0pOworICBnbC51
bmlmb3JtNGZ2KGxvYzIsIFswLCAxLCAwLCAwXSk7CisgIGdsLnVuaWZvcm00ZnYobG9jMywgWzAs
IDAsIDAsIDFdKTsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBb
MjU1LCAyNTUsIDAsIDI1NV0sICJTaG91bGQgYmUgeWVsbG93Iik7Cit9CisKK2dsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBzaG91bGQgYmUgbm8gZXJyb3JzIik7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjFiZGMw
N2M3MjMwYjdlOTM2ZWU1MTFjMGJjYzBmYmU5Zjg5YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sCkBAIC0wLDAgKzEsMTE2IEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIENv
bmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idmVydGV4U2hhZGVyTm9WYXJ5
aW5nIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+Cit2b2lkIG1haW4oKQor
eworICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgwLDAsMCwwKTsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0idmVydGV4U2hhZGVyVW51c2VkVmFyeWluZyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90
LWphdmFzY3JpcHQiPgordmFyeWluZyB2ZWM0IHZfdmFyeWluZzsKKwordm9pZCBtYWluKCkKK3sK
KyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
aWQ9ImZyYWdtZW50U2hhZGVyVW51c2VkVmFyeWluZyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90
LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3ZhcnlpbmcgdmVjNCB2
X3Zhcnlpbmc7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLDAs
MCwwKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXJVc2VkVmFyeWlu
ZyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7CisKK3ZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisKK3ZvaWQgbWFpbigpCit7Cisg
ICAgZ2xfRnJhZ0NvbG9yID0gdl92YXJ5aW5nOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorLy8g
R0xTTCAxLjAuMTcgNC4zLjUKKyJ1c2Ugc3RyaWN0IjsKK0dMU0xDb25mb3JtYW5jZVRlc3Rlci5y
dW5UZXN0cyhbCisgIHsKKyAgICB2U2hhZGVySWQ6ICJ2ZXJ0ZXhTaGFkZXJOb1ZhcnlpbmciLAor
ICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJJZDogImZyYWdtZW50U2hhZGVy
VW51c2VkVmFyeWluZyIsCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nl
c3M6IHRydWUsCisgICAgcGFzc01zZzogInZlcnRleCBzaGFkZXIgd2l0aCBubyB2YXJ5aW5nIGFu
ZCBmcmFnbWVudCBzaGFkZXIgd2l0aCB1bnVzZWQgdmFyeWluZyBtdXN0IHN1Y2NlZWQiLAorICB9
LAorICB7CisgICAgdlNoYWRlcklkOiAidmVydGV4U2hhZGVyTm9WYXJ5aW5nIiwKKyAgICB2U2hh
ZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBmU2hhZGVySWQ6ICJmcmFnbWVudFNoYWRlclVzZWRWYXJ5
aW5nIiwKKyAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBsaW5rU3VjY2VzczogZmFsc2Us
CisgICAgcGFzc01zZzogInZlcnRleCBzaGFkZXIgd2l0aCBubyB2YXJ5aW5nIGFuZCBmcmFnbWVu
dCBzaGFkZXIgd2l0aCB1c2VkIHZhcnlpbmcgbXVzdCBmYWlsIiwKKyAgfSwKKyAgeworICAgIHZT
aGFkZXJJZDogInZlcnRleFNoYWRlclVudXNlZFZhcnlpbmciLAorICAgIHZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICAgIGZTaGFkZXJJZDogImZyYWdtZW50U2hhZGVyVW51c2VkVmFyeWluZyIsCisg
ICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFz
c01zZzogInZlcnRleCBzaGFkZXIgd2l0aCB1bnVzZWQgdmFyeWluZyBhbmQgZnJhZ21lbnQgc2hh
ZGVyIHdpdGggdW51c2VkIHZhcnlpbmcgbXVzdCBzdWNjZWVkIiwKKyAgfSwKKyAgeworICAgIHZT
aGFkZXJJZDogInZlcnRleFNoYWRlclVudXNlZFZhcnlpbmciLAorICAgIHZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICAgIGZTaGFkZXJJZDogImZyYWdtZW50U2hhZGVyVXNlZFZhcnlpbmciLAorICAg
IGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBhc3NN
c2c6ICJ2ZXJ0ZXggc2hhZGVyIHdpdGggdW51c2VkIHZhcnlpbmcgYW5kIGZyYWdtZW50IHNoYWRl
ciB3aXRoIHVzZWQgdmFyeWluZyBtdXN0IHN1Y2NlZWQiLAorICB9LAorXSk7Cit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMv
Z2wtcG9pbnRjb29yZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlYTc0NzExMTgwMjY3NWM5NDBiOTI0MzY5
MWQ3NzMxZjA5ZGUzNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2lu
dGNvb3JkLmh0bWwKQEAgLTAsMCArMSwxNjMgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorICA8dGl0bGU+Z2wtcG9pbnRjb29yZCBUZXN0PC90aXRsZT4KKyAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiLz4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+IDwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBs
ZSIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiPgorPC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgPHNjcmlwdCBpZD0idnNo
YWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IHZQb3Np
dGlvbjsKKyAgICB1bmlmb3JtIGZsb2F0IHVQb2ludFNpemU7CisgICAgdm9pZCBtYWluKCkKKyAg
ICB7CisgICAgICBnbF9Qb2ludFNpemUgPSB1UG9pbnRTaXplOworICAgICAgZ2xfUG9zaXRpb24g
PSB2UG9zaXRpb247CisgICAgfQorICA8L3NjcmlwdD4KKworICA8c2NyaXB0IGlkPSJmc2hhZGVy
IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9h
dDsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoCisg
ICAgICAgIGdsX1BvaW50Q29vcmQueCwKKyAgICAgICAgZ2xfUG9pbnRDb29yZC55LAorICAgICAg
ICAwLAorICAgICAgICAxKTsKKyAgICB9CisgIDwvc2NyaXB0PgorCisgIDxzY3JpcHQ+CisgICAg
InVzZSBzdHJpY3QiOworICAgIGRlc2NyaXB0aW9uKCJDaGVja3MgZ2xfUG9pbnRDb29yZCBhbmQg
Z2xfUG9pbnRTaXplIik7CisgICAgZGVidWcoIiIpOworCisgICAgLy8gTk9URTogSSdtIG5vdCAx
MDAlIGNvbmZpZGVudCBpbiB0aGlzIHRlc3QuIEkgdGhpbmsgaXQgaXMgY29ycmVjdC4KKworICAg
IHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCJleGFtcGxlIik7CisgICAgc2hvdWxkQmVOb25OdWxsKCJnbCIpOworICAgIHZhciBwcm9n
cmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiXSwgWyJ2UG9z
aXRpb24iXSk7CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsK
KworICAgIHZhciBjYW52YXMgPSBnbC5jYW52YXM7CisgICAgdmFyIHdpZHRoID0gY2FudmFzLndp
ZHRoOworICAgIHZhciBoZWlnaHQgPSBjYW52YXMuaGVpZ2h0OworICAgIHNob3VsZEJlKCJ3aWR0
aCIsICJoZWlnaHQiKTsKKworICAgIHZhciBtYXhQb2ludFNpemUgPSBnbC5nZXRQYXJhbWV0ZXIo
Z2wuQUxJQVNFRF9QT0lOVF9TSVpFX1JBTkdFKVsxXTsKKyAgICBzaG91bGRCZVRydWUoIm1heFBv
aW50U2l6ZSA+PSAxIik7CisgICAgLy8gVGhlIG1pbmltdW0gYW5kIG1heGltdW0gcG9pbnQgc2l6
ZXMgbWF5IGJlIGZsb2F0aW5nLXBvaW50IG51bWJlcnMuCisgICAgc2hvdWxkQmVUcnVlKCJNYXRo
LmZsb29yKG1heFBvaW50U2l6ZSkgPj0gMSIpOworICAgIG1heFBvaW50U2l6ZSA9IE1hdGguZmxv
b3IobWF4UG9pbnRTaXplKTsKKyAgICBzaG91bGRCZVRydWUoIm1heFBvaW50U2l6ZSAlIDEgPT0g
MCIpOworCisgICAgbWF4UG9pbnRTaXplID0gTWF0aC5taW4obWF4UG9pbnRTaXplLCA2NCk7Cisg
ICAgdmFyIHBvaW50V2lkdGggPSBtYXhQb2ludFNpemUgLyB3aWR0aDsKKyAgICB2YXIgcG9pbnRT
dGVwID0gTWF0aC5mbG9vcihtYXhQb2ludFNpemUgLyA0KTsKKyAgICB2YXIgcG9pbnRTdGVwID0g
TWF0aC5tYXgoMSwgcG9pbnRTdGVwKTsKKworICAgIHZhciBwb2ludFNpemVMb2MgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVQb2ludFNpemUiKTsKKyAgICBnbC51bmlmb3JtMWYo
cG9pbnRTaXplTG9jLCBtYXhQb2ludFNpemUpOworCisgICAgdmFyIHBpeGVsT2Zmc2V0ID0gKG1h
eFBvaW50U2l6ZSAlIDIpID8gKDEgLyB3aWR0aCkgOiAwOworICAgIHZhciB2ZXJ0ZXhPYmplY3Qg
PSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwg
dmVydGV4T2JqZWN0KTsKKyAgICBnbC5idWZmZXJEYXRhKAorICAgICAgICBnbC5BUlJBWV9CVUZG
RVIsCisgICAgICAgIG5ldyBGbG9hdDMyQXJyYXkoCisgICAgICAgICAgWy0wLjUgKyBwaXhlbE9m
ZnNldCwgLTAuNSArIHBpeGVsT2Zmc2V0LAorICAgICAgICAgICAgMC41ICsgcGl4ZWxPZmZzZXQs
IC0wLjUgKyBwaXhlbE9mZnNldCwKKyAgICAgICAgICAgLTAuNSArIHBpeGVsT2Zmc2V0LCAgMC41
ICsgcGl4ZWxPZmZzZXQsCisgICAgICAgICAgICAwLjUgKyBwaXhlbE9mZnNldCwgIDAuNSArIHBp
eGVsT2Zmc2V0XSksCisgICAgICAgIGdsLlNUQVRJQ19EUkFXKTsKKyAgICBnbC5lbmFibGVWZXJ0
ZXhBdHRyaWJBcnJheSgwKTsKKyAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDIsIGdsLkZM
T0FULCBmYWxzZSwgMCwgMCk7CisKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwg
Z2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlBPSU5UUywgMCwg
NCk7CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAiZ2wuTk9fRVJST1IiKTsKKworICAg
IGZ1bmN0aW9uIHMycChzKSB7CisgICAgICByZXR1cm4gKHMgKyAxLjApICogMC41ICogd2lkdGg7
CisgICAgfQorCisgICAgLy9mdW5jdGlvbiBwcmludCh4LCB5KSB7CisgICAgLy8gIHZhciBiID0g
bmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgLy8gIGdsLnJlYWRQaXhlbHMoeCwgeSwgMSwgMSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYik7CisgICAgLy8gIGRlYnVnKCIiICsgeCArICIsIiAr
IHkgKyAiOiAiICsgYlswXSArICIsIiArIGJbMV0gKyAiLCIgKyBiWzJdKTsKKyAgICAvL30KKyAg
ICAvLworICAgIC8vZm9yICh2YXIgaWkgPSAwOyBpaSA8IDEwMDsgKytpaSkgeworICAgIC8vICBw
cmludChpaSwgaWkpOworICAgIC8vfQorCisgICAgZm9yICh2YXIgcHkgPSAwOyBweSA8IDI7ICsr
cHkpIHsKKyAgICAgIGZvciAodmFyIHB4ID0gMDsgcHggPCAyOyArK3B4KSB7CisgICAgICAgIGRl
YnVnKCIiKTsKKyAgICAgICAgdmFyIHBvaW50WCA9IC0wLjUgKyBweCArIHBpeGVsT2Zmc2V0Owor
ICAgICAgICB2YXIgcG9pbnRZID0gLTAuNSArIHB5ICsgcGl4ZWxPZmZzZXQ7CisgICAgICAgIGZv
ciAodmFyIHl5ID0gMDsgeXkgPCBtYXhQb2ludFNpemU7IHl5ICs9IHBvaW50U3RlcCkgeworICAg
ICAgICAgIGZvciAodmFyIHh4ID0gMDsgeHggPCBtYXhQb2ludFNpemU7IHh4ICs9IHBvaW50U3Rl
cCkgeworICAgICAgICAgICAgLy8gZm9ybXVsYSBmb3IgcyBhbmQgdCBmcm9tIE9wZW5HTCBFUyAy
LjAgc3BlYyBzZWN0aW9uIDMuMworICAgICAgICAgICAgdmFyIHh3ID0gczJwKHBvaW50WCk7Cisg
ICAgICAgICAgICB2YXIgeXcgPSBzMnAocG9pbnRZKTsKKyAgICAgICAgICAgIC8vZGVidWcoInh3
OiAiICsgeHcgKyAiIHl3OiAiICsgeXcpOworICAgICAgICAgICAgdmFyIHUgPSB4eCAvIG1heFBv
aW50U2l6ZSAqIDIgLSAxOworICAgICAgICAgICAgdmFyIHYgPSB5eSAvIG1heFBvaW50U2l6ZSAq
IDIgLSAxOworICAgICAgICAgICAgdmFyIHhmID0gTWF0aC5mbG9vcihzMnAocG9pbnRYICsgdSAq
IHBvaW50V2lkdGgpKTsKKyAgICAgICAgICAgIHZhciB5ZiA9IE1hdGguZmxvb3IoczJwKHBvaW50
WSArIHYgKiBwb2ludFdpZHRoKSk7CisgICAgICAgICAgICAvL2RlYnVnKCJ4ZjogIiArIHhmICsg
IiB5ZjogIiArIHlmKTsKKyAgICAgICAgICAgIHZhciBzID0gMC41ICsgKHhmICsgMC41IC0geHcp
IC8gbWF4UG9pbnRTaXplOworICAgICAgICAgICAgdmFyIHQgPSAwLjUgKyAoeWYgKyAwLjUgLSB5
dykgLyBtYXhQb2ludFNpemU7CisgICAgICAgICAgICAvL2RlYnVnKCJzOiAiICsgcyArICIgdDog
IiArIHQpOworICAgICAgICAgICAgdmFyIGNvbG9yID0gW01hdGguZmxvb3IocyAqIDI1NSksIE1h
dGguZmxvb3IoKDEgLSB0KSAqIDI1NSksIDBdOworICAgICAgICAgICAgdmFyIG1zZyA9ICJwaXhl
bCAiICsgeGYgKyAiLCIgKyB5ZiArICIgc2hvdWxkIGJlICIgKyBjb2xvcjsKKyAgICAgICAgICAg
IHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIHhmLCB5ZiwgMSwgMSwgY29sb3IsIG1zZywgNCk7Cisg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorCisgICAgdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CisgIDwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5Yjk5NTg3Zjll
MjZkZTMwZTE3NmFiYWE0NTExMWZhYjFkMjE0OGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKwor
LyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiog
UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz
b24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0
aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo
LAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBN
YXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxz
IGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJz
dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMg
QVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBF
WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFN
QUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F
Q1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT
IElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlw
ZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tB
UEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iYXJnR2VuZXJhdG9ycy1BLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBz
cGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRv
bWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5j
dGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBp
biBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAg
ICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBj
b250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAg
ICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUp
IGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVz
dENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JU
ZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAg
ICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBP
YmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3Jj
XSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJn
c1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAg
ICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2Vu
ZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkK
KyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rp
b24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAg
ICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAg
IHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBj
YWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3Jr
OiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2Uo
YSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtu
YW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVl
ZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5n
LiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZm
ZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAg
ICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJn
cy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsi
KSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFu
dXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3Vu
dCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxl
ZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3Jp
cHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxi
b2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CMS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWZjYzc0Yzg4MjEyOWVhOTU4YzQxODlkMWMyMDI4MDdiYmM4MzE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sCkBA
IC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAv
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1CMS5qcyI+PC9zY3Jp
cHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVz
dCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yawor
Ly8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitU
ZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQg
PSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7Cisg
ICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlz
IG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBB
cmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAg
ICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBH
TCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQg
YXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3Ms
IGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2sp
IHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAg
IGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAg
ICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hl
Y2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBp
ZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAi
K25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9
KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFw
cGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0
IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBh
c3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihh
KXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAg
ICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7
fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBk
byBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFm
dGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1
cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2
YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qu
dG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsK
KyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNh
dGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7
CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNv
bHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ZWU5MDhiNDI3MTRkZWZmOTU1
ZTUyZDhhYTc1MmE1MzJlZjczOWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQjIuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFy
Z0dlbmVyYXRvcnMtQjIuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmll
ZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2Vu
ZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkg
eworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dl
bmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhy
b3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQi
KSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBh
bHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGlu
dWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQg
cmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5u
ZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAo
IWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50
b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10g
PSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBp
ZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQg
YXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAg
ICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXty
ZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAg
ICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2
OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3
aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFt
ZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpv
aW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFw
cGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNs
ZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxp
bmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFi
b3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2Vy
dE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChm
dW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7
IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJh
bmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUs
IGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxz
dHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8
L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUIzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mODcyYzlmNmIyMmIwZDJmNTliNGEyZjc5ZTlmNDRkYjVjNjg5NWYxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwKQEAgLTAsMCAr
MSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0
aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLUIzLmpzIj48L3NjcmlwdD4KKwor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQg
YWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVu
IGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRl
c3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsK
KyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlm
ICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2lu
ZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVy
YXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYg
KCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0
aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisg
ICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBz
ZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAg
ICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFs
cmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAg
ICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIg
b2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBh
c3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4u
Y2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsi
KCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4o
IiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2Vu
LCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVu
Y3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9r
KCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVy
biBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAg
ICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhl
cmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVz
dGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVl
Q2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFm
dGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJj
ZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdl
bi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAg
fSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkg
eworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9
CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308
L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRkY2FhMzdiNDQ4YzNkY2M3NmZjOTdkNzM1
NjZlYTUwYWRkYjkzNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CNC5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdo
dCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBo
ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK
KyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u
IGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdp
dGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBy
aWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0
ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0
bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQg
dG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisq
KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz
aGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u
cyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJB
UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJ
RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1F
UkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO
RlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI
VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBP
VEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUK
KyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklB
TFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy
ZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3Jp
cHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJh
dG9ycy1CNC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFy
Z0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQg
dmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZh
ciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9y
cykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3
IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAg
ICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlU
cmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAg
ICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21s
eSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdH
ZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5v
QWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNl
KGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7
CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhh
dmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFy
ZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNz
ZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBP
YmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5j
aGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAg
ICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFs
aWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIith
cmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIp
KyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0ws
IGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0
aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5k
ZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAg
ICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNs
ZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9u
KGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7Cisg
ICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVz
dENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1l
LCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNh
bnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDk0
NTU3ZDU5Y2Y5M2YwMzE3MDNlOGM3M2MzMzMwMzVhYzc0MDNjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbApAQCAtMCwwICsxLDg0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlj
a0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5j
dGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0
aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdz
ID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFy
IG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVd
KQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUg
V2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVd
OworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdl
bmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJh
bmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2Vu
ZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7
CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIg
c3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRB
cmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlU
cmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7
CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQg
dGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFs
aWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFw
KGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAor
ICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOwor
ICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtz
IHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91
bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRv
U291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2
ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlm
IHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAg
IC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3Jl
YXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisg
ICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUr
IigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2lu
KCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFs
dWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50
ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRl
c3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisK
Kzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwv
aGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
RF9HLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVjMjQzM2VhOTIyZjM5NmQ1YjU2NDdiZjBmNjg5YzVmMzk5
Yzc2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1E
X0cuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91
bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9
Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtRF9H
LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
PgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJh
dG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBh
cmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRv
bVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7Cisg
ICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3Io
bmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFy
IGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJn
cyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8g
dGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVy
YXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVu
Y3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5
VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7
CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAg
ICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2
YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlk
CisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZh
bGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50
b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJn
VmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8g
YXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdz
CisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFw
KGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAor
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7
IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1
cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1
ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBp
ZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcg
dXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0
dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAg
cmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQp
OworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1h
dEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bv
c2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNDFmYzlm
ODRkMzc4ZjBhMGE5NDI3MTQ1NTYxMjNiYTViZmUxODYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNr
Q2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1HX0kuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVu
Y3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdp
dGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJn
cyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZh
ciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1l
XSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhl
IFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1l
XTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5n
ZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCBy
YW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dl
bmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykg
eworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFy
IHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVk
QXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5
VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNl
OworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0
IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1Zh
bGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1h
cChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwK
KyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsK
KyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3Jr
cyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hv
dWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50
b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXty
diA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBp
ZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAg
ICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNy
ZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQor
ICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1l
KyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9p
bigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZh
bHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4u
dGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0
ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQor
Cis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8
L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUxfUy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0NDIwY2VlMWY4MDg3ZWRhYjYzZmQ5YzI4ZDU3NjE4YjE1
NTI2MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
TF9TLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4v
dW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLUxf
Uy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVy
YXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQg
YXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5k
b21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgewor
ICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9y
KG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZh
ciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFy
Z3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8v
IHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5l
cmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1
bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFk
eVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3Mp
OworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAg
ICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4g
dmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxp
ZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJW
YWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qu
dG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0Fy
Z1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8v
IGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJn
cworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1h
cChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwK
KyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3Mp
OyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0
dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVC
dWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAg
aWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5n
IHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3Jl
dHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAg
IHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50
KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3Jt
YXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3tw
b3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGIyOGVi
NDJlMzEwMjMyMTc1MzYxNjAzZDJjNTJlNjA2NGE2ZDMyMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbApAQCAtMCwwICsxLDg0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlj
a0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtU19WLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1
bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3
aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFy
Z3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2
YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFt
ZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRo
ZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFt
ZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4u
Z2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGgg
cmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdH
ZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMp
IHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZh
ciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmll
ZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFk
eVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxz
ZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhh
dCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdW
YWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5t
YXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIs
CisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7
CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29y
a3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNo
b3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qu
dG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7
cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8g
aWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAg
ICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5j
cmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkK
KyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFt
ZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpv
aW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5W
YWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2Vu
LnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAg
dGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30K
KworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgor
PC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJn
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY2NzZlNzc5MDViNDYxMzRhY2IwYmI5ZjMyODZjZDdhNGNhYjM1
MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5o
dG1sCkBAIC0wLDAgKzEsNzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQu
Y3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4v
dW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlw
dCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICB2YXIg
Y2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZhciBnbCA9IHdyYXBH
TENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICB2YXIgYnVmID0gZ2wuY3JlYXRlQnVm
ZmVyKCk7CisgIHZhciBlYnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIo
Z2wuQVJSQVlfQlVGRkVSLCBidWYpOworICBnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlf
QlVGRkVSLCBlYnVmKTsKKyAgcmV0dXJuIFtnbCwgYnVmLCBlYnVmXTsKK30KKworVGVzdHMudGVz
dEJ1ZmZlckRhdGEgPSBmdW5jdGlvbihnbCkgeworICAgIGFzc2VydE9rKCJ6ZXJvIHNpemUgZGF0
YSIsCisgICAgICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5l
dyBGbG9hdDMyQXJyYXkoMCksIGdsLlNUQVRJQ19EUkFXKTt9KTsKKyAgICBhc3NlcnRGYWlsKCJi
YWQgdGFyZ2V0IiwKKyAgICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLlRFWFRVUkVf
MkQsIG5ldyBGbG9hdDMyQXJyYXkoWzEsMiwzXSksIGdsLlNUQVRJQ19EUkFXKTt9KTsKKy8vICAg
IGFzc2VydEZhaWwoImFycmF5IGZvciBkYXRhIiwKKy8vICAgICAgICBmdW5jdGlvbigpe2dsLmJ1
ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBbMSwyLDNdLCBnbC5TVEFUSUNfRFJBVyk7fSk7Cisg
ICAgYXNzZXJ0RmFpbCgiYmFkIHVzYWdlIiwKKyAgICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJE
YXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbMSwyLDNdKSwgZ2wuVEVYVFVS
RV8yRCk7fSk7CisgICAgYXNzZXJ0RmFpbCgibnVsbCBkYXRhIiwKKyAgICAgICAgZnVuY3Rpb24o
KXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbnVsbCwgZ2wuU1RBVElDX0RSQVcpO30p
OworICAgIGFzc2VydEZhaWwoInVuZGVmaW5lZCBkYXRhIiwKKyAgICAgICAgZnVuY3Rpb24oKXtn
bC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdW5kZWZpbmVkLCBnbC5TVEFUSUNfRFJBVyk7
fSk7CisgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkVMRU1FTlRfQVJS
QVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7fSk7
CisgICAgdGhyb3dFcnJvcihnbCwgJ2J1ZmZlckRhdGEnKTsKKyAgICBnbC5iaW5kQnVmZmVyKGds
LkFSUkFZX0JVRkZFUiwgbnVsbCk7CisgICAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmJ1ZmZl
ckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsxLDIsM10pLCBnbC5TVEFU
SUNfRFJBVyk7fSk7CisgICAgdGhyb3dFcnJvcihnbCwgJ2J1ZmZlckRhdGEnKTsKKyAgICBnbC5i
aW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBudWxsKTsKKyAgICBhc3NlcnRGYWls
KGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgbmV3IFVp
bnQxNkFycmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgdGhyb3dFcnJvcihn
bCwgJ2J1ZmZlckRhdGEnKTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsLCBidWYs
IGVidWYpIHsKKyAgICBnbC5kZWxldGVCdWZmZXIoYnVmKTsKKyAgICBnbC5kZWxldGVCdWZmZXIo
ZWJ1Zik7Cit9CisKKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0
ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBo
ZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdl
MkQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNWE0ZjJmYzA2NmFmMWU1YzdkYzUyMzE4ZGUwMjkxMWI1OGI4
NTIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRt
bApAQCAtMCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5j
c3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91
bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94
LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBj
YW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdM
Q29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHJldHVybiBbZ2xdOworfQorCitUZXN0
cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7
CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgIHZhciB0ZXhDdWJlTWFw
ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVf
TUFQLCB0ZXhDdWJlTWFwKTsKKyAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBm
dW5jdGlvbihnbCx0ZXgsIHRleEN1YmVNYXApIHsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgbnVsbCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG51bGwp
OworICBnbC5kZWxldGVUZXh0dXJlKHRleCk7CisgIGdsLmRlbGV0ZVRleHR1cmUodGV4Q3ViZU1h
cCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgZ2wuY29w
eVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDEsMSwwKTsKKyAgZ2wu
Y29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDIsMSwwKTsKKyAg
Z2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDEsMiwwKTsK
KyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDE2LDE2
LDApOworICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxNSwx
NSwxLDEsMCk7CisgIHZhciB2YWxpZF90YXJnZXRzID0gWworICAgIGdsLlRFWFRVUkVfMkQsCisg
ICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfTkVHQVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAg
Z2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBf
UE9TSVRJVkVfWiwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKKyAgXTsKKyAg
dmFsaWRfdGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRPayhmdW5jdGlv
bigpe2dsLmNvcHlUZXhJbWFnZTJEKHQsIDAsIGdsLlJHQkEsIDAsMCwxLDEsMCk7fSk7CisgIH0p
OworfQorVGVzdHMudGVzdFJvdW5kdHJpcCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIHNoID0g
bmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7Cisg
ICAgZ2wuY2xlYXJDb2xvcigxLjAsIDAuMCwgMC4wLCAxLjApOworICAgIGdsLmNsZWFyKGdsLkNP
TE9SX0JVRkZFUl9CSVQpOworICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICBn
bC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAg
ICBhc3NlcnRFcXVhbHMoWzI1NSwwLDAsMjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1
ZlszXV0pOworICAgIC8vIHJlZCB0ZXh0dXJlCisgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDE2LDE2LDApOworICAgIGdsLnRleFBhcmFtZXRlcmko
Z2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNM
QU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVY
VFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVY
VFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLmNsZWFy
Q29sb3IoMC4wLCAwLjAsIDEuMCwgMS4wKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJf
QklUKTsKKyAgICAvLyBibHVlIGZyYW1lYnVmZmVyCisgICAgZ2wucmVhZFBpeGVscygwLDAsMSwx
LGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFswLDAs
MjU1LDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICBzaC5hcHBs
eSgpOyAvLyBwYWludCBpdCB3aXRoIHRleHR1cmUKKyAgICBnbC5yZWFkUGl4ZWxzKDAsMCwxLDEs
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICBhc3NlcnRFcXVhbHMoWzI1NSww
LDAsMjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXV0pOworICAgIHNoLmRlc3Ry
b3koKTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZmxpcC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRl
eCI+CithdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3Zhcnlp
bmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQo
VGV4LnMsIDEuMC1UZXgudCwgMC4wLCAwLjApOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0
ZXgsIDEuMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZyYWciIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZv
cm0gc2FtcGxlcjJEIFRleHR1cmU7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1h
aW4oKQoreworICAgIHZlYzQgYyA9IHRleHR1cmUyRChUZXh0dXJlLCB0ZXhDb29yZDAuc3QpOwor
ICAgIGdsX0ZyYWdDb2xvciA9IGM7Cit9Cis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7IHBvc2l0
aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3
aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I0ZGNjMjJlOWFl
MDAxNjI3MTg1ZjgxZWRmMWNhOTcyYjM4YTExZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTA5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0
YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2dsJyk7CisgICAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQo
Y2FudmFzKSk7CisgICAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24o
Z2wpIHsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUo
Z2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24g
PSBmdW5jdGlvbihnbCx0ZXgpIHsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVs
bCk7CisgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30KKworVGVzdHMudGVzdFRleEltYWdlMkQg
PSBmdW5jdGlvbihnbCkgeworICAgIGFzc2VydE9rKCJoZWlnaHQgPiBiYWNrSGVpZ2h0IiwgZnVu
Y3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgMCwwLCAxNywxLDApOworICAgIH0pOworICAgIGFzc2VydE9rKCJ3aWR0aCA+IGJhY2tX
aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIDAsMCwgMSwxNywwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieCAr
IHdpZHRoID4gYmFja1dpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMTYsMCwgMSwxLDApOworICAgIH0pOworICAg
IGFzc2VydE9rKCJ5ICsgaGVpZ2h0ID4gYmFja0hlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAg
IGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMTYsIDEsMSww
KTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygiTmVnYXRpdmUgWCIsIGZ1bmN0aW9uKCl7CisgICAg
ICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIC0xLDAsIDEs
MSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygiTmVnYXRpdmUgWSIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsLTEs
IDEsMSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRGYWlsKCJOZWdhdGl2ZSBoZWlnaHQiLCBmdW5j
dGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCAwLDAsIC0xLDEsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTmVnYXRpdmUgd2lk
dGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCAwLDAsIDEsLTEsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTm9u
IDAgYm9yZGVyIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxLDEsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFp
bCgiTmVnYXRpdmUgYm9yZGVyIixmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIDEsMSwtMSk7CisgICAgfSk7CisgICAg
YXNzZXJ0T2soIkdvb2QgQXJncyIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwgMTYsMTYsMCk7CisgICAgfSk7Cisg
ICAgYXNzZXJ0RmFpbCgiTlBPVCB0ZXh0dXJlIHRvID4gbGV2ZWwgMCIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDEsIGdsLlJHQkEsIDAsMCwg
MTUsMTYsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiQmFkIHRhcmdldCIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLkZMT0FULCAwLCBnbC5SR0JBLCAwLDAs
IDE2LDE2LDApOworICAgIH0pOworICAgIGFzc2VydEZhaWwoIkJhZCBpbnRlcm5hbCBmb3JtYXQi
LCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCBnbC5GTE9BVCwgMCwwLCAxNiwxNiwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRGYWlsKCJOZWdh
dGl2ZSBsZXZlbCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIC0xLCBnbC5SR0JBLCAwLDAsIDE2LDE2LDApOworICAgIH0pOworfQorCisKK1Rl
c3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52
YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMg
aWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkNTFiM2VhYjlj
YjQzYTllZmJiMTY2YjBhZmMzNjhhOGUwYzlkODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sCkBAIC0wLDAgKzEsMTQyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisK
Ky8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoq
IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy
c29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0
ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4g
dGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQg
bGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz
aCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg
TWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFs
cyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxT
IEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiog
RVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS
QU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVU
SE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERB
TUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFD
VCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05O
RUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H
UyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5
cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0
VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMp
KTsKKyAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAg
dmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgdGV4KTsKKyAgdmFyIHRleEN1YmVNYXAgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRleEN1YmVNYXApOworICByZXR1cm4g
W2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLHRleCx0ZXhDdWJlTWFwKSB7
CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICBnbC5iaW5kVGV4dHVy
ZShnbC5URVhUVVJFX0NVQkVfTUFQLCBudWxsKTsKKyAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOwor
ICBnbC5kZWxldGVUZXh0dXJlKHRleEN1YmVNYXApOworfQorCisKK1Rlc3RzLnRlc3RUZXhJbWFn
ZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgMCwwLDE2LDE2LDApOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLDAsIDAsMCwxLDEpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLDAsIDAsMCwyLDEpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLDAsIDAsMCwxLDIpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLDAsIDAsMCwxNiwxNik7CisgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIDAsMCwgMTUsMTUsMSwxKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgMSwxLCAwLDAsMTUsMTUpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCAxNSwxNSwgMCwwLDEsMSk7CisgIHZhciB2YWxpZF90YXJnZXRzID0g
WworICAgIGdsLlRFWFRVUkVfMkQsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9Y
LAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NV
QkVfTUFQX1BPU0lUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAor
ICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgICBnbC5URVhUVVJFX0NVQkVf
TUFQX05FR0FUSVZFX1oKKyAgXTsKKyAgdmFsaWRfdGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uKHQp
IHsKKyAgICBhc3NlcnRPayhmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRCh0
LCAwLCBnbC5SR0JBLCAwLDAsMSwxLDApOworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRCh0
LCAwLCAwLDAsMCwwLDEsMSk7CisgICAgfSk7CisgIH0pOworfQorVGVzdHMudGVzdFJvdW5kdHJp
cCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIHNoID0gbmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5
LWZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuY2xlYXJDb2xvcigxLjAsIDAu
MCwgMC4wLCAxLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIHZh
ciBidWYgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICBnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICBhc3NlcnRFcXVhbHMoWzI1NSwwLDAs
MjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXV0pOworICAgIC8vIHJlZCB0ZXh0
dXJlCisgICAgZ2wuY2xlYXJDb2xvcigwLjAsIDAuMCwgMC4wLCAwLjApOworICAgIGdsLmNsZWFy
KGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2dsJykpOworICAgIGdsLmNsZWFyQ29sb3IoMS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAg
ICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICBnbC5jb3B5VGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCAwLDAsMCwwLDE2LDE2KTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAg
ICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5D
TEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC5jbGVh
ckNvbG9yKDAuMCwgMC4wLCAxLjAsIDEuMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVS
X0JJVCk7CisgICAgLy8gYmx1ZSBmcmFtZWJ1ZmZlcgorICAgIGdsLnJlYWRQaXhlbHMoMCwwLDEs
MSxnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIGFzc2VydEVxdWFscyhbMCww
LDI1NSwyNTVdLCBbYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXSk7CisgICAgc2guYXBw
bHkoKTsgLy8gcGFpbnQgd2l0aCB0ZXh0dXJlCisgICAgZ2wucmVhZFBpeGVscygwLDAsMSwxLGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFsyNTUsMCww
LDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICBzaC5kZXN0cm95
KCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4K
KzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZsaXAtdmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgi
PgorYXR0cmlidXRlIHZlYzMgVmVydGV4OworYXR0cmlidXRlIHZlYzIgVGV4OworCit2YXJ5aW5n
IHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KFRl
eC5zLCAxLjAtVGV4LnQsIDAuMCwgMC4wKTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4
LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mcmFnIiB0eXBlPSJ4
LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit1bmlmb3Jt
IHNhbXBsZXIyRCBUZXh0dXJlOworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWlu
KCkKK3sKKyAgICB2ZWM0IGMgPSB0ZXh0dXJlMkQoVGV4dHVyZSwgdGV4Q29vcmQwLnN0KTsKKyAg
ICBnbF9GcmFnQ29sb3IgPSBjOworfQorPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlv
bjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lk
dGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyYzQ3NGM1
NTQwOTVlMTJmNzI1ZmJhY2ZjOTk4YjA4ZmU3M2IyMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDExMSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitU
ZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xD
b250ZXh0KGNhbnZhcykpOworICAgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1
bmN0aW9uKGdsKSB7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5i
aW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIHJldHVybiBbZ2xdCit9CisKK1Rl
c3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsdGV4KSB7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wu
VEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworfQorCitUZXN0
cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgZ2wuY29weVRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxNiwxNiwgMCk7CisgICAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIndpZHRoID4gZHN0IHRleCB3aWR0aCIsIGZ1bmN0
aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAs
MCwgMCwwLCAxNywxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElE
X1ZBTFVFLCAiaGVpZ2h0ID4gZHN0IHRleCBoZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBn
bC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwgMSwxNyk7Cisg
ICAgfSk7CisgICAgLy8gVGhlIHNwZWMgc2F5cyB0aGUgc291cmNlIGltYWdlIGRpbWVuc2lvbnMg
Y2FuIGJlIG91dCBvZiByYW5nZS4KKyAgICBhc3NlcnRPaygieCA+IGRzdCB0ZXggd2lkdGgiLCBm
dW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCAwLDAsIDE2LDAsIDEsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInkgPiBkc3QgdGV4IHdp
ZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgMCwwLCAwLDE2LCAxLDEpOworICAgIH0pOworICAgIGFzc2VydE9rKCJ4IDwgMCIs
IGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIDAsMCwgLTEsMCwgMSwxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieSA8IDAiLCBmdW5j
dGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAw
LDAsIDAsLTEsIDEsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9WQUxVRSwgIndpZHRoIDwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAtMSwxKTsKKyAgICB9KTsKKyAgICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiaGVpZ2h0IDwgMCIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwg
MCwwLCAxLC0xKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZB
TFVFLCAieG9mZnNldCA8IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCAtMSwwLCAwLDAsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAieW9mZnNldCA8IDAiLCBmdW5jdGlv
bigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLC0x
LCAwLDAsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieCA8IDAgZnVsbCB3aWR0aCIs
IGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIDAsMCwgLTEsMCwgMTYsMTYpOworICAgIH0pOworICAgIGFzc2VydE9rKCJ5IDwgMCBmdWxs
IGhlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIDAsMCwgMCwtMSwgMTYsMTYpOworICAgIH0pOworICAgIGFzc2VydE9rKGZ1
bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IDAsMCwgMCwwLCAxNiwxNik7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9FTlVNLCAiYmFkIHRhcmdldCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhT
dWJJbWFnZTJEKGdsLkZMT0FULCAwLCAwLDAsIDAsMCwgMTYsMTYpOworICAgIH0pOworICAgIGFz
c2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICIiLCBmdW5jdGlvbigpeworICAgICAg
ICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAtMSwgMCwwLCAwLDAsIDE2LDE2
KTsKKyAgICB9KTsKK30KKworCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKwor
PC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8
L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2Nh
bnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVC
dWZmZXJCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZWUwY2JjMDFkODhkYzJiOGZhNzIxYjI2ZGFhZjU2ODFiNDU4MTYyOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRt
bApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNz
cyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3Vu
aXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNh
bnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSBnZXRHTENv
bnRleHQoY2FudmFzKTsKKyAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnRlc3REZWxldGVCdWZm
ZXIgPSBmdW5jdGlvbihnbCkgeworICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgIm51bWJlciAi
LCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoMSk7IH0pOworICBhc3NlcnRHTEVycm9yKGds
LCBnbC5OT19FUlJPUiwgIm51bGwiLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIobnVsbCk7
IH0pOworICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgIjAiLCBmdW5jdGlvbigpeyBnbC5kZWxl
dGVCdWZmZXIoMCk7IH0pOworICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgImZhbHNlIiwgZnVu
Y3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKGZhbHNlKTsgfSk7CisgIGFzc2VydFRocm93Tm9HTEVy
cm9yKGdsLCAidHJ1ZSIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcih0cnVlKTsgfSk7Cisg
IGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAie30iLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZm
ZXIoe30pOyB9KTsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgYXNzZXJ0VGhy
b3dOb0dMRXJyb3IoZ2wsICJ0ZXggYXMgYnVmIiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVy
KHRleCk7IH0pOworICB2YXIgYnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGFzc2VydE9rKGZ1
bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcihidWYpOyB9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24o
KXsgZ2wuZGVsZXRlQnVmZmVyKGJ1Zik7IH0pOworICBhc3NlcnRPayhmdW5jdGlvbigpeyBnbC5k
ZWxldGVCdWZmZXIoYnVmKTsgfSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZVRl
eHR1cmUodGV4KTsgfSk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQor
Cis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4K
KzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwv
Y2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdB
cnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
YTVjMWQ4ZGUyZWQ5YjlmN2M2YTA4ZDBiMzJhOTQ3Y2MyMTA2ZmQyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sCkBAIC0wLDAgKzEsMTM1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK3ZhciB2ZXJ0
cyA9IFswLjAsIDAuMCwgMC4wLCAgIDEuMCwgMC4wLCAwLjAsICAgMC4wLCAxLjAsIDAuMF07Cit2
YXIgbm9ybWFscyA9IFswLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjAsICAgMC4wLCAwLjAs
IDEuMF07Cit2YXIgdGV4Y29vcmRzID0gWzAuMCwwLjAsICAxLjAsMC4wLCAgMC4wLDEuMF07CisK
K1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29u
dGV4dChjYW52YXMpKTsKKyAgdmFyIHByb2cgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFn
Jyk7CisgIHByb2cudXNlKCk7CisgIHZhciBzaCA9IHByb2cuc2hhZGVyLnByb2dyYW07CisvLyAg
IGxvZyhnbC5nZXRTaGFkZXJJbmZvTG9nKHByb2cuc2hhZGVyc1sxXSkpOworICB2YXIgdiA9IGds
LmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnVmVydGV4Jyk7CisgIHZhciBuID0gZ2wuZ2V0QXR0cmli
TG9jYXRpb24oc2gsICdOb3JtYWwnKTsKKyAgdmFyIHQgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihz
aCwgJ1RleCcpOworICByZXR1cm4gW2dsLHByb2csdixuLHRdOworfQorCitUZXN0cy5zZXR1cCA9
IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBhc3NlcnQoMCA9PSBnbC5nZXRFcnJvcigp
KTsKKyAgcmV0dXJuIFtnbCwgcHJvZywgdixuLHRdOworfQorVGVzdHMudGVhcmRvd24gPSBmdW5j
dGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHYp
OworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmRpc2FibGVWZXJ0ZXhB
dHRyaWJBcnJheSh0KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2
LG4sdCkgeworICBwcm9nLmRlc3Ryb3koKTsKK30KKworVGVzdHMudGVzdERyYXdBcnJheXNWQk8g
PSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsIHtz
aXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30pOworICB2Ym8uZHJhdyh2KTsKKyAgYXNzZXJ0KDAg
PT0gY2hlY2tFcnJvcihnbCwgInZiby5kcmF3IikpOworICBhc3NlcnRPayhmdW5jdGlvbigpe2ds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA1LCAxKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24o
KXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0
aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpO30pOworICBhc3NlcnRPayhm
dW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA1KTt9KTsKKyAgdmJvLmRl
c3Ryb3koKTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kZXN0cm95IikpOwor
fQorCitUZXN0cy50ZXN0RHJhd0FycmF5c1ZCT011bHRpID0gZnVuY3Rpb24oZ2wsIHByb2csIHYs
bix0KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhlIHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVt
IHdpdGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRlciBhbmQgY2FsbHMgZHJhd0FycmF5cworICB2
YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAor
ICAgIHtzaXplOjMsIGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAgICB7c2l6ZToyLCBkYXRhOlF1YWQu
dGV4Y29vcmRzfSk7CisgIHZiby5kcmF3KHYsIG4sIHQpOworICBhc3NlcnQoMCA9PSBjaGVja0Vy
cm9yKGdsLCAidmJvLmRyYXciKSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDUsIDEpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5k
cmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDUpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0
aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDYpO30pOworICBhc3NlcnRGYWls
KGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDYsIDEpO30pOworICBnbC5i
aW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvLnZib3NbMV0pOworICBnbC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGFzc2VydE9rKGZ1bmN0
aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDUsIDEpO30pOworICBhc3NlcnRPayhm
dW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAyKTt9KTsKKyAgYXNzZXJ0
T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7fSk7CisgIGFz
c2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDUpO30pOwor
ICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDYp
O30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDYsIDEpO30pOworICB2Ym8uZGVzdHJveSgpOworICBhc3NlcnQoMCA9PSBjaGVja0Vycm9yKGds
LCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0
eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgIGF0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKKyAgYXR0
cmlidXRlIHZlYzMgTm9ybWFsOworICBhdHRyaWJ1dGUgdmVjMiBUZXg7CisKKyAgdmFyeWluZyB2
ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX1Bvc2l0aW9uID0gdmVj
NChWZXJ0ZXggKiBOb3JtYWwsIDEuMCk7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgsMC4wLDAu
MCkgKyBnbF9Qb3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnIiB0eXBl
PSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAg
dmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIHZlYzQgYyA9
IHRleENvb3JkMDsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworICB9Cis8L3NjcmlwdD4KKworCis8
c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+
CisgIDxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2NhbnZhcz4KKzwvYm9k
eT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3Vu
ZHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU0M2VlODU3Njc0MDkwOGNiMTAwMGFmNGVmMmE2Zjg3NmU5ODgxNDQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbApAQCAt
MCwwICsxLDMwNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9
Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQiPgorCit2YXIgdmVydHMgPSBbMC4wLCAwLjAsIDAuMCwgICAxLjAsIDAuMCwgMC4wLCAg
IDAuMCwgMS4wLCAwLjBdOwordmFyIG5vcm1hbHMgPSBbMC4wLCAwLjAsIDEuMCwgICAwLjAsIDAu
MCwgMS4wLCAgIDAuMCwgMC4wLCAxLjBdOwordmFyIHRleGNvb3JkcyA9IFswLjAsMC4wLCAgMS4w
LDAuMCwgIDAuMCwxLjBdOworCit2YXIgdmVydHNBID0gbmV3IEZsb2F0MzJBcnJheSh2ZXJ0cyk7
Cit2YXIgbm9ybWFsc0EgPSBuZXcgRmxvYXQzMkFycmF5KG5vcm1hbHMpOwordmFyIHRleGNvb3Jk
c0EgPSBuZXcgRmxvYXQzMkFycmF5KHRleGNvb3Jkcyk7CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1
bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcp
OworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgdmFy
IHByb2cgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFnJyk7CisgIHByb2cudXNlKCk7Cisg
IHZhciB2ID0gcHJvZy5hdHRyaWIoJ1ZlcnRleCcpOworICB2YXIgbiA9IHByb2cuYXR0cmliKCdO
b3JtYWwnKTsKKyAgdmFyIHQgPSBwcm9nLmF0dHJpYignVGV4Jyk7CisgIHJldHVybiBbZ2wscHJv
Zyx2LG4sdF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7
CisgIHJldHVybiBbZ2wsIHByb2csIHYsbix0XTsKK30KK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rp
b24oZ2wsIHByb2csIHYsbix0KSB7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsK
KyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOworICBnbC5kaXNhYmxlVmVydGV4QXR0
cmliQXJyYXkodCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCwgcHJvZywgdixu
LHQpIHsKKyAgcHJvZy5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzRW1wdHkg
PSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFyIGIgPSBnbC5jcmVhdGVCdWZmZXIo
KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGIpOworICBnbC5idWZmZXJEYXRh
KGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbXSksIGdsLlNUQVRJQ19EUkFXKTsK
KyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZM
T0FULCBmYWxzZSwgMCwgMCk7fSkKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7Cisg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiemVybyBzaXplIGFycmF5
IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEpO30p
OworICBnbC5kZWxldGVCdWZmZXIoYik7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzT3V0T2ZC
b3VuZHMgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFyIGIgPSBnbC5jcmVhdGVC
dWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGIpOworICBnbC5idWZm
ZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbXSksIGdsLlNUQVRJQ19E
UkFXKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMs
IGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7fSk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5
KHYpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6
ZSBhcnJheSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAw
LCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ6ZXJv
IHNpemUgYXJyYXkgMTAwMDAiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgMCwgMTAwMDApO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgInplcm8gc2l6ZSBhcnJheSAxMDAwMDAwMDAwMDAwMCIsCisgICAgICBmdW5jdGlv
bigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxMDAwMDAwMDAwMDAwMCk7fSk7Cisg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiemVybyBzaXplIGFycmF5
IGZyYWN0aW9uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDAsIDEuNik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdh
dGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xF
UywgMCwgLTEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwg
ImNvdW50IG91dCBvZiByYW5nZSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wu
VFJJQU5HTEVTLCAwLCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDAsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgInBvc2l0aXZlIGNvdW50LCBuZWdhdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgLTEsIDEpO30pOworICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgY291bnQsIHBvc2l0aXZlIG9mZnNldCIsCisg
ICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCAtMSk7fSk7Cisg
IGdsLmRlbGV0ZUJ1ZmZlcihiKTsKK30KKworCitUZXN0cy50ZXN0RHJhd0FycmF5c1dpdGhEYXRh
T3V0T2ZCb3VuZHMgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFyIGIgPSBnbC5j
cmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGIpOworICBn
bC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdmVydHNBLCBnbC5TVEFUSUNfRFJBVyk7Cisg
IGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAg
Z2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklO
VkFMSURfT1BFUkFUSU9OLCAiMyBlbGVtZW50IGFycmF5IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBn
bC5JTlZBTElEX09QRVJBVElPTiwgIjMgZWxlbWVudCBhcnJheSAxMDAwMCIsCisgICAgICBmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxMDAwMCk7fSk7CisgIGFzc2Vy
dEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMyBlbGVtZW50IGFycmF5IDEwMDAw
MDAwMDAwMDAwIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDAsIDEwMDAwMDAwMDAwMDAwKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICJmcmFjdGlvbmFsIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDMsIDEuNik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklO
VkFMSURfVkFMVUUsICJuZWdhdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgLTEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwgImNvdW50IG91dCBvZiByYW5nZSIsCisgICAgICBmdW5jdGlvbigp
e2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA0KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihn
bCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihn
bCwgZ2wuSU5WQUxJRF9WQUxVRSwgInBvc2l0aXZlIGNvdW50LCBuZWdhdGl2ZSBvZmZzZXQiLAor
ICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgLTEsIDIpO30pOwor
ICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgY291bnQsIHBv
c2l0aXZlIG9mZnNldCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5H
TEVTLCAxLCAtMSk7fSk7CisgIGdsLmRlbGV0ZUJ1ZmZlcihiKTsKK30KKworVGVzdHMudGVzdERy
YXdBcnJheXNNdWx0aU91dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7Cisg
IHZhciBicyA9IFtdOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wuYmluZEJ1
ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0xXSk7CisgIGdsLmJ1ZmZlckRhdGEo
Z2wuQVJSQVlfQlVGRkVSLCB2ZXJ0c0EsIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wudmVydGV4QXR0
cmliUG9pbnRlcih2LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBicy5wdXNoKGdsLmNy
ZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxl
bmd0aC0xXSk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBub3JtYWxzQSwgZ2wu
U1RBVElDX0RSQVcpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBm
YWxzZSwgMCwgMCk7CisgIGJzLnB1c2goZ2wuY3JlYXRlQnVmZmVyKCkpOworICBnbC5iaW5kQnVm
ZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbYnMubGVuZ3RoLTFdKTsKKyAgZ2wuYnVmZmVyRGF0YShn
bC5BUlJBWV9CVUZGRVIsIHRleGNvb3Jkc0EsIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wudmVydGV4
QXR0cmliUG9pbnRlcih0LCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVW
ZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkobik7Cisg
IGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDEiLAorICAgICAgZnVuY3Rpb24oKXtnbC5k
cmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywgMik7fSk7CisgIGJzLnB1c2goZ2wuY3JlYXRlQnVm
ZmVyKCkpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbYnMubGVuZ3RoLTFd
KTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkodmVy
dHMuY29uY2F0KHZlcnRzKSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgYnMucHVzaChnbC5jcmVhdGVC
dWZmZXIoKSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1ticy5sZW5ndGgt
MV0pOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheSh0
ZXhjb29yZHMuY29uY2F0KHRleGNvb3JkcykpLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1
ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihu
LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JV
RkZFUiwgYnNbMl0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHQsIDIsIGdsLkZMT0FULCBm
YWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5lbmFi
bGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodCk7
CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJyYXkg
MiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAzLCAyKTt9
KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJh
eSAzIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDQsIDIp
O30pOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMF0pOworICBnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRC
dWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1szXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
biwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIGJzWzJdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0LCAyLCBnbC5GTE9BVCwg
ZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZW5h
YmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHQp
OworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5
IDQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywgMik7
fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJy
YXkgNSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA0LCAy
KTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzBdKTsKKyAgZ2wudmVy
dGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5k
QnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMV0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCBic1s0XSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodCwgMiwgZ2wuRkxPQVQs
IGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmVu
YWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0
KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJh
eSA2IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIp
O30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFy
cmF5IDciLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywg
Mik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1szXSk7CisgIGdsLnZl
cnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmlu
ZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzNdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRl
cihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZ
X0JVRkZFUiwgYnNbMl0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHQsIDIsIGdsLkZMT0FU
LCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5l
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXko
dCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJy
YXkgOCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA0LCAx
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNv
dW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIC0xLCAy
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ6ZXJvIGNv
dW50Pz8/IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAs
IDQpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRp
IGFycmF5IDkiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywg
MSwgNCk7fSk7CisgIGJzLmZvckVhY2goZnVuY3Rpb24oYil7IGdsLmRlbGV0ZUJ1ZmZlcihiKSB9
KTsKK30KKworCitUZXN0cy50ZXN0RHJhd0FycmF5c1ZCT091dE9mQm91bmRzID0gZnVuY3Rpb24o
Z2wsIHByb2csIHYsbix0KSB7CisgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLCB7c2l6ZTozLCBkYXRh
OlF1YWQudmVydGljZXN9KTsKKyAgdmJvLnVzZSh2KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04sICIxIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDYsIDEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZB
TFVFLCAibmVnYXRpdmUgY291bnQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMiwgLTEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgIjMiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xF
UywgMCwgNyk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAi
NCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA2KTt9
KTsKKyAgdmJvLmRlc3Ryb3koKTsKK30KKworVGVzdHMudGVzdERyYXdBcnJheXNWQk9NdWx0aU91
dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIC8vIGNyZWF0ZXMgVkJP
cyBmb3IgdGhlIHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAgLy8gdmVydGV4QXR0cmli
UG9pbnRlciBhbmQgY2FsbHMgZHJhd0FycmF5cworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAg
ICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAgIHtzaXplOjMsIGRhdGE6UXVhZC5u
b3JtYWxzfSwKKyAgICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSk7CisgIHZiby51c2Uo
diwgbiwgdCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMSIs
CisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA2LCAxKTt9KTsK
KyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwK
KyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDIsIC0xKTt9KTsK
KyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICIyIiwKKyAgICAgIGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDcpO30pOworICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMiLAorICAgICAgZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNik7fSk7CisgIHZiby5kZXN0cm95KCk7Cit9
CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzT09CU2hhZGVySnVnZ2xlID0gZnVuY3Rpb24oZ2wsIHBy
b2csIHYsbix0KSB7CisgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLAorICAgIHtzaXplOjMsIGRhdGE6
WzAsMCwwXX0sCisgICAge3NpemU6MywgZGF0YTpbMCwwLDAsMCwwLDBdfSk7CisgIHZiby5pbml0
KCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJvc1swXSk7CisgIGds
LnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wu
ZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFM
SURfT1BFUkFUSU9OLCAib2Zmc2V0IHRvbyBiaWciLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIHZhciBzaDIgPSBuZXcgU2hhZGVyKGds
LCAndmVydCcsICdmcmFnJyk7CisgIHNoMi51c2UoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihzaDIuYXR0
cmliKCdWZXJ0ZXgnKSwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVy
dGV4QXR0cmliQXJyYXkoc2gyLmF0dHJpYignVmVydGV4JykpOworICBhc3NlcnRPayhmdW5jdGlv
bigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJvZmZzZXQgdG9vIGJpZyAyIiwKKyAgICAgIGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMpO30pOworICBwcm9nLnVz
ZSgpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHByb2cuYXR0cmliKCdWZXJ0ZXgnKSwgMywg
Z2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkocHJv
Zy5hdHRyaWIoJ1ZlcnRleCcpKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAib2Zmc2V0IHRvbyBiaWcgMyIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTt9KTsKKyAgc2gyLmRlc3Ryb3koKTsKK30KKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgIGF0
dHJpYnV0ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZlYzMgTm9ybWFsOworICBhdHRyaWJ1
dGUgdmVjMiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkK
KyAgeworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXggKiBOb3JtYWwsIDEuMCk7CisgICAg
dGV4Q29vcmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Qb3NpdGlvbjsKKyAgfQorPC9zY3Jp
cHQ+Cis8c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgcHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9p
ZCBtYWluKCkKKyAgeworICAgIGdsX0ZyYWdDb2xvciA9IHRleENvb3JkMDsKKyAgfQorPC9zY3Jp
cHQ+CisKKworPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9o
ZWFkPjxib2R5PgorICA8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+PC9jYW52
YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1l
bnRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MDE2ODVkYWE2ZDZlODk5MWQ1MDMxZWNiOTFkMDgyNjVhN2U0MzY1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKQEAgLTAsMCArMSwxNDMgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKwordmFyIHZl
cnRzID0gWzAuMCwgMC4wLCAwLjAsICAgMS4wLCAwLjAsIDAuMCwgICAwLjAsIDEuMCwgMC4wXTsK
K3ZhciBub3JtYWxzID0gWzAuMCwgMC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMCwgICAwLjAsIDAu
MCwgMS4wXTsKK3ZhciB0ZXhjb29yZHMgPSBbMC4wLDAuMCwgIDEuMCwwLjAsICAwLjAsMS4wXTsK
K3ZhciBpbmRpY2VzID0gWzAsMSwyXQorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7
CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGds
ID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHZhciBwcm9nID0gbmV3
IFNoYWRlcihnbCwgJ3ZlcnQnLCAnZnJhZycpOworICBwcm9nLnVzZSgpOworICB2YXIgc2ggPSBw
cm9nLnNoYWRlci5wcm9ncmFtOworICB2YXIgdiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAn
VmVydGV4Jyk7CisgIHZhciBuID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdOb3JtYWwnKTsK
KyAgdmFyIHQgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ1RleCcpOworICByZXR1cm4gW2ds
LHByb2csdixuLHRdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4s
dCkgeworICBhc3NlcnQoMCA9PSBnbC5nZXRFcnJvcigpKTsKKyAgcmV0dXJuIFtnbCwgcHJvZywg
dixuLHRdOworfQorVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsK
KyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5kaXNhYmxlVmVydGV4QXR0
cmliQXJyYXkobik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKK30KKworVGVz
dHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBwcm9nLmRlc3Ryb3ko
KTsKK30KKworVGVzdHMudGVzdERyYXdFbGVtZW50c1ZCTyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2
LG4sdCkgeworICAgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLAorICAgICAgICAgICAgICAgICAgICAg
ICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAgICAgICAgICAgICAgICAgICAgICB7
ZWxlbWVudHM6dHJ1ZSwgZGF0YTpRdWFkLmluZGljZXN9KTsKKyAgdmJvLmRyYXcodik7CisgIGFz
c2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRyYXciKSk7CisgIGFzc2Vy
dE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdO
RURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRz
KGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDAqMik7fSk7CisgIGFzc2VydE9r
KGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMCwgZ2wuVU5TSUdORURf
U0hPUlQsIDIqMSk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7CisgIHZiby5kZXN0cm95
KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3ki
KSk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk9NdWx0aSA9IGZ1bmN0aW9uKGdsLCBw
cm9nLCB2LG4sdCkgeworICAvLyBjcmVhdGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFycmF5cywgYmlu
ZHMgdGhlbSB3aXRoCisgIC8vIHZlcnRleEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxzIGRyYXdFbGVt
ZW50cworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6
MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0
YTpRdWFkLm5vcm1hbHN9LAorICAgICAgICAgICAgICAgICAgICB7c2l6ZToyLCBkYXRhOlF1YWQu
dGV4Y29vcmRzfSwKKyAgICAgICAgICAgICAgICAgICAge2VsZW1lbnRzOnRydWUsIGRhdGE6UXVh
ZC5pbmRpY2VzfSk7CisgIHZiby5kcmF3KHYsIG4sIHQpOworICBhc3NlcnQoZ2wuTk9fRVJST1Ig
PT0gY2hlY2tFcnJvcihnbCwgInZiby5kcmF3IikpOworICBhc3NlcnRPayhmdW5jdGlvbigpe2ds
LmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30p
OworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDAs
IGdsLlVOU0lHTkVEX1NIT1JULCAyKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRy
YXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKjIpO30pOwor
ICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGds
LlVOU0lHTkVEX1NIT1JULCA1KjIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElE
X09QRVJBVElPTiwgImNvdW50ICsgb2Zmc2V0IG91dCBvZiByYW5nZSIsCisgICAgICBmdW5jdGlv
bigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA2
KjIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50
ICsgb2Zmc2V0IG91dCBvZiByYW5nZSAyIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1l
bnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIGdsLmJp
bmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBudWxsKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBn
bC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3Nl
cnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDAsIGdsLlVOU0lH
TkVEX1NIT1JULCAyKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKjIpO30pOworICBhc3NlcnRP
ayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVE
X1NIT1JULCA1KjIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElP
TiwgImNvdW50ICsgb2Zmc2V0IG91dCBvZiByYW5nZSAzIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wu
ZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDYqMik7fSk7
CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiY291bnQgKyBvZmZz
ZXQgb3V0IG9mIHJhbmdlIDQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgdmJvLmRlc3Ryb3ko
KTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIp
KTsKK30KKworCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnQiIHR5cGU9Ingtc2hhZGVyL3gt
dmVydGV4Ij4KKyAgYXR0cmlidXRlIHZlYzMgVmVydGV4OworICBhdHRyaWJ1dGUgdmVjMyBOb3Jt
YWw7CisgIGF0dHJpYnV0ZSB2ZWMyIFRleDsKKworICB2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwor
ICB2b2lkIG1haW4oKQorICB7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRleCAqIE5vcm1h
bCwgMS4wKTsKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KFRleCwwLjAsMC4wKSArIGdsX1Bvc2l0aW9u
OworICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWciIHR5cGU9Ingtc2hhZGVyL3gtZnJh
Z21lbnQiPgorICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworICB2YXJ5aW5nIHZlYzQgdGV4
Q29vcmQwOworICB2b2lkIG1haW4oKQorICB7CisgICAgdmVjNCBjID0gdGV4Q29vcmQwOworICAg
IGdsX0ZyYWdDb2xvciA9IGM7CisgIH0KKzwvc2NyaXB0PgorCisKKzxzdHlsZT5jYW52YXN7IHBv
c2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKyAgPGNhbnZhcyBpZD0i
Z2wiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTAyYjZmNDlmYjQw
OGZkYTUwZDY5ZWIwMmI4OWVjOWVhNjgzYmY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMjA5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisK
Ky8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoq
IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy
c29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0
ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4g
dGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQg
bGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz
aCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg
TWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFs
cyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxT
IEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiog
RVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS
QU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVU
SE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERB
TUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFD
VCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05O
RUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H
UyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5
cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3RzLmF1
dG9ydW4gPSBmYWxzZTsKKy8vIFRlc3RzLm1lc3NhZ2UgPSAiQ2F1dGlvbjogTWF5IGNyYXNoIHlv
dXIgYnJvd3NlciI7CisKK3ZhciB2ZXJ0cyA9IFswLjAsIDAuMCwgMC4wLCAgIDEuMCwgMC4wLCAw
LjAsICAgMC4wLCAxLjAsIDAuMF07Cit2YXIgbm9ybWFscyA9IFswLjAsIDAuMCwgMS4wLCAgIDAu
MCwgMC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMF07Cit2YXIgdGV4Y29vcmRzID0gWzAuMCwwLjAs
ICAxLjAsMC4wLCAgMC4wLDEuMF07Cit2YXIgaW5kaWNlcyA9IFs2MDAwMDAwMCwxLDJdCisKK1Rl
c3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4
dChjYW52YXMpKTsKKyAgdmFyIHByb2cgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFnJyk7
CisgIHByb2cudXNlKCk7CisgIHZhciBzaCA9IHByb2cuc2hhZGVyLnByb2dyYW07CisgIHZhciB2
ID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdWZXJ0ZXgnKTsKKyAgdmFyIG4gPSBnbC5nZXRB
dHRyaWJMb2NhdGlvbihzaCwgJ05vcm1hbCcpOworICB2YXIgdCA9IGdsLmdldEF0dHJpYkxvY2F0
aW9uKHNoLCAnVGV4Jyk7CisgIHJldHVybiBbZ2wscHJvZyx2LG4sdF07Cit9CisKK1Rlc3RzLnNl
dHVwID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIGFzc2VydCgwID09IGdsLmdldEVy
cm9yKCkpOworICByZXR1cm4gW2dsLCBwcm9nLCB2LG4sdF07Cit9CitUZXN0cy50ZWFyZG93biA9
IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJy
YXkodik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZGlzYWJsZVZl
cnRleEF0dHJpYkFycmF5KHQpOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wsIHBy
b2csIHYsbix0KSB7CisgIHByb2cuZGVzdHJveSgpOworfQorCisKK1Rlc3RzLnRlc3REcmF3RWxl
bWVudHNWQk8gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgICB2YXIgdmJvID0gbmV3
IFZCTyhnbCwKKyAgICAgICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRp
Y2VzfSwKKyAgICAgICAgICAgICAgICAgICAgICAge2VsZW1lbnRzOnRydWUsIGRhdGE6WzAsMSwy
LDIwMDAsIDQwODAyLCA1ODg3OTkyXX0pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7dmJvLmRy
YXcodik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJ
QU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5j
dGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JU
LCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5H
TEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24o
KXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSk7
fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNz
ZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKwor
VGVzdHMudGVzdERyYXdFbGVtZW50c1ZCT0J5dGUgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQp
IHsKKyAgICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAgICAgICAgICAgICAge3Np
emU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAgICAgICAgICAgICAge2VsZW1l
bnRzOnRydWUsIHR5cGU6Z2wuVU5TSUdORURfQllURSwgZGF0YTpbMCwxLDIsMjAwMCwgNDA4MDIs
IDU4ODc5OTJdfSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXt2Ym8uZHJhdyh2KTt9KTsKKyAg
YXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGds
LlVOU0lHTkVEX0JZVEUsIDUpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0Vs
ZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2Vy
dE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdO
RURfQllURSwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMo
Z2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9CWVRFLCAxKTt9KTsKKyAgdmJvLmRlc3Ryb3ko
KTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIp
KTsKK30KKworVGVzdHMudGVzdERyYXdFbGVtZW50c1ZCT011bHRpID0gZnVuY3Rpb24oZ2wsIHBy
b2csIHYsbix0KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhlIHF1YWQgYXJyYXlzLCBiaW5k
cyB0aGVtIHdpdGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRlciBhbmQgY2FsbHMgZHJhd0VsZW1l
bnRzCisgIC8vIFRoZSBxdWFkIGhhcyA2IHZlcnRpY2VzCisgIHZhciB2Ym8gPSBuZXcgVkJPKGds
LAorICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAg
ICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQubm9ybWFsc30sCisgICAgICAgICAg
ICAgICAgICAgIHtzaXplOjIsIGRhdGE6UXVhZC50ZXhjb29yZHN9LAorICAgICAgICAgICAgICAg
ICAgICB7ZWxlbWVudHM6dHJ1ZSwgZGF0YTpbMCwxLDIsNiwyMDAwLCAyNTZdfSk7CisgIGFzc2Vy
dEZhaWwoZnVuY3Rpb24oKXt2Ym8uZHJhdyh2LCBuLCB0KTt9KTsKKyAgZ2wuZHJhd0VsZW1lbnRz
KGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDApOworICBhc3NlcnRGYWlsKGZ1
bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hP
UlQsIDUqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMiwgZ2wuVU5TSUdORURfU0hPUlQs
IDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdM
RVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDQsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9
KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMs
IDMsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7
Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMiwgZ2wuVU5TSUdORURfU0hPUlQsIDIqMik7
fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgMyoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIp
O30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24o
KXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMSk7
fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNioyKTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBn
bC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAz
LCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNSoyKTt9KTsKKyAg
YXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGds
LlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxl
bWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2Vy
dEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJ
R05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3Nl
cnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5T
SUdORURfU0hPUlQsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1l
bnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDYqMik7fSk7CisgIHZiby5k
ZXN0cm95KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRl
c3Ryb3kiKSk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk9NdWx0aUJ5dGUgPSBmdW5j
dGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgLy8gY3JlYXRlcyBWQk9zIGZvciB0aGUgcXVhZCBh
cnJheXMsIGJpbmRzIHRoZW0gd2l0aAorICAvLyB2ZXJ0ZXhBdHRyaWJQb2ludGVyIGFuZCBjYWxs
cyBkcmF3RWxlbWVudHMKKyAgLy8gVGhlIHF1YWQgaGFzIDYgdmVydGljZXMKKyAgdmFyIHZibyA9
IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0
aWNlc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVhZC5ub3JtYWxzfSwK
KyAgICAgICAgICAgICAgICAgICAge3NpemU6MiwgZGF0YTpRdWFkLnRleGNvb3Jkc30sCisgICAg
ICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCB0eXBlOmdsLlVOU0lHTkVEX0JZVEUsIGRh
dGE6WzAsMSwyLDYsMjAwMCwgMjU2XX0pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7dmJvLmRy
YXcodiwgbiwgdCk7fSk7CisgIGdsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVO
U0lHTkVEX0JZVEUsIDApOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRz
KGdsLlRSSUFOR0xFUywgNCwgZ2wuVU5TSUdORURfQllURSwgLTEpO30pOworICBhc3NlcnRGYWls
KGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgLTEsIGdsLlVOU0lHTkVE
X0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUsIDUpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfQllURSwg
MCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgMiwgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wu
ZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7Cisg
IGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA0LCBn
bC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3Nl
cnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMiwgZ2wuVU5T
SUdORURfQllURSwgMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRFLCAzKTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVE
X0JZVEUsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfQllURSwgMSk7fSk7CisgIGFzc2VydEZhaWwoZnVu
Y3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRF
LCA2KTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52Ym9zWzFdKTsK
KyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwor
ICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9CWVRFLCAwKTsK
KyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBn
bC5VTlNJR05FRF9CWVRFLCA1KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3Nl
cnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lH
TkVEX0JZVEUsIDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRz
KGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfQllURSwgMSk7fSk7CisgIGFzc2VydEZhaWwo
ZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9C
WVRFLCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUsIDYpO30pOworICB2Ym8uZGVzdHJveSgpOwor
ICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kZXN0cm95IikpOwor
fQorCitUZXN0cy50ZXN0U2hhcmVkQnVmZmVycyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkg
eworICB2YXIgdmJvID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIHZhciB2ZXJ0c0FyciA9IG5ldyBV
aW50MTZBcnJheShbMCwxLDMsMyw0LDUsNiw3LDhdKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIHZibyk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0c0Fy
ciwgZ2wuU1RBVElDX0RSQVcpOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuYmluZEJ1ZmZl
cihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgdmJvKX0pOworICBnbC5kZWxldGVCdWZmZXIodmJv
KTsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZl
cnRleCI+CisgIGF0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZlYzMgTm9ybWFs
OworICBhdHRyaWJ1dGUgdmVjMiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAg
dm9pZCBtYWluKCkKKyAgeworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXggKiBOb3JtYWws
IDEuMCk7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Qb3NpdGlvbjsK
KyAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KKyAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2ZWM0IHRleENv
b3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIHZlYzQgYyA9IHRleENvb3JkMDsKKyAgICBn
bF9GcmFnQ29sb3IgPSBjOworICB9Cis8L3NjcmlwdD4KKworCis8c3R5bGU+Y2FudmFzeyBwb3Np
dGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+CisgIDxjYW52YXMgaWQ9Imds
IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTY5NjEzOTYwNTE2MzYzYjM1
ZDRkMTcxOThjN2ZhY2JjN2QyOGU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
cmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0
L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBm
dW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wn
KTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHJl
dHVybiBbZ2xdOworfQorCitUZXN0cy50ZXN0UmVhZFBpeGVscyA9IGZ1bmN0aW9uKGdsKSB7Cisg
IC8vIHdlIGNhbid0IGtub3cgaWYgdGhpcyBpcyBnb2luZyB0byBmYWlsIGJlY2F1c2Ugb2YgbmVn
YXRpdmUgd2lkdGgKKyAgLy8gb3IgYmVjYXVzZSB0aGUgYnVmZmVyIHNpemUgZG9lc24ndCBtYXRj
aCB0aGUgZGltZW5zaW9ucy4KKyAgYXNzZXJ0U29tZUdMRXJyb3IoZ2wsICJuZWdhdGl2ZSB3aWR0
aCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLC0xLDEsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoNCkpO30pOworICBhc3Nl
cnRTb21lR0xFcnJvcihnbCwgICJuZWdhdGl2ZSBoZWlnaHQiLAorICAgICAgZnVuY3Rpb24oKXtn
bC5yZWFkUGl4ZWxzKDAsMCwxLC0xLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAg
ICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsKKyAgYXNzZXJ0T2soIm5lZ2F0aXZlIHgiLAorICAg
ICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKC0xLDAsMSwxLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsKKyAgYXNzZXJ0T2soIm5l
Z2F0aXZlIHkiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsLTEsMSwxLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsK
KyAgYXNzZXJ0T2soImhlaWdodCA+IGJhY2tidWZmZXIgaGVpZ2h0IiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wucmVhZFBpeGVscygwLDAsMTYsMTcsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisg
ICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMTYqMTcqNCkpO30pOworICBhc3NlcnRPaygid2lkdGgg
PiBiYWNrYnVmZmVyIHdpZHRoIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAs
MTcsMTYsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJy
YXkoMTcqMTYqNCkpO30pOworICBhc3NlcnRPaygid2lkdGgsIGhlaWdodCA9IDAiLAorICAgICAg
ZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwwLDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMCkpO30pOworICAvLyB3ZSBjYW4ndCBrbm93
IGlmIHRoaXMgaXMgZ29pbmcgdG8gZmFpbCBiZWNhdXNlIG9mIG5lZ2F0aXZlIHdpZHRoCisgIC8v
IG9yIGJlY2F1c2UgdGhlIGJ1ZmZlciBzaXplIGRvZXNuJ3QgbWF0Y2ggdGhlIGRpbWVuc2lvbnMu
CisgIGFzc2VydFNvbWVHTEVycm9yKGdsLCAiYmFkIGZvcm1hdCIsCisgICAgICBmdW5jdGlvbigp
e2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwgZ2wuRkxPQVQsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAg
ICAgICAgbmV3IFVpbnQ4QXJyYXkoNCo0KSk7fSk7CisgIC8vIHdlIGNhbid0IGtub3cgaWYgdGhp
cyBpcyBnb2luZyB0byBmYWlsIGJlY2F1c2Ugb2YgbmVnYXRpdmUgd2lkdGgKKyAgLy8gb3IgYmVj
YXVzZSB0aGUgYnVmZmVyIHNpemUgZG9lc24ndCBtYXRjaCB0aGUgZGltZW5zaW9ucy4KKyAgYXNz
ZXJ0U29tZUdMRXJyb3IoZ2wsICJiYWQgdHlwZSIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQ
aXhlbHMoMCwwLDEsMSwgZ2wuQUxQSEEsIGdsLkZMT0FULAorICAgICAgICAgIG5ldyBVaW50OEFy
cmF5KDEqNCkpO30pOworfQorCitUZXN0cy50ZXN0UmVhZFBpeGVsc1NPUElNRyA9IGZ1bmN0aW9u
KGdsKSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpIik7CisgICAg
d2hpbGUgKCFpbWcuY29tcGxldGUpIHt9CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUo
KTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIC8vIFNPUCBm
YWlsdXJlCisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0aHJvdyBiZWNhdXNlIGltZyBp
cyBmcm9tIGFub3RoZXIgZG9tYWluIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcp
O30pOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGFzc2Vy
dE9rKCJjYW52YXMgc3RpbGwgb3JpZ2luLWNsZWFuIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVh
ZFBpeGVscygwLDAsMSwxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5l
dyBVaW50OEFycmF5KDQpKTt9KTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cit9CitUZXN0
cy50ZXN0UmVhZFBpeGVsc1NPUENhbnZhcyA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIGltZyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpIik7CisgICAgd2hpbGUgKCFpbWcuY29tcGxldGUp
IHt9CisgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYyIpOworICAgIGMuZ2V0
Q29udGV4dCgiMmQiKS5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsKKyAgICBhc3NlcnRGYWlsKCJjYW52
YXMgdGhyb3dzIGJlY2F1c2Ugbm90IG9yaWdpbiBjbGVhbiIsCisgICAgICBmdW5jdGlvbigpe2Mu
Z2V0Q29udGV4dCgiMmQiKS5nZXRJbWFnZURhdGEoMCwwLDEsMSk7fSk7CisgICAgdmFyIHRleCA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0
ZXgpOworICAgIC8vIFNPUCBmYWlsdXJlCisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0
aHJvdyBiZWNhdXNlIGNhbnZhcyBpcyBub3Qgb3JpZ2luIGNsZWFuIiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBjKTt9KTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBu
dWxsKTsKKyAgICBhc3NlcnRPaygiY2FudmFzIHN0aWxsIG9yaWdpbi1jbGVhbiIsCisgICAgICBm
dW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSg0KSk7fSk7CisgICAgZ2wuZGVsZXRlVGV4dHVy
ZSh0ZXgpOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3Jp
cHQ+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2
Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImMiIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4Ij48L2Nh
bnZhcz4KKzxpbWcgaWQ9ImkiIHNyYz0iaHR0cDovL3d3dy5vcGVuZ2wub3JnL2ltZy9vcGVuZ2xf
bG9nby5qcGciPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eEltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjI3NzI0ODdiZjM0ZWMyNzEzMTBhYWYzMGZkNWUwZTY4YTM0MjEzZGMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1s
CkBAIC0wLDAgKzEsMTA2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNz
cyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3Vu
aXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIg
Y2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgICAgdmFyIGdsID0gd3Jh
cEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgICAgcmV0dXJuIFtnbF07Cit9CisK
K1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4
dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgcmV0
dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgpIHsKKyAgICBn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJl
KHRleCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2
YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KDQpOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklO
VkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRhIiwgZnVuY3Rpb24oKXsKKyAgICAgICAg
Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAyLDEsMCxnbC5SR0JBLGds
LlVOU0lHTkVEX0JZVEUsIGRhdGEpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRhIiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLDIsMCxnbC5SR0JB
LGdsLlVOU0lHTkVEX0JZVEUsIGRhdGEpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2ws
IGdsLklOVkFMSURfRU5VTSwgImJhZCB0YXJnZXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50
ZXhJbWFnZTJEKGdsLkZMT0FULCAwLCBnbC5SR0JBLCAxLDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVE
X0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
RU5VTSwgImJhZCBpbnRlcm5hbCBmb3JtYXQvZm9ybWF0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAg
Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5GTE9BVCwgMSwxLDAsZ2wuRkxPQVQs
Z2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwg
Z2wuSU5WQUxJRF9WQUxVRSwgImJvcmRlciA+IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEsMSw0OCxnbC5SR0JBLGdsLlVO
U0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIC8vIFRoZSBzcGVjIHNheXMgemVybyBz
aXplIGlzIE9LLiBJZiB5b3UgZGlzYWdyZWUgcGxlYXNlIGxpc3QgdGhlIHNlY3Rpb24KKyAgICAv
LyBpbiB0aGUgc3BlYyB0aGF0IGRldGFpbHMgdGhpcyBpc3N1ZS4KKyAgICBhc3NlcnRPaygiemVy
byBzaXplIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCAwLDAsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAg
IH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSB3
aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgLTEsMSwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAg
fSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGhl
aWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgMSwtMSwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAg
fSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIGZvcm1hdCIs
IGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgMSwxLDAsZ2wuRkxPQVQsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgfSk7Cisg
ICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIHR5cGUiLCBmdW5jdGlv
bigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEs
MSwwLGdsLlJHQkEsZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJub3QgZW5vdWdoIGRhdGEiLCBmdW5jdGlv
bigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEs
MSwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoMykpOworICAgIH0p
OworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZm9ybWF0IGFu
ZCB0eXBlIGluY29tcGF0aWJsZSIsZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX1NIT1JU
XzVfNl81LCBudWxsKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElE
X09QRVJBVElPTiwgImZvcm1hdCBhbmQgdHlwZSBpbmNvbXBhdGlibGUiLGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCLCAxLDEsMCxnbC5S
R0IsZ2wuVU5TSUdORURfU0hPUlRfNF80XzRfNCwgbnVsbCk7CisgICAgfSk7Cit9CisKKworVGVz
dHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZh
c3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBp
ZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTc3MmY2YjI2YzQyOWFkZGRl
YzBkZjQ4YTk5YzlmM2I3OGY5NGQ1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L3RleEltYWdlMkRIVE1MLmh0bWwKQEAgLTAsMCArMSwxNTIgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENv
cHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVu
dGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJp
YWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlz
dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMs
IGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJ
REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9S
IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK
KyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENP
UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBP
VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9S
VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBN
QVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9j
c3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWph
dmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxp
Y2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVu
Y3Rpb24gKCkgeworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wn
KTsKKyAgICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAg
ICBnbC52aWV3cG9ydCgwLDAsY2FudmFzLndpZHRoLGNhbnZhcy5oZWlnaHQpOworICAgIGdsLmNs
ZWFyQ29sb3IoMCwwLDEsMSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGds
LkRFUFRIX0JVRkZFUl9CSVQpOworICAgIGdsLmRpc2FibGUoZ2wuREVQVEhfVEVTVCk7CisgICAg
cmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIg
dGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVf
MkQsIHRleCk7CisgICAgdmFyIHRleEN1YmVNYXAgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAg
Z2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4Q3ViZU1hcCk7CisgICAgcmV0
dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgdGV4LCB0ZXhDdWJl
TWFwKSB7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wu
ZGVsZXRlVGV4dHVyZSh0ZXgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9N
QVAsIG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4Q3ViZU1hcCk7Cit9CisKK1Rlc3Rz
LnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBnbC5lbmFibGUoZ2wuQkxFTkQp
OworICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaScpOworICAgIHZhciBj
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsKKyAgICB2YXIgY3R4ID0gYy5nZXRDb250
ZXh0KCcyZCcpOworICAgIGN0eC5kcmF3SW1hZ2UoaW1nLDAsMCk7CisgICAgZ2wudGV4SW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBp
bWcpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQ
X1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8y
RCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFt
ZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOwor
ICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVS
LCBnbC5MSU5FQVIpOworICAgIHZhciBmID0gbmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAt
dmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuYmxlbmRGdW5jKGdsLk9ORSwgZ2wuWkVS
Tyk7CisgICAgZi5hcHBseSgpOworICAgIGYuZGVzdHJveSgpOworICAgIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7
CisgICAgZiA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0eS1oZmxpcC12ZXJ0JywgJ2lkZW50aXR5
LWZyYWcnKTsKKyAgICBnbC5ibGVuZEZ1bmMoZ2wuU1JDX0FMUEhBLCBnbC5PTkVfTUlOVVNfU1JD
X0FMUEhBKTsKKyAgICBmLmFwcGx5KCk7CisgICAgZi5kZXN0cm95KCk7CisgICAgdmFyIHZhbGlk
X3RhcmdldHMgPSBbCisgICAgICAgIGdsLlRFWFRVUkVfMkQsCisgICAgICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElW
RV9YLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgICAgIGds
LlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01B
UF9QT1NJVElWRV9aLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKKyAg
ICBdOworICAgIHZhbGlkX3RhcmdldHMuZm9yRWFjaChmdW5jdGlvbih0KSB7CisgICAgICAgIGFz
c2VydE9rKGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRCh0LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKKyAgICAgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC50
ZXhJbWFnZTJEKHQsIDEsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpO30p
OworICAgIH0pOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRE5vblNPUCA9IGZ1bmN0aW9uKGds
KSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpMicpOworICAgIHdo
aWxlICghaW1nLmNvbXBsZXRlKSB7fQorICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2MnKTsKKyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpOworICAgIGN0eC5kcmF3
SW1hZ2UoaW1nLDAsMCk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhJbWFnZTJE
IHdpdGggY3Jvc3Mtb3JpZ2luIGltYWdlIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIiwKKyAgICAg
IGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpO30pOworICAgIGFzc2VydFRocm93Tm9HTEVycm9y
KGdsLCAidGV4SW1hZ2UyRCB3aXRoIGRpcnR5IG9yaWdpbiBjYW52YXMgc2hvdWxkIHRocm93IGV4
Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpO30pOworfQorCitUZXN0
cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJp
ZGVudGl0eS1mbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2
ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwordmFyeWluZyB2ZWM0IHRleENvb3Jk
MDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgucywgMS4wLVRleC50
LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRleCwgMS4wKTsKK30KKzwv
c2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktaGZsaXAtdmVydCIgdHlwZT0ieC1zaGFkZXIv
eC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4OworYXR0cmlidXRlIHZlYzIgVGV4Owor
Cit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB0ZXhDb29yZDAg
PSB2ZWM0KDEuMC1UZXgucywgVGV4LnQsIDAuMCwgMC4wKTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZl
YzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mcmFn
IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
Cit1bmlmb3JtIHNhbXBsZXIyRCBUZXh0dXJlOworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwor
dm9pZCBtYWluKCkKK3sKKyAgICB2ZWM0IGMgPSB0ZXh0dXJlMkQoVGV4dHVyZSwgdGV4Q29vcmQw
LnN0KTsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+PGJvZHk+
Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiPjwvY2FudmFzPgorPGNh
bnZhcyBpZD0iYyIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiPjwvY2FudmFzPgorPGltZyBpZD0i
aSIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiICBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxp
VkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBUUFBQUFFQUNBWUFBQUJjY3FobUFBQVRWRWxFUVZSNG5P
M2QrVlBVZDU3SGNmMmI5azlZK3o0NCtxSzdPWm9HRlZBNVZmQkd6YWg5Y3hwTnpHRU9vUnVhNWxC
RXVlL0RLNGZaN01hcG1TbTNNbHNodTh4T2RDcERKdDN2L2FFQkFVSEFPTUc0ejBmVjUzZnFVL1Y2
ZmQ3ZlQvZTMyYkVEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3T3ZCa2FyN2wrMytHd0Jzazh4VXJU
MHJUYjh2eDJRNDVqYW5sdTdZc1dQbnNnWGdUZVl3YWs4NVUzWHY1WmlNMytYYlVoL2wyZElDQmM2
MDgwV1oxdXI5MmJhU0hSUUI4R2F5R2RVV3UxSHpvU05GTytaTTFmMmNiVExNNTFsVDV3b2M1cmtE
T2JiWi9WbTJTRW0yM1Z2c3lqaFY1bkpRQnNDYnhHWlFWdG1ONnA0TW8vWVBkcU5HSEtsYXlVclhK
OXpXbEVTaDB4SXZ6c21ZTDNIWjU0cHpNbTZWdVJ5Uk1wZlRXK3B5VUFiQW04Qm1WTlZuR05UVGRx
UDZ2ek9NR3JHbmFNU1pxcE5zazE3eWJLbFM2RFRML2l4Ym90UmxqNWZsT3ViTDNJNjVNcGZqVnJu
YkVhbFlLSU5TbDMzNXZRR0Ezd0tiVVcyeEdkV1JES1A2Nnd5aldoWUx3SkdpRldlYVRySk5CbkZi
VTJTUDNTVDdzNnhTbW11WGNyY3pVZTUyeHN0ekhmUGxic2RjdWR0NXF5elgzbEtXbHhrc3pYR2VL
OG14bnl6SnlTamVRUmtBcnplYlFWbGxNNnA3YlViMTQ5VUY0RWpWU21hYVRyTFM5ZUt5cE1nZWU3
b2N5TFpKbWRzaEZYbVpVcEhuWEZFR0IvT3pKc3JkanFFeXQvTm1XYTQ5WEpidDlKYTZNazRWdTdo
RUJGNUxOcjJxM21aUXo5Z002dTlYRkVCcXNnQ2NhVHJKWEpnRWNpMHBzdGRoa3YzWk5pbk5UWmJB
b2Z3c09aU2ZKUWZ6TXFVOHo1a29kenNTWmJtT2VJWGIrWFc1MnpGYTVuTGNLblBaSTJVTGw0akZm
S0lBdkI3TU9yWEZabEJIYkFiMTF6YWora21HVWJOdUFXU202NWRLWUhkR21oUmxXcVE4enlGSENu
TGsrTDVjT1Y2VUswY0tYVks1SjFzTzVtZEtoZHNwWmF2S29EVFgwVlBpY2lUTElIdEZHVkFJd0sv
TllsQlcyZlRxWHB0Qi9kaG1TSjcrTHlxQXJIUzk1SmlUSlZEZ05FbGxRWlo0S2d1bHJycFU2cXRM
SlhCc3Y1d3QzeU1uOXJ2bGFJRkxEaTh2ZzF4SDRtQis1cCtXbDBGcGpyMmxKTWNSTE02eW55dk96
amh4SUl0N0ErQlhZOUdyNnEwTDQvOVNBYVJveEw3dy9MOVdBV1NiREpKclRaRmlkNFo0anhaSlUv
MXh1ZkhoT2VtK2VrNmlsMC9MQjc0cWFUeFRKb0dqKytWczJSNDV2ajlYamhUa3lPSGRDNDhKQzJW
d2FIZm1ueXJjem4rdmNEc215bkx0UXlVNUdUZUxjekxDcFRrMlQzR1c3Vmh4VnNhZTdkNGY0STFs
MXFrdFZvTTZZak9vdnJZYTFEOHNGb0I5V1FFNDE1a0E4dTFwY3ZSQWpud1VPaUxETFFHNTE5MG85
MjQyeWxSSG5ReUcvWEx6Nm5tSlhxcVdEM3lWMG5DNlZQeEg5OG5ac3QxeWZGK3VIQzEwU2RYZWJE
bVVueXlEcW9Mczd3N2xaMzViN25iOHNjeHQvN2RTbDMya0pDZWpxeVFuNDBwSlRrYlpEaVlDNE5X
emFKVlZWcjJxMTJaUVBiWWExSDlmdXdCMFN3V1FsYTZYTEZPeUFBb3lUZkxXNFQzU2Z1V00zTDNS
SUEvN0w4dkQvc3Z5WmU4bCtlelcyM0t2dTFFbU8ycGxvTmtuM1ZmUFNldmIxZksrdDFJYXo1Uko3
Y2xpOFIwcGt0T2wrWEtzS0ZrR0J4ZktvSEp2MWw4UDVtZit1U0xQOGZ2eVhNZE1tZHNSS1hjNXFv
dGRHUVhidlYvQUc4V2lWOVZiOWFvWnExNDFhek9veFdiY1hBSGtXbE9rSkM5RGFrOFh5NjFQTDhp
RG5vdExCYkJVQkgyWDVZdmJsK1JCejBXNWU2TkJKdHBycEwvWkp6Yy9PaS9YUDNoTFdpNmVrdmM4
aDZXdXVrUzhWYy9LWVBFQzhXaGh6cE9xZ3V6dkt2ZG1mWFY0ZDJiM3dmek05dy9sWlRFTkFLK0NX
YWV3V0hXcWlFMnYrdHFxVi8ydzJRTElOaGtrUDJOaC9LODlJbU50SWZtaTk5S3o4UGNsMTVkTDY1
SjgwWHRKUHIvMXR0eS8yU2gzdXh2a3p2VjZHWStGcE8rYVY2NS84RHVKWER3cFZ6eUhwTzdVUWht
VTVNdlJJcGRVN2MyUlE3dXo1TVIrOXgrT0ZibnVIaTNNaVZRVnVLb1A3ODR1MnU3OUEzN1RMRnBs
bFZXbjZyWHFWWSt0ZXRXUEd4YkFzZ3ZBdlU2VHZIVm90OFN1bkpZN04rcmx5NzYxZy85bGIzSjlz
V3g5ZnZ1U2ZINzdiWG5RYzFIdWRUZklURmVkakxXRnBQZWFSN28rZUV2Q2pTZmx5b1ZEVWxkZEtz
SGpCK1RDNFVJNVZad25WUVU1aWJjcTlueDF1alMvNThRQjk5WHFZbmY1RHFZQjRPVllkTS9HZjZ0
ZTlZL2s4Ly9HQmVDeUdLWEVuU0UxMVFlazU1UHpjdjltNDhyUXJ4UDhMMjVma2k5dXZ5MmZyMXFm
M2JxWW5BeHVOTWgwWjUyTVJJTnkrMU9QWFAvd2Q5Sis1WXcwMTUrUWQ4NGZsSnFUeFhMaGNJR2NM
TTc3K1VoQnp0OHVWQmEybnF2Y2UvWnN4WjZ5N2Q1TDREZGxjZnkzNkZWZlcvU3FINndHbGF3dWdN
V3ZBVHZUbGhXQXlTQjVHYWx5ZEgrT2ZGUnpSRWFqUWZuODF0dnJoLzZGd1Y5Y0YrV3pXeGZsd2Ey
TGNyL25vdHpyYnBTWjYvVXkxVlVua3gyMU10d1NrSjVQTGtqSGUyZWxxZjY0WEQ1M1VFSW5EaVF1
SEM2WXJ5N09tejFXNUhyWStGYkY0UjFNQThEbVdMVEtLc3V5OGQ5cVVMK3dBSlovQzNDUE0xM09I
dHd0YmUrZWx1bnI5ZkxGdXNGL1B2U2YzMW83K0E5Nm5xMzdQUmZsZmsrajNMK1ovRmp4N28wR21l
NnFrNG4yR2hscThVdlB4K2VsL2NvWnVWWjNYQzZmcS9pNTdsVHgzMnBPSG5nVU9sVWMvalI0bEV0
Q1lDTVduYXJlb2xmTldQU3FXYXRCOWRPYUJiREdsNEJjRnFNVXUyMFNPblZBYm41OFR1NTJOMjdx
dFA5OGc5QS9XQXo5UXZBWDE3M0ZFdWh1a0x2ZERjbkpvTE5XeG1NMU1oanh5ODJQemtubisyY1Nz
WGRQejRjYlQ4eCtHS2g4K0ZId1NPME9TZ0JZbTFtbnNKaDFxb2hGcjF3WS81WHhad1d3L3RlQXM5
S1R2d3R3WkgrMlhBMVZ5WEJyVUI3MFhGei90Rjluek45SzhPOTFOOGk5aGZBdnJqczNHdVRPalhx
WlhuaEVHRyt2a2RGb1VBYkQvcDk3UGo3L3Q1NnI1Ny9wdStiNXBPWGQ2cVBidmRmQWE4ZWkzVlZs
MGFsNkxYcmxZNHRPK2FORnIwcHN0Z0QyT05MbHpNSGRFbjJuV3FZNjYrU3pseHp6SHl3Yjg1OEwv
VHJCdjN2aldmZ1gxOHoxNUpydXFwT3B6bHFaYUE4bHhtS2h2NDlHZzMvb0QvcyszdTY5Qmw0N0Zw
MmkzcUpWelZoMHlsbXJUdm1UVlorOEFGejVIc0R6QlpCak5rcHhyazJDcHc1STkwZm41TTZOaGhl
ZTlsc09mdmZtZzMvbityUHd6MXl2azVtdU9wbGVXSk1kdGZISmpwcnZKanRxS0FCZ3VlVDRyNGlZ
ZGNxdnpicGRQMWoweXZqcUFyQ3Y5U0pRdWw3Y3RsU3AycGN0SHdZclphZ2xJUGR2TnE1LzJyL2dZ
bTlUd2IreDllQlBkOVhKVkhJU21KL3FyUDFtdXJPR1J3QmdPWk4yVjVWRnAreTFhQmZHZjUweXNW
UUFhM3dIWUxFQXN0TDFzdHVSTHFjcjhxWDE4aW1aN0tpVkJ6MFhYeGo2alovdk54bjg2eHNIUC9r
SVVDZFRuWFh4NmM3YXYweDExUFJzOTE0RHJ4MlRUbEZ2MGlwbXpEcmxyRVduL01taVY4bG1DaURi
YkpBRHVUWUpudHd2TjY3K1RtYXUxeWREdm1ib3QzNng5eXo0OVM4Wi9OckZOVC9kVmZ2N3FjNjZr
OXU5MThCcnhheGVQZjRyNGhzVmdIUGg5d0J6clNsU1ZaUXRId1FxWlREaWw3dmRqVnM3N2JjWS9K
bXRCMSttT21zVGt4MjFUNmE2YWtlMmU2K0IxNDVKdTZ2S3BGUDJtclRLeDJidHMvRi84VnVBTHlx
QTNmWTBPVjJlTHkyWFRzcEVlNDNjZjhHei9UWUVYeVk3YW1XeW95WSsxVkh6L1ZSblhmTjI3elh3
MmxrYS83WEtXWXRXK1pORnA1VE5GRUMyeVNEN1hWWUpuTmduWFIrK0pkTmRkWnMrN1grZDROZkta
RWVOVEhiVXpFOTIxRHlhNVBJUFdDbE5yYkNZdGNueDM2VGQ5WU5acDRoYmRLcU5DMkJoL0s4c3pK
TDMvWWRsSU95VE96Y2F0dnd4M3NZMytyOG8rRExaRVVwTXROYzhtZWhnL0FlZVkxTHZxakpwbGIw
bWplS3hXYXY0MGF4VkpsWVh3RnB2QW1hbTZTVGZuaWJWWlhrU2VmdWtqTVZDY3JkN0V5UCtlcWY5
bG9KZnUySHdKenBxWktLOVJzYmJRL0hKOXREM2s1MDFqUC9BYWlhTm90NmtTWTcvWnEzaUo3Tk9L
WXNYZ0M4cWdDeVRRZmJsV01WL2ZKOTBmbkJXSmp0clY0ejNXem50bjd2UnYvNTg2TGNhL0djck5E
L1JIbm8wMmM3NEQ2eVFwbFpZVEZwRnhLUlZMSTMvS3d2ZytSZUI3Q25KM3dGd1dWTGtjR0dXdk9j
L0xQM05YcG01WHYvTFQvdE5Cbjl5RThFZlQ0WS9NUjRMUFJsdkR6SCtBNnVaTllwS2szWlhiL3JD
K0cvU0toS2JMWUM4akRRNVZaWW40WXNuWkxRdEtIZHViQzcwbXgzemYwbnd4OXRETWg0THlWZ3NG
QitQQmI4ZmIyZjhCNTZUcmxIVXAyc1YweWFOWW1uODMwd0JaS1hyWlYrMlJYekg5MG5IKzJkbG9x
TW1XUUN2NExSLytlQ0hsb0svRUg0Wmp3WG54MlBCUjJQdFFjWi9ZRG1UUnBtYXJsWTBtVFM3dmty
VEtQNXEwaXArTnV1VVl0bWdBQnlwV25GWmpIS29JRk91ZUE5Slg1TkhwcnZxTmgzNnpaNzJ2eVQ0
QytGUGpMWUZuNHpIZ296L3dHb216YTdkNlpwZE1aTkc4WTFKbzNoaTFpNDgvMitpQVBJeVV1Vmtx
VnVhR2svSVNEUW9NOWRmM1dtL012ZzFXdzcrV0N3a1kyMUJHVzBMeGtmYmd0K1B4VUtNLzhCcWFa
cGR1OVBVaWlhVFJ2R1ZTYXY0eTlJbkFCc1VRR2E2WG9xeUxlSTlWaVR0NzUyUjhmYlFxc0MvNHRO
K2k4RWZhd3ZLYURRb0k5SEEvR2hiOEp1eEtPTS84QnlUNWw5VDA5U0tRTHBHTVdUU0t2N1RyRlU4
TmV1VWllVUZZRnYxWXlDT1ZLM2ttSlBqLzd2ZWc5Sjd6U05UbmJXdjZMUi9CY0ZmV0NQUlFId2tH
dmpMU0RUQW0zL0FldExWeWp5VFJ2bU9TYXVZTk9zVTM1cDF5bjlzVkFCdVc2cWNMTTJWYXczSFpi
ZzFJTk5kcithMFgvc3ovSzBGZnpRYWxORm9JSG42UndPL0gya0w4dVlmOENJbXphNUNrMjdYZTJh
dGNzcWlVOGJYTFlBVWpXU202NlF3eXl6ZVk0VVN1M0pheG1LaHRVUC9pMC83bWhXaFh4SDh0dldD
SDVTUmFFQkdvNEhFU0t2L3lXaHJnTXMvWURQU2Rjb2lzMWJ4dmtXbmZHclJLK05yRllBOVJTdlpa
b01jM091VWR6d0g1ZmExQ3pMUlVmTlBQZTNIMXpqdDF3dis0aHB1RGNSSG9vSHZSNklCTHYrQXpU
THJsRVZtbmZLaFJhZDhhbDN6NThDMDRyYWx5SW1TWExuV2NFeUdXdjB5MlZrclUxM1BoLzZsVHZz
TmdqKzZRZkJIV2dNeTNCcVE0VmIvL0hCcjRORkkxTS9sSDdBVkZyMHFZTkdySGxyMXFxYzJneXEr
L0UxQVo1cE9Dck5NNGpsYUlHMVhUc3RvVy9DZmQ5cS9WUEFETXR6cVR3eTMrSjhNTS80REwyWG5p
aEl3cXVJMm8xcnNLUnJKTmhta1lxOURMbCtva0Z1Zm5KZng5cHBub1YvdmMvdXRudmF4TmNiOFRR
VS9JTU90ZmhscThjZUhXL3pmRDBjREY3WjdJNEhmcXAwMnZTcGcwNnNlMmd6cXB4bEdUZHllb3BG
Y2E0b2NMM0hKcC9WSFpURGlrNG1PelkzNEwzM2FiKzdFWHd6K3d2TE5EN2NFYm8yMEJqSzNleE9C
MzdLZE5xTTZZRE9vSDJZWTFVK2RhYnA0UWFaSkxoelpLOUYzcTJVa0dwQ0pEVS83MEtzNzdUY012
bCtHV255SndZanZ5VkJMNEozdDNqemdUYkRUWmxRSE1veWFoOWxtL2RPS1BjNzRwZlBsMHZQeE9S
bUxoWDZkMDM1VHdWOVlFVjk4c01VL05SRG04Zzk0VlhiYVU3VUJsOFg0OEVTSjYra245VWQrSGdo
N0V1UHRvVmR6MnJkdEp2UXZEdjVneExld3ZIOGNpSGc3aGxvQ2x1M2VOT0JOc3ROdFN3MzRqeGM5
YkgybmVuYW94VGMzM2g2YUg0dUY0dVB0d2NSNDhuL3UvUk5PKzgwRzN5ZERFZC8vRElSOTl3YkN2
c2J0M2l6Z1RiVHphcWd5MFBQeHVmQklOQkFiYnc4OUdvK0Zac2Rqb2JueDl0RGNhQ3c0UDlvV2pJ
L0Znb214V0NBeCtncE8rK0cxeHZ4VndSK00rR1F3N1AxeE1PeDdQQmoyOWZaSHZGWGJ2VkhBbTJy
bjRwcnNyS2tkNndpRlI5dERzZkgybXRoSUxQUm9yQzA0TzlZV21odU5oZVpHMndMekk5RmdmTFF0
a0JpTkJoTFBoZjRYblBhTGF5RGlrNEd3VHdiQzN2OGRhUFkrSElqNFB1cHY5akwrQTcrQ25jdlhl
SHRON1dnc0dCNk5oV0tqc1ZCc0pCcDhOQm9Oem81RUEzTUxhMzY0TlJBZmFmVW5ocFByNVU3N2xj
R1hnYkQzN3dOaHo1LzdtNzBqQTJIUG1XM2VFK0QvclpXRjBCYXNIVzRMaGtlaWdkaElMQlFiYmcw
OEdtNE56QTYzK09lR1cveHpRNjMrK2FFV2YzeW94WmRJcm1XaGIzays5SU5Mb1Y4S3Z2UTNlK01E
emQ0ZitwczkvOUVmOXJZTlJIeU9iZDREQUF0V0ZNSm9XN0IydURVWUhvb0dZa1BSUUd5b3hmOW9x
TVUzT3hUeHpRMUZmSE5ETGI3NW9ZZ3ZQaGp4SnBaV2VPM2dKOFB2U2ZRM2VYOGFDSHRuKzV1OU0z
M05YUDRCcjdNVmhURGNHcWdkYnZXSEIxdjlzY0ZXZjJ3dzRuODBHUEhORG9hOWM0TVIzOXhnMkRz
M0VQYk9ENFM5OFlHd0p6RVE5aVQ2bTczUzMreVZ2bWJQZkgrelo3NnZ5Zk8wdjluN3A3NW1iMjkv
TTVkL3dHL0pjNFV3MU9JUDkwZjhzY0dJUDlZZjhjY0d3cjVIQTJIdjdFQ3pkMjZnMlR2WGx3eDl2
Sy9aODIxL3MrZS8rcG84My9ZM2VUN3JhL1kwY2ZrSC9MYnRYTDJHV255MUEyRmZ1Qy9zamZXSHZi
SCtacytqdnJEM1ptK1RaNmkzeVRQVzEreVo3R3Z5WE85cjl2aTM5MDhIOE0rd29oQjZtN3hsdDY5
NVR3NkVmZWNHdzE1ZmY1UG5uYjVtVDZEMzJvVUQyL3gzQXZnVjdkeXhZOGZPZ1NhdnU3L0prOVYz
emF2ZTdqOElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlDVi9nOXRQSkVRdTFYdm1RQUFBQUJKUlU1RXJr
SmdnZz09Ij4KKzxpbWcgaWQ9ImkyIiBzcmM9Imh0dHA6Ly9tYXNoYWJsZS5jb20vd3AtY29udGVu
dC91cGxvYWRzLzIwMDgvMDgvdGh1bmRlcmJpcmQtbG9nby02NHg2NC5wbmciPgorCis8L2JvZHk+
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3Mu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTZmNTM2MWQzNTJiZGRmY2ZiOWZmZTQ5Y2MyZWYwNjBmMDFiODU1NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCAr
MSwxMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91
dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICAgIHZhciBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0
KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMuc2V0
dXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7Cisg
ICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICByZXR1cm4gW2dsXQor
fQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLHRleCkgeworICAgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30K
KworVGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihnbCkgeworICAgIGdsLnRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMiwyLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9C
WVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pKTsK
KyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm5vdCBlbm91Z2gg
ZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwwLCAwLCAyLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShb
MCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1
YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAxLDIsZ2wuUkdCQSxnbC5VTlNJR05FRF9C
WVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX0VOVU0sICJiYWQgdGFyZ2V0IiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5GTE9BVCwgMCwgMCwwLCAxLDEsZ2wuUkdCQSxnbC5VTlNJ
R05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3Nl
cnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAid2lkdGggb3V0IG9mIHJhbmdlIiwgZnVu
Y3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLDAsIDAs
IDMsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZB
TElEX1ZBTFVFLCAiaGVpZ2h0IG91dCBvZiByYW5nZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGds
LnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAxLDMsZ2wuUkdCQSxnbC5VTlNJ
R05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0T2soInplcm8gc2l6ZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGds
LnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAwLDAsZ2wuUkdCQSxnbC5VTlNJ
R05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3Nl
cnRTb21lR0xFcnJvcihnbCwgIm5lZ2F0aXZlIHdpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAg
Z2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLDAsIDAsIC0xLDEsZ2wuUkdCQSxnbC5V
TlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBh
c3NlcnRTb21lR0xFcnJvcihnbCwgIm5lZ2F0aXZlIGhlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAg
ICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAxLC0xLGdsLlJHQkEs
Z2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7Cisg
ICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIHgiLCBmdW5j
dGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsLTEsMSwx
LDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsK
KyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRp
dmUgeSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwxLC0xLDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFsw
LDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5V
TSwgImJhZCBmb3JtYXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIDAsMCwgMSwxLGdsLkZMT0FULGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBV
aW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfRU5VTSwgImJhZCB0eXBlIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3Vi
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxnbC5SR0JBLGdsLlRFWFRVUkVfMkQs
IG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRhIiwgZnVuY3Rpb24oKXsK
KyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxnbC5S
R0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAsMF0pKTsKKyAgICB9KTsK
KyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvcm1hdCBkb2Vz
IG5vdCBtYXRjaCBpbnRlcm5hbCBmb3JtYXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhT
dWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMSwxLGdsLlJHQixnbC5VTlNJR05FRF9C
WVRFLCBuZXcgVWludDhBcnJheShbMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ0eXBlIGRvZXMgbm90IG1hdGNoIG9yaWdpbmFs
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCAwLDAsIDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX1NIT1JUXzRfNF80XzQsIG5ldyBVaW50MTZB
cnJheShbMF0pKTsKKyAgICB9KTsKK30KKworCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wp
IHsKK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwv
c3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9
IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhU
TUwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMjg0ZmQ4NDdjMjNjNGM3OTFhZmMxM2I4OTU0Zjk1MmYxN2Jj
ODRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwu
aHRtbApAQCAtMCwwICsxLDE2NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
Ky0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5p
dC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIu
Li91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgICAg
dmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBnbCA9
IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICAgIGdsLnZpZXdwb3J0KDAs
MCxjYW52YXMud2lkdGgsY2FudmFzLmhlaWdodCk7CisgICAgZ2wuY2xlYXJDb2xvcigwLDAsMSwx
KTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJ
VCk7CisgICAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKyAgICByZXR1cm4gW2dsXTsKK30K
KworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVU
ZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICB2
YXIgdGV4Q3ViZU1hcCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShn
bC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFwKTsKKyAgICByZXR1cm4gW2dsXQorfQorCitU
ZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLCB0ZXgsIHRleEN1YmVNYXApIHsKKyAgICBnbC5i
aW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRl
eCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgbnVsbCk7CisgICAg
Z2wuZGVsZXRlVGV4dHVyZSh0ZXhDdWJlTWFwKTsKK30KKworVGVzdHMudGVzdFRleEltYWdlMkQg
PSBmdW5jdGlvbihnbCkgeworICAgIGdsLmVuYWJsZShnbC5CTEVORCk7CisgICAgdmFyIGltZyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpJyk7CisgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnYycpOworICAgIHZhciBjdHggPSBjLmdldENvbnRleHQoJzJkJyk7CisgICAg
Y3R4LmRyYXdJbWFnZShpbWcsMCwwKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7CisgICAgZ2wudGV4
U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLCBpbWcpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVS
RV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVY
VFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5F
QVIpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5f
RklMVEVSLCBnbC5MSU5FQVIpOworICAgIHZhciBmID0gbmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5
LWZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuYmxlbmRGdW5jKGdsLk9ORSwg
Z2wuWkVSTyk7CisgICAgZi5hcHBseSgpOworICAgIGYuZGVzdHJveSgpOworICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgYyk7CisgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTsKKyAgICBmID0gbmV3IEZpbHRlcihnbCwgJ2lkZW50
aXR5LWhmbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOworICAgIGdsLmJsZW5kRnVuYyhnbC5T
UkNfQUxQSEEsIGdsLk9ORV9NSU5VU19TUkNfQUxQSEEpOworICAgIGYuYXBwbHkoKTsKKyAgICBm
LmRlc3Ryb3koKTsKKyAgICB2YXIgdmFsaWRfdGFyZ2V0cyA9IFsKKyAgICAgICAgZ2wuVEVYVFVS
RV8yRCwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgICAgICBn
bC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWSwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAor
ICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfTkVHQVRJVkVfWgorICAgIF07CisgICAgdmFsaWRfdGFyZ2V0cy5mb3JFYWNo
KGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXsKKyAgICAgICAgICAg
ICAgICBnbC50ZXhJbWFnZTJEKHQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGMpOworICAgICAgICAgICAgICAgIGdsLnRleFN1YkltYWdlMkQodCwgMCwgMCwgMCwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgICAgIH0pOworICAgICAgICBhc3NlcnRP
ayhmdW5jdGlvbigpeworICAgICAgICAgICAgICAgIGdsLnRleEltYWdlMkQodCwgMSwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgICAgICAgICAgICAgZ2wudGV4
U3ViSW1hZ2UyRCh0LCAxLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTsKKyAg
ICAgICAgfSk7CisgICAgfSk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJETm9uU09QID0gZnVu
Y3Rpb24oZ2wpIHsKKyAgICB2YXIgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2kyJyk7
CisgICAgd2hpbGUgKCFpbWcuY29tcGxldGUpIHt9CisgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnYycpOworICAgIHZhciBjdHggPSBjLmdldENvbnRleHQoJzJkJyk7CisgICAg
Y3R4LmRyYXdJbWFnZShpbWcsMCwwKTsKKyAgICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgInRl
eEltYWdlMkQgd2l0aCBjcm9zcy1vcmlnaW4gaW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4i
LAorICAgICAgZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7fSk7CisgICAgYXNzZXJ0VGhyb3dO
b0dMRXJyb3IoZ2wsICJ0ZXhTdWJJbWFnZTJEIHdpdGggY3Jvc3Mtb3JpZ2luIGltYWdlIHNob3Vs
ZCB0aHJvdyBleGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4U3ViSW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCAwLDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7fSk7
CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhJbWFnZTJEIHdpdGggZGlydHkgb3Jp
Z2luIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIsCisgICAgICBmdW5jdGlvbigpe2ds
LnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgYyk7fSk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhTdWJJbWFn
ZTJEIHdpdGggZGlydHkgb3JpZ2luIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIsCisg
ICAgICBmdW5jdGlvbigpe2dsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1
bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZmxpcC12
ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7Cith
dHRyaWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4o
KQoreworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LnMsIDEuMC1UZXgudCwgMC4wLCAwLjApOwor
ICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgaWQ9ImlkZW50aXR5LWhmbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0
dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwordmFyeWluZyB2ZWM0
IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQwID0gdmVjNCgxLjAtVGV4
LnMsIFRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRleCwgMS4w
KTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZnJhZyIgdHlwZT0ieC1zaGFk
ZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSBzYW1w
bGVyMkQgVGV4dHVyZTsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7
CisgICAgdmVjNCBjID0gdGV4dHVyZTJEKFRleHR1cmUsIHRleENvb3JkMC5zdCk7CisgICAgZ2xf
RnJhZ0NvbG9yID0gYzsKK30KKzwvc2NyaXB0PgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0i
Z2wiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImMiIHdp
ZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZhcz4KKzxpbWcgaWQ9ImkiIHdpZHRoPSIyNTYi
IGhlaWdodD0iMjU2IiAgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFB
TlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFUVkVsRVFWUjRuTzNkK1ZQVWQ1N0hjZjJi
OWs5WSt6NDQrcUs3T1pvR0ZWQTVWZkJHemFoOWN4cE56R0VPb1J1YTVsQkV1ZS9ESzRmWjdNYXBt
U20zTWxzaHU4eE9kQ3BESnQzdi9hRUJBVUhBT01HNHowZlY1M2ZxVS9WNmZkN2ZUL2UzMmJFREFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBd092QmthcjdsKzMrR3dCc2s4eFVyVDByVGI4dngyUTQ1amFu
bHU3WXNXUG5zZ1hnVGVZd2FrODVVM1h2NVppTTMrWGJVaC9sMmRJQ0JjNjA4MFdaMXVyOTJiYVNI
UlFCOEdheUdkVVd1MUh6b1NORk8rWk0xZjJjYlRMTTUxbFQ1d29jNXJrRE9iYlovVm0yU0VtMjNW
dnN5amhWNW5KUUJzQ2J4R1pRVnRtTjZwNE1vL1lQZHFOR0hLbGF5VXJYSjl6V2xFU2gweEl2enNt
WUwzSFo1NHB6TW02VnVSeVJNcGZUVytweVVBYkFtOEJtVk5WbkdOVFRkcVA2dnpPTUdyR25hTVNa
cXBOc2sxN3liS2xTNkRUTC9peGJvdFJsajVmbE91YkwzSTY1TXBmalZybmJFYWxZS0lOU2wzMzV2
UUdBM3dLYlVXMnhHZFdSREtQNjZ3eWpXaFlMd0pHaUZXZWFUckpOQm5GYlUyU1AzU1Q3czZ4U21t
dVhjcmN6VWU1MnhzdHpIZlBsYnNkY3VkdDVxeXpYM2xLV2x4a3N6WEdlSzhteG55ekp5U2plUVJr
QXJ6ZWJRVmxsTTZwN2JVYjE0OVVGNEVqVlNtYWFUckxTOWVLeXBNZ2VlN29jeUxaSm1kc2hGWG1a
VXBIblhGRUdCL096SnNyZGpxRXl0L05tV2E0OVhKYnQ5SmE2TWs0VnU3aEVCRjVMTnIycTNtWlF6
OWdNNnU5WEZFQnFzZ0NjYVRySlhKZ0VjaTBwc3RkaGt2M1pOaW5OVFpiQW9md3NPWlNmSlFmek1x
VTh6NWtvZHpzU1pibU9lSVhiK1hXNTJ6RmE1bkxjS25QWkkyVUxsNGpGZktJQXZCN01PclhGWmxC
SGJBYjExemFqK2ttR1ViTnVBV1NtNjVkS1lIZEdtaFJsV3FROHp5RkhDbkxrK0w1Y09WNlVLMGNL
WFZLNUoxc081bWRLaGRzcFphdktvRFRYMFZQaWNpVExJSHRGR1ZBSXdLL05ZbEJXMmZUcVhwdEIv
ZGhtU0o3K0x5cUFySFM5NUppVEpWRGdORWxsUVpaNEtndWxycnBVNnF0TEpYQnN2NXd0M3lNbjly
dmxhSUZMRGk4dmcxeEg0bUIrNXArV2wwRnBqcjJsSk1jUkxNNnlueXZPempoeElJdDdBK0JYWTlH
cjZxMEw0LzlTQWFSb3hMN3cvTDlXQVdTYkRKSnJUWkZpZDRaNGp4WkpVLzF4dWZIaE9lbStlazZp
bDAvTEI3NHFhVHhUSm9HaisrVnMyUjQ1dmo5WGpoVGt5T0hkQzQ4SkMyVndhSGZtbnlyY3puK3Zj
RHNteW5MdFF5VTVHVGVMY3pMQ3BUazJUM0dXN1ZoeFZzYWU3ZDRmNEkxbDFxa3RWb002WWpPb3Zy
WWExRDhzRm9COVdRRTQxNWtBOHUxcGN2UkFqbndVT2lMRExRRzUxOTBvOTI0MnlsUkhuUXlHL1hM
ejZubUpYcXFXRDN5VjBuQzZWUHhIOThuWnN0MXlmRit1SEMxMFNkWGViRG1Vbnl5RHFvTHM3dzds
WjM1YjduYjhzY3h0LzdkU2wzMmtKQ2VqcXlRbjQwcEpUa2JaRGlZQzROV3phSlZWVnIycTEyWlFQ
YllhMUg5ZnV3QjBTd1dRbGE2WExGT3lBQW95VGZMVzRUM1NmdVdNM0wzUklBLzdMOHZEL3N2eVpl
OGwrZXpXMjNLdnUxRW1PMnBsb05rbjNWZlBTZXZiMWZLK3QxSWF6NVJKN2NsaThSMHBrdE9sK1hL
c0tGa0dCeGZLb0hKdjFsOFA1bWYrdVNMUDhmdnlYTWRNbWRzUktYYzVxb3RkR1FYYnZWL0FHOFdp
VjlWYjlhb1pxMTQxYXpPb3hXYmNYQUhrV2xPa0pDOURhazhYeTYxUEw4aURub3RMQmJCVUJIMlg1
WXZibCtSQnowVzVlNk5CSnRwcnBML1pKemMvT2kvWFAzaExXaTZla3ZjOGg2V3V1a1M4VmMvS1lQ
RUM4V2hoenBPcWd1enZLdmRtZlhWNGQyYjN3ZnpNOXcvbFpURU5BSytDV2Fld1dIV3FpRTJ2K3Rx
cVYvMncyUUxJTmhra1AyTmgvSzg5SW1OdElmbWk5OUt6OFBjbDE1ZEw2NUo4MFh0SlByLzF0dHkv
MlNoM3V4dmt6dlY2R1krRnBPK2FWNjUvOER1SlhEd3BWenlIcE83VVFobVU1TXZSSXBkVTdjMlJR
N3V6NU1SKzl4K09GYm51SGkzTWlWUVZ1S29QNzg0dTJ1NzlBMzdUTEZwbGxWV242clhxVlkrdGV0
V1BHeGJBc2d2QXZVNlR2SFZvdDhTdW5KWTdOK3JseTc2MWcvOWxiM0o5c1d4OWZ2dVNmSDc3Ylhu
UWMxSHVkVGZJVEZlZGpMV0ZwUGVhUjdvK2VFdkNqU2ZseW9WRFVsZGRLc0hqQitUQzRVSTVWWndu
VlFVNWliY3E5bngxdWpTLzU4UUI5OVhxWW5mNURxWUI0T1ZZZE0vR2Y2dGU5WS9rOC8vR0JlQ3lH
S1hFblNFMTFRZWs1NVB6Y3Y5bTQ4clFyeFA4TDI1ZmtpOXV2eTJmcjFxZjNicVluQXh1Tk1oMFo1
Mk1SSU55KzFPUFhQL3dkOUorNVl3MDE1K1FkODRmbEpxVHhYTGhjSUdjTE03NytVaEJ6dDh1VkJh
Mm5xdmNlL1pzeFo2eTdkNUw0RGRsY2Z5MzZGVmZXL1NxSDZ3R2xhd3VnTVd2QVR2VGxoV0F5U0I1
R2FseWRIK09mRlJ6UkVhalFmbjgxdHZyaC82RndWOWNGK1d6V3hmbHdhMkxjci9ub3R6cmJwU1o2
L1V5MVZVbmt4MjFNdHdTa0o1UExrakhlMmVscWY2NFhENTNVRUluRGlRdUhDNllyeTdPbXoxVzVI
clkrRmJGNFIxTUE4RG1XTFRLS3N1eThkOXFVTCt3QUpaL0MzQ1BNMTNPSHR3dGJlK2VsdW5yOWZM
RnVzRi9QdlNmMzFvNytBOTZucTM3UFJmbGZrK2ozTCtaL0ZqeDdvMEdtZTZxazRuMkdobHE4VXZQ
eCtlbC9jb1p1VlozWEM2ZnEvaTU3bFR4MzJwT0huZ1VPbFVjL2pSNGxFdENZQ01XbmFyZW9sZk5X
UFNxV2F0QjlkT2FCYkRHbDRCY0ZxTVV1MjBTT25WQWJuNThUdTUyTjI3cXRQOThnOUEvV0F6OVF2
QVgxNzNGRXVodWtMdmREY25Kb0xOV3htTTFNaGp4eTgyUHprbm4rMmNTc1hkUHo0Y2JUOHgrR0to
OCtGSHdTTzBPU2dCWW0xbW5zSmgxcW9oRnIxd1kvNVh4WndXdy90ZUFzOUtUdnd0d1pIKzJYQTFW
eVhCclVCNzBYRnovdEY5bnpOOUs4TzkxTjhpOWhmQXZyanMzR3VUT2pYcVpYbmhFR0crdmtkRm9V
QWJEL3A5N1BqNy90NTZyNTcvcHUrYjVwT1hkNnFQYnZkZkFhOGVpM1ZWbDBhbDZMWHJsWTR0Tyth
TkZyMHBzdGdEMk9OTGx6TUhkRW4ybldxWTY2K1N6bHh6ekh5d2I4NThML1RyQnYzdmpXZmdYMTh6
MTVKcnVxcE9wemxxWmFBOGx4bUtodjQ5R2czL29EL3MrM3U2OUJsNDdGcDJpM3FKVnpWaDB5bG1y
VHZtVFZaKzhBRno1SHNEekJaQmpOa3B4cmsyQ3B3NUk5MGZuNU02TmhoZWU5bHNPZnZmbWczL24r
clB3ejF5dms1bXVPcGxlV0pNZHRmSEpqcHJ2Smp0cUtBQmd1ZVQ0cjRpWWRjcXZ6YnBkUDFqMHl2
anFBckN2OVNKUXVsN2N0bFNwMnBjdEh3WXJaYWdsSVBkdk5xNS8yci9nWW05VHdiK3g5ZUJQZDlY
SlZISVNtSi9xclAxbXVyT0dSd0JnT1pOMlY1VkZwK3kxYUJmR2Y1MHlzVlFBYTN3SFlMRUFzdEwx
c3R1UkxxY3I4cVgxOGltWjdLaVZCejBYWHhqNmpaL3ZOeG44NnhzSFAva0lVQ2RUblhYeDZjN2F2
MHgxMVBSczkxNERyeDJUVGxGdjBpcG16RHJsckVXbi9NbWlWOGxtQ2lEYmJKQUR1VFlKbnR3dk42
NytUbWF1MXlkRHZtYm90MzZ4OXl6NDlTOFovTnJGTlQvZFZmdjdxYzY2azl1OTE4QnJ4YXhlUGY0
cjRoc1ZnSFBoOXdCenJTbFNWWlF0SHdRcVpURGlsN3ZkalZzNzdiY1kvSm10QjErbU9tc1RreDIx
VDZhNmFrZTJlNitCMTQ1SnU2dktwRlAybXJUS3gyYnRzL0YvOFZ1QUx5cUEzZlkwT1YyZUx5MlhU
c3BFZTQzY2Y4R3ovVFlFWHlZN2FtV3lveVkrMVZIei9WUm5YZk4yN3pYdzJsa2EvN1hLV1l0Vyta
TkZwNVRORkVDMnlTRDdYVllKbk5nblhSKytKZE5kZFpzKzdYK2Q0TmZLWkVlTlRIYlV6RTkyMUR5
YTVQSVBXQ2xOcmJDWXRjbngzNlRkOVlOWnA0aGJkS3FOQzJCaC9LOHN6SkwzL1lkbElPeVRPemNh
dHZ3eDNzWTMrcjhvK0RMWkVVcE10TmM4bWVoZy9BZWVZMUx2cWpKcGxiMG1qZUt4V2F2NDBheFZK
bFlYd0ZwdkFtYW02U1RmbmliVlpYa1NlZnVrak1WQ2NyZDdFeVArZXFmOWxvSmZ1Mkh3SnpwcVpL
SzlSc2JiUS9ISjl0RDNrNTAxalAvQWFpYU5vdDZrU1k3L1pxM2lKN05PS1lzWGdDOHFnQ3lUUWZi
bFdNVi9mSjkwZm5CV0pqdHJWNHozV3pudG43dlJ2LzU4NkxjYS9HY3JORC9SSG5vMDJjNzRENnlR
cGxaWVRGcEZ4S1JWTEkzL0t3dmcrUmVCN0NuSjN3RndXVkxrY0dHV3ZPYy9MUDNOWHBtNVh2L0xU
L3ROQm45eUU4RWZUNFkvTVI0TFBSbHZEekgrQTZ1Wk5ZcEtrM1pYYi9yQytHL1NLaEtiTFlDOGpE
UTVWWlluNFlzblpMUXRLSGR1YkM3MG14M3pmMG53eDl0RE1oNEx5VmdzRkIrUEJiOGZiMmY4QjU2
VHJsSFVwMnNWMHlhTlltbjgzMHdCWktYclpWKzJSWHpIOTBuSCsyZGxvcU1tV1FDdjRMUi8rZUNI
bG9LL0VINFpqd1hueDJQQlIyUHRRY1ovWURtVFJwbWFybFkwbVRTN3ZrclRLUDVxMGlwK051dVVZ
dG1nQUJ5cFduRlpqSEtvSUZPdWVBOUpYNU5IcHJ2cU5oMzZ6WjcydnlUNEMrRlBqTFlGbjR6SGdv
ei93R29temE3ZDZacGRNWk5HOFkxSm8zaGkxaTQ4LzIraUFQSXlVdVZrcVZ1YUdrL0lTRFFvTTlk
ZjNXbS9NdmcxV3c3K1dDd2tZMjFCR1cwTHhrZmJndCtQeFVLTS84QnFhWnBkdTlQVWlpYVRSdkdW
U2F2NHk5SW5BQnNVUUdhNlhvcXlMZUk5VmlUdDc1MlI4ZmJRcXNDLzR0TitpOEVmYXd2S2FEUW9J
OUhBL0doYjhKdXhLT00vOEJ5VDVsOVQwOVNLUUxwR01XVFNLdjdUckZVOE5ldVVpZVVGWUZ2MVl5
Q09WSzNrbUpQai83dmVnOUo3elNOVG5iV3Y2TFIvQmNGZldDUFJRSHdrR3ZqTFNEVEFtMy9BZXRM
VnlqeVRSdm1PU2F1WU5Pc1UzNXAxeW45c1ZBQnVXNnFjTE0yVmF3M0haYmcxSU5OZHIrYTBYL3N6
L0swRmZ6UWFsTkZvSUhuNlJ3Ty9IMmtMOHVZZjhDSW16YTVDazI3WGUyYXRjc3FpVThiWExZQVVq
V1NtNjZRd3l5emVZNFVTdTNKYXhtS2h0VVAvaTAvN21oV2hYeEg4dHZXQ0g1U1JhRUJHbzRIRVNL
di95V2hyZ01zL1lEUFNkY29pczFieHZrV25mR3JSSytOckZZQTlSU3ZaWm9NYzNPdVVkendINWZh
MUN6TFJVZk5QUGUzSDF6anQxd3YrNGhwdURjUkhvb0h2UjZJQkx2K0F6VExybEVWbW5mS2hSYWQ4
YWwzejU4QzA0cmFseUltU1hMbldjRXlHV3YweTJWa3JVMTNQaC82bFR2c05nais2UWZCSFdnTXkz
QnFRNFZiLy9IQnI0TkZJMU0vbEg3QVZGcjBxWU5HckhscjFxcWMyZ3lxKy9FMUFaNXBPQ3JOTTRq
bGFJRzFYVHN0b1cvQ2ZkOXEvVlBBRE10enFUd3kzK0o4TU0vNERMMlhuaWhJd3F1STJvMXJzS1Jy
Sk5obWtZcTlETGwrb2tGdWZuSmZ4OXBwbm9WL3ZjL3V0bnZheE5jYjhUUVUvSU1PdGZobHE4Y2VI
Vy96ZkQwY0RGN1o3STRIZnFwMDJ2U3BnMDZzZTJnenFweGxHVGR5ZW9wRmNhNG9jTDNISnAvVkha
VERpazRtT3pZMzRMMzNhYis3RVh3eit3dkxORDdjRWJvMjBCakszZXhPQjM3S2ROcU02WURPb0gy
WVkxVStkYWJwNFFhWkpMaHpaSzlGM3EyVWtHcENKRFUvNzBLczc3VGNNdmwrR1dueUp3WWp2eVZC
TDRKM3QzanpnVGJEVFpsUUhNb3lhaDlsbS9kT0tQYzc0cGZQbDB2UHhPUm1MaFg2ZDAzNVR3VjlZ
RVY5OHNNVS9OUkRtOGc5NFZYYmFVN1VCbDhYNDhFU0o2K2tuOVVkK0hnaDdFdVB0b1ZkejJyZHRK
dlF2RHY1Z3hMZXd2SDhjaUhnN2hsb0NsdTNlTk9CTnN0TnRTdzM0anhjOWJIMm5lbmFveFRjMzNo
NmFINHVGNHVQdHdjUjQ4bi91L1JOTys4MEczeWRERWQvL0RJUjk5d2JDdnNidDNpemdUYlR6YXFn
eTBQUHh1ZkJJTkJBYmJ3ODlHbytGWnNkam9ibng5dERjYUN3NFA5b1dqSS9GZ29teFdDQXgrZ3BP
KytHMXh2eFZ3UitNK0dRdzdQMXhNT3g3UEJqMjlmWkh2RlhidlZIQW0ycm40cHJzcktrZDZ3aUZS
OXREc2ZIMm10aElMUFJvckMwNE85WVdtaHVOaGVaRzJ3THpJOUZnZkxRdGtCaU5CaExQaGY0WG5Q
YUxheURpazRHd1R3YkMzdjhkYVBZK0hJajRQdXB2OWpMK0E3K0NuY3ZYZUh0TjdXZ3NHQjZOaFdL
anNWQnNKQnA4TkJvTnpvNUVBM01MYTM2NE5SQWZhZlVuaHBQcjVVNzdsY0dYZ2JEMzd3Tmh6NS83
bTcwakEySFBtVzNlRStEL3JaV0YwQmFzSFc0TGhrZWlnZGhJTEJRYmJnMDhHbTROekE2MytPZUdX
L3h6UTYzKythRVdmM3lveFpkSXJtV2hiM2srOUlOTG9WOEt2dlEzZStNRHpkNGYrcHM5LzlFZjly
WU5SSHlPYmQ0REFBdFdGTUpvVzdCMnVEVVlIb29HWWtQUlFHeW94ZjlvcU1VM094VHh6UTFGZkhO
RExiNzVvWWd2UGhqeEpwWldlTzNnSjhQdlNmUTNlWDhhQ0h0bis1dTlNMzNOWFA0QnI3TVZoVERj
R3FnZGJ2V0hCMXY5c2NGV2Yyd3c0bjgwR1BITkRvYTljNE1SMzl4ZzJEczNFUGJPRDRTOThZR3dK
ekVROWlUNm03M1MzK3lWdm1iUGZIK3paNzZ2eWZPMHY5bjdwNzVtYjI5L001ZC93Ry9KYzRVdzFP
SVA5MGY4c2NHSVA5WWY4Y2NHd3I1SEEySHY3RUN6ZDI2ZzJUdlhsd3g5dksvWjgyMS9zK2UvK3Bv
ODMvWTNlVDdyYS9ZMGNma0gvTGJ0WEwyR1dueTFBMkZmdUMvc2pmV0h2YkgrWnMranZyRDNabStU
WjZpM3lUUFcxK3laN0d2eVhPOXI5dmkzOTA4SDhNK3dvaEI2bTd4bHQ2OTVUdzZFZmVjR3cxNWZm
NVBubmI1bVQ2RDMyb1VEMi94M0F2Z1Y3ZHl4WThmT2dTYXZ1Ny9KazlWM3phdmU3ajhJQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFJQ1YvZzl0UEpFUXUxWHZtUUFBQUFCSlJVNUVya0pnZ2c9PSI+Cis8aW1n
IGlkPSJpMiIgc3JjPSJodHRwOi8vbWFzaGFibGUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA4
LzA4L3RodW5kZXJiaXJkLWxvZ28tNjR4NjQucG5nIj4KKworPC9ib2R5PjwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29z
L2Fjb3NfMDAxX3RvXzAwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlM2M1NjNkZTY1MzZhZTgyNGFkODFk
YmMzNTcwMjA0MTI1NmYwMDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3Nf
MDAxX3RvXzAwNi5odG1sCkBAIC0wLDAgKzEsMTMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0g
dGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBhY29zXzAwMV90b18wMDYuaHRt
bDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgc3R5bGU9Indp
ZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1
c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVzdHMiOiBbCisgICAg
eworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFj
b3NfZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjog
bnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFj
b3NfZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhY29z
X2Zsb2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJl
IgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJhY29zX3ZlYzJfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdt
ZW50U2hhZGVyIjogImFjb3NfdmVjMl9mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJuYW1lIjogImFjb3NfdmVjMl9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRl
cm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYWNvc192ZWMzX2ZyYWdfeHZhcnlfcmVmLmZyYWci
CisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhY29zX3ZlYzNfZnJhZ194dmFyeS5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX3ZlYzNfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAK
KyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVy
ZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc19mbG9hdF92ZXJ0
X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0
L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAg
ICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhY29zX2Zsb2F0X3Zl
cnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFjb3NfZmxvYXRfdmVydF94
dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisg
ICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiYWNvc192ZWMyX3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwi
OiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogImFjb3NfdmVjMl92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJh
Y29zX3ZlYzJfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBh
cmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc192ZWMzX3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogImFjb3NfdmVjM192ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibmFtZSI6ICJhY29zX3ZlYzNfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJw
YXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2lu
L2FzaW5fMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iY2Y3NTdlOWYwYTE4MGMxN2M2ZmZhNGUxNjJhNDY2NDQzNTc3ODk4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbApAQCAt
MCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wg
Y29uZm9ybWFuY2UgdGVzdDogYXNpbl8wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9v
Z2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL29nbGVz
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBs
ZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3aWR0aDogMTZweDsgaGVpZ2h0OiAx
NnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitPcGVuR0xF
U1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAgIHsKKyAgICAgICJyZWZlcmVuY2VQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhc2luX2Zsb2F0X2ZyYWdfeHZhcnlf
cmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhc2luX2Zsb2F0X2ZyYWdfeHZhcnku
ZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl9mbG9hdF9mcmFnX3h2YXJ5LnRl
c3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7Cisg
ICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9k
ZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl92
ZWMyX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGws
IAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2Rl
ZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhc2luX3Zl
YzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhc2luX3ZlYzJf
ZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAg
fSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImFzaW5fdmVjM19mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAiYXNpbl92ZWMzX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUi
OiAiYXNpbl92ZWMzX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJj
b21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogImFzaW5fZmxvYXRfdmVydF94dmFyeV9yZWYudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXNpbl9mbG9hdF92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAg
ICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAg
fSwgCisgICAgICAibmFtZSI6ICJhc2luX2Zsb2F0X3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVu
Y2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFzaW5fdmVjMl92ZXJ0X3h2
YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0
ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhc2luX3ZlYzJfdmVydF94
dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl92ZWMyX3ZlcnRfeHZhcnku
dGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsK
KyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFz
aW5fdmVjM192ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdy
aWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJh
c2luX3ZlYzNfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl92
ZWMzX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgor
ICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2ZlM2E0
YThkNTcxNzJlZTM0ZTcwNTcwZGQ4MTFmNjYwMDNmYzgyYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29n
bGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwKQEAgLTAsMCArMSwxNTYgQEAKKzwhRE9D
VFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQuIERPIE5PVCBFRElU
LgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIGNvbmZvcm1hbmNlIHRlc3Q6IGF0
YW5fMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhlaWdo
dD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwvY2FudmFzPgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Jv
ZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7Cisg
ICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJuYW1lIjogImF0YW5fZmxvYXRfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJw
YXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5X3JlZi5m
cmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMyX2ZyYWdfeHZhcnkuZnJhZyIK
KyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXRhbl92ZWMyX2ZyYWdfeHZhcnkudGVzdC5odG1s
IiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJy
ZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzNfZnJh
Z194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAg
ICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fdmVjM19mcmFn
X3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fdmVjM19mcmFnX3h2
YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAg
ICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
YXRhbl9mbG9hdF9mcmFnX3h2YXJ5eXZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJhdGFuX2Zsb2F0X2ZyYWdfeHZhcnl5dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bmFtZSI6ICJhdGFuX2Zsb2F0X2ZyYWdfeHZhcnl5dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJw
YXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5eXZhcnlf
cmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzJfZnJhZ194dmFyeXl2
YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5
eXZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICJhdGFuX3ZlYzNfZnJhZ194dmFyeXl2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAiYXRhbl92ZWMzX2ZyYWdfeHZhcnl5dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bmFtZSI6ICJhdGFuX3ZlYzNfZnJhZ194dmFyeXl2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBh
dHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhdGFuX2Zsb2F0X3ZlcnRfeHZhcnlfcmVm
LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5m
cmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImF0YW5fZmxvYXRfdmVydF94dmFyeS52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXRhbl9mbG9hdF92ZXJ0X3h2YXJ5LnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhdGFuX3Zl
YzJfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwg
CisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXRhbl92
ZWMyX3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVm
YXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fdmVjMl92
ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9
CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAx
X3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9f
MDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU3YmZhMTUxMWE2Y2ZjNDRlMzAzZGQzNmMzNTM3YWUzMzBh
YmQyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zs
b3dfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMjUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzwh
LS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoKKyoqIENv
cHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVu
dGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJp
YWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlz
dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMs
IGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJ
REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9S
IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK
KyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENP
UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBP
VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9S
VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBN
QVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBjb250cm9sX2Zsb3dfMDAx
X3RvXzAwOC5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAw
IiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0
cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRl
eFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMi
OiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAg
ICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWwor
ICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAx
LjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAg
ICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5m
cmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiZm9yX2JyZWFrX2ZyYWcuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm5hbWUiOiAiZm9yX2JyZWFrX2ZyYWcudGVzdC5odG1sIiwgCisgICAgICAi
cGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0
IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0IjogeworICAgICAg
ICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisg
ICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAg
IDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAorICAgICAgICAg
ICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51
bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImZv
cl9icmVha192ZXJ0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJmb3JfYnJlYWtfdmVy
dC50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAg
eworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAg
ICAgICJyZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0
eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAg
ICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAg
ICAgICAgICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAg
ICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogImZvcl9jb250aW51ZV9mcmFnLmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJuYW1lIjogImZvcl9jb250aW51ZV9mcmFnLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRl
cm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAg
ICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAg
ICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAs
IAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0K
KyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAK
KyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJmb3JfY29u
dGludWVfdmVydC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0
L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX2NvbnRpbnVlX3Zl
cnQudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAgICAg
ICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAgICAi
dHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAgICAg
ICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAg
ICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJmb3JfbmVzdGVkX2JyZWFrX2ZyYWcuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm5hbWUiOiAiZm9yX25lc3RlZF9icmVha19mcmFnLnRlc3QuaHRtbCIsIAorICAg
ICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNl
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAg
ICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIs
IAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAg
ICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAg
ICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwi
OiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICJmb3JfbmVzdGVkX2JyZWFrX3ZlcnQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImZv
cl9uZXN0ZWRfYnJlYWtfdmVydC50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBh
cmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgInVu
aWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQiOiAx
LCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2YWx1
ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAg
ICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAgICAg
fQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZXhw
ZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVz
dFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImZvcl9uZXN0ZWRfY29udGludWVf
ZnJhZy5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJmb3JfbmVzdGVkX2NvbnRpbnVl
X2ZyYWcudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAg
ICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAg
ICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAg
ICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisg
ICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogImZvcl9uZXN0ZWRfY29udGludWVfdmVydC52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX25lc3RlZF9jb250aW51ZV92ZXJ0LnRlc3QuaHRt
bCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9CisgIF0KK30pOwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFf
dG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQ0OTljOWM5Zjc2ZGM2MGEwZmU4NzAyMWNhYjBjMTE4
YTYwZjcxMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5o
dG1sCkBAIC0wLDAgKzEsMTU2IEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBsb2dfMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNv
dXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9vZ2xlcy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9
ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhl
aWdodDogMTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
T3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX2Zsb2F0X2ZyYWdf
eHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAg
InRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVm
YXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfZmxvYXRfZnJhZ194
dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfZmxvYXRfZnJhZ194dmFy
eS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAg
eworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxv
Z19mbG9hdF9mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6
IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJs
b2dfZmxvYXRfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxv
Z19mbG9hdF9mcmFnX3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21w
YXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICJsb2dfdmVjMl9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAibG9nX3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAg
ICAibmFtZSI6ICJsb2dfdmVjMl9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRl
cm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzJfZnJhZ194dmFyeTAxX3JlZi5mcmFn
IgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzJfZnJhZ194dmFyeTAxLmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ192ZWMyX2ZyYWdfeHZhcnkwMS50ZXN0Lmh0bWwi
LCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJl
ZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ192ZWMzX2ZyYWdf
eHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAg
InRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVm
YXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfdmVjM19mcmFnX3h2
YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ192ZWMzX2ZyYWdfeHZhcnku
dGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsK
KyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2df
dmVjM19mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51
bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2df
dmVjM19mcmFnX3h2YXJ5MDEuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nX3Zl
YzNfZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICJsb2dfZmxvYXRfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJuYW1lIjogImxvZ19mbG9hdF92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRl
cm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2dfZmxvYXRfdmVydF94dmFyeTAxX3JlZi52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2dfZmxvYXRfdmVydF94dmFyeTAxLnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFn
IgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfZmxvYXRfdmVydF94dmFyeTAxLnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9CisgIF0KK30pOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xv
ZzJfMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhYWExNzhmMjhjYWYyODU5NWE3MWRkNmRj
NWE3MzIwNDA2MDg5NmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAx
X3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTU2IEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoKKyoqIENvcHlyaWdo
dCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBo
ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK
KyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u
IGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdp
dGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBy
aWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0
ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0
bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQg
dG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisq
KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz
aGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u
cyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJB
UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJ
RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1F
UkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO
RlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI
VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBP
VEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUK
KyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklB
TFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBsb2cyXzAwMV90b18wMDguaHRtbDwv
dGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRo
OiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ug
c3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVzdHMiOiBbCisgICAgewor
ICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJf
ZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVs
bCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJf
ZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX2Zs
b2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgor
ICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVy
dGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnkwMV9yZWYuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdt
ZW50U2hhZGVyIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJuYW1lIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAg
InBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVy
dCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMyX2ZyYWdfeHZhcnlfcmVm
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzJfZnJhZ194dmFyeS5mcmFn
IgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX3ZlYzJfZnJhZ194dmFyeS50ZXN0Lmh0
bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAg
InJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjMl9m
cmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAor
ICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzJf
ZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfdmVjMl9m
cmFnX3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAg
IH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICJsb2cyX3ZlYzNfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImxvZzJfdmVjM19mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAi
Y29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAg
ICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMzX2ZyYWdfeHZhcnkwMV9yZWYuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5MDEuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm5hbWUiOiAibG9nMl92ZWMzX2ZyYWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAK
KyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVy
ZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nMl9mbG9hdF92ZXJ0
X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0
L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAg
ICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2cyX2Zsb2F0X3Zl
cnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfZmxvYXRfdmVydF94
dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisg
ICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAibG9nMl9mbG9hdF92ZXJ0X3h2YXJ5MDFfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9k
ZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogImxvZzJfZmxvYXRfdmVydF94dmFyeTAxLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFt
ZSI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJu
IjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVw
L3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhz
dGVwXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NWVlOTc5NTQ4Y2FmN2NiNmU1MjNmMzgx
MmY1YjA5ZTRkODQ2MzY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9z
bW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogc21vb3Roc3Rl
cF8wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0
PSI1MDAiIHN0eWxlPSJ3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9k
eT4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAg
InRlc3RzIjogWworICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zsb2F0X2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRl
cl9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVz
dFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0ZXBfZmxvYXRfZnJh
Z194dmFyeV9lZGdlY29uc3RxdWFydGVyLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjog
InNtb290aHN0ZXBfZmxvYXRfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIs
IAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAic21vb3Roc3RlcF92ZWMy
X2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogInNtb290aHN0ZXBfdmVjMl9mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIuZnJhZyIK
KyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAic21vb3Roc3RlcF92ZWMyX2ZyYWdfeHZhcnlfZWRn
ZWNvbnN0cXVhcnRlci50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisg
ICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogInNtb290aHN0ZXBfdmVjM19mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVm
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzNfZnJhZ194dmFy
eV9lZGdlY29uc3RxdWFydGVyLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290
aHN0ZXBfdmVjM19mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAg
ICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfZmxvYXRfdmVy
dF94dmFyeV9lZGdlY29uc3RxdWFydGVyX3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICJzbW9vdGhzdGVwX2Zsb2F0X3ZlcnRfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm5hbWUiOiAic21vb3Roc3RlcF9mbG9hdF92ZXJ0X3h2YXJ5X2VkZ2Vj
b25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAg
IH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogInNtb290aHN0ZXBfdmVjMl92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVm
LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5m
cmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfdmVjMl92ZXJ0X3h2
YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290
aHN0ZXBfdmVjMl92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAg
ICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfdmVjM192ZXJ0
X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwi
OiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogInNtb290aHN0ZXBfdmVjM192ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVjM192ZXJ0X3h2YXJ5X2VkZ2Vjb25z
dHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0K
KyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1u
YW1lcy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5h
bWVzLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDFhODRmNzAzYjcxYWRiZjU0MjczMTgyYmE2NTIy
MGEyMjZhNjM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9j
YXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxODcgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEJpbmRBdHRyaWJMb2Nh
dGlvbiBMb25nIE5hbWVzIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxjYW52YXMgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyIgaWQ9ImNhbnZh
cyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxzY3JpcHQgaWQ9InZzaGFkZXIi
IHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQ
b3NpdGlvbiQoc3VmZml4KTsKK2F0dHJpYnV0ZSB2ZWM0IHZDb2xvciQoc3VmZml4KTsKK3Zhcnlp
bmcgdmVjNCBjb2xvcjsKK3ZvaWQgbWFpbigpCit7CisgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9u
JChzdWZmaXgpOworICBjb2xvciA9IHZDb2xvciQoc3VmZml4KTsKK30KKzwvc2NyaXB0PgorPHNj
cmlwdCBpZD0iZnNoYWRlciIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgor
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3ZhcnlpbmcgdmVjNCBjb2xvcjsKK3ZvaWQgbWFp
bigpCit7CisgIGdsX0ZyYWdDb2xvciA9IGNvbG9yOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0Pgor
InVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdXNpbmcgbG9uZyBu
YW1lcyB3aXRoIGJpbmRBdHRyaWJMb2NhdGlvbiB3b3JrLiIpOworCitkZWJ1ZygiIik7CitkZWJ1
ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFy
IGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2FudmFzIik7CitzaG91bGRCZU5vbk51bGwoImds
Iik7CisKK2Z1bmN0aW9uIGZhaWwoeCx5LCBidWYsIHNob3VsZEJlKQoreworICB2YXIgaSA9ICh5
KjUwK3gpICogNDsKKyAgdmFyIHJlYXNvbiA9ICJwaXhlbCBhdCAoIit4KyIsIit5KyIpIGlzICgi
K2J1ZltpXSsiLCIrYnVmW2krMV0rIiwiK2J1ZltpKzJdKyIsIitidWZbaSszXSsiKSwgc2hvdWxk
IGJlICIrc2hvdWxkQmU7CisgIHRlc3RGYWlsZWQocmVhc29uKTsKK30KKworZnVuY3Rpb24gcGFz
cygpCit7CisgIHRlc3RQYXNzZWQoImRyYXdpbmcgaXMgY29ycmVjdCIpOworfQorCitkZWJ1Zygi
Iik7CitkZWJ1ZygiQ2hlY2tpbmcgZ2wuYmluZEF0dHJpYkxvY2F0aW9uIHdpdGggbG9uZyBuYW1l
cy4iKTsKKwordmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisKK3ZhciBzdWZmaXgg
PSAibG9uZyI7Citmb3IgKHZhciBpaSA9IDA7IGlpIDwgNTsgKytpaSkgeworICBzdWZmaXggPSBz
dWZmaXggKyBzdWZmaXg7Cit9Cit2YXIgcmVwbGFjZW1lbnRzID0geworICBzdWZmaXg6IHN1ZmZp
eAorfTsKKwordmFyIHZzcmMgPSB3dHUucmVwbGFjZVBhcmFtcyh3dHUuZ2V0U2NyaXB0KCJ2c2hh
ZGVyIiksIHJlcGxhY2VtZW50cyk7Cit2YXIgZnNyYyA9IHd0dS5yZXBsYWNlUGFyYW1zKHd0dS5n
ZXRTY3JpcHQoImZzaGFkZXIiKSwgcmVwbGFjZW1lbnRzKTsKKwordmFyIHZzID0gd3R1LmxvYWRT
aGFkZXIoZ2wsIHZzcmMsIGdsLlZFUlRFWF9TSEFERVIpOwordmFyIGZzID0gd3R1LmxvYWRTaGFk
ZXIoZ2wsIGZzcmMsIGdsLkZSQUdNRU5UX1NIQURFUik7CisKK3ZhciBhdHRyaWJzID0geworICB2
UG9zaXRpb246ICJ2UG9zaXRpb24iICsgc3VmZml4LAorICB2Q29sb3I6ICJ2Q29sb3IiICsgc3Vm
Zml4Cit9OworCitnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdnMpOworZ2wuYXR0YWNoU2hhZGVy
KHByb2dyYW0sIGZzKTsKKwordmFyIHBvc2l0aW9ucyA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHBvc2l0aW9ucyk7CitnbC5idWZmZXJEYXRhKAor
ICBnbC5BUlJBWV9CVUZGRVIsCisgIG5ldyBGbG9hdDMyQXJyYXkoCisgICAgICBbIDEuMCwgIDEu
MCwgMC4wLAorICAgICAgIC0xLjAsICAxLjAsIDAuMCwKKyAgICAgICAtMS4wLCAtMS4wLCAwLjAs
CisgICAgICAgIDEuMCwgIDEuMCwgMC4wLAorICAgICAgIC0xLjAsIC0xLjAsIDAuMCwKKyAgICAg
ICAgMS4wLCAtMS4wLCAwLjBdKSwKKyAgZ2wuU1RBVElDX0RSQVcpOworCit2YXIgY29sb3JzID0g
Z2wuY3JlYXRlQnVmZmVyKCk7CitnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgY29sb3Jz
KTsKK2dsLmJ1ZmZlckRhdGEoCisgIGdsLkFSUkFZX0JVRkZFUiwKKyAgbmV3IEZsb2F0MzJBcnJh
eSgKKyAgICAgIFsgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAsMSwK
KyAgICAgICAgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAsMV0pLAor
ICBnbC5TVEFUSUNfRFJBVyk7CisKK2Z1bmN0aW9uIHNldEJpbmRMb2NhdGlvbnMoY29sb3JMb2Nh
dGlvbiwgcG9zaXRpb25Mb2NhdGlvbikgeworICBnbC5iaW5kQXR0cmliTG9jYXRpb24ocHJvZ3Jh
bSwgcG9zaXRpb25Mb2NhdGlvbiwgYXR0cmlicy52UG9zaXRpb24pOworICBnbC5iaW5kQXR0cmli
TG9jYXRpb24ocHJvZ3JhbSwgY29sb3JMb2NhdGlvbiwgYXR0cmlicy52Q29sb3IpOworICBnbC5s
aW5rUHJvZ3JhbShwcm9ncmFtKTsKKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKyAgdmFyIGxp
bmtlZCA9IChnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSAh
PSAwKTsKKyAgYXNzZXJ0TXNnKGxpbmtlZCwgInByb2dyYW0gbGlua2VkIHN1Y2Nlc3NmdWxseSIp
OworCisgIGRlYnVnKCJ2UG9zaXRpb246IiArIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0s
IGF0dHJpYnMudlBvc2l0aW9uKSkKKyAgZGVidWcoInZDb2xvciAgIDoiICsgZ2wuZ2V0QXR0cmli
TG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52Q29sb3IpKQorICBhc3NlcnRNc2coZ2wuZ2V0QXR0
cmliTG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52UG9zaXRpb24pID09IHBvc2l0aW9uTG9jYXRp
b24sCisgICAgICAgICAgICAibG9jYXRpb24gb2YgdlBvc2l0aW9uIHNob3VsZCBiZSAiICsgcG9z
aXRpb25Mb2NhdGlvbik7CisgIGFzc2VydE1zZyhnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFt
LCBhdHRyaWJzLnZDb2xvcikgPT0gY29sb3JMb2NhdGlvbiwKKyAgICAgICAgICAgICJsb2NhdGlv
biBvZiB2Q29sb3Igc2hvdWxkIGJlICIgKyBjb2xvckxvY2F0aW9uKTsKKworICB2YXIgcGxvYyA9
IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sIGF0dHJpYnMudlBvc2l0aW9uKTsKKyAgdmFy
IGNsb2MgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCBhdHRyaWJzLnZDb2xvcik7Cisg
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBwb3NpdGlvbnMpOworICBnbC5lbmFibGVW
ZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uKTsKKyAgZ2wudmVydGV4QXR0cmliUG9p
bnRlcihwb3NpdGlvbkxvY2F0aW9uLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5i
aW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgY29sb3JzKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0
cmliQXJyYXkoY29sb3JMb2NhdGlvbik7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoY29sb3JM
b2NhdGlvbiwgNCwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKK30KKworZnVuY3Rpb24gY2hlY2tE
cmF3KGNvbG9yTG9jYXRpb24sIHBvc2l0aW9uTG9jYXRpb24sIHIsIGcsIGIsIGEpIHsKKyAgd3R1
LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbciwgZywgYiwgYV0sICJzaG91
bGQgYmUgZ3JlZW4iKTsKKworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkocG9zaXRpb25M
b2NhdGlvbik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShjb2xvckxvY2F0aW9uKTsK
K30KKworc2V0QmluZExvY2F0aW9ucygyLCAzKTsKK2NoZWNrRHJhdygyLCAzLCAwLCAyNTUsIDAs
IDI1NSk7CisKK3NldEJpbmRMb2NhdGlvbnMoMCwgMyk7CitnbC5kaXNhYmxlVmVydGV4QXR0cmli
QXJyYXkoMCk7CitnbC52ZXJ0ZXhBdHRyaWI0ZigwLCAxLCAwLCAwLCAxKTsKK2NoZWNrRHJhdygw
LCAzLCAyNTUsIDAsIDAsIDI1NSk7CisKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OworCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVz
dC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThjMmFlY2I0
NGFmMzc3NWI4NWQ0ZWYyYWNmOWRjN2U1NzNlMWI1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dy
YW1zL3Byb2dyYW0tdGVzdC5odG1sCkBAIC0wLDAgKzEsNDIyIEBACis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgUHJvZ3JhbSBDb21waWxpbmcvTGlu
a2luZyBDb25mb3JtYW5jZSBUZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5q
cyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyIgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBpZD0idnNoYWRl
ciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRp
b247CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3Np
dGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXItcmVkIiB0eXBlPSJ4
LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xf
RnJhZ0NvbG9yID0gdmVjNCgxLCAwLCAwLCAxKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
aWQ9ImZzaGFkZXItZ3JlZW4iIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHZvaWQg
bWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAsIDEsIDAsIDEpOwor
ICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlci1zZXR0YWJsZSIgdHlwZT0ieC1z
aGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5p
Zm9ybSB2ZWM0IHVfY29sb3I7CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0Zy
YWdDb2xvciA9IHVfY29sb3I7CisgICAgfQorPC9zY3JpcHQ+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjIiIGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworZnVuY3Rpb24gZ28oKSB7CisgICAg
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcHJvZ3JhbSBjb21waWxpbmcvbGlua2luZy91c2luZyB3
b3JrcyBjb3JyZWN0bHkuIik7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIkNhbnZhcy5n
ZXRDb250ZXh0Iik7CisKKyAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjYW52YXMi
KTsKKyAgICBpZiAoIWdsKSB7CisgICAgICAgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3Qg
ZXhpc3QiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHRlc3RQYXNzZWQoImNvbnRl
eHQgZXhpc3RzIik7CisKKyAgICBnbC5jbGVhckNvbG9yKDAuMCwgMC4wLCAwLjAsIDAuMCk7Cisg
ICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOwor
CisgICAgZnVuY3Rpb24gZG9BcnJheXNIYXZlU2FtZUNvbnRlbnRzKGEsIGIpIHsKKyAgICAgICAg
dmFyIGZsYWdzID0gW107CisgICAgICAgIGZ1bmN0aW9uIGhhc1VudXNlZFZhbHVlKGEsIHZhbHVl
KSB7CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgYS5sZW5ndGg7ICsraWkpIHsK
KyAgICAgICAgICAgICAgICBpZiAoYVtpaV0gPT09IHZhbHVlICYmICFmbGFnc1tpaV0pIHsKKyAg
ICAgICAgICAgICAgICAgICAgZmxhZ3NbaWldID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgYS5s
ZW5ndGg7IGlpKyspIHsKKyAgICAgICAgICAgICAgICBpZiAoIWhhc1VudXNlZFZhbHVlKGIsIGFb
aWldKSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9IGNhdGNoIChleCkgeworICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwor
Ly8vLy8vLyBDaGVjayBjb21waWxlU2hhZGVyKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8KKworICAgIHZhciB2cyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hBREVSKTsKKyAg
ICBnbC5zaGFkZXJTb3VyY2UodnMsICJhdHRyaWJ1dGUgdmVjNCBhVmVydGV4OyBhdHRyaWJ1dGUg
dmVjNCBhQ29sb3I7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgdkNvbG9yID0g
YUNvbG9yOyBnbF9Qb3NpdGlvbiA9IGFWZXJ0ZXg7IH0iKTsKKyAgICBnbC5jb21waWxlU2hhZGVy
KHZzKTsKKworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMsIGdsLkNPTVBJ
TEVfU1RBVFVTKSA9PSB0cnVlLAorICAgICAgICAgICAgICAiZ29vZCB2ZXJ0ZXggc2hhZGVyIHNo
b3VsZCBjb21waWxlIik7CisKKyAgICAvLyBWZXJpZnkgdGhhdCBjb25zdGFudHMgcmVtb3ZlZCBm
cm9tIHRoZSBXZWJHTCBzcGVjIGdlbmVyYXRlIElOVkFMSURfRU5VTSBlcnJvcnMKKyAgICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIGVycm9ycyBhdCB0aGlz
IHBvaW50Iik7CisgICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcih2cywgZGVza3Rv
cEdMWydJTkZPX0xPR19MRU5HVEgnXSkgPT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0U2hh
ZGVyUGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOworICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuSU5WQUxJRF9FTlVNLCAiSU5GT19MT0dfTEVOR1RIIGlzIG5vdCBhIHZhbGlkIGFyZ3Vt
ZW50IHRvIGdldFNoYWRlclBhcmFtZXRlciBpbiBXZWJHTCIpOworICAgIGFzc2VydE1zZyhnbC5n
ZXRTaGFkZXJQYXJhbWV0ZXIodnMsIGRlc2t0b3BHTFsnU0hBREVSX1NPVVJDRV9MRU5HVEgnXSkg
PT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0U2hhZGVyUGFyYW1ldGVyIHNob3VsZCByZXR1
cm4gbnVsbCIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiU0hB
REVSX1NPVVJDRV9MRU5HVEggaXMgbm90IGEgdmFsaWQgYXJndW1lbnQgdG8gZ2V0U2hhZGVyUGFy
YW1ldGVyIGluIFdlYkdMIik7CisKKyAgICB2YXIgdnMyID0gZ2wuY3JlYXRlU2hhZGVyKGdsLlZF
UlRFWF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZSh2czIsICJhdHRyaWJ1dGUgdmVjNCBh
VmVydGV4OyBhdHRyaWJ1dGUgdmVjNCBhQ29sb3I7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZvaWQg
bWFpbigpIHsgdkNvbG9yID0gYUNvbG9yOyBnbF9Qb3NpdGlvbiA9IGFWZXJ0ZXggKiAwLjU7IH0i
KTsKKyAgICBnbC5jb21waWxlU2hhZGVyKHZzMik7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hh
ZGVyUGFyYW1ldGVyKHZzMiwgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAg
ICAgICJnb29kIHZlcnRleCBzaGFkZXIgIzIgc2hvdWxkIGNvbXBpbGUiKTsKKworICAgIHZhciB2
c0JhZCA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJT
b3VyY2UodnNCYWQsICJXSUxMIE5PVCBDT01QSUxFOyIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIo
dnNCYWQpOworCisgICAgLy8gR0xTTCAxLjAuMTcgc2VjdGlvbiAxMC4yNy4gY29tcGlsZSBzaGFk
ZXIgZG9lcyBub3QgaGF2ZSB0byByZXR1cm4gZmFpbHVyZS4KKyAgICAvL2Fzc2VydE1zZyhnbC5n
ZXRTaGFkZXJQYXJhbWV0ZXIodnNCYWQsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSBmYWxzZSwKKyAg
ICAvLyAgICAgICAgICAiYmFkIHZlcnRleCBzaGFkZXIgc2hvdWxkIGZhaWwgdG8gY29tcGlsZSIp
OworCisgICAgdmFyIGZzID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7Cisg
ICAgZ2wuc2hhZGVyU291cmNlKGZzLCAicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7IHZhcnlpbmcg
dmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgZ2xfRnJhZ0NvbG9yID0gdkNvbG9yOyB9Iik7Cisg
ICAgZ2wuY29tcGlsZVNoYWRlcihmcyk7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFy
YW1ldGVyKGZzLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImdv
b2QgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBjb21waWxlIik7CisKKyAgICB2YXIgZnMyID0gZ2wu
Y3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZz
MiwgInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyB2YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lkIG1h
aW4oKSB7IGdsX0ZyYWdDb2xvciA9IHZDb2xvciAqIDAuNTsgfSIpOworICAgIGdsLmNvbXBpbGVT
aGFkZXIoZnMyKTsKKworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnMyLCBn
bC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImdvb2QgZnJhZ21lbnQg
c2hhZGVyICMyIHNob3VsZCBjb21waWxlIik7CisKKyAgICB2YXIgZnNCYWQgPSBnbC5jcmVhdGVT
aGFkZXIoZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UoZnNCYWQsICJX
SUxMIE5PVCBDT01QSUxFOyIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnNCYWQpOworCisgICAg
Ly8gR0xTTCAxLjAuMTcgc2VjdGlvbiAxMC4yNy4gY29tcGlsZSBzaGFkZXIgZG9lcyBub3QgaGF2
ZSB0byByZXR1cm4gZmFpbHVyZS4KKyAgICAvL2Fzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0
ZXIoZnNCYWQsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSBmYWxzZSwKKyAgICAvLyAgICAgICAgICAi
YmFkIGZyYWdtZW50IHNoYWRlciBzaG91bGQgZmFpbCB0byBjb21waWxlIik7CisKKyAgICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIGVycm9ycyBhdCB0aGlz
IHBvaW50Iik7CisKKy8vLy8vLy8gQ2hlY2sgYXR0YWNoU2hhZGVyKCkgLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8KKworICAgIGZ1bmN0aW9uIGNoZWNrQXR0YWNoU2hhZGVyKGFscmVhZHlf
YXR0YWNoZWRfc2hhZGVycywgc2hhZGVyLCBleHBlY3RlZF9lcnJvcl9jb2RlLCBlcnJtc2cpIHsK
KyAgICAgICAgdmFyIHByb2cgPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgYWxyZWFkeV9hdHRhY2hlZF9zaGFkZXJzLmxlbmd0aDsgKytpKQorICAgICAg
ICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2csIGFscmVhZHlfYXR0YWNoZWRfc2hhZGVyc1tpXSk7
CisgICAgICAgIGlmKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAgICAgICAgICBh
c3NlcnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGluIGF0dGFjaFNoYWRlcigpIik7Cisg
ICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nLCBzaGFkZXIpOworICAgICAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGV4cGVjdGVkX2Vycm9yX2NvZGUsIGVycm1zZyk7CisgICAgfQorCisgICAgY2hl
Y2tBdHRhY2hTaGFkZXIoW10sIHZzLCBnbC5OT19FUlJPUiwgImF0dGFjaGluZyBhIHZlcnRleCBz
aGFkZXIgc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICBjaGVja0F0dGFjaFNoYWRlcihbdnNdLCB2cywg
Z2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAgICAgICAgImF0dGFjaGluZyBh
biBhbHJlYWR5IGF0dGFjaGVkIHZlcnRleCBzaGFkZXIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURf
T1BFUkFUSU9OIik7CisgICAgY2hlY2tBdHRhY2hTaGFkZXIoW10sIGZzLCBnbC5OT19FUlJPUiwg
ImF0dGFjaGluZyBhIGZyYWdtZW50IHNoYWRlciBzaG91bGQgc3VjY2VlZCIpOworICAgIGNoZWNr
QXR0YWNoU2hhZGVyKFtmc10sIGZzLCBnbC5JTlZBTElEX09QRVJBVElPTiwKKyAgICAgICAgICAg
ICAgICAgICAgICAiYXR0YWNoaW5nIGFuIGFscmVhZHkgYXR0YWNoZWQgZnJhZ21lbnQgc2hhZGVy
IHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworICAgIGNoZWNrQXR0YWNoU2hh
ZGVyKFt2c10sIHZzMiwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAgICAg
ICAgImF0dGFjaGluZyBzaGFkZXJzIG9mIHRoZSBzYW1lIHR5cGUgdG8gYSBwcm9ncmFtIHNob3Vs
ZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFtm
c10sIGZzMiwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAgICAgICAgImF0
dGFjaGluZyBzaGFkZXJzIG9mIHRoZSBzYW1lIHR5cGUgdG8gYSBwcm9ncmFtIHNob3VsZCBnZW5l
cmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworCisvLy8vLy8vIENoZWNrIGRldGFjaFNoYWRlcigp
IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAgICBmdW5jdGlvbiBjaGVja0RldGFj
aFNoYWRlcihhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnMsIHNoYWRlciwgZXhwZWN0ZWRfZXJyb3Jf
Y29kZSwgZXJybXNnKSB7CisgICAgICAgIHZhciBwcm9nID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOwor
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFscmVhZHlfYXR0YWNoZWRfc2hhZGVycy5sZW5n
dGg7ICsraSkKKyAgICAgICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nLCBhbHJlYWR5X2F0dGFj
aGVkX3NoYWRlcnNbaV0pOworICAgICAgICBpZihnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9S
KQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBhdHRh
Y2hTaGFkZXIoKSIpOworICAgICAgICBnbC5kZXRhY2hTaGFkZXIocHJvZywgc2hhZGVyKTsKKyAg
ICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBleHBlY3RlZF9lcnJvcl9jb2RlLCBlcnJtc2cpOwor
ICAgIH0KKworICAgIGNoZWNrRGV0YWNoU2hhZGVyKFt2c10sIHZzLCBnbC5OT19FUlJPUiwgImRl
dGFjaGluZyBhIHZlcnRleCBzaGFkZXIgc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICBjaGVja0RldGFj
aFNoYWRlcihbZnNdLCB2cywgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAg
ICAgICAgImRldGFjaGluZyBhIG5vdCBhbHJlYWR5IGF0dGFjaGVkIHZlcnRleCBzaGFkZXIgc2hv
dWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7CisgICAgY2hlY2tEZXRhY2hTaGFkZXIo
W2ZzXSwgZnMsIGdsLk5PX0VSUk9SLCAiZGV0YWNoaW5nIGEgZnJhZ21lbnQgc2hhZGVyIHNob3Vs
ZCBzdWNjZWVkIik7CisgICAgY2hlY2tEZXRhY2hTaGFkZXIoW3ZzXSwgZnMsIGdsLklOVkFMSURf
T1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICJkZXRhY2hpbmcgYSBub3QgYWxyZWFk
eSBhdHRhY2hlZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFU
SU9OIik7CisKKy8vLy8vLy8gQ2hlY2sgZ2V0QXR0YWNoZWRTaGFkZXJzKCkgLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8KKworICAgIGZ1bmN0aW9uIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJz
KHNoYWRlcnNfdG9fYXR0YWNoLCBzaGFkZXJzX3RvX2RldGFjaCwgZXhwZWN0ZWRfc2hhZGVycywg
ZXJybXNnKSB7CisgICAgICAgIHZhciBwcm9nID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHNoYWRlcnNfdG9fYXR0YWNoLmxlbmd0aDsgKytpKQorICAg
ICAgICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2csIHNoYWRlcnNfdG9fYXR0YWNoW2ldKTsKKyAg
ICAgICAgaWYoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJPUikKKyAgICAgICAgICAgIGFzc2Vy
dE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gYXR0YWNoU2hhZGVyKCkiKTsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaGFkZXJzX3RvX2RldGFjaC5sZW5ndGg7ICsraSkKKyAg
ICAgICAgICAgIGdsLmRldGFjaFNoYWRlcihwcm9nLCBzaGFkZXJzX3RvX2RldGFjaFtpXSk7Cisg
ICAgICAgIGlmKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAgICAgICAgICBhc3Nl
cnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGluIGRldGFjaFNoYWRlcigpIik7CisgICAg
ICAgIGFzc2VydE1zZyhkb0FycmF5c0hhdmVTYW1lQ29udGVudHMoZ2wuZ2V0QXR0YWNoZWRTaGFk
ZXJzKHByb2cpLCBleHBlY3RlZF9zaGFkZXJzKSwgZXJybXNnKTsKKyAgICB9CisgICAgY2hlY2tH
ZXRBdHRhY2hlZFNoYWRlcnMoW10sIFtdLCBbXSwgImdldEF0dGFjaGVkU2hhZGVycyBzaG91bGQg
cmV0dXJuIGFuIGVtcHR5IGxpc3QgYnkgZGVmYXVsdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRT
aGFkZXJzKFtmc10sIFtdLCBbZnNdLCAiYXR0YWNoaW5nIGEgc2luZ2xlIHNoYWRlciBzaG91bGQg
Z2l2ZSB0aGUgZXhwZWN0ZWQgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtm
cywgdnNdLCBbXSwgW2ZzLCB2c10sCisgICAgICAgICJhdHRhY2hpbmcgc29tZSBzaGFkZXJzIHNo
b3VsZCBnaXZlIHRoZSBleHBlY3RlZCBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRl
cnMoW2ZzXSwgW2ZzXSwgW10sICJhdHRhY2hpbmcgYSBzaGFkZXIgYW5kIGRldGFjaGluZyBpdCBz
aG91ZCBsZWF2ZSBhbiBlbXB0eSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMo
W2ZzLCB2c10sIFtmcywgdnNdLCBbXSwKKyAgICAgICAgImF0dGFjaGluZyBzb21lIHNoYWRlcnMg
YW5kIGRldGFjaGluZyB0aGVtIGluIHNhbWUgb3JkZXIgc2hvdWQgbGVhdmUgYW4gZW1wdHkgbGlz
dCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbdnMsIGZzXSwgW10s
CisgICAgICAgICJhdHRhY2hpbmcgc29tZSBzaGFkZXJzIGFuZCBkZXRhY2hpbmcgdGhlbSBpbiBy
YW5kb20gb3JkZXIgc2hvdWQgbGVhdmUgYW4gZW1wdHkgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0
YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbdnNdLCBbZnNdLAorICAgICAgICAiYXR0YWNoaW5nIGFu
ZCBkZXRhY2hpbmcgc29tZSBzaGFkZXJzIHNob3VsZCBsZWF2ZSB0aGUgZGlmZmVyZW5jZSBsaXN0
Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzLCB2c10sIFtmc10sIFt2c10sCisg
ICAgICAgICJhdHRhY2hpbmcgYW5kIGRldGFjaGluZyBzb21lIHNoYWRlcnMgc2hvdWxkIGxlYXZl
IHRoZSBkaWZmZXJlbmNlIGxpc3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbZnNC
YWRdLCBbXSwgW2ZzQmFkXSwKKyAgICAgICAgImF0dGFjaGluZyBhIHNoYWRlciB0aGF0IGZhaWxl
ZCB0byBjb21waWxlIHNob3VsZCBzdGlsbCBzaG93IGl0IGluIHRoZSBsaXN0Iik7CisgICAgY2hl
Y2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzLCB2c0JhZF0sIFtdLCBbZnMsIHZzQmFkXSwKKyAgICAg
ICAgImF0dGFjaGluZyBzaGFkZXJzLCBpbmNsdWRpbmcgb25lIHRoYXQgZmFpbGVkIHRvIGNvbXBp
bGUsIHNob3VsZCBzdGlsbCBzaG93IHRoZSBpdCBpbiB0aGUgbGlzdCIpOworCisvLy8vLy8vIENo
ZWNrIGxpbmtQcm9ncmFtKCkgYW5kIHVzZVByb2dyYW0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KKworICAgIGZ1bmN0aW9uIGNoZWNrTGlua0FuZFVzZShzaGFkZXJzLCBkZWxldGVTaGFk
ZXJBZnRlckF0dGFjaCwgZXhwZWN0ZWRfc3RhdHVzLCB0ZXN0SW52YWxpZEVudW1zLCBlcnJtc2cp
IHsKKyAgICAgICAgdmFyIHByb2cgPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgc2hhZGVycy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgZ2wuYXR0
YWNoU2hhZGVyKHByb2csIHNoYWRlcnNbaV0pOworICAgICAgICAgICAgaWYgKGRlbGV0ZVNoYWRl
ckFmdGVyQXR0YWNoKQorICAgICAgICAgICAgICAgIGdsLmRlbGV0ZVNoYWRlcihzaGFkZXJzW2ld
KTsKKyAgICAgICAgfQorICAgICAgICBnbC5iaW5kQXR0cmliTG9jYXRpb24ocHJvZywgMCwgImFW
ZXJ0ZXgiKTsKKyAgICAgICAgZ2wuYmluZEF0dHJpYkxvY2F0aW9uKHByb2csIDEsICJhQ29sb3Ii
KTsKKyAgICAgICAgZ2wubGlua1Byb2dyYW0ocHJvZyk7CisgICAgICAgIGlmIChnbC5nZXRFcnJv
cigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5leHBl
Y3RlZCBlcnJvciBpbiBsaW5rUHJvZ3JhbSgpIik7CisgICAgICAgIGFzc2VydE1zZyhnbC5nZXRQ
cm9ncmFtUGFyYW1ldGVyKHByb2csIGdsLkxJTktfU1RBVFVTKSA9PSBleHBlY3RlZF9zdGF0dXMs
IGVycm1zZyk7CisgICAgICAgIHZhciBpbmZvbG9nID0gZ2wuZ2V0UHJvZ3JhbUluZm9Mb2cocHJv
Zyk7CisgICAgICAgIGlmIChnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAg
ICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBnZXRQcm9ncmFtSW5mb0xv
ZygpIik7CisgICAgICAgIGlmICh0eXBlb2YoaW5mb2xvZykgIT0gInN0cmluZyIpCisgICAgICAg
ICAgICBhc3NlcnRNc2coZmFsc2UsICJnZXRQcm9ncmFtSW5mb0xvZygpIGRpZCBub3QgcmV0dXJu
IGEgc3RyaW5nIik7CisgICAgICAgIGlmIChleHBlY3RlZF9zdGF0dXMgPT0gdHJ1ZSAmJiBnbC5n
ZXRQcm9ncmFtUGFyYW1ldGVyKHByb2csIGdsLkxJTktfU1RBVFVTKSA9PSBmYWxzZSkKKyAgICAg
ICAgICAgIGRlYnVnKGluZm9sb2cpOworICAgICAgICBpZiAoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5O
T19FUlJPUikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3Ig
aW4gZ2V0UHJvZ3JhbVBhcmFtZXRlcigpIik7CisgICAgICAgIAorICAgICAgICBpZiAodGVzdElu
dmFsaWRFbnVtcykgeworICAgICAgICAgICAgLy8gVmVyaWZ5IHRoYXQgY29uc3RhbnRzIHJlbW92
ZWQgZnJvbSB0aGUgV2ViR0wgc3BlYyBnZW5lcmF0ZSBJTlZBTElEX0VOVU0gZXJyb3JzCisgICAg
ICAgICAgICBhc3NlcnRNc2coZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9nLCBkZXNrdG9wR0xb
J0lORk9fTE9HX0xFTkdUSCddKSA9PT0gbnVsbCwgImludmFsaWQgY2FsbCB0byBnZXRQcm9ncmFt
UGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOworICAgICAgICAgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJJTkZPX0xPR19MRU5HVEggaXMgbm90IGEgdmFsaWQg
YXJndW1lbnQgdG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBpbiBXZWJHTCIpOworICAgICAgICAgICAg
YXNzZXJ0TXNnKGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZywgZGVza3RvcEdMWydBQ1RJVkVf
QVRUUklCVVRFX01BWF9MRU5HVEgnXSkgPT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0UHJv
Z3JhbVBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsKKyAgICAgICAgICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiQUNUSVZFX0FUVFJJQlVURV9NQVhfTEVOR1RI
IGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFByb2dyYW1QYXJhbWV0ZXIgaW4gV2ViR0wi
KTsKKyAgICAgICAgICAgIGFzc2VydE1zZyhnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2csIGRl
c2t0b3BHTFsnQUNUSVZFX1VOSUZPUk1fTUFYX0xFTkdUSCddKSA9PT0gbnVsbCwgImludmFsaWQg
Y2FsbCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOworICAgICAg
ICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJBQ1RJVkVfVU5JRk9S
TV9NQVhfTEVOR1RIIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFByb2dyYW1QYXJhbWV0
ZXIgaW4gV2ViR0wiKTsKKyAgICAgICAgfQorCisgICAgICAgIGdsLnVzZVByb2dyYW0ocHJvZyk7
CisgICAgICAgIGlmIChleHBlY3RlZF9zdGF0dXMgPT0gdHJ1ZSkKKyAgICAgICAgICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ1c2luZyBhIHZhbGlkIHByb2dyYW0gc2hvdWxk
IHN1Y2NlZWQiKTsKKyAgICAgICAgaWYgKGV4cGVjdGVkX3N0YXR1cyA9PSBmYWxzZSkKKyAgICAg
ICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ1c2luZyBh
biBpbnZhbGlkIHByb2dyYW0gc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7Cisg
ICAgICAgIHJldHVybiBwcm9nOworICAgIH0KKworICAgIHZhciBwcm9nR29vZDEgPSBjaGVja0xp
bmtBbmRVc2UoW3ZzLCBmc10sIGZhbHNlLCB0cnVlLCB0cnVlLCAidmFsaWQgcHJvZ3JhbSBzaG91
bGQgbGluayIpOworICAgIHZhciBwcm9nR29vZDIgPSBjaGVja0xpbmtBbmRVc2UoW3ZzLCBmczJd
LCBmYWxzZSwgdHJ1ZSwgZmFsc2UsICJ2YWxpZCBwcm9ncmFtICMyIHNob3VsZCBsaW5rIik7Cisg
ICAgdmFyIHByb2dCYWQxID0gY2hlY2tMaW5rQW5kVXNlKFt2c10sIGZhbHNlLCBmYWxzZSwgZmFs
c2UsICJwcm9ncmFtIHdpdGggbm8gZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBmYWlsIHRvIGxpbmsi
KTsKKyAgICB2YXIgcHJvZ0JhZDIgPSBjaGVja0xpbmtBbmRVc2UoW2ZzXSwgZmFsc2UsIGZhbHNl
LCBmYWxzZSwgInByb2dyYW0gd2l0aCBubyB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBmYWlsIHRvIGxp
bmsiKTsKKyAgICB2YXIgcHJvZ0JhZDMgPSBjaGVja0xpbmtBbmRVc2UoW3ZzQmFkLCBmc10sIGZh
bHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggYmFkIHZlcnRleCBzaGFkZXIgc2hvdWxk
IGZhaWwgdG8gbGluayIpOworICAgIHZhciBwcm9nQmFkNCA9IGNoZWNrTGlua0FuZFVzZShbdnMs
IGZzQmFkXSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgInByb2dyYW0gd2l0aCBiYWQgZnJhZ21lbnQg
c2hhZGVyIHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0JhZDUgPSBjaGVja0xp
bmtBbmRVc2UoW3ZzQmFkLCBmc0JhZF0sIGZhbHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdp
dGggYmFkIHNoYWRlcnMgc2hvdWxkIGZhaWwgdG8gbGluayIpOworCisgICAgZ2wudXNlUHJvZ3Jh
bShwcm9nR29vZDEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ1c2lu
ZyBhIHZhbGlkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wgZXJyb3IiKTsKKworICAg
IHZhciB2YnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIHZidWYpOworICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLAorICAg
ICAgICAgICAgICAgICAgbmV3IEZsb2F0MzJBcnJheShbCisgICAgICAgICAgICAgICAgICAgICAg
MC4wLCAwLjAsIDAuMCwgMS4wLAorICAgICAgICAgICAgICAgICAgICAgIDEuMCwgMC4wLCAwLjAs
IDEuMCwKKyAgICAgICAgICAgICAgICAgICAgICAxLjAsIDEuMCwgMC4wLCAxLjAsCisgICAgICAg
ICAgICAgICAgICAgICAgMC4wLCAxLjAsIDAuMCwgMS4wXSksCisgICAgICAgICAgICAgICAgICBn
bC5TVEFUSUNfRFJBVyk7CisgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCA0LCBnbC5GTE9B
VCwgZmFsc2UsIDAsIDApOworICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICAg
IGdsLnZlcnRleEF0dHJpYjNmKDEsIDEuMCwgMC4wLCAwLjApOworCisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMgYXQgdGhpcyBwb2ludCAj
MiIpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsLmRyYXdBcnJheXMo
Z2wuVFJJQU5HTEVTLCAwLCAzKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
LCAiZHJhd2luZyB3aXRoIGEgdmFsaWQgcHJvZ3JhbSBzaG91bGRuJ3QgZ2VuZXJhdGUgYSBHTCBl
cnJvciIpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nQmFkMSk7CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInVzaW5nIGFuIGludmFsaWQgcHJvZ3JhbSBz
aG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKyAgICBnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
IlRyeSB0byB1c2UgYW4gaW52YWxpZCBwcm9ncmFtIHNob3VsZCBub3QgY2hhbmdlIHRoZSBjdXJy
ZW50IHJlbmRlcmluZyBzdGF0ZSIpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDIpOwor
ICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKKyAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLk5PX0VSUk9SLCAiZHJhd2luZyB3aXRoIGEgdmFsaWQgcHJvZ3JhbSBzaG91bGRu
J3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworICAgIGdsLmRldGFjaFNoYWRlcihwcm9nR29vZDIs
IGZzMik7CisgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2dHb29kMiwgZnNCYWQpOworICAgIGdsLmxp
bmtQcm9ncmFtKHByb2dHb29kMik7CisgICAgYXNzZXJ0TXNnKGdsLmdldFByb2dyYW1QYXJhbWV0
ZXIocHJvZ0dvb2QyLCBnbC5MSU5LX1NUQVRVUykgPT0gZmFsc2UsCisgICAgICAgICAgICAgICJs
aW5raW5nIHNob3VsZCBmYWlsIHdpdGggaW4tdXNlIGZvcm1lcmx5IGdvb2QgcHJvZ3JhbSwgd2l0
aCBuZXcgYmFkIHNoYWRlciBhdHRhY2hlZCIpOworCisgICAgLy8gSW52YWxpZCBsaW5rIGxlYXZl
cyBwcmV2aW91cyB2YWxpZCBwcm9ncmFtIGludGFjdC4KKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImRy
YXdpbmcgd2l0aCBhIHZhbGlkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wgZXJyb3Ii
KTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMCwgNCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
ImRyYXdpbmcgd2l0aCBhIHZhbGlkIHdoZW4gbGFzdCB1c2VkIHByb2dyYW0gc2hvdWxkbid0IGdl
bmVyYXRlIGEgR0wgZXJyb3IiKTsKKworICAgIHZhciBwcm9nR29vZDEgPSBjaGVja0xpbmtBbmRV
c2UoW3ZzLCBmc10sIHRydWUsIHRydWUsIGZhbHNlLCAiZGVsZXRlIHNoYWRlcnMgYWZ0ZXIgYXR0
YWNoaW5nIHRoZW0gYW5kIGJlZm9yZSBsaW5raW5nIHByb2dyYW0gc2hvdWxkIG5vdCBhZmZlY3Qg
bGlua1Byb2dyYW0iKTsKKyAgICBnbC51c2VQcm9ncmFtKHByb2dHb29kMSk7CisgICAgZ2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDQpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wu
Tk9fRVJST1IsICJkcmF3aW5nIHdpdGggYSB2YWxpZCB3aGVuIGxhc3QgdXNlZCBwcm9ncmFtIHNo
b3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9yIik7CisKKy8vLy8vLy8gQ2hlY2sgZGVsZXRlUHJv
Z3JhbSgpIGFuZCBkZWxldGVTaGFkZXIoKSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwor
CisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsLmRlbGV0ZVByb2dyYW0ocHJv
Z0dvb2QxKTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNCk7CisgICAgZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImRlbGV0ZSB0aGUgY3VycmVudCBwcm9ncmFt
IHNob3VsZG4ndCBjaGFuZ2UgdGhlIGN1cnJlbnQgcmVuZGVyaW5nIHN0YXRlIik7CisKKyAgICBn
bC5saW5rUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsICJUaGUgY3VycmVudCBwcm9ncmFtIHNob3VsZG4ndCBiZSBkZWxldGVkIik7CisKKyAg
ICB2YXIgZnMzID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wu
c2hhZGVyU291cmNlKGZzMywgInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyB2YXJ5aW5nIHZlYzQg
dkNvbG9yOyB2b2lkIG1haW4oKSB7IGdsX0ZyYWdDb2xvciA9IHZDb2xvcjsgfSIpOworICAgIGds
LmNvbXBpbGVTaGFkZXIoZnMzKTsKKworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0
ZXIoZnMzLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImdvb2Qg
ZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBjb21waWxlIik7CisKKyAgICBnbC5kZWxldGVTaGFkZXIo
ZnMzKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzMyk7CisgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5JTlZBTElEX1ZBTFVFLCAiYW4gdW5hdHRhY2hlZCBzaGFkZXIgc2hvdWxkIGJlIGRlbGV0
ZWQgaW1tZWRpYXRlbHkiKTsKKworICAgIGZzMyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVO
VF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZShmczMsICJwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsgdmFyeWluZyB2ZWM0IHZDb2xvcjsgdm9pZCBtYWluKCkgeyBnbF9GcmFnQ29sb3IgPSB2
Q29sb3I7IH0iKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzMyk7CisKKyAgICBhc3NlcnRNc2co
Z2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzMywgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisg
ICAgICAgICAgICAgICJnb29kIGZyYWdtZW50IHNoYWRlciBzaG91bGQgY29tcGlsZSIpOworCisg
ICAgZ2wuZGV0YWNoU2hhZGVyKHByb2dHb29kMSwgZnMpOworICAgIGdsLmF0dGFjaFNoYWRlcihw
cm9nR29vZDEsIGZzMyk7CisKKyAgICBnbC5kZWxldGVTaGFkZXIoZnMzKTsKKyAgICBnbC5jb21w
aWxlU2hhZGVyKGZzMyk7CisgICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcihmczMs
IGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVlLAorICAgICAgICAgICAgICAiYW4gYXR0YWNoZWQg
c2hhZGVyIHNob3VsZG4ndCBiZSBkZWxldGVkIik7CisKKyAgICBnbC51c2VQcm9ncmFtKG51bGwp
OworICAgIGdsLmxpbmtQcm9ncmFtKHByb2dHb29kMSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5JTlZBTElEX1ZBTFVFLCAiYSBkZWxldGUtbWFya2VkIHByb2dyYW0gc2hvdWxkIGJlIGRl
bGV0ZWQgb25jZSBpdCdzIG5vIGxvbmdlciB0aGUgY3VycmVudCBwcm9ncmFtIik7CisKKyAgICBn
bC5jb21waWxlU2hhZGVyKGZzMyk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElE
X1ZBTFVFLCAiYSBkZWxldGUtbWFya2VkIHNoYWRlciBzaG91bGQgYmUgZGVsZXRlZCBvbmNlIGFs
bCBpdHMgYXR0YWNobWVudHMgYXJlIHJlbW92ZWQiKTsKKworLy8vLy8vLy8gQ2hlY2sgbGlua1By
b2dyYW0oKSB3aXRoIHJlbGlua2VkIHByb2dyYW0gLy8vLy8vLy8vLworICAgIHZhciB2cyA9IHd0
dS5sb2FkU2hhZGVyRnJvbVNjcmlwdChnbCwgInZzaGFkZXIiKTsKKyAgICB2YXIgZnMgPSB3dHUu
bG9hZFNoYWRlckZyb21TY3JpcHQoZ2wsICJmc2hhZGVyLXJlZCIpOworICAgIHZhciBwcmcgPSB3
dHUuY3JlYXRlUHJvZ3JhbShnbCwgdnMsIGZzKTsKKyAgICBnbC51c2VQcm9ncmFtKHByZyk7Cisg
ICAgdmFyIHBvc0xvYyA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByZywgImFfcG9zaXRpb24iKTsK
KyAgICB3dHUuc2V0dXBVbml0UXVhZChnbCwgcG9zTG9jKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wp
OworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwgMjU1XSwgInNob3VsZCBiZSBy
ZWQiKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UoZnMsIHd0dS5nZXRTY3JpcHQoImZzaGFkZXItZ3Jl
ZW4iKSk7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmcyk7CisgICAgZ2wubGlua1Byb2dyYW0ocHJn
KTsKKyAgICAvLyBQcm9ncmFtIHNob3VsZCBiZSBuZXcgcHJvZ3JhbSBhdCB0aGlzIHBvaW50IHdp
dGhvdXQgY2FsbGluZyB1c2VQcm9ncmFtCisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUu
Y2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKyAg
ICB2YXIgcHJnID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXItc2V0
dGFibGUiXSwgWyJhX3Bvc2l0aW9uIl0pOworICAgIHZhciBjb2xvckxvYyA9IGdsLmdldFVuaWZv
cm1Mb2NhdGlvbihwcmcsICJ1X2NvbG9yIik7CisgICAgZ2wudW5pZm9ybTRmKGNvbG9yTG9jLCAx
LCAwLCAwLCAxKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5jaGVja0NhbnZhcyhn
bCwgWzI1NSwgMCwgMCwgMjU1XSwgInNob3VsZCBiZSByZWQiKTsKKyAgICBnbC5saW5rUHJvZ3Jh
bShwcmcpOworICAgIC8vIFByb2dyYW0ncyB1bmlmb3JtcyBzaG91bGQgYmUgY2xlYXJlZCBhdCB0
aGlzIHBvaW50IHdpdGhvdXQgY2FsbGluZyB1c2VQcm9ncmFtCisgICAgd3R1LmRyYXdRdWFkKGds
LCBbMCwgMjU1LCAwLCAyNTVdKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAwLCAwLCAw
XSwgInNob3VsZCBiZSB0cmFucGFyZW50IGJsYWNrIik7CisgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMiKTsKK30KKworZGVidWcoIiIpOwor
Z28oKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNmQ4OWQ5Njg5Y2E1
ZDhiZGMyOGNlZTRmYzZkMjBkMDY2M2ZmZTE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9y
ZWFkLXBpeGVscy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwyNDYgQEAKKzwhLS0KKworLyoKKyoqIENv
cHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVu
dGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJp
YWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlz
dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMs
IGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJ
REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9S
IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK
KyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENP
UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBP
VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9S
VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBN
QVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIFJlYWRQaXhlbHMgY29uZm9ybWFu
Y2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhh
bXBsZSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJ3aWR0aDogMjBweDsgaGVpZ2h0
OiAyMHB4Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJD
aGVja3MgdGhhdCBSZWFkUGl4ZWxzIHdvcmtzIGFzIGV4cGVjdGVkLiIpOworCit2YXIgd3R1ID0g
V2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4
YW1wbGUiKTsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKworaW5pdFRl
c3RpbmdIYXJuZXNzV2FpdFVudGlsRG9uZSgpOworCit2YXIgYWN0dWFsOwordmFyIGV4cGVjdGVk
OwordmFyIHdpZHRoID0gMjsKK3ZhciBoZWlnaHQgPSAyOwordmFyIGNvbnRpbnVlVGVzdEZ1bmMg
PSBjb250aW51ZVRlc3RQYXJ0MTsKKworZ2wuY2xlYXJDb2xvcigxLCAxLCAxLCAxKTsKK2dsLmNs
ZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisvLyBSZXNpemUgdGhlIGNhbnZhcyB0byAyeDIu
IFRoaXMgaXMgYW4gYXR0ZW1wdCB0byBnZXQgc3R1ZmYgaW4gdGhlIGJhY2tidWZmZXIuCisvLyB0
aGF0IHNob3VsZG4ndCBiZSB0aGVyZS4KK2NhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNv
bnRleHRsb3N0IiwgZnVuY3Rpb24oZSkgeyBlLnByZXZlbnREZWZhdWx0KCk7IH0sIGZhbHNlKTsK
K2NhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRyZXN0b3JlZCIsIGNvbnRpbnVl
VGVzdEFmdGVyQ29udGV4dFJlc3RvcmVkLCBmYWxzZSk7CitjYW52YXMud2lkdGggPSB3aWR0aDsK
K2NhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CitpZiAoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5DT05URVhU
X0xPU1RfV0VCR0wpIHsKKyAgY29udGludWVUZXN0UGFydDEoKTsKK30KKworZnVuY3Rpb24gY29u
dGludWVUZXN0QWZ0ZXJDb250ZXh0UmVzdG9yZWQoKSB7CisgIHdpbmRvdy5nbCA9IHd0dS5jcmVh
dGUzRENvbnRleHQoY2FudmFzKTsKKyAgdmFyIGZ1bmMgPSBjb250aW51ZVRlc3RGdW5jOworICB3
aW5kb3cuY29udGludWVUZXN0RnVuYyA9IGZ1bmN0aW9uKCkgeyB0ZXN0RmFpbGVkKCJzaG91bGQg
bm90IGJlIGhlcmUiKTsgfTsKKyAgZnVuYygpOworfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3RQ
YXJ0MSgpIHsKKyAgZ2wuY2xlYXJDb2xvcigwLjUsIDAuNywgMS4wLCAxKTsKKyAgZ2wuY2xlYXIo
Z2wuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgdmFyIGlubmVyQ29sb3IgPSBbMC41LCAwLjcsIDEu
MCwgMV07CisgIHZhciBvdXRlckNvbG9yID0gWzAsIDAsIDAsIDBdOworCisgIHZhciB0ZXN0cyA9
IFsKKyAgICB7IG1zZzogJ2luIHJhbmdlJywgY2hlY2tDb2xvcjogaW5uZXJDb2xvciwgeDogIDAs
IHk6ICAwLAorICAgICAgb25lQ29sb3I6IGlubmVyQ29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9LAor
ICAgIHsgbXNnOiAnb2ZmIHRvcCBsZWZ0JywgY2hlY2tDb2xvcjogb3V0ZXJDb2xvciwgeDogLTEs
IHk6IC0xLAorICAgICAgb25lQ29sb3I6IGlubmVyQ29sb3IsIG9uZVg6IDEsIG9uZVk6IDF9LAor
ICAgIHsgbXNnOiAnb2ZmIGJvdHRvbSByaWdodCcsIGNoZWNrQ29sb3I6IG91dGVyQ29sb3IsIHg6
ICAxLCB5OiAgMSwKKyAgICAgIG9uZUNvbG9yOiBpbm5lckNvbG9yLCBvbmVYOiAwLCBvbmVZOiAw
fSwKKyAgICB7IG1zZzogJ2NvbXBsZXRlbHkgb2ZmIHRvcCAnLCBjaGVja0NvbG9yOiBvdXRlckNv
bG9yLCB4OiAgMCwgeTogLTIsCisgICAgICBvbmVDb2xvcjogb3V0ZXJDb2xvciwgb25lWDogMCwg
b25lWTogMH0sCisgICAgeyBtc2c6ICdjb21wbGV0ZWx5IG9mZiBib3R0b20nLCBjaGVja0NvbG9y
OiBvdXRlckNvbG9yLCB4OiAgMCwgeTogIDIsCisgICAgICBvbmVDb2xvcjogb3V0ZXJDb2xvciwg
b25lWDogMCwgb25lWTogMH0sCisgICAgeyBtc2c6ICdjb21wbGV0ZWx5IG9mZiBsZWZ0JywgY2hl
Y2tDb2xvcjogb3V0ZXJDb2xvciwgeDogLTIsIHk6ICAwLAorICAgICAgb25lQ29sb3I6IG91dGVy
Q29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9LAorICAgIHsgbXNnOiAnY29tcGxldGVsZXkgb2ZmIHJp
Z2h0JywgY2hlY2tDb2xvcjogb3V0ZXJDb2xvciwgeDogIDIsIHk6ICAwLAorICAgICAgb25lQ29s
b3I6IG91dGVyQ29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9CisgIF07CisKKyAgZm9yICh2YXIgdHQg
PSAwOyB0dCA8IHRlc3RzLmxlbmd0aDsgKyt0dCkgeworICAgIHZhciB0ZXN0ID0gdGVzdHNbdHRd
OworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiY2hlY2tpbmc6ICIgKyB0ZXN0Lm1zZyk7Cisg
ICAgY2hlY2tCdWZmZXIodGVzdC5jaGVja0NvbG9yLCB0ZXN0LngsIHRlc3QueSwKKyAgICAgICAg
ICAgICAgICB0ZXN0Lm9uZUNvbG9yLCB0ZXN0Lm9uZVgsIHRlc3Qub25lWSk7CisgIH0KKworICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIEdMIGVy
cm9ycyIpOworCisgIGZ1bmN0aW9uIGNoZWNrQnVmZmVyKGNoZWNrQ29sb3IsIHgsIHksIG9uZUNv
bG9yLCBvbmVYLCBvbmVZKSB7CisgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KHdpZHRoICog
aGVpZ2h0ICogNCk7CisgICAgZ2wucmVhZFBpeGVscyh4LCB5LCB3aWR0aCwgaGVpZ2h0LCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIGZvciAodmFyIHl5ID0gMDsgeXkgPCBo
ZWlnaHQ7ICsreXkpIHsKKyAgICAgIGZvciAodmFyIHh4ID0gMDsgeHggPCB3aWR0aDsgKyt4eCkg
eworICAgICAgICB2YXIgb2Zmc2V0ID0gKHl5ICogd2lkdGggKyB4eCkgKiA0OworICAgICAgICB2
YXIgZXhwZWN0ZWRDb2xvcnMgPSAob25lWCA9PSB4eCAmJiBvbmVZID09IHl5KSA/IG9uZUNvbG9y
IDogY2hlY2tDb2xvcjsKKyAgICAgICAgZm9yICh2YXIgY2MgPSAwOyBjYyA8IDQ7ICsrY2MpIHsK
KyAgICAgICAgICB2YXIgZXhwZWN0ZWRDb2xvciA9IGV4cGVjdGVkQ29sb3JzW2NjXSAqIDI1NTsK
KyAgICAgICAgICB2YXIgY29sb3IgPSBidWZbb2Zmc2V0ICsgY2NdOworICAgICAgICAgIHZhciBk
aWZmID0gTWF0aC5hYnMoZXhwZWN0ZWRDb2xvciAtIGNvbG9yKTsKKyAgICAgICAgICBhc3NlcnRN
c2coZGlmZiA8IDMsCisgICAgICAgICAgICAgICAgICAgICJjb2xvciBwaXhlbCBhdCAiICsgeHgg
KyAiLCAiICsgeXkgKyAiIHNob3VsZCBiZSBhYm91dCAiICsgZXhwZWN0ZWRDb2xvcik7CisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KKworICB2YXIgYmFkRm9ybWF0cyA9IFsKKyAgICB7
CisgICAgICBmb3JtYXQ6IGdsLlJHQiwKKyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsCisg
ICAgICBkZXN0OiBuZXcgVWludDhBcnJheSgzKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX09Q
RVJBVElPTgorICAgIH0sCisgICAgeworICAgICAgZm9ybWF0OiBnbC5SR0IsCisgICAgICB0eXBl
OiBnbC5VTlNJR05FRF9TSE9SVF81XzZfNSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50OEFycmF5KDMp
LAorICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAg
ICBmb3JtYXQ6IGdsLlJHQkEsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVF81XzVfNV8x
LAorICAgICAgZGVzdDogbmV3IFVpbnQxNkFycmF5KDEpLAorICAgICAgZXJyb3I6IGdsLklOVkFM
SURfT1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLlJHQkEsCisgICAg
ICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVF80XzRfNF80LAorICAgICAgZGVzdDogbmV3IFVpbnQx
NkFycmF5KDEpLAorICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9OCisgICAgfSwKKyAg
ICB7CisgICAgICBmb3JtYXQ6IGdsLkFMUEhBLAorICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllU
RSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50OEFycmF5KDEpLAorICAgICAgZXJyb3I6IGdsLklOVkFM
SURfT1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLkxVTUlOQU5DRSwK
KyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICBkZXN0OiBuZXcgVWludDhBcnJh
eSgxKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX0VOVU0KKyAgICB9LAorICAgIHsKKyAgICAg
IGZvcm1hdDogZ2wuTFVNSU5BTkNFX0FMUEhBLAorICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllU
RSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50OEFycmF5KDIpLAorICAgICAgZXJyb3I6IGdsLklOVkFM
SURfRU5VTQorICAgIH0KKyAgXTsKKyAgZGVidWcoIiIpOworICBkZWJ1ZygiY2hlY2sgZGlzYWxs
b3dlZCBmb3JtYXRzIik7CisgIGZvciAodmFyIHR0ID0gMDsgdHQgPCBiYWRGb3JtYXRzLmxlbmd0
aDsgKysgdHQpIHsKKyAgICB2YXIgaW5mbyA9IGJhZEZvcm1hdHNbdHRdCisgICAgdmFyIGZvcm1h
dCA9IGluZm8uZm9ybWF0OworICAgIHZhciB0eXBlID0gaW5mby50eXBlOworICAgIHZhciBkZXN0
ID0gaW5mby5kZXN0OworICAgIHZhciBlcnJvciA9IGluZm8uZXJyb3I7CisgICAgZ2wucmVhZFBp
eGVscygwLCAwLCAxLCAxLCBmb3JtYXQsIHR5cGUsIGRlc3QpOworICAgIC8vIG5vdGUgdGhhdCB0
aGUgR0wgZXJyb3IgaXMgSU5WQUxJRF9PUEVSQVRJT04gaWYgYm90aCBmb3JtYXQgYW5kIHR5cGUg
YXJlIGludmFsaWQsIGJ1dAorICAgIC8vIElOVkFMSURfRU5VTSBpZiBvbmx5IG9uZSBpcy4KKyAg
ICBnbEVycm9yU2hvdWxkQmUoCisgICAgICAgIGdsLCBlcnJvciwKKyAgICAgICAgIlNob3VsZCBu
b3QgYmUgYWJsZSB0byByZWFkIGFzICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGZvcm1hdCkg
KworICAgICAgICAiIC8gIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdHlwZSkpOworICB9CisK
KyAgZGVidWcoIiIpOworICBkZWJ1ZygiY2hlY2sgcmVhZGluZyB3aXRoIGxvdHMgb2YgZHJhd2lu
ZyIpOworICBjb250aW51ZVRlc3RGdW5jID0gY29udGludWVUZXN0UGFydDI7CisgIHdpZHRoID0g
MTAyNDsKKyAgaGVpZ2h0ID0gMTAyNDsKKyAgY2FudmFzLndpZHRoID0gd2lkdGg7CisgIGNhbnZh
cy5oZWlnaHQgPSBoZWlnaHQ7CisgIGlmIChnbC5nZXRFcnJvcigpICE9IGdsLkNPTlRFWFRfTE9T
VF9XRUJHTCkgeworICAgIGNvbnRpbnVlVGVzdFBhcnQyKCk7CisgIH0KK30KKworZnVuY3Rpb24g
Y29udGludWVUZXN0UGFydDIoKSB7CisgIGdsLnZpZXdwb3J0KDAsIDAsIDEwMjQsIDEwMjQpOwor
ICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CisgIHZhciBsb2MgPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOworICBnbC5kaXNhYmxlKGdsLkJM
RU5EKTsKKyAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKyAgdmFyIGNvbG9ycyA9IFtbMjU1
LCAwLCAwLCAyNTVdLCBbMCwgMjU1LCAwLCAyNTVdLCBbMCwgMCwgMjU1LCAyNTVdXTsKKyAgdmFy
IHRleHR1cmVzID0gW107CisgIHZhciByZXN1bHRzID0gW107CisgIGZvciAodmFyIGlpID0gMDsg
aWkgPCBjb2xvcnMubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wuYWN0aXZlVGV4dHVyZShnbC5URVhU
VVJFMCArIGlpKTsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIHd0dS5m
aWxsVGV4dHVyZShnbCwgdGV4LCAxLCAxLCBjb2xvcnNbaWldKTsKKyAgICB0ZXh0dXJlcy5wdXNo
KHRleCk7CisgIH0KKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGNvbG9ycy5sZW5ndGg7ICsraWkp
IHsKKyAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgMzAwICsgaWkgKyAxOyArK2pqKSB7CisgICAg
ICBnbC51bmlmb3JtMWkobG9jLCBqaiAlIDMpOworICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklB
TkdMRVMsIDAsIDYpOworICAgIH0KKyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7Cisg
ICAgZ2wucmVhZFBpeGVscyg1MTIsIDUxMiwgMSwgMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgYnVmKTsKKyAgICByZXN1bHRzLnB1c2goYnVmKTsKKyAgICBmb3IgKHZhciBrayA9IDA7IGtr
IDwgOTk7ICsra2spIHsKKyAgICAgIGdsLnVuaWZvcm0xaShsb2MsIChqaiArIGtrKSAlIDMpOwor
ICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICAgIH0KKyAgfQorICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgY29sb3JzLmxlbmd0aDsgKytpaSkgeworICAgIHZhciBidWYg
PSByZXN1bHRzW2lpXTsKKyAgICB2YXIgY29sb3IgPSBjb2xvcnNbaWldOworICAgIGFjdHVhbCA9
IFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dOworICAgIGV4cGVjdGVkID0gW2NvbG9y
WzBdLCBjb2xvclsxXSwgY29sb3JbMl0sIGNvbG9yWzNdXTsKKyAgICBzaG91bGRCZSgiYWN0dWFs
IiwgImV4cGVjdGVkIik7CisgIH0KKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
InRoZXJlIHNob3VsZCBiZSBubyBHTCBlcnJvcnMiKTsKKworICBkZWJ1ZygiIik7CisgIGZpbmlz
aFRlc3QoKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJi
dWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY3
N2Y1MTNjODIyZmNmOTZmNGIyMTA5ZDcxNGQ5ZGQ2ZjY1ZjEzOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbApAQCAtMCww
ICsxLDU1OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2Vi
R0xUZXN0VXRpbHM7Cit2YXIgZ2w7Cit2YXIgZmJvOwordmFyIGRlcHRoQnVmZmVyOwordmFyIHN0
ZW5jaWxCdWZmZXI7Cit2YXIgZGVwdGhTdGVuY2lsQnVmZmVyOwordmFyIGNvbG9yQnVmZmVyOwor
dmFyIHdpZHRoOwordmFyIGhlaWdodDsKKwordmFyIEFMTE9XX0NPTVBMRVRFICAgICAgICAgICAg
ICA9IDB4MDE7Cit2YXIgQUxMT1dfVU5TVVBQT1JURUQgICAgICAgICAgID0gMHgwMjsKK3ZhciBB
TExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQgPSAweDA0OworCitmdW5jdGlvbiBjaGVja0ZyYW1l
YnVmZmVyRm9yQWxsb3dlZFN0YXR1c2VzKGFsbG93ZWRTdGF0dXNlcykKK3sKKyAgICAvLyBJZiB0
aGUgZnJhbWVidWZmZXIgaXMgaW4gYW4gZXJyb3Igc3RhdGUgZm9yIG11bHRpcGxlIHJlYXNvbnMs
CisgICAgLy8gd2UgY2FuJ3QgZ3VhcmFudGVlIHdoaWNoIG9uZSB3aWxsIGJlIHJlcG9ydGVkLgor
ICAgIHZhciBzdGF0dXMgPSBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVS
KTsKKyAgICB2YXIgc3RhdHVzQWxsb3dlZCA9ICgoYWxsb3dlZFN0YXR1c2VzICYgQUxMT1dfQ09N
UExFVEUpICYmIChzdGF0dXMgPT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpKSB8fAorICAgICAg
ICAgICAgICAgICAgICAgICAgKChhbGxvd2VkU3RhdHVzZXMgJiBBTExPV19VTlNVUFBPUlRFRCkg
JiYgKHN0YXR1cyA9PSBnbC5GUkFNRUJVRkZFUl9VTlNVUFBPUlRFRCkpIHx8CisgICAgICAgICAg
ICAgICAgICAgICAgICAoKGFsbG93ZWRTdGF0dXNlcyAmIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNI
TUVOVCkgJiYgKHN0YXR1cyA9PSBnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQp
KTsKKyAgICB2YXIgbXNnID0gImdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZG
RVIpIHJldHVybmVkICIgKyBzdGF0dXM7CisgICAgaWYgKHN0YXR1c0FsbG93ZWQpCisgICAgICAg
IHRlc3RQYXNzZWQobXNnKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQobXNnKTsKK30K
KworZnVuY3Rpb24gY2hlY2tCdWZmZXJCaXRzKGF0dGFjaG1lbnQwLCBhdHRhY2htZW50MSkKK3sK
KyAgICBpZiAoZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikgIT0gZ2wu
RlJBTUVCVUZGRVJfQ09NUExFVEUpCisgICAgICByZXR1cm47CisKKyAgICB2YXIgaGF2ZURlcHRo
QnVmZmVyID0gYXR0YWNobWVudDAgPT0gZ2wuREVQVEhfQVRUQUNITUVOVCB8fAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBhdHRhY2htZW50MCA9PSBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1F
TlQgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDEgPT0gZ2wuREVQVEhf
QVRUQUNITUVOVCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50MSA9PSBn
bC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQ7CisgICAgdmFyIGhhdmVTdGVuY2lsQnVmZmVyID0g
YXR0YWNobWVudDAgPT0gZ2wuU1RFTkNJTF9BVFRBQ0hNRU5UIHx8CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYXR0YWNobWVudDAgPT0gZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UIHx8
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDEgPT0gZ2wuU1RFTkNJTF9B
VFRBQ0hNRU5UIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDEgPT0g
Z2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UOworCisgICAgc2hvdWxkQmVUcnVlKCJnbC5nZXRQ
YXJhbWV0ZXIoZ2wuUkVEX0JJVFMpICsgZ2wuZ2V0UGFyYW1ldGVyKGdsLkdSRUVOX0JJVFMpICsg
Z2wuZ2V0UGFyYW1ldGVyKGdsLkJMVUVfQklUUykgKyBnbC5nZXRQYXJhbWV0ZXIoZ2wuQUxQSEFf
QklUUykgPj0gMTYiKTsKKworICAgIGlmIChoYXZlRGVwdGhCdWZmZXIpCisgICAgICBzaG91bGRC
ZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5ERVBUSF9CSVRTKSA+PSAxNiIpOworICAgIGVsc2UK
KyAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLkRFUFRIX0JJVFMpID09IDAi
KTsKKworICAgIGlmIChoYXZlU3RlbmNpbEJ1ZmZlcikKKyAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wu
Z2V0UGFyYW1ldGVyKGdsLlNURU5DSUxfQklUUykgPj0gOCIpOworICAgIGVsc2UKKyAgICAgIHNo
b3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlNURU5DSUxfQklUUykgPT0gMCIpOworfQor
CitmdW5jdGlvbiB0ZXN0QXR0YWNobWVudChhdHRhY2htZW50LCBidWZmZXIsIGFsbG93ZWRTdGF0
dXNlcykKK3sKKyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVy
KCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisgICAg
Z2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFD
SE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZl
clJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgYXR0YWNobWVudCwgZ2wuUkVOREVSQlVGRkVS
LCBidWZmZXIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIGNo
ZWNrRnJhbWVidWZmZXJGb3JBbGxvd2VkU3RhdHVzZXMoYWxsb3dlZFN0YXR1c2VzKTsKKyAgICBp
ZiAoKGFsbG93ZWRTdGF0dXNlcyAmIEFMTE9XX0NPTVBMRVRFKSA9PSAwKSB7CisgICAgICAgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OKTsKKyAgICAgICAgZ2wucmVhZFBpeGVs
cygwLCAwLCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWlu
dDhBcnJheSh3aWR0aCAqIGhlaWdodCAqIDQpKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTik7CisgICAgfQorICAgIGNoZWNrQnVm
ZmVyQml0cyhhdHRhY2htZW50KTsKKyAgICBnbC5kZWxldGVGcmFtZWJ1ZmZlcihmYm8pOworfQor
CitmdW5jdGlvbiB0ZXN0QXR0YWNobWVudHMoYXR0YWNobWVudDAsIGJ1ZmZlcjAsIGF0dGFjaG1l
bnQxLCBidWZmZXIxLCBhbGxvd2VkU3RhdHVzZXMpCit7CisgICAgc2hvdWxkQmVOb25OdWxsKCJm
Ym8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGds
LkZSQU1FQlVGRkVSLCBmYm8pOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZS
QU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1
ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGF0
dGFjaG1lbnQwLCBnbC5SRU5ERVJCVUZGRVIsIGJ1ZmZlcjApOworICAgIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZS
QU1FQlVGRkVSLCBhdHRhY2htZW50MSwgZ2wuUkVOREVSQlVGRkVSLCBidWZmZXIxKTsKKyAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyRm9y
QWxsb3dlZFN0YXR1c2VzKGFsbG93ZWRTdGF0dXNlcyk7CisgICAgY2hlY2tCdWZmZXJCaXRzKGF0
dGFjaG1lbnQwLCBhdHRhY2htZW50MSk7CisgICAgZ2wuZGVsZXRlRnJhbWVidWZmZXIoZmJvKTsK
K30KKworZnVuY3Rpb24gdGVzdENvbG9yUmVuZGVyYnVmZmVyKGludGVybmFsZm9ybWF0LCBhbGxv
d2VkU3RhdHVzZXMpCit7CisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNy
ZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJC
VUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRF
UkJVRkZFUiwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWlnaHQpOworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIHRlc3RBdHRhY2htZW50KGdsLkNPTE9SX0FUVEFD
SE1FTlQwLCBjb2xvckJ1ZmZlciwgYWxsb3dlZFN0YXR1c2VzKTsKK30KKworZnVuY3Rpb24gdGVz
dERlcHRoU3RlbmNpbFJlbmRlcmJ1ZmZlcihhbGxvd2VkU3RhdHVzZXMpCit7CisgICAgc2hvdWxk
QmVOb25OdWxsKCJkZXB0aFN0ZW5jaWxCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIp
OworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aFN0ZW5jaWxC
dWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5E
RVBUSF9TVEVOQ0lMLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SKTsKKworICAgIC8vIE9wZW5HTCBpdHNlbGYgZG9lc24ndCBzZWVtIHRvIGd1YXJh
bnRlZSB0aGF0IGUuZy4gYSAyIHggMAorICAgIC8vIHJlbmRlcmJ1ZmZlciB3aWxsIHJlcG9ydCAy
IGZvciBpdHMgd2lkdGggd2hlbiBxdWVyaWVkLgorICAgIGlmICghKGhlaWdodCA9PSAwICYmIHdp
ZHRoID4gMCkpCisgICAgICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIo
Z2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfV0lEVEgpIiwgIndpZHRoIik7CisgICAg
aWYgKCEod2lkdGggPT0gMCAmJiBoZWlnaHQgPiAwKSkKKyAgICAgICAgc2hvdWxkQmUoImdsLmdl
dFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9I
RUlHSFQpIiwgImhlaWdodCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJh
bWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfSU5URVJOQUxfRk9STUFUKSIs
ICJnbC5ERVBUSF9TVEVOQ0lMIik7CisgICAgc2hvdWxkQmUoImdsLmdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9SRURfU0laRSkiLCAiMCIp
OworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVG
RkVSLCBnbC5SRU5ERVJCVUZGRVJfR1JFRU5fU0laRSkiLCAiMCIpOworICAgIHNob3VsZEJlKCJn
bC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZG
RVJfQkxVRV9TSVpFKSIsICIwIik7CisgICAgc2hvdWxkQmUoImdsLmdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9BTFBIQV9TSVpFKSIsICIw
Iik7CisgICAgLy8gQXZvaWQgdmVyaWZ5aW5nIHRoZXNlIGZvciB6ZXJvLXNpemVkIHJlbmRlcmJ1
ZmZlcnMgZm9yIHRoZSB0aW1lCisgICAgLy8gYmVpbmcgc2luY2UgaXQgYXBwZWFycyB0aGF0IGV2
ZW4gT3BlbkdMIGRvZXNuJ3QgZ3VhcmFudGVlIHRoZW0uCisgICAgaWYgKHdpZHRoID4gMCAmJiBo
ZWlnaHQgPiAwKSB7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFy
YW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0RFUFRIX1NJWkUpID4gMCIp
OworICAgICAgICBzaG91bGRCZVRydWUoImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5S
RU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJWkUpID4gMCIpOworICAgIH0K
KyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICB0ZXN0QXR0YWNobWVu
dChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgYWxsb3dl
ZFN0YXR1c2VzKTsKKyAgICB0ZXN0RGVwdGhTdGVuY2lsRGVwdGhTdGVuY2lsKCk7Cit9CisKK2Z1
bmN0aW9uIHRlc3REZXB0aFN0ZW5jaWxEZXB0aFN0ZW5jaWwoKQoreworICAgIGlmICghd2lkdGgg
fHwgIWhlaWdodCkgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdmFyIHRlc3RzID0g
WworICAgICAgICB7ICAgZmlyc3RGb3JtYXQ6IGdsLkRFUFRIX0NPTVBPTkVOVDE2LAorICAgICAg
ICAgICAgZmlyc3RBdHRhY2g6IGdsLkRFUFRIX0FUVEFDSE1FTlQsCisgICAgICAgICAgICBzZWNv
bmRGb3JtYXQ6IGdsLkRFUFRIX1NURU5DSUwsCisgICAgICAgICAgICBzZWNvbmRBdHRhY2g6IGds
LkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVAorICAgICAgICB9LAorICAgICAgICB7ICAgZmlyc3RG
b3JtYXQ6IGdsLkRFUFRIX1NURU5DSUwsCisgICAgICAgICAgICBmaXJzdEF0dGFjaDogZ2wuREVQ
VEhfU1RFTkNJTF9BVFRBQ0hNRU5ULAorICAgICAgICAgICAgc2Vjb25kRm9ybWF0OiBnbC5ERVBU
SF9DT01QT05FTlQxNiwKKyAgICAgICAgICAgIHNlY29uZEF0dGFjaDogZ2wuREVQVEhfQVRUQUNI
TUVOVAorICAgICAgICB9CisgICAgXTsKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdHMu
bGVuZ3RoOyArK2lpKSB7CisgICAgICAgIHZhciB0ZXN0ID0gdGVzdHNbaWldOworICAgICAgICBm
b3IgKHZhciBqaiA9IDA7IGpqIDwgMjsgKytqaikgeworICAgICAgICAgICAgdmFyIGZibyA9IGds
LmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgICAgICAgICAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4
dHVyZSgpOworICAgICAgICAgICAgdmFyIGZpcnN0UmIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIo
KTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgZGVidWcoInRlc3Q6ICIg
KyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRlc3QuZmlyc3RGb3JtYXQpICsgIiB2cyAiICsgd3R1
LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LnNlY29uZEZvcm1hdCkgKyAiIHdpdGggIiArIChqaiA/
ICJ1bmJpbmQiIDogImRlbGV0ZSIpKTsKKworICAgICAgICAgICAgZ2wuYmluZEZyYW1lYnVmZmVy
KGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgICAgICAgICAgLy8gYXR0YWNoIHRleHR1cmUgYXMg
Y29sb3IKKyAgICAgICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7Cisg
ICAgICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIHdpZHRo
LCBoZWlnaHQsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgICAgICAg
ICAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFD
SE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXgsIDApOworCisgICAgICAgICAgICAvLyBhdHRhY2gg
Zmlyc3QKKyAgICAgICAgICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBm
aXJzdFJiKTsKKyAgICAgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVG
RkVSLCB0ZXN0LmZpcnN0Rm9ybWF0LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgICAgIGdsLmZy
YW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCB0ZXN0LmZpcnN0QXR0YWNoLCBn
bC5SRU5ERVJCVUZGRVIsIGZpcnN0UmIpOworCisgICAgICAgICAgICBzaG91bGRCZSgnZ2wuY2hl
Y2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUiknLCAnZ2wuRlJBTUVCVUZGRVJfQ09N
UExFVEUnKTsKKyAgICAgICAgICAgIGdsLmVuYWJsZShnbC5ERVBUSF9URVNUKTsKKyAgICAgICAg
ICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwQ29sb3JRdWFkKGdsKTsKKyAgICAgICAgICAgIC8v
IFRlc3QgaXQgd29ya3MKKyAgICAgICAgICAgIHd0dS5kcmF3VUJ5dGVDb2xvclF1YWQoZ2wsIFsw
LCAyNTUsIDAsIDI1NV0pOworICAgICAgICAgICAgd3R1LmRyYXdVQnl0ZUNvbG9yUXVhZChnbCwg
WzI1NSwgMCwgMCwgMjU1XSk7ICAvLyBzaG91bGQgbm90IGRyYXcgc2luY2UgREVQVEhfRlVOQyA9
PSBMRVNTCisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCB3aWR0aCwg
aGVpZ2h0LCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7CisKKyAgICAgICAg
ICAgIHZhciBzZWNvbmRSYiA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpOworCisgICAgICAgICAg
ICAvLyBhdHRhY2ggc2Vjb25kCisgICAgICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJF
TkRFUkJVRkZFUiwgc2Vjb25kUmIpOworICAgICAgICAgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFn
ZShnbC5SRU5ERVJCVUZGRVIsIHRlc3Quc2Vjb25kRm9ybWF0LCB3aWR0aCwgaGVpZ2h0KTsKKyAg
ICAgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCB0ZXN0
LnNlY29uZEF0dGFjaCwgZ2wuUkVOREVSQlVGRkVSLCBzZWNvbmRSYik7CisKKyAgICAgICAgICAg
IGlmIChqaiA9PSAwKSB7CisgICAgICAgICAgICAgIC8vIG5vdyBkZWxldGUgaXQKKyAgICAgICAg
ICAgICAgZGVidWcoInRlc3QgZGVsZXRpbmcgc2Vjb25kIHJlbmRlcmJ1ZmZlciIpOworICAgICAg
ICAgICAgICBnbC5kZWxldGVSZW5kZXJidWZmZXIoc2Vjb25kUmIpOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgLy8gdW5iaW5kIGl0CisgICAgICAgICAgICAgIGRlYnVnKCJ0
ZXN0IHVuYmluZGluZyBzZWNvbmQgcmVuZGVyYnVmZmVyIik7CisgICAgICAgICAgICAgIGdsLmZy
YW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCB0ZXN0LnNlY29uZEF0dGFjaCwg
Z2wuUkVOREVSQlVGRkVSLCBudWxsKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8g
SWYgdGhlIGZpcnN0IGF0dGFjaG1lbnQgaXMgbm90IHJlc3RvcmVkIHRoaXMgbWF5IGZhaWwKKyAg
ICAgICAgICAgIHNob3VsZEJlKCdnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVG
RkVSKScsICdnbC5GUkFNRUJVRkZFUl9DT01QTEVURScpOworICAgICAgICAgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKKyAgICAgICAgICAgIC8vIElmIHRoZSBmaXJzdCBh
dHRhY2htZW50IGlzIG5vdCByZXN0b3JlZCB0aGlzIG1heSBmYWlsLgorICAgICAgICAgICAgZ2wu
Y2xlYXIoZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAgICAgICB3dHUuZHJhd1VCeXRlQ29s
b3JRdWFkKGdsLCBbMCwgMjU1LCAwLCAyNTVdKTsKKyAgICAgICAgICAgIHd0dS5kcmF3VUJ5dGVD
b2xvclF1YWQoZ2wsIFsyNTUsIDAsIDAsIDI1NV0pOyAgLy8gc2hvdWxkIG5vdCBkcmF3IHNpbmNl
IERFUFRIX0ZVTkMgPT0gTEVTUworICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwg
MCwgMCwgd2lkdGgsIGhlaWdodCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIp
OworICAgICAgICAgICAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKworICAgICAgICAgICAg
aWYgKGpqID09IDEpIHsKKyAgICAgICAgICAgICAgZ2wuZGVsZXRlUmVuZGVyYnVmZmVyKHNlY29u
ZFJiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZ2wuZGVsZXRlUmVuZGVyYnVmZmVy
KHNlY29uZFJiKTsKKyAgICAgICAgICAgIGdsLmRlbGV0ZUZyYW1lYnVmZmVyKGZibyk7CisgICAg
ICAgIH0KKyAgICB9CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7Cit9CisK
K2Rlc2NyaXB0aW9uKCJUZXN0IGZyYW1lYnVmZmVyIG9iamVjdCBhdHRhY2htZW50IGJlaGF2aW9y
cyIpOworCitmb3IgKHdpZHRoID0gMDsgd2lkdGggPD0gMjsgd2lkdGggKz0gMikKK3sKKyAgICBm
b3IgKGhlaWdodCA9IDA7IGhlaWdodCA8PSAyOyBoZWlnaHQgKz0gMikKKyAgICB7CisgICAgICAg
IGRlYnVnKCIiKTsKKyAgICAgICAgZGVidWcoIkRpbWVuc2lvbnMgIiArIHdpZHRoICsgIiB4ICIg
KyBoZWlnaHQpOworCisgICAgICAgIGRlYnVnKCJDcmVhdGUgcmVuZGVyYnVmZmVycyIpOworICAg
ICAgICBzaG91bGRCZU5vbk51bGwoImdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpIik7CisgICAg
ICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIo
KSIpOworICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JC
dWZmZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwg
Z2wuUkdCQTQsIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aEJ1ZmZlciA9IGdsLmNy
ZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVO
REVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2Uo
Z2wuUkVOREVSQlVGRkVSLCBnbC5ERVBUSF9DT01QT05FTlQxNiwgd2lkdGgsIGhlaWdodCk7Cisg
ICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgICAgICBzaG91bGRC
ZU5vbk51bGwoInN0ZW5jaWxCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAg
ICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgc3RlbmNpbEJ1ZmZlcik7
CisgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5TVEVO
Q0lMX0lOREVYOCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IpOworICAgICAgICBzaG91bGRCZU5vbk51bGwoImRlcHRoU3RlbmNpbEJ1ZmZl
ciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgICAgIGdsLmJpbmRSZW5kZXJidWZm
ZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aFN0ZW5jaWxCdWZmZXIpOworICAgICAgICBnbC5yZW5k
ZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuREVQVEhfU1RFTkNJTCwgd2lkdGgs
IGhlaWdodCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisg
ICAgICAgIHZhciBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UKKyAgICAgICAgICAgID0gKHdpZHRo
ID09IDAgfHwgaGVpZ2h0ID09IDApID8gQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UIDogQUxM
T1dfQ09NUExFVEU7CisKKyAgICAgICAgLy8gc29tZSBjYXNlcyBpbnZvbHZpbmcgc3RlbmNpbCBz
ZWVtIHRvIGJlIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudAorICAgICAgICB2YXIgYWxsb3dlZFN0
YXR1c0ZvckltcGxEZXBlbmRlbnRDYXNlID0gYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlIHwgQUxM
T1dfVU5TVVBQT1JURUQ7CisKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aCB1c2luZyBERVBU
SF9BVFRBQ0hNRU5UIik7CisgICAgICAgIHRlc3RBdHRhY2htZW50KGdsLkRFUFRIX0FUVEFDSE1F
TlQsIGRlcHRoQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UpOworICAgICAgICBkZWJ1
ZygiQXR0YWNoIGRlcHRoIHVzaW5nIFNURU5DSUxfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0
QXR0YWNobWVudChnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBBTExPV19JTkNP
TVBMRVRFX0FUVEFDSE1FTlQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoIHVzaW5nIERF
UFRIX1NURU5DSUxfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBU
SF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBBTExPV19JTkNPTVBMRVRFX0FUVEFD
SE1FTlQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIHN0ZW5jaWwgdXNpbmcgU1RFTkNJTF9BVFRB
Q0hNRU5UIik7CisgICAgICAgIHRlc3RBdHRhY2htZW50KGdsLlNURU5DSUxfQVRUQUNITUVOVCwg
c3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0ZvckltcGxEZXBlbmRlbnRDYXNlKTsKKyAgICAg
ICAgZGVidWcoIkF0dGFjaCBzdGVuY2lsIHVzaW5nIERFUFRIX0FUVEFDSE1FTlQiKTsKKyAgICAg
ICAgdGVzdEF0dGFjaG1lbnQoZ2wuREVQVEhfQVRUQUNITUVOVCwgc3RlbmNpbEJ1ZmZlciwgQUxM
T1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2ls
IHVzaW5nIERFUFRIX1NURU5DSUxfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVu
dChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIEFMTE9XX0lOQ09N
UExFVEVfQVRUQUNITUVOVCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVuY2lsIHVz
aW5nIERFUFRIX1NURU5DSUxfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChn
bC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0
YXR1c0Zvckdvb2RDYXNlKTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aFN0ZW5jaWwgdXNp
bmcgREVQVEhfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9B
VFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVO
VCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVuY2lsIHVzaW5nIFNURU5DSUxfQVRU
QUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5TVEVOQ0lMX0FUVEFDSE1FTlQs
IGRlcHRoU3RlbmNpbEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKworICAg
ICAgICB2YXIgYWxsb3dlZFN0YXR1c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50CisgICAgICAgICAg
ICA9ICh3aWR0aCA9PSAwIHx8IGhlaWdodCA9PSAwKSA/IEFMTE9XX1VOU1VQUE9SVEVEIHwgQUxM
T1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6IEFMTE9XX1VOU1VQUE9SVEVEOworCisgICAgICAgIGRlYnVnKCJBdHRhY2gg
ZGVwdGgsIHRoZW4gc3RlbmNpbCwgY2F1c2luZyBjb25mbGljdCIpOworICAgICAgICB0ZXN0QXR0
YWNobWVudHMoZ2wuREVQVEhfQVRUQUNITUVOVCwgZGVwdGhCdWZmZXIsIGdsLlNURU5DSUxfQVRU
QUNITUVOVCwgc3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0ZvckNvbmZsaWN0ZWRBdHRhY2ht
ZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2lsLCB0aGVuIGRlcHRoLCBjYXVzaW5n
IGNvbmZsaWN0Iik7CisgICAgICAgIHRlc3RBdHRhY2htZW50cyhnbC5TVEVOQ0lMX0FUVEFDSE1F
TlQsIHN0ZW5jaWxCdWZmZXIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBhbGxv
d2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOworICAgICAgICBkZWJ1ZygiQXR0YWNo
IGRlcHRoLCB0aGVuIGRlcHRoU3RlbmNpbCwgY2F1c2luZyBjb25mbGljdCIpOworICAgICAgICB0
ZXN0QXR0YWNobWVudHMoZ2wuREVQVEhfQVRUQUNITUVOVCwgZGVwdGhCdWZmZXIsIGdsLkRFUFRI
X1NURU5DSUxfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9y
Q29uZmxpY3RlZEF0dGFjaG1lbnQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoU3RlbmNp
bCwgdGhlbiBkZXB0aCwgY2F1c2luZyBjb25mbGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVu
dHMoZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIGdsLkRF
UFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0
dGFjaG1lbnQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIHN0ZW5jaWwsIHRoZW4gZGVwdGhTdGVu
Y2lsLCBjYXVzaW5nIGNvbmZsaWN0Iik7CisgICAgICAgIHRlc3RBdHRhY2htZW50cyhnbC5ERVBU
SF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBk
ZXB0aFN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0YWNobWVudCk7
CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVuY2lsLCB0aGVuIHN0ZW5jaWwsIGNhdXNp
bmcgY29uZmxpY3QiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnRzKGdsLkRFUFRIX1NURU5DSUxf
QVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIHN0
ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0YWNobWVudCk7CisKKyAg
ICAgICAgZGVidWcoIkF0dGFjaCBjb2xvciByZW5kZXJidWZmZXIgd2l0aCBpbnRlcm5hbGZvcm1h
dCA9PSBSR0JBNCIpOworICAgICAgICB0ZXN0Q29sb3JSZW5kZXJidWZmZXIoZ2wuUkdCQTQsIGFs
bG93ZWRTdGF0dXNGb3JHb29kQ2FzZSk7CisKKyAgICAgICAgZGVidWcoIkF0dGFjaCBjb2xvciBy
ZW5kZXJidWZmZXIgd2l0aCBpbnRlcm5hbGZvcm1hdCA9PSBSR0I1X0ExIik7CisgICAgICAgIHRl
c3RDb2xvclJlbmRlcmJ1ZmZlcihnbC5SR0I1X0ExLCBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2Up
OworCisgICAgICAgIGRlYnVnKCJBdHRhY2ggY29sb3IgcmVuZGVyYnVmZmVyIHdpdGggaW50ZXJu
YWxmb3JtYXQgPT0gUkdCNTY1Iik7CisgICAgICAgIHRlc3RDb2xvclJlbmRlcmJ1ZmZlcihnbC5S
R0I1NjUsIGFsbG93ZWRTdGF0dXNGb3JHb29kQ2FzZSk7CisKKyAgICAgICAgZGVidWcoIkNyZWF0
ZSBhbmQgYXR0YWNoIGRlcHRoU3RlbmNpbCByZW5kZXJidWZmZXIiKTsKKyAgICAgICAgdGVzdERl
cHRoU3RlbmNpbFJlbmRlcmJ1ZmZlcihhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UpOworICAgIH0K
K30KKworLy8gRGV0ZXJtaW5lIGlmIHdlIGNhbiBhdHRhY2ggYm90aCBjb2xvciBhbmQgZGVwdGgg
b3IgY29sb3IgYW5kIGRlcHRoX3N0ZW5jaWwKK3ZhciBkZXB0aEZvcm1hdDsKK3ZhciBkZXB0aEF0
dGFjaG1lbnQ7CisKK2Z1bmN0aW9uIGNoZWNrVmFsaWRDb2xvckRlcHRoQ29tYmluYXRpb24oKSB7
CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7Cisg
ICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIHNob3VsZEJl
Tm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGds
LmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wu
ZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xP
Ul9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVu
ZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworCisg
ICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigp
Iik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVy
KTsKKworICAgIHJldHVybiB0cnlEZXB0aChnbC5ERVBUSF9DT01QT05FTlQxNiwgZ2wuREVQVEhf
QVRUQUNITUVOVCkgfHwgdHJ5RGVwdGgoZ2wuREVQVEhfU1RFTkNJTCwgZ2wuREVQVEhfU1RFTkNJ
TF9BVFRBQ0hNRU5UKTsKKworICAgIGZ1bmN0aW9uIHRyeURlcHRoKHRyeV9mb3JtYXQsIHRyeV9h
dHRhY2htZW50KSB7CisgICAgICAgIGlmIChkZXB0aEF0dGFjaG1lbnQpIHsKKyAgICAgICAgICAg
IC8vIElmIHdlJ3ZlIHRyaWVkIG9uY2UgdW5hdHRhY2ggdGhlIG9sZCBvbmUuCisgICAgICAgICAg
ICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgICAgICAgICBnbC5GUkFNRUJV
RkZFUiwgZGVwdGhBdHRhY2htZW50LCBnbC5SRU5ERVJCVUZGRVIsIG51bGwpOworICAgICAgICB9
CisgICAgICAgIGRlcHRoRm9ybWF0ID0gdHJ5X2Zvcm1hdDsKKyAgICAgICAgZGVwdGhBdHRhY2ht
ZW50ID0gdHJ5X2F0dGFjaG1lbnQ7CisgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVy
KAorICAgICAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGRlcHRoQXR0YWNobWVudCwgZ2wuUkVOREVS
QlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wu
UkVOREVSQlVGRkVSLCBkZXB0aEZvcm1hdCwgMTYsIDE2KTsKKyAgICAgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgICAgIHJldHVybiBnbC5jaGVja0ZyYW1lYnVmZmVy
U3RhdHVzKGdsLkZSQU1FQlVGRkVSKSA9PSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURTsKKyAgICB9
Cit9CisKK2lmIChjaGVja1ZhbGlkQ29sb3JEZXB0aENvbWJpbmF0aW9uKCkpIHsKKyAgICB0ZXN0
RnJhbWVidWZmZXJJbmNvbXBsZXRlRGltZW5zaW9ucygpOworICAgIHRlc3RGcmFtZWJ1ZmZlcklu
Y29tcGxldGVBdHRhY2htZW50KCk7CisgICAgdGVzdEZyYW1lYnVmZmVySW5jb21wbGV0ZU1pc3Np
bmdBdHRhY2htZW50KCk7CisgICAgdGVzdFVzaW5nSW5jb21wbGV0ZUZyYW1lYnVmZmVyKCk7Cit9
CisKK2Z1bmN0aW9uIGNoZWNrRnJhbWVidWZmZXIoZXhwZWN0ZWQpIHsKKyAgICB2YXIgYWN0dWFs
ID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUik7CisgICAgdmFyIG1z
ZyA9ICJnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSBzaG91bGQgYmUg
IiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgZXhwZWN0ZWQpICsgIiB3YXMgIiArIHd0dS5nbEVu
dW1Ub1N0cmluZyhnbCwgYWN0dWFsKTsKKyAgICBpZiAoZXhwZWN0ZWQgIT0gZ2wuRlJBTUVCVUZG
RVJfQ09NUExFVEUpIHsKKyAgICAgICAgbXNnICs9ICIgb3IgRlJBTUVCVUZGRVJfVU5TVVBQT1JU
RUQiOworICAgIH0KKyAgICBpZiAoYWN0dWFsID09IGV4cGVjdGVkIHx8CisgICAgICAgIChleHBl
Y3RlZCAhPSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSAmJgorICAgICAgICAgYWN0dWFsID09IGds
LkZSQU1CVUZGRVJfVU5TVVBQT1JURUQpKSB7CisgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAgfQorfQorCitmdW5jdGlv
biB0ZXN0VXNpbmdJbmNvbXBsZXRlRnJhbWVidWZmZXIoKSB7CisgICAgZGVidWcoIiIpOworICAg
IGRlYnVnKCJUZXN0IGRyYXdpbmcgb3IgcmVhZGluZyBmcm9tIGFuIGluY29tcGxldGUgZnJhbWVi
dWZmZXIiKTsKKyAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7Cisg
ICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICB3dHUuZmlsbFRleHR1cmUoZ2ws
IHRleCwgMSwgMSwgWzAsMjU1LDAsMjU1XSk7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9
IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJB
TUVCVUZGRVIsIGZibyk7CisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNy
ZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJC
VUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAg
ICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZG
RVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJV
RkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImRlcHRoQnVm
ZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVy
KGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVy
YnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZGVwdGhBdHRhY2htZW50LCBnbC5SRU5E
RVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJF
TkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDE2LCAxNik7CisgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01Q
TEVURSk7CisKKyAgICAvLyBXZSBwaWNrIHRoaXMgY29tYmluYXRpb24gYmVjYXVzZSBpdCB3b3Jr
cyBvbiBkZXNrdG9wIE9wZW5HTCBidXQgc2hvdWxkIG5vdCB3b3JrIG9uIE9wZW5HTCBFUyAyLjAK
KyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQs
IDMyLCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRF
X0RJTUVOU0lPTlMpOworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiRHJhd2luZyBvciByZWFk
aW5nIGZyb20gYW4gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJ
RF9GUkFNRUJVRkZFUl9PUEVSQVRJT04iKTsKKyAgICB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygp
OworCisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8yID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIp
OworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvMik7CisgICAgY2hl
Y2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX01JU1NJTkdfQVRUQUNITUVO
VCk7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJEcmF3aW5nIG9yIHJlYWRpbmcgZnJvbSBh
biBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX0ZSQU1FQlVG
RkVSX09QRVJBVElPTiIpOworICAgIHRlc3RSZW5kZXJpbmdBbmRSZWFkaW5nKCk7CisKKyAgICBz
aG91bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsK
KyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOwor
ICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwg
Z2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAg
IGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMCwgMCk7
CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJEcmF3aW5nIG9yIHJlYWRpbmcgZnJvbSBhbiBp
bmNvbXBsZXRlIGZyYW1lYnVmZmVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX0ZSQU1FQlVGRkVS
X09QRVJBVElPTiIpOworICAgIHRlc3RSZW5kZXJpbmdBbmRSZWFkaW5nKCk7CisKKyAgICBmdW5j
dGlvbiB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygpIHsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUik7CisgICAgICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgICAgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sICJkcmF3
QXJyYXlzIHdpdGggaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAgICAgICBnbC5yZWFkUGl4
ZWxzKDAsIDAsIDEsIDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5
KDQpKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0ZSQU1FQlVGRkVS
X09QRVJBVElPTiwgInJlYWRQaXhlbHMgZnJvbSBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIik7Cisg
ICAgICAgIC8vIGNvcHlUZXhJbWFnZSBhbmQgY29weVRleFN1YkltYWdlIGNhbiBiZSBlaXRoZXIg
SU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04gYmVjYXVzZQorICAgICAgICAvLyB0aGUgZnJh
bWVidWZmZXIgaXMgaW52YWxpZCBPUiBJTlZBTElEX09QRVJBVElPTiBiZWNhdXNlIGluIHRoZSBj
YXNlIG9mIG5vIGF0dGFjaG1lbnRzCisgICAgICAgIC8vIHRoZSBmcmFtZWJ1ZmZlciBpcyBub3Qg
b2YgYSBjb21wYXRpYmxlIHR5cGUuCisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIDAsIDAsIDAsIDAsIDEsIDEpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIFtnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgZ2wuSU5WQUxJRF9PUEVSQVRJ
T05dLCAiY29weVRleEltYWdlMkQgZnJvbSBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIik7CisgICAg
ICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAsIDEs
IDEsIDApOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIFtnbC5JTlZBTElEX0ZSQU1FQlVG
RkVSX09QRVJBVElPTiwgZ2wuSU5WQUxJRF9PUEVSQVRJT05dLCAiY29weVRleFN1YkltYWdlMkQg
ZnJvbSBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIik7CisgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgImNsZWFyIHdpdGggaW5j
b21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdEZyYW1lYnVm
ZmVySW5jb21wbGV0ZUF0dGFjaG1lbnQoKSB7CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBn
bC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1F
QlVGRkVSLCBmYm8pOworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVh
dGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVG
RkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAg
ICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVS
LCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZG
RVIsIGdsLlJHQkE0LCAxNiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZG
RVJfQ09NUExFVEUpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJXcm9uZyBzdG9yYWdl
IHR5cGUgZm9yIHR5cGUgb2YgYXR0YWNobWVudCBiZSBGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FU
VEFDSE1FTlQgKE9wZW5HTCBFUyAyLjAgNC40LjUpIik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3Rv
cmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAxNiwgMTYpOworICAgIGNoZWNrRnJh
bWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKworICAgIGds
LnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDE2KTsK
KyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKKworICAgIGRl
YnVnKCIiKTsKKyAgICBkZWJ1ZygiMCBzaXplIGF0dGFjaG1lbnQgc2hvdWxkIGJlIEZSQU1FQlVG
RkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCAoT3BlbkdMIEVTIDIuMCA0LjQuNSkiKTsKKyAgICBn
bC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDAsIDApOwor
ICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5U
KTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworfQorCitmdW5jdGlv
biB0ZXN0RnJhbWVidWZmZXJJbmNvbXBsZXRlTWlzc2luZ0F0dGFjaG1lbnQoKSB7CisgICAgZGVi
dWcoIiIpOworICAgIGRlYnVnKCJObyBhdHRhY2htZW50cyBzaG91bGQgYmUgSU5DT01QTEVURV9G
UkFNRUJVRkZFUl9NSVNTSU5HX0FUVEFDSE1FTlQgKE9wZW5HTCBFUyAyLjAgNC40LjUpIik7Cisg
ICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAg
Z2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIGNoZWNrRnJhbWVi
dWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1FTlQpOworCisg
ICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigp
Iik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVy
KTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZG
RVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsK
KyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2
LCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisK
KyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIs
IGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIG51bGwpOworICAgIGNoZWNr
RnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1FTlQp
OworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7Cit9CisKK2Z1bmN0aW9u
IHRlc3RGcmFtZWJ1ZmZlckluY29tcGxldGVEaW1lbnNpb25zKCkgeworICAgIGRlYnVnKCIiKTsK
KyAgICBkZWJ1ZygiQXR0YWNobWVudHMgb2YgZGlmZmVyZW50IHNpemVzIHNob3VsZCBiZSBGUkFN
RUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMgKE9wZW5HTCBFUyAyLjAgNC40LjUpIik7CisK
KyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAg
ICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisgICAgc2hvdWxkQmVO
b25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wu
YmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5m
cmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9S
X0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5k
ZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisKKyAg
ICBzaG91bGRCZU5vbk51bGwoImRlcHRoQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCki
KTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIp
OworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZF
UiwgZGVwdGhBdHRhY2htZW50LCBnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKyAgICBn
bC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDE2LCAx
Nik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgY2hlY2tGcmFt
ZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisKKyAgICBnbC5yZW5kZXJidWZmZXJT
dG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDMyLCAxNik7CisgICAgY2hlY2tG
cmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMpOworICAgIGds
LnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEZvcm1hdCwgMTYsIDE2
KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKKyAgICBn
bC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGds
LnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDMyKTsK
KyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5TSU9O
Uyk7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0
LCAxNiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUp
OworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgICAgdmFyIHRleCA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0
ZXgpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMTYsIDE2
LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICBnbC5mcmFtZWJ1ZmZl
clRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlRFWFRV
UkVfMkQsIHRleCwgMCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7Cisg
ICAgaWYgKGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpICE9IGdsLkZS
QU1FQlVGRkVSX0NPTVBMRVRFKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBnbC50
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDMyLCAxNiwgMCwgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJV
RkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZ2wuUkdCQSwgMTYsIDE2LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBu
dWxsKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKKwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworfQorCit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nv
ci10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2U4YjUzZDdlZDJiMGM4ZDBhNTA4MWE0Yjk0NTgzMDFh
MmM2NjliNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRt
bApAQCAtMCwwICsxLDExNiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgU2Npc3NvciBUZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2RlYnVnL3dlYmdsLWRl
YnVnLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzMSIgd2lkdGg9
IjE2IiBoZWlnaHQ9IjE2IiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPiA8L2Nh
bnZhcz4KKzxjYW52YXMgaWQ9ImNhbnZhczIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3R5bGU9
IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij4gPC9jYW52YXM+Cis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOworZGVzY3JpcHRpb24oIkNoZWNrIGlmIGdsU2Npc3NvciBzZXR0aW5nIHdvcmtzLiIp
OworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFyIHd0dSA9
IFdlYkdMVGVzdFV0aWxzOworCitmdW5jdGlvbiB0ZXN0KGNhbnZhcywgYXR0cmlicykgeworICB2
YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywgYXR0cmlicyk7CisKKyAgZnVuY3Rp
b24gdGVzdChmdW5jKSB7CisgICAgZ2wuZGlzYWJsZShnbC5TQ0lTU09SX1RFU1QpOworICAgIGds
LmNsZWFyQ29sb3IoMCwwLDAsMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7
CisgICAgZ2wuZW5hYmxlKGdsLlNDSVNTT1JfVEVTVCk7CisKKyAgICB2YXIgc2l6ZSA9IDE2Owor
ICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzaXplOyArK2lpKSB7CisgICAgICAvLyBjbGVhciBh
IHBvcnRpb24gb2Ygb3VyIEZCTworICAgICAgZ2wuc2Npc3NvcihpaSwgaWksIDEsIDEpOworICAg
ICAgZnVuYygpOworICAgIH0KKworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzaXplOyArK2lp
KSB7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCBpaSwgaWksIDEsIFswLCAwLCAw
LCAwXSwgInNob3VsZCBiZSBibGFjayIpOworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwg
aWksIGlpLCAxLCAxLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7CisgICAg
ICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCBpaSArIDEsIGlpLCBzaXplIC0gaWkgLSAxLCAxLCBb
MCwgMCwgMCwgMF0sICJzaG91bGQgYmUgYmxhY2siKTsKKyAgICB9CisgIH0KKworICBpZiAoIWds
KSB7CisgICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICB9IGVsc2Ug
eworICAgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgICBkZWJ1ZygiIik7Cisg
ICAgZGVidWcoInRlc3Qgd2l0aCBjbGVhciIpOworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAg
ICBnbC5jbGVhckNvbG9yKDAsIDEsIDAsIDEpOworICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVG
RkVSX0JJVCk7CisgICAgfSk7CisKKyAgICB3dHUuc2V0dXBDb2xvclF1YWQoZ2wpOworCisgICAg
ZGVidWcoIiIpOworICAgIGRlYnVnKCJ0ZXN0IHdpdGggZHJhdyIpOworICAgIHRlc3QoZnVuY3Rp
b24oKSB7CisgICAgICB3dHUuZHJhd0Zsb2F0Q29sb3JRdWFkKGdsLCBbMCwgMSwgMCwgMV0pOwor
ICAgIH0pOworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNo
b3VsZCBiZSBubyBlcnJvcnMiKTsKKyAgfQorfQorCitkZWJ1ZygiIik7CitkZWJ1ZygidGVzdCBh
bnRpYWxpYXM6IGZhbHNlIik7Cit0ZXN0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMx
IiksIHthbnRpYWxpYXM6IGZhbHNlfSk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJ0ZXN0IGFudGlh
bGlhczogdHJ1ZSIpOwordGVzdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMiIpLCB7
YW50aWFsaWFzOiB0cnVlfSk7CisKK2RlYnVnKCIiKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVu
ZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFu
LTY1NTM2LWluZGljZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMWY1OTliODI2MWU2Y2M0N2E2OTYwOGJm
YzkzNWY2MmU2ZDg0NTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02
NTUzNi1pbmRpY2VzLmh0bWwKQEAgLTAsMCArMSwxNDUgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIE1vcmUgdGhhbiA2NTUzNiBpbmRpY2Vz
LjwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGls
cy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3
aWR0aD0iMSIgaGVpZ2h0PSIxIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwv
Y2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IGlkPSJ2cyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3Jp
cHQiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworYXR0cmlidXRlIHZlYzQgdkNvbG9yOwor
dmFyeWluZyB2ZWM0IGNvbG9yOwordm9pZCBtYWluKCkgeworICAgIGdsX1Bvc2l0aW9uID0gdlBv
c2l0aW9uOworICAgIGNvbG9yID0gdkNvbG9yOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJm
cyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzQgY29sb3I7Cit2b2lkIG1haW4oKSB7CisgICAgZ2xfRnJh
Z0NvbG9yID0gY29sb3I7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Citk
ZXNjcmlwdGlvbigiY2hlY2tzIHRoYXQgcmVuZGVyaW5nIHdpdGggbW9yZSB0aGFuIDY1NTM2IGlu
ZGljZXMgd29ya3MuIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7Cit2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dy
YW0oZ2wsIFsidnMiLCAiZnMiXSwgWyJ2UG9zaXRpb24iLCAidkNvbG9yIl0pOwordmFyIGJ1ZmZl
ck9iamVjdHMgPSB3dHUuc2V0dXBVbml0UXVhZChnbCwgMCwgMSk7CisKK2dsLmJpbmRCdWZmZXIo
Z2wuQVJSQVlfQlVGRkVSLCBidWZmZXJPYmplY3RzWzBdKTsKK2dsLmJ1ZmZlckRhdGEoZ2wuQVJS
QVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsKKyAgICAgIC0xLCAgMSwKKyAgICAgICAxLCAg
MSwKKyAgICAgIC0xLCAtMSwKKyAgICAgICAxLCAtMSwKKyAgICAgIC0xLCAgMSwKKyAgICAgICAx
LCAgMSwKKyAgICAgIC0xLCAtMSwKKyAgICAgICAxLCAtMV0pLCBnbC5TVEFUSUNfRFJBVyk7Citn
bC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CitnbC5i
aW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyT2JqZWN0c1sxXSk7CitnbC5idWZmZXJE
YXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IFVpbnQ4QXJyYXkoWworICAgICAgMjU1LCAwLCAwLCAy
NTUsCisgICAgICAyNTUsIDAsIDAsIDI1NSwKKyAgICAgIDI1NSwgMCwgMCwgMjU1LAorICAgICAg
MjU1LCAwLCAwLCAyNTUsCisgICAgICAwLCAyNTUsIDAsIDI1NSwKKyAgICAgIDAsIDI1NSwgMCwg
MjU1LAorICAgICAgMCwgMjU1LCAwLCAyNTUsCisgICAgICAwLCAyNTUsIDAsIDI1NV0pLCBnbC5T
VEFUSUNfRFJBVyk7CitnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDQsIGdsLlVOU0lHTkVEX0JZ
VEUsIHRydWUsIDAsIDApOword3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJh
ZnRlciBwcm9ncmFtIHNldHVwIik7CisKK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SLCAiYWZ0ZXIgY3JlYXRpbmcgdGV4dHVyZSIpOwordmFyIG51bVF1YWRzID0gTWF0aC5mbG9v
cig2NTUzNiAvIDYpICsgNDsKK3ZhciBudW1Qb2ludHMgPSBudW1RdWFkcyAqIDY7CitkZWJ1Zygi
bnVtUXVhZHM6ICIgKyBudW1RdWFkcyk7CitkZWJ1ZygibnVtUG9pbnRzOiAiICsgbnVtUG9pbnRz
KTsKK3ZhciBpbmRleEJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcihudW1Qb2ludHMpOwordmFyIGluZGlj
ZXMgPSBuZXcgVWludDhBcnJheShpbmRleEJ1Zik7Cit2YXIgaW5kZXhCdWZmZXIgPSBnbC5jcmVh
dGVCdWZmZXIoKTsKK2dsLmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGV4
QnVmZmVyKTsKK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIgc2V0
dGluZyB1cCBpbmRpY2VzIik7CisKK3ZhciBtb2RlcyA9IFsKKyAge21vZGU6ICdQT0lOVFMnLCAg
ICAgICAgIG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwgc2tpcDogMH0sCisgIHttb2RlOiAn
TElORVMnLCAgICAgICAgICBvZmZzZXRzOiBbMCwgMSwgMiwgMywgMiwgMV0sIHNraXA6IDB9LAor
ICB7bW9kZTogJ0xJTkVfTE9PUCcsICAgICAgb2Zmc2V0czogWzAsIDEsIDIsIDMsIDIsIDFdLCBz
a2lwOiAxfSwKKyAge21vZGU6ICdMSU5FX1NUUklQJywgICAgIG9mZnNldHM6IFswLCAxLCAyLCAz
LCAyLCAxXSwgc2tpcDogMH0sCisgIHttb2RlOiAnVFJJQU5HTEVTJywgICAgICBvZmZzZXRzOiBb
MCwgMSwgMiwgMywgMiwgMV0sIHNraXA6IDB9LAorICB7bW9kZTogJ1RSSUFOR0xFX1NUUklQJywg
b2Zmc2V0czogWzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAwfSwKKyAge21vZGU6ICdUUklBTkdM
RV9GQU4nLCAgIG9mZnNldHM6IFswLCAxLCAzLCAyLCAyLCAxXSwgc2tpcDogMX0KK107CisKK2Zv
ciAodmFyIG1tID0gMDsgbW0gPCBtb2Rlcy5sZW5ndGg7ICsrbW0pIHsKKyAgdmFyIG1vZGVJbmZv
ID0gbW9kZXNbbW1dOworICB2YXIgbW9kZSA9IG1vZGVJbmZvLm1vZGU7CisgIHZhciBvZmZzZXRz
ID0gbW9kZUluZm8ub2Zmc2V0czsKKyAgdmFyIHNraXAgPSBtb2RlSW5mby5za2lwOworCisgIGZv
ciAodmFyIGlpID0gMDsgaWkgPCBudW1RdWFkczsgKytpaSkgeworICAgIHZhciBvZmZzZXQgPSBp
aSAqIDY7CisgICAgdmFyIHF1YWQgPSAoaWkgPT0gMCB8fCBpaSA9PSAobnVtUXVhZHMgLSAxKSkg
PyA0IDogMDsKKyAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgNjsgKytqaikgeworICAgICAgaW5k
aWNlc1tvZmZzZXQgKyBqal0gPSBxdWFkICsgb2Zmc2V0c1tqal07CisgICAgfQorICB9CisgIGds
LmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGluZGljZXMsIGdsLlNUQVRJQ19E
UkFXKTsKKworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJ0ZXN0aW5nOiAiICsgbW9kZSk7CisgIC8v
IERyYXcgd2l0aG91dCBsYXN0IDYgcG9pbnRzLgorICBnbC5kcmF3RWxlbWVudHMoZ2xbbW9kZV0s
IG51bVBvaW50cyAtIChza2lwICsgMSkgKiA2LCBnbC5VTlNJR05FRF9CWVRFLCBza2lwICogNik7
CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwgMjU1XSwgIlNob3VsZCBiZSByZWQu
Iik7CisgIC8vIERyYXcgd2l0aCBsYXN0IDYgcG9pbnRzLgorICBnbC5kcmF3RWxlbWVudHMoZ2xb
bW9kZV0sIG51bVBvaW50cywgZ2wuVU5TSUdORURfQllURSwgMCk7CisgIHd0dS5jaGVja0NhbnZh
cyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgIlNob3VsZCBiZSBncmVlbi4iKTsKK30KK3d0dS5nbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIgZHJhd2luZyIpOworCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
KworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNWU4MTkx
YWZmNjY5M2FkNjQ3NmNiOTQzOGI1Yjc3ZTJkMTZjNjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVu
ZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbApAQCAtMCwwICsxLDEyNSBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+V2ViR0wg
TXVsdGlzYW1wbGUgUmVuZGVyYnVmZmVyIENvcnJ1cHRpb24gVGVzdDwvdGl0bGU+CisgICAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8
L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lk
dGg9IjIwNDgiIGhlaWdodD0iMjA0OCIgc3R5bGU9IndpZHRoOiAxMjhweDsgaGVpZ2h0OiAxMjhw
eDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12
ZXJ0ZXgiPgorICAgICAgICBhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisgICAgICAgIHZvaWQg
bWFpbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOwor
ICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBl
PSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgewor
ICAgICAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLjAsMC4wLDAuMCwwLjApOworICAgICAg
ICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0PgorICAgICAgICAidXNlIHN0cmljdCI7
CisgICAgICAgIGZ1bmN0aW9uIGluaXQoKQorICAgICAgICB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbihkb2N1bWVudC50aXRsZSk7CisKKyAgICAgICAgICAgIHZhciBsYXN0Q29udGV4dCA9IG51
bGw7CisgICAgICAgICAgICB2YXIgY3ljbGVDb3VudCA9IDA7CisgICAgICAgICAgICB2YXIgbWF4
Q3ljbGVzID0gMTAwOworICAgICAgICAgICAgdmFyIGZhaWxlZCA9IGZhbHNlOworICAgICAgICAg
ICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgICAgICAgICAgdmFyIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIsIHthbnRpYWxpYXM6IHRydWUsIHByZXNlcnZlRHJhd2lu
Z0J1ZmZlcjogdHJ1ZX0pOworCisgICAgICAgICAgICBnbC5jbGVhckNvbG9yKDEuMCwgMC4wLCAw
LjAsIDEuMCk7CisgICAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKwor
ICAgICAgICAgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIi
LCAiZnNoYWRlciJdLCBbInZQb3NpdGlvbiJdKTsKKyAgICAgICAgICAgIHZhciB2ZXJ0ZXhPYmpl
Y3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICAgICAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICAgICAgICAgICAgZ2wuYnVmZmVyRGF0YShnbC5B
UlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoWyAwLDIuNSwwLCAxLjUsMS41LDAsIDIuNSwx
LjUsMCBdKSwgZ2wuU1RBVElDX0RSQVcpOworICAgICAgICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0
cmliQXJyYXkoMCk7CisgICAgICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGds
LkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGN5Y2xlQW5kVGVz
dCgpIHsKKyAgICAgICAgICAgICAgICB2YXIgZ2wyID0gd3R1LmNyZWF0ZTNEQ29udGV4dChudWxs
LCB7YW50aWFsaWFzOiB0cnVlfSk7CisKKyAgICAgICAgICAgICAgICBnbDIuY2FudmFzLndpZHRo
ID0gZ2wyLmNhbnZhcy5oZWlnaHQgPSAxMDI0OworICAgICAgICAgICAgICAgIGdsMi5jYW52YXMu
c3R5bGUud2lkdGggPSBnbDIuY2FudmFzLnN0eWxlLmhlaWdodCA9ICIxcHgiOworICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZ2wyLmNhbnZhcyk7CisKKyAgICAgICAg
ICAgICAgICBnbDIuY2xlYXJDb2xvcigxLjAsIDAuMCwgMC4wLCAxLjApOworICAgICAgICAgICAg
ICAgIGdsMi5jbGVhcihnbDIuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgICAgICAgICBp
ZihsYXN0Q29udGV4dCkgeworICAgICAgICAgICAgICAgICAgICBnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgMCwgMyk7CisgICAgICAgICAgICAgICAgICAgIHZhciBtc2cgPSAiU2hvdWxkIGJl
IHJlZCBhZnRlciBsb29wICIgKyBjeWNsZUNvdW50OworICAgICAgICAgICAgICAgICAgICB3dHUu
Y2hlY2tDYW52YXNSZWN0Q29sb3IoZ2wsCisgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBn
bC5jYW52YXMud2lkdGgsIGdsLmNhbnZhcy5oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAg
ICBbMjU1LCAwLCAwLCAyNTVdLCBudWxsLAorICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChtc2cpOworICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmYWlsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgZGVidWcpOworICAgICAgICAgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxhc3RDb250ZXh0LmNhbnZhcyk7CisgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgbGFzdENvbnRleHQgPSBnbDI7CisgICAgICAg
ICAgICAgICAgY3ljbGVDb3VudCsrOworCisgICAgICAgICAgICAgICAgaWYoY3ljbGVDb3VudCA8
PSBtYXhDeWNsZXMgJiYgIWZhaWxlZCkgeworICAgICAgICAgICAgICAgICAgICB3dHUud2FpdEZv
ckNvbXBvc2l0ZShnbDIsIGN5Y2xlQW5kVGVzdCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgY3ljbGVBbmRUZXN0KCk7CisgICAgICAgfQorCisg
ICAgICAgaW5pdCgpOworICAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAg
IDwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9p
bnQtc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNGVi
ZTM1MmQ0ZTVlZmQ3YTFjNWE0NjNjZTY0Yjc0M2MxZWQ4MGNmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbApAQCAtMCwwICsxLDE1MSBAQAorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5
cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjMyBwb3M7CisgICAgYXR0
cmlidXRlIHZlYzQgY29sb3JJbjsKKyAgICB1bmlmb3JtIGZsb2F0IHBvaW50U2l6ZTsKKyAgICB2
YXJ5aW5nIHZlYzQgY29sb3I7CisKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xf
UG9pbnRTaXplID0gcG9pbnRTaXplOworICAgICAgICBjb2xvciA9IGNvbG9ySW47CisgICAgICAg
IGdsX1Bvc2l0aW9uID0gdmVjNChwb3MsIDEuMCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3Jp
cHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lv
biBtZWRpdW1wIGZsb2F0OworICAgIHZhcnlpbmcgdmVjNCBjb2xvcjsKKworICAgIHZvaWQgbWFp
bigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSBjb2xvcjsKKyAgICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0idGVzdGJlZCIgd2lkdGg9IjIiIGhlaWdo
dD0iMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgInVzZSBzdHJpY3QiOworICAgIGRlc2NyaXB0
aW9uKCdWZXJpZnkgR0xfVkVSVEVYX1BST0dSQU1fUE9JTlRfU0laRSBpcyBlbmFibGVkIGluIFdl
YkdMJyk7CisKKyAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgdmFyIGdsID0gd3R1
LmNyZWF0ZTNEQ29udGV4dCgndGVzdGJlZCcsIHsgYW50aWFsaWFzOiBmYWxzZSB9KTsKKyAgICBz
aG91bGRCZU5vbk51bGwoImdsIik7CisKKyAgICBnbC5kaXNhYmxlKGdsLkJMRU5EKTsKKyAgICBn
bC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAg
ICAvLyBUaGUgY2hvaWNlIG9mICgwLjQsIDAuNCkgZW5zdXJlcyB0aGF0IHRoZSBjZW50ZXJzIG9m
IHRoZSBzdXJyb3VuZGluZworICAgIC8vIHBpeGVscyBhcmUgbm90IGNvbnRhaW5lZCB3aXRoaW4g
dGhlIHBvaW50IHdoZW4gaXQgaXMgb2Ygc2l6ZSAxLCBidXQKKyAgICAvLyB0aGF0IHRoZXkgZGVm
aW5pdGVseSBhcmUgd2hlbiBpdCBpcyBvZiBzaXplIDIuCisgICAgdmFyIHZlcnRpY2VzID0gbmV3
IEZsb2F0MzJBcnJheShbCisgICAgICAgIDAuNCwgMC40LCAwLjBdKTsKKyAgICB2YXIgY29sb3Jz
ID0gbmV3IFVpbnQ4QXJyYXkoWworICAgICAgICAyNTUsIDAsIDAsIDI1NV0pOworCisgICAgdmFy
IGNvbG9yT2Zmc2V0ID0gdmVydGljZXMuYnl0ZUxlbmd0aDsKKworICAgIHZhciBidWYgPSBuZXcg
VWludDhBcnJheSgyICogMiAqIDQpOworICAgIHZhciBpbmRleCA9IDA7CisKKyAgICB2YXIgdmJv
ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIs
IHZibyk7CisgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGNvbG9yT2Zmc2V0ICsg
Y29sb3JzLmJ5dGVMZW5ndGgsIGdsLlNUQVRJQ19EUkFXKTsKKyAgICBnbC5idWZmZXJTdWJEYXRh
KGdsLkFSUkFZX0JVRkZFUiwgMCwgdmVydGljZXMpOworICAgIGdsLmJ1ZmZlclN1YkRhdGEoZ2wu
QVJSQVlfQlVGRkVSLCBjb2xvck9mZnNldCwgY29sb3JzKTsKKworICAgIGZ1bmN0aW9uIHRlc3Qo
cHJvZ3JhbSkgeworICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FU
LCBmYWxzZSwgMCwgMCk7CisgICAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOwor
ICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDQsIGdsLlVOU0lHTkVEX0JZVEUsIHRy
dWUsIDAsIGNvbG9yT2Zmc2V0KTsKKyAgICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXko
MSk7CisKKyAgICAgICAgdmFyIGxvY1BvaW50U2l6ZSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihw
cm9ncmFtLCAncG9pbnRTaXplJyk7CisKKyAgICAgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCkn
LCAnZ2wuTk9fRVJST1InKTsKKworICAgICAgICBkZWJ1ZygnRHJhdyBhIHBvaW50IG9mIHNpemUg
MSBhbmQgdmVyaWZ5IGl0IGRvZXMgbm90IHRvdWNoIGFueSBvdGhlciBwaXhlbHMuJyk7CisKKyAg
ICAgICAgZ2wudW5pZm9ybTFmKGxvY1BvaW50U2l6ZSwgMS4wKTsKKyAgICAgICAgZ2wuZHJhd0Fy
cmF5cyhnbC5QT0lOVFMsIDAsIHZlcnRpY2VzLmxlbmd0aCAvIDMpOworICAgICAgICAKKyAgICAg
ICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9fRVJST1InKTsKKworICAgICAgICBm
b3IgKHZhciB5ID0gMDsgeSA8IDI7ICsreSkgeworICAgICAgICAgICAgZm9yICh2YXIgeCA9IDA7
IHggPCAyOyArK3gpIHsKKyAgICAgICAgICAgICAgICB2YXIgY29ycmVjdENvbG9yID0gKHggPT0g
MSAmJiB5ID09IDEpID8gWzI1NSwgMCwgMF0gOiBbMCwgMCwgMF07CisgICAgICAgICAgICAgICAg
d3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgeCwgeSwgMSwgMSwgY29ycmVjdENvbG9yKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklU
IHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgZGVidWcoJ0RyYXcgYSBwb2ludCBv
ZiBzaXplIDIgYW5kIHZlcmlmeSBpdCBmaWxscyB0aGUgYXBwcm9wcmlhdGUgcmVnaW9uLicpOwor
CisgICAgICAgIHZhciBwb2ludFNpemVSYW5nZSA9IGdsLmdldFBhcmFtZXRlcihnbC5BTElBU0VE
X1BPSU5UX1NJWkVfUkFOR0UpOworICAgICAgICBpZiAocG9pbnRTaXplUmFuZ2VbMV0gPj0gMi4w
KSB7CisgICAgICAgICAgICBnbC51bmlmb3JtMWYobG9jUG9pbnRTaXplLCAyLjApOworICAgICAg
ICAgICAgZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIHZlcnRpY2VzLmxlbmd0aCAvIDMpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9fRVJST1InKTsKKyAg
ICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDIsIDIsIFsyNTUsIDAsIDBd
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGRlYnVnKCcnKTsKKyAgICBkZWJ1ZygnUGFzcyAx
Jyk7CisgICAgdmFyIHByb2dyYW0xID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyd2c2hhZGVyJywg
J2ZzaGFkZXInXSwgWydwb3MnLCAnY29sb3JJbiddKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0RXJy
b3IoKScsICdnbC5OT19FUlJPUicpOworICAgIHRlc3QocHJvZ3JhbTEpOworCisgICAgLy8gVW5k
ZXIgc29tZSB2ZXJzaW9ucyBvZiBBTkdMRSBwb2ludCBzcHJpdGUgc2hhZGVyIHByb2dyYW1zIHdl
cmUgCisgICAgLy8gaW5jb3JyZWN0bHkgcmVsb2FkZWQgZnJvbSBjYWNoZS4gUmVidWlsZGluZyB0
aGUgc2hhZGVyIHByb2dyYW0gYW5kCisgICAgLy8gcmVwZWF0aW5nIHRoZSB0ZXN0IHNpbXVsYXRl
cyB0aGUgY29uZGl0aW9ucyB0aGF0IGNhdXNlZCBpdCB0byBmYWlsCisgICAgZGVidWcoJycpOwor
ICAgIGRlYnVnKCdQYXNzIDInKTsKKyAgICB2YXIgcHJvZ3JhbTIgPSB3dHUuc2V0dXBQcm9ncmFt
KGdsLCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBbJ3BvcycsICdjb2xvckluJ10pOworICAgIHNo
b3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7CisgICAgdGVzdChwcm9ncmFt
Mik7CisKKyAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzA3NDE2
NGYzM2ZiYzA0OThmYjMxMjJmNTMxYWU0MzlhYTVkYzRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3Rh
dGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sCkBAIC0wLDAgKzEsNDYzIEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNj
cmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Rlc2NyaXB0
aW9uKCJUZXN0IG9mIGdldCBjYWxscyBhZ2FpbnN0IEdMIG9iamVjdHMgbGlrZSBnZXRCdWZmZXJQ
YXJhbWV0ZXIsIGV0Yy4iKTsKKworZnVuY3Rpb24gc2l6ZUluQnl0ZXModHlwZSkgeworICBzd2l0
Y2ggKHR5cGUpIHsKKyAgY2FzZSBnbC5CWVRFOgorICBjYXNlIGdsLlVOU0lHTkVEX0JZVEU6Cisg
ICAgcmV0dXJuIDE7CisgIGNhc2UgZ2wuU0hPUlQ6CisgIGNhc2UgZ2wuVU5TSUdORURfU0hPUlQ6
CisgICAgcmV0dXJuIDI7CisgIGNhc2UgZ2wuSU5UOgorICBjYXNlIGdsLlVOU0lHTkVEX0lOVDoK
KyAgY2FzZSBnbC5GTE9BVDoKKyAgICByZXR1cm4gNDsKKyAgZGVmYXVsdDoKKyAgICB0aHJvdyAi
dW5rbm93biB0eXBlIjsKKyAgfQorfQorCit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7
CisKK2RlYnVnKCJ0ZXN0IGdldEF0dGFjaGVkU2hhZGVycyIpOwordmFyIHN0YW5kYXJkVmVydCA9
IHd0dS5sb2FkU3RhbmRhcmRWZXJ0ZXhTaGFkZXIoZ2wpOwordmFyIHN0YW5kYXJkRnJhZyA9IHd0
dS5sb2FkU3RhbmRhcmRGcmFnbWVudFNoYWRlcihnbCk7Cit2YXIgc3RhbmRhcmRQcm9ncmFtID0g
Z2wuY3JlYXRlUHJvZ3JhbSgpOworZ2wuYXR0YWNoU2hhZGVyKHN0YW5kYXJkUHJvZ3JhbSwgc3Rh
bmRhcmRWZXJ0KTsKK2dsLmF0dGFjaFNoYWRlcihzdGFuZGFyZFByb2dyYW0sIHN0YW5kYXJkRnJh
Zyk7CitnbC5saW5rUHJvZ3JhbShzdGFuZGFyZFByb2dyYW0pOwordmFyIHNoYWRlcnMgPSBnbC5n
ZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRhcmRQcm9ncmFtKTsKK3Nob3VsZEJlKCdzaGFkZXJzLmxl
bmd0aCcsICcyJyk7CitzaG91bGRCZVRydWUoJ3NoYWRlcnNbMF0gPT0gc3RhbmRhcmRWZXJ0ICYm
IHNoYWRlcnNbMV0gPT0gc3RhbmRhcmRGcmFnIHx8IHNoYWRlcnNbMV0gPT0gc3RhbmRhcmRWZXJ0
ICYmIHNoYWRlcnNbMF0gPT0gc3RhbmRhcmRGcmFnJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SKTsKK3Nob3VsZEJlTnVsbCgnZ2wuZ2V0QXR0YWNoZWRTaGFkZXJzKG51bGwpJyk7
CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUpOworc2hvdWxkVGhyb3coJ2ds
LmdldEF0dGFjaGVkU2hhZGVycyhzdGFuZGFyZFZlcnQpJyk7CitnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SKTsKKworZnVuY3Rpb24gdGVzdEludmFsaWRBcmd1bWVudChmdW5jTmFtZSwg
YXJndW1lbnROYW1lLCB2YWxpZEFyZ3VtZW50QXJyYXksIGZ1bmMpIHsKKyAgdmFyIHZhbGlkQXJn
dW1lbnRzID0ge307CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB2YWxpZEFyZ3VtZW50QXJyYXku
bGVuZ3RoOyArK2lpKSB7CisgICAgdmFsaWRBcmd1bWVudHNbdmFsaWRBcmd1bWVudEFycmF5W2lp
XV0gPSB0cnVlOworICB9CisgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSAw
OyBpaSA8IDB4MTAwMDA7ICsraWkpIHsKKyAgICBpZiAoIXZhbGlkQXJndW1lbnRzW2lpXSkgewor
ICAgICAgdmFyIHJlc3VsdCA9IGZ1bmMoaWkpOworICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkg
eworICAgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgICAgIHRlc3RGYWlsZWQoZnVuY05hbWUg
KyAiIHJldHVybmVkICIgKyByZXN1bHQgKyAiIGluc3RlYWQgb2YgbnVsbCBmb3IgaW52YWxpZCAi
ICsgYXJndW1lbnROYW1lICsgIiBlbnVtOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBpaSkp
OworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIHZhciBlcnIgPSBnbC5nZXRFcnJvcigp
OworICAgICAgaWYgKGVyciAhPSBnbC5JTlZBTElEX0VOVU0pIHsKKyAgICAgICAgc3VjY2VzcyA9
IGZhbHNlOworICAgICAgICB0ZXN0RmFpbGVkKGZ1bmNOYW1lICsgIiBkaWQgbm90IGdlbmVyYXRl
IElOVkFMSURfRU5VTSBmb3IgaW52YWxpZCAiICsgYXJndW1lbnROYW1lICsgIiBlbnVtOiAiICsg
d3R1LmdsRW51bVRvU3RyaW5nKGdsLCBpaSkpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAg
ICB9CisgIH0KKyAgaWYgKHN1Y2Nlc3MpIHsKKyAgICB0ZXN0UGFzc2VkKGZ1bmNOYW1lICsgIiBj
b3JyZWN0bHkgaGFuZGxlZCBpbnZhbGlkICIgKyBhcmd1bWVudE5hbWUgKyAiIGVudW1zIik7Cisg
IH0KK30KKworZGVidWcoIiIpOworZGVidWcoInRlc3QgZ2V0QnVmZmVyUGFyYW1ldGVyIik7Cisv
LyBUZXN0IGdldEJ1ZmZlclBhcmFtZXRlcgordmFyIGJ1ZmZlclR5cGVzID0gW2dsLkFSUkFZX0JV
RkZFUiwgZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVJdOworZm9yICh2YXIgYmIgPSAwOyBiYiA8IGJ1
ZmZlclR5cGVzLmxlbmd0aDsgKytiYikgeworICB2YXIgYnVmZmVyVHlwZSA9IGJ1ZmZlclR5cGVz
W2JiXTsKKyAgdmFyIGJ1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVy
KGJ1ZmZlclR5cGUsIGJ1ZmZlcik7CisgIGdsLmJ1ZmZlckRhdGEoYnVmZmVyVHlwZSwgMTYsIGds
LkRZTkFNSUNfRFJBVyk7CisgIHZhciBleHByZXNzaW9uMSA9ICJnbC5nZXRCdWZmZXJQYXJhbWV0
ZXIoZ2wuIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgYnVmZmVyVHlwZSkgKyAiLCBnbC5CVUZG
RVJfU0laRSkiOworICB2YXIgZXhwcmVzc2lvbjIgPSAiZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGds
LiIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGJ1ZmZlclR5cGUpICsgIiwgZ2wuQlVGRkVSX1VT
QUdFKSI7CisgIHNob3VsZEJlKGV4cHJlc3Npb24xLCAnMTYnKTsKKyAgc2hvdWxkQmUoZXhwcmVz
c2lvbjIsICdnbC5EWU5BTUlDX0RSQVcnKTsKKyAgdGVzdEludmFsaWRBcmd1bWVudCgiZ2V0QnVm
ZmVyUGFyYW1ldGVyIiwgInBhcmFtZXRlciIsIFtnbC5CVUZGRVJfU0laRSwgZ2wuQlVGRkVSX1VT
QUdFXSwgZnVuY3Rpb24oYnVmZmVyVHlwZSkgeworICAgIHJldHVybiBmdW5jdGlvbihwYXJhbWV0
ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoYnVmZmVyVHlwZSwgcGFy
YW1ldGVyKTsKKyAgICB9OworICB9KGJ1ZmZlclR5cGUpKTsKK30KK3Rlc3RJbnZhbGlkQXJndW1l
bnQoCisgICAgImdldEJ1ZmZlclBhcmFtZXRlciIsCisgICAgInRhcmdldCIsCisgICAgYnVmZmVy
VHlwZXMsCisgICAgZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0QnVmZmVy
UGFyYW1ldGVyKHRhcmdldCwgZ2wuQlVGRkVSX1NJWkUpOworICAgIH0KKyk7CisKKworZGVidWco
IiIpOworZGVidWcoIlRlc3QgZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyIik7Cit2
YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKK2dsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIHRleHR1cmUpOworZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JB
LCAyLCAyLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgICAgICBuZXcg
VWludDhBcnJheShbCisgICAgICAgICAgICAgICAgICAwLCAwLCAwLCAyNTUsCisgICAgICAgICAg
ICAgICAgICAyNTUsIDI1NSwgMjU1LCAyNTUsCisgICAgICAgICAgICAgICAgICAyNTUsIDI1NSwg
MjU1LCAyNTUsCisgICAgICAgICAgICAgICAgICAwLCAwLCAwLCAyNTVdKSk7CitnbC50ZXhQYXJh
bWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsK
K2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBn
bC5MSU5FQVIpOworZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7Cit2YXIgZnJh
bWVidWZmZXIgPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpOworZ2wuYmluZEZyYW1lYnVmZmVyKGds
LkZSQU1FQlVGRkVSLCBmcmFtZWJ1ZmZlcik7CitnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChnbC5G
UkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRleHR1cmUs
IDApOwordmFyIHJlbmRlcmJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpOworZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRF
UkJVRkZFUiwgcmVuZGVyYnVmZmVyKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OworZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLkRFUFRIX0NPTVBP
TkVOVDE2LCAyLCAyKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworZ2wuZnJh
bWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkRFUFRIX0FUVEFDSE1FTlQs
IGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVyKTsKKy8vIEZJWE1FOiBvbiBzb21lIG1hY2hp
bmVzIChpbiBwYXJ0aWN1bGFyIHRoZSBXZWJLaXQgY29tbWl0IGJvdHMpIHRoZQorLy8gZnJhbWVi
dWZmZXIgc3RhdHVzIGlzIEZSQU1FQlVGRkVSX1VOU1VQUE9SVEVEOyBtb3JlIGludmVzdGlnYXRp
b24KKy8vIGlzIG5lZWRlZCB3aHkgdGhpcyBpcyB0aGUgY2FzZSwgYmVjYXVzZSB0aGUgRkJPIGFs
bG9jYXRlZAorLy8gaW50ZXJuYWxseSBieSB0aGUgV2ViS2l0IGltcGxlbWVudGF0aW9uIGhhcyBh
bG1vc3QgaWRlbnRpY2FsCisvLyBwYXJhbWV0ZXJzIHRvIHRoaXMgb25lLiBTZWUgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODQzLgorc2hvdWxkQmUoJ2dsLmNoZWNr
RnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpJywgJ2dsLkZSQU1FQlVGRkVSX0NPTVBM
RVRFJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGds
LkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNI
TUVOVF9PQkpFQ1RfVFlQRSknLCAnZ2wuVEVYVFVSRScpOworc2hvdWxkQmUoJ2dsLmdldEZyYW1l
YnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNI
TUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpJywgJ3RleHR1cmUn
KTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJB
TUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5U
X1RFWFRVUkVfTEVWRUwpJywgJzAnKTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFj
aG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5G
UkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfQ1VCRV9NQVBfRkFDRSknLCAnMCcpOworCitz
aG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVG
RkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVD
VF9UWVBFKScsICdnbC5SRU5ERVJCVUZGRVInKTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZl
ckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkRFUFRIX0FUVEFDSE1FTlQs
IGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpJywgJ3JlbmRlcmJ1ZmZlcicp
OwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFy
YW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1F
TlRfT0JKRUNUX1RZUEUsCisgICAgICBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9O
QU1FLAorICAgICAgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJFX0xFVkVMLAorICAg
ICAgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJFX0NVQkVfTUFQX0ZBQ0UKKyAgICBd
LAorICAgIGZ1bmN0aW9uKHBhcmFtZXRlcikgeworICAgICAgcmV0dXJuIGdsLmdldEZyYW1lYnVm
ZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVO
VCwgcGFyYW1ldGVyKTsKKyAgICB9CispOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0
RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyIiwKKyAgICAidGFyZ2V0IiwKKyAgICBbIGds
LkZSQU1FQlVGRkVSIF0sCisgICAgZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgICByZXR1cm4gZ2wu
Z2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKHRhcmdldCwgZ2wuQ09MT1JfQVRUQUNI
TUVOVCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSk7CisgICAgfQorKTsK
K3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFt
ZXRlciIsCisgICAgImF0dGFjaG1lbnQiLAorICAgIFsgZ2wuQ09MT1JfQVRUQUNITUVOVDAsCisg
ICAgICBnbC5ERVBUSF9BVFRBQ0hNRU5ULAorICAgICAgZ2wuU1RFTkNJTF9BVFRBQ0hNRU5ULAor
ICAgICAgZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UCisgICAgXSwKKyAgICBmdW5jdGlvbihh
dHRhY2htZW50KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFy
YW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBhdHRhY2htZW50LCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hN
RU5UX09CSkVDVF9UWVBFKTsKKyAgICB9CispOworCisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0
IGdldFByb2dyYW1QYXJhbWV0ZXIiKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVy
KHN0YW5kYXJkUHJvZ3JhbSwgZ2wuREVMRVRFX1NUQVRVUyknLCAnZmFsc2UnKTsKK3Nob3VsZEJl
KCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMp
JywgJ3RydWUnKTsKK3Nob3VsZEJlKCd0eXBlb2YgZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFu
ZGFyZFByb2dyYW0sIGdsLlZBTElEQVRFX1NUQVRVUyknLCAnImJvb2xlYW4iJyk7CitzaG91bGRC
ZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkFUVEFDSEVEX1NI
QURFUlMpJywgJzInKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJk
UHJvZ3JhbSwgZ2wuQUNUSVZFX0FUVFJJQlVURVMpJywgJzInKTsKK3Nob3VsZEJlKCdnbC5nZXRQ
cm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wuQUNUSVZFX1VOSUZPUk1TKScsICcx
Jyk7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRQcm9ncmFtUGFyYW1ldGVyIiwKKyAg
ICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLkRFTEVURV9TVEFUVVMsCisgICAgICBnbC5MSU5LX1NU
QVRVUywKKyAgICAgIGdsLlZBTElEQVRFX1NUQVRVUywKKyAgICAgIGdsLkFUVEFDSEVEX1NIQURF
UlMsCisgICAgICBnbC5BQ1RJVkVfQVRUUklCVVRFUywKKyAgICAgIGdsLkFDVElWRV9VTklGT1JN
UworICAgIF0sCisgICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0
UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIHBhcmFtZXRlcik7CisgICAgfQorKTsK
KworZGVidWcoIiIpOworZGVidWcoIlRlc3QgZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyIik7Citz
aG91bGRCZSgnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wu
UkVOREVSQlVGRkVSX1dJRFRIKScsICcyJyk7CitzaG91bGRCZSgnZ2wuZ2V0UmVuZGVyYnVmZmVy
UGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0hFSUdIVCknLCAnMicp
OworLy8gTm90ZTogd2UgY2FuJ3QgdGVzdCB0aGUgYWN0dWFsIHZhbHVlIG9mIHRoZSBpbnRlcm5h
bCBmb3JtYXQgc2luY2UKKy8vIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBhbGxvd2VkIHRvIGNoYW5n
ZSBpdC4KK3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJF
TkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZPUk1BVCknKTsKK3Nob3VsZEJl
Tm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wu
UkVOREVSQlVGRkVSX0RFUFRIX1NJWkUpJyk7Cit2YXIgY29sb3JidWZmZXIgPSBnbC5jcmVhdGVS
ZW5kZXJidWZmZXIoKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworZ2wuYmlu
ZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcik7CitnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK2dsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVS
QlVGRkVSLCBnbC5SR0JBNCwgMiwgMik7CitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1
ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9SRURfU0laRSkn
KTsKK3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRF
UkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUpJyk7CitzaG91bGRCZU5vblplcm8o
J2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJV
RkZFUl9CTFVFX1NJWkUpJyk7CitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9BTFBIQV9TSVpFKScpOwor
dGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyIiwKKyAg
ICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLlJFTkRFUkJVRkZFUl9XSURUSCwKKyAgICAgIGdsLlJF
TkRFUkJVRkZFUl9IRUlHSFQsCisgICAgICBnbC5SRU5ERVJCVUZGRVJfSU5URVJOQUxfRk9STUFU
LAorICAgICAgZ2wuUkVOREVSQlVGRkVSX1JFRF9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVS
X0dSRUVOX1NJWkUsCisgICAgICBnbC5SRU5ERVJCVUZGRVJfQkxVRV9TSVpFLAorICAgICAgZ2wu
UkVOREVSQlVGRkVSX0FMUEhBX1NJWkUsCisgICAgICBnbC5SRU5ERVJCVUZGRVJfREVQVEhfU0la
RSwKKyAgICAgIGdsLlJFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJWkUsCisgICAgXSwKKyAgICBmdW5j
dGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0
ZXIoZ2wuUkVOREVSQlVGRkVSLCBwYXJhbWV0ZXIpOworICAgIH0pOwordGVzdEludmFsaWRBcmd1
bWVudCgKKyAgICAiZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyIiwKKyAgICAidGFyZ2V0IiwKKyAg
ICBbIGdsLlJFTkRFUkJVRkZFUiBdLAorICAgIGZ1bmN0aW9uKHRhcmdldCkgeworICAgICAgcmV0
dXJuIGdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcih0YXJnZXQsIGdsLlJFTkRFUkJVRkZFUl9X
SURUSCk7CisgICAgfSk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFNoYWRlclBhcmFt
ZXRlciIpOworc2hvdWxkQmUoJ2dsLmdldFNoYWRlclBhcmFtZXRlcihzdGFuZGFyZFZlcnQsIGds
LlNIQURFUl9UWVBFKScsICdnbC5WRVJURVhfU0hBREVSJyk7CitzaG91bGRCZSgnZ2wuZ2V0U2hh
ZGVyUGFyYW1ldGVyKHN0YW5kYXJkVmVydCwgZ2wuREVMRVRFX1NUQVRVUyknLCAnZmFsc2UnKTsK
K3Nob3VsZEJlKCdnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc3RhbmRhcmRWZXJ0LCBnbC5DT01QSUxF
X1NUQVRVUyknLCAndHJ1ZScpOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0U2hhZGVy
UGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLkRFTEVURV9TVEFUVVMsCisg
ICAgICBnbC5DT01QSUxFX1NUQVRVUywKKyAgICAgIGdsLlNIQURFUl9UWVBFCisgICAgXSwKKyAg
ICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRTaGFkZXJQYXJhbWV0
ZXIoc3RhbmRhcmRWZXJ0LCBwYXJhbWV0ZXIpOworICAgIH0KKyk7CisKK2RlYnVnKCIiKTsKK2Rl
YnVnKCJUZXN0IGdldFRleFBhcmFtZXRlciIpOworZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1F
QlVGRkVSLCBmcmFtZWJ1ZmZlcik7CitnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0
dXJlKTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklM
VEVSLCBnbC5ORUFSRVNUKTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVY
VFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworZ2wudGV4UGFyYW1l
dGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wuQ0xBTVBfVE9fRURHRSk7
CitzaG91bGRCZSgnZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVf
TUFHX0ZJTFRFUiknLCAnZ2wuTkVBUkVTVCcpOworc2hvdWxkQmUoJ2dsLmdldFRleFBhcmFtZXRl
cihnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIpJywgJ2dsLk5FQVJFU1QnKTsK
K3Nob3VsZEJlKCdnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9X
UkFQX1MpJywgJ2dsLkNMQU1QX1RPX0VER0UnKTsKK3Nob3VsZEJlKCdnbC5nZXRUZXhQYXJhbWV0
ZXIoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QpJywgJ2dsLkNMQU1QX1RPX0VER0Un
KTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldFRleFBhcmFtZXRlciIsCisgICAgInBh
cmFtZXRlciIsCisgICAgWyBnbC5URVhUVVJFX01BR19GSUxURVIsCisgICAgICBnbC5URVhUVVJF
X01JTl9GSUxURVIsCisgICAgICBnbC5URVhUVVJFX1dSQVBfUywKKyAgICAgIGdsLlRFWFRVUkVf
V1JBUF9UCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBn
bC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwgcGFyYW1ldGVyKTsKKyAgICB9CispOwor
dGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0VGV4UGFyYW1ldGVyIiwKKyAgICAidGFyZ2V0
IiwKKyAgICBbIGdsLlRFWFRVUkVfMkQsCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQCisgICAg
XSwKKyAgICBmdW5jdGlvbih0YXJnZXQpIHsKKyAgICAgIHJldHVybiBnbC5nZXRUZXhQYXJhbWV0
ZXIodGFyZ2V0LCBnbC5URVhUVVJFX01BR19GSUxURVIpOworICAgIH0KKyk7CisKK2RlYnVnKCIi
KTsKK2RlYnVnKCJUZXN0IGdldFVuaWZvcm0gd2l0aCBhbGwgdmFyaWFudHMgb2YgZGF0YSB0eXBl
cyIpOworLy8gQm9vbGVhbiB1bmlmb3JtIHZhcmlhYmxlcwordmFyIGJvb2xQcm9ncmFtID0gd3R1
LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJjZXMvYm9vbFVuaWZvcm1TaGFkZXIu
dmVydCIsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hvdWxkQmUo
J2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoYm9vbFByb2dyYW0sIGdsLkxJTktfU1RBVFVTKScsICd0
cnVlJyk7Cit2YXIgYnZhbExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihib29sUHJvZ3JhbSwg
ImJ2YWwiKTsKK3ZhciBidmFsMkxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihib29sUHJvZ3Jh
bSwgImJ2YWwyIik7Cit2YXIgYnZhbDNMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oYm9vbFBy
b2dyYW0sICJidmFsMyIpOwordmFyIGJ2YWw0TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGJv
b2xQcm9ncmFtLCAiYnZhbDQiKTsKK2dsLnVzZVByb2dyYW0oYm9vbFByb2dyYW0pOworZ2wudW5p
Zm9ybTFpKGJ2YWxMb2MsIDEpOworZ2wudW5pZm9ybTJpKGJ2YWwyTG9jLCAxLCAwKTsKK2dsLnVu
aWZvcm0zaShidmFsM0xvYywgMSwgMCwgMSk7CitnbC51bmlmb3JtNGkoYnZhbDRMb2MsIDEsIDAs
IDEsIDApOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitzaG91bGRCZSgnZ2wu
Z2V0VW5pZm9ybShib29sUHJvZ3JhbSwgYnZhbExvYyknLCAndHJ1ZScpOworc2hvdWxkQmUoJ2ds
LmdldFVuaWZvcm0oYm9vbFByb2dyYW0sIGJ2YWwyTG9jKScsICdbdHJ1ZSwgZmFsc2VdJyk7Citz
aG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShib29sUHJvZ3JhbSwgYnZhbDNMb2MpJywgJ1t0cnVlLCBm
YWxzZSwgdHJ1ZV0nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGJvb2xQcm9ncmFtLCBidmFs
NExvYyknLCAnW3RydWUsIGZhbHNlLCB0cnVlLCBmYWxzZV0nKTsKKy8vIEludGVnZXIgdW5pZm9y
bSB2YXJpYWJsZXMKK3ZhciBpbnRQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2ws
ICIuLi9yZXNvdXJjZXMvaW50VW5pZm9ybVNoYWRlci52ZXJ0IiwgIi4uL3Jlc291cmNlcy9ub29w
VW5pZm9ybVNoYWRlci5mcmFnIik7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihp
bnRQcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyknLCAndHJ1ZScpOwordmFyIGl2YWxMb2MgPSBnbC5n
ZXRVbmlmb3JtTG9jYXRpb24oaW50UHJvZ3JhbSwgIml2YWwiKTsKK3ZhciBpdmFsMkxvYyA9IGds
LmdldFVuaWZvcm1Mb2NhdGlvbihpbnRQcm9ncmFtLCAiaXZhbDIiKTsKK3ZhciBpdmFsM0xvYyA9
IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihpbnRQcm9ncmFtLCAiaXZhbDMiKTsKK3ZhciBpdmFsNExv
YyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihpbnRQcm9ncmFtLCAiaXZhbDQiKTsKK2dsLnVzZVBy
b2dyYW0oaW50UHJvZ3JhbSk7CitnbC51bmlmb3JtMWkoaXZhbExvYywgMSk7CitnbC51bmlmb3Jt
MmkoaXZhbDJMb2MsIDIsIDMpOworZ2wudW5pZm9ybTNpKGl2YWwzTG9jLCA0LCA1LCA2KTsKK2ds
LnVuaWZvcm00aShpdmFsNExvYywgNywgOCwgOSwgMTApOworZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUik7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsTG9j
KScsICcxJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsMkxvYykn
LCAnWzIsIDNdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsM0xv
YyknLCAnWzQsIDUsIDZdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShpbnRQcm9ncmFtLCBp
dmFsNExvYyknLCAnWzcsIDgsIDksIDEwXScpOworLy8gRmxvYXQgdW5pZm9ybSB2YXJpYWJsZXMK
K3ZhciBmbG9hdFByb2dyYW0gPSB3dHUubG9hZFByb2dyYW1Gcm9tRmlsZShnbCwgIi4uL3Jlc291
cmNlcy9mbG9hdFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZvcm1T
aGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoZmxvYXRQcm9n
cmFtLCBnbC5MSU5LX1NUQVRVUyknLCAndHJ1ZScpOwordmFyIGZ2YWxMb2MgPSBnbC5nZXRVbmlm
b3JtTG9jYXRpb24oZmxvYXRQcm9ncmFtLCAiZnZhbCIpOwordmFyIGZ2YWwyTG9jID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKGZsb2F0UHJvZ3JhbSwgImZ2YWwyIik7Cit2YXIgZnZhbDNMb2MgPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24oZmxvYXRQcm9ncmFtLCAiZnZhbDMiKTsKK3ZhciBmdmFsNExv
YyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihmbG9hdFByb2dyYW0sICJmdmFsNCIpOworZ2wudXNl
UHJvZ3JhbShmbG9hdFByb2dyYW0pOworZ2wudW5pZm9ybTFmKGZ2YWxMb2MsIDExKTsKK2dsLnVu
aWZvcm0yZihmdmFsMkxvYywgMTIsIDEzKTsKK2dsLnVuaWZvcm0zZihmdmFsM0xvYywgMTQsIDE1
LCAxNik7CitnbC51bmlmb3JtNGYoZnZhbDRMb2MsIDE3LCAxOCwgMTksIDIwKTsKK2dsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oZmxvYXRQ
cm9ncmFtLCBmdmFsTG9jKScsICcxMScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oZmxvYXRQ
cm9ncmFtLCBmdmFsMkxvYyknLCAnWzEyLCAxM10nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3Jt
KGZsb2F0UHJvZ3JhbSwgZnZhbDNMb2MpJywgJ1sxNCwgMTUsIDE2XScpOworc2hvdWxkQmUoJ2ds
LmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsNExvYyknLCAnWzE3LCAxOCwgMTksIDIwXScp
OworLy8gU2FtcGxlciB1bmlmb3JtIHZhcmlhYmxlcwordmFyIHNhbXBsZXJQcm9ncmFtID0gd3R1
LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIu
dmVydCIsICIuLi9yZXNvdXJjZXMvc2FtcGxlclVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hvdWxk
QmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoc2FtcGxlclByb2dyYW0sIGdsLkxJTktfU1RBVFVT
KScsICd0cnVlJyk7Cit2YXIgczJEVmFsTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHNhbXBs
ZXJQcm9ncmFtLCAiczJEIik7Cit2YXIgc0N1YmVWYWxMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRp
b24oc2FtcGxlclByb2dyYW0sICJzQ3ViZSIpOworZ2wudXNlUHJvZ3JhbShzYW1wbGVyUHJvZ3Jh
bSk7CitnbC51bmlmb3JtMWkoczJEVmFsTG9jLCAwKTsKK2dsLnVuaWZvcm0xaShzQ3ViZVZhbExv
YywgMSk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK3Nob3VsZEJlKCdnbC5n
ZXRVbmlmb3JtKHNhbXBsZXJQcm9ncmFtLCBzMkRWYWxMb2MpJywgJzAnKTsKK3Nob3VsZEJlKCdn
bC5nZXRVbmlmb3JtKHNhbXBsZXJQcm9ncmFtLCBzQ3ViZVZhbExvYyknLCAnMScpOworLy8gTWF0
cml4IHVuaWZvcm0gdmFyaWFibGVzCit2YXIgbWF0UHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbUZy
b21GaWxlKGdsLCAiLi4vcmVzb3VyY2VzL21hdFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNv
dXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1Q
YXJhbWV0ZXIobWF0UHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3ZhciBtdmFs
MkxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihtYXRQcm9ncmFtLCAibXZhbDIiKTsKK3ZhciBt
dmFsM0xvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihtYXRQcm9ncmFtLCAibXZhbDMiKTsKK3Zh
ciBtdmFsNExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihtYXRQcm9ncmFtLCAibXZhbDQiKTsK
K2dsLnVzZVByb2dyYW0obWF0UHJvZ3JhbSk7CitnbC51bmlmb3JtTWF0cml4MmZ2KG12YWwyTG9j
LCBmYWxzZSwgWzEsIDIsIDMsIDRdKTsKK2dsLnVuaWZvcm1NYXRyaXgzZnYobXZhbDNMb2MsIGZh
bHNlLCBbNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTNdKTsKK2dsLnVuaWZvcm1NYXRyaXg0
ZnYobXZhbDRMb2MsIGZhbHNlLCBbMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwg
MjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjldKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0obWF0UHJvZ3JhbSwgbXZhbDJMb2MpJywg
J1sxLCAyLCAzLCA0XScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0obWF0UHJvZ3JhbSwgbXZh
bDNMb2MpJywgJ1s1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxM10nKTsKK3Nob3VsZEJlKCdn
bC5nZXRVbmlmb3JtKG1hdFByb2dyYW0sIG12YWw0TG9jKScsICdbMTQsIDE1LCAxNiwgMTcsIDE4
LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjldJyk7CisKK2RlYnVn
KCIiKTsKK2RlYnVnKCJ0ZXN0IGdldFZlcnRleEF0dHJpYiIpOwordmFyIGFycmF5ID0gbmV3IEZs
b2F0MzJBcnJheShbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0
LCAxNSwgMTZdKTsKK3ZhciBidWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2dsLmJpbmRCdWZm
ZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpOworZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZG
RVIsIGFycmF5LCBnbC5EWU5BTUlDX0RSQVcpOworLy8gVmVydGV4IGF0dHJpYnV0ZSAwIGlzIHNw
ZWNpYWwgaW4gdGhhdCBpdCBoYXMgbm8gY3VycmVudCBzdGF0ZSwgc28KKy8vIGZldGNoaW5nIEdM
X0NVUlJFTlRfVkVSVEVYX0FUVFJJQiBnZW5lcmF0ZXMgYW4gZXJyb3IuIFVzZSBhdHRyaWJ1dGUK
Ky8vIDEgZm9yIHRoZXNlIHRlc3RzIGluc3RlYWQuCitnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJh
eSgxKTsKK2dsLnZlcnRleEF0dHJpYlBvaW50ZXIoMSwgNCwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAw
KTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJB
WV9CVUZGRVJfQklORElORyknLCAnYnVmZmVyJyk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0
cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfRU5BQkxFRCknLCAndHJ1ZScpOworc2hvdWxk
QmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1NJWkUpJywg
JzQnKTsKKy8vIFN0cmlkZSBNVVNUIGJlIHRoZSB2YWx1ZSB0aGUgdXNlciBwdXQgaW4uCitzaG91
bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURF
KScsICcwJyk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRS
SUJfQVJSQVlfVFlQRSknLCAnZ2wuRkxPQVQnKTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRy
aWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9OT1JNQUxJWkVEKScsICdmYWxzZScpOworZ2wu
dmVydGV4QXR0cmliUG9pbnRlcigxLCA0LCBnbC5GTE9BVCwgZmFsc2UsIDM2LCAxMik7CitzaG91
bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURF
KScsICczNicpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYk9mZnNldCgxLCBnbC5WRVJU
RVhfQVRUUklCX0FSUkFZX1BPSU5URVIpJywgJzEyJyk7CitnbC5kaXNhYmxlVmVydGV4QXR0cmli
QXJyYXkoMSk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRS
SUJfQVJSQVlfRU5BQkxFRCknLCAnZmFsc2UnKTsKK2dsLnZlcnRleEF0dHJpYjRmKDEsIDUsIDYs
IDcsIDgpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5DVVJSRU5UX1ZFUlRF
WF9BVFRSSUIpJywgJ1s1LCA2LCA3LCA4XScpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRWZXJ0ZXhBdHRyaWIiLAorICAg
ICJwYXJhbWV0ZXIiLAorICAgIFsgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElO
RywKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfRU5BQkxFRCwKKyAgICAgIGdsLlZFUlRF
WF9BVFRSSUJfQVJSQVlfU0laRSwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU1RSSURF
LAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9UWVBFLAorICAgICAgZ2wuVkVSVEVYX0FU
VFJJQl9BUlJBWV9OT1JNQUxJWkVELAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9TVFJJ
REUsCisgICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0VOQUJMRUQsCisgICAgICBnbC5DVVJS
RU5UX1ZFUlRFWF9BVFRSSUIKKyAgICBdLAorICAgIGZ1bmN0aW9uKHBhcmFtZXRlcikgeworICAg
ICAgcmV0dXJuIGdsLmdldFZlcnRleEF0dHJpYigxLCBwYXJhbWV0ZXIpOworICAgIH0KKyk7Cit2
YXIgbnVtVmVydGV4QXR0cmlicyA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVkVSVEVYX0FUVFJJ
QlMpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAnZ2wuZ2V0
VmVydGV4QXR0cmliKCcgKyBudW1WZXJ0ZXhBdHRyaWJzICsgJywgZ2wuQ1VSUkVOVF9WRVJURVhf
QVRUUklCKScpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBjYXNlcyB3aGVyZSBuYW1lID09
IDAiKTsKK2dsLmRlbGV0ZVRleHR1cmUodGV4dHVyZSk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVi
dWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hN
RU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSknLCAnZ2wuTk9ORScp
OworZ2wuZGVsZXRlUmVuZGVyYnVmZmVyKHJlbmRlcmJ1ZmZlcik7CitzaG91bGRCZSgnZ2wuZ2V0
RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9B
VFRBQ0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKScsICdnbC5O
T05FJyk7CitnbC5kZWxldGVCdWZmZXIoYnVmZmVyKTsKK3Nob3VsZEJlTnVsbCgnZ2wuZ2V0VmVy
dGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJTkRJTkcpJyk7Citn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgt
aW1hZ2UtMmQtZm9ybWF0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhN2QwZTNiYjhkZDcxMDY0MzMwNzFl
ZTQzNTNjYTlhOWM2NzdhNjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1p
bWFnZS0yZC1mb3JtYXRzLmh0bWwKQEAgLTAsMCArMSwxODMgQEAKKzwhLS0KKworLyoKKyoqIENv
cHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVu
dGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJp
YWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9u
IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlz
dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMs
IGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJ
REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9S
IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YK
KyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENP
UFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBP
VEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9S
VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBN
QVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHRpdGxlPlZlcmlmeSBjb3B5VGV4SW1hZ2UyRCBmb2xsb3dzIGZvcm1hdCByZXN0aWN0aW9uczwv
dGl0bGU+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMiIg
aGVpZ2h0PSIyIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImNhbnZhc05vQWxwaGEiIHdpZHRoPSIy
IiBoZWlnaHQ9IjIiPjwvY2FudmFzPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorInVzZSBzdHJpY3QiOworCitmdW5jdGlvbiBnZXRDaGFubmVsc0Zyb21Gb3JtYXQoZm9ybWF0
KSB7CisgIHN3aXRjaCAoZ2xbZm9ybWF0XSkgeworICBjYXNlIGdsLkFMUEhBOgorICAgIHJldHVy
biAweDAwMDE7CisgIGNhc2UgZ2wuTFVNSU5BTkNFOgorICBjYXNlIGdsLlJHQjoKKyAgICByZXR1
cm4gMHgxMTEwOworICBjYXNlIGdsLkxVTUlOQU5DRV9BTFBIQToKKyAgY2FzZSBnbC5SR0JBOgor
ICAgIHJldHVybiAweDExMTE7CisgIGRlZmF1bHQ6CisgICAgcmV0dXJuIDA7CisgIH0KK30KKwor
dmFyIGZvcm1hdHMgPSBbCisgICdBTFBIQScsCisgICdMVU1JTkFOQ0UnLAorICAnTFVNSU5BTkNF
X0FMUEhBJywKKyAgJ1JHQicsCisgICdSR0JBJworXTsKKwordmFyIGdsID0gbnVsbDsKK3ZhciB3
dHUgPSBXZWJHTFRlc3RVdGlsczsKKworZGVzY3JpcHRpb24oKTsKKwordmFyIGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKK3ZhciBjYW52YXNOb0FscGhhID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhc05vQWxwaGEiKTsKK3ZhciBnbCA9IHd0dS5jcmVh
dGUzRENvbnRleHQoY2FudmFzLCB7YWxwaGE6dHJ1ZX0pOwordmFyIGdsTm9BbHBoYSA9IHd0dS5j
cmVhdGUzRENvbnRleHQoY2FudmFzTm9BbHBoYSwge2FscGhhOmZhbHNlfSk7CisKK2RlYnVnKCJ0
ZXN0IHdpdGggYW4gUkdCQSBiYWNrYnVmZmVyIik7Cit2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRl
eHR1cmVkUXVhZChnbCk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiRHVyaW5n
IEluaXRpYWxpemF0aW9uIik7Cit0ZXN0Rm9ybWF0cygnUkdCQScpOworCit0ZXN0QmFja2J1ZmZl
ckZvcm1hdHMoKTsKKworZGVidWcoInRlc3Qgd2l0aCBhbiBSR0IgYmFja2J1ZmZlciIpOwordmFy
IGdsID0gZ2xOb0FscGhhOwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wp
OworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIkR1cmluZyBJbml0aWFsaXphdGlv
biIpOwordGVzdEZvcm1hdHMoJ1JHQicpOworCitmdW5jdGlvbiB0ZXN0QmFja2J1ZmZlckZvcm1h
dHMoKSB7CisgIHZhciBmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpOworICBnbC5iaW5kRnJh
bWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8
IGZvcm1hdHMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIGJhY2tGb3JtYXQgPSBmb3JtYXRzW2lp
XTsKKworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1
cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsW2JhY2tGb3JtYXRdLCAyLCAyLCAwLCBnbFtiYWNrRm9ybWF0XSwgZ2wuVU5TSUdORURf
QllURSwgbnVsbCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhU
VVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVY
VFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKKworICAgIGdsLmZy
YW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwg
Z2wuVEVYVFVSRV8yRCwgdGV4LCAwKTsKKyAgICB2YXIgc3RhdHVzID0gZ2wuY2hlY2tGcmFtZWJ1
ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUik7CisKKyAgICBkZWJ1ZygnJyk7CisgICAgaWYgKHN0
YXR1cyA9PSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkgeworICAgICAgZGVidWcoJ3Rlc3Qgd2l0
aCAnICsgYmFja0Zvcm1hdCArICcgZmJvJyk7CisgICAgICB0ZXN0Rm9ybWF0cyhiYWNrRm9ybWF0
KTsKKyAgICB9IGVsc2UgeworICAgICAgZGVidWcoYmFja0Zvcm1hdCArICcgbm90IHN1cHBvcnRl
ZCBhcyBhIHJlbmRlcmJ1ZmZlciBhdHRhY2htZW50Jyk7CisgICAgfQorICB9Cit9CisKK2Z1bmN0
aW9uIHRlc3RGb3JtYXRzKGJhY2tGb3JtYXQpIHsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGZv
cm1hdHMubGVuZ3RoOyArK2lpKSB7CisgICAgdGVzdENvcHlUZXhJbWFnZTJEKGJhY2tGb3JtYXQs
IGZvcm1hdHNbaWldKTsKKyAgfQorfQorCitmdW5jdGlvbiB0b0NoYW5uZWxzKHZhbHVlKSB7Cisg
IHJldHVybiAoKHZhbHVlICYgMHgxMDAwKSA/ICdSJyA6ICdfJykgKworICAgICAgICAgKCh2YWx1
ZSAmIDB4MDEwMCkgPyAnRycgOiAnXycpICsKKyAgICAgICAgICgodmFsdWUgJiAweDAwMTApID8g
J0InIDogJ18nKSArCisgICAgICAgICAoKHZhbHVlICYgMHgwMDAxKSA/ICdBJyA6ICdfJyk7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb3B5VGV4SW1hZ2UyRChiYWNrRm9ybWF0LCB0ZXhGb3JtYXQpIHsK
KyAgdmFyIG5lZWQgPSBnZXRDaGFubmVsc0Zyb21Gb3JtYXQodGV4Rm9ybWF0KTsKKyAgdmFyIGhh
dmUgPSBnZXRDaGFubmVsc0Zyb21Gb3JtYXQoYmFja0Zvcm1hdCk7CisgIHZhciBzaG91bGRQYXNz
ID0gKG5lZWQgJiBoYXZlKSA9PSBuZWVkCisKKyAgLy9kZWJ1ZygibmVlZDogIiArIHRvQ2hhbm5l
bHMobmVlZCkpOworICAvL2RlYnVnKCJoYXZlOiAiICsgdG9DaGFubmVscyhoYXZlKSk7CisgIC8v
ZGVidWcoImJvdGg6ICIgKyB0b0NoYW5uZWxzKGhhdmUgJiBuZWVkKSk7CisKKyAgLy8gY2xlYXIg
YmFja2J1ZmZlcgorICBnbC5jbGVhckNvbG9yKDAuMjUsIDEsIDAuNzUsIDAuNSk7CisgIGdsLmNs
ZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4
dHVyZSgpOworICAvLyBCaW5kIHRoZSB0ZXh0dXJlIHRvIHRleHR1cmUgdW5pdCAwCisgIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworICBnbC50ZXhQYXJhbWV0ZXJpKGds
LlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgIGdsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFS
RVNUKTsKKworICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbFt0ZXhGb3Jt
YXRdLCAwLCAwLCAyLCAyLCAwKTsKKyAgaWYgKCFzaG91bGRQYXNzKSB7CisgICAgZ2xFcnJvclNo
b3VsZEJlKAorICAgICAgICBnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICJzaG91
bGQgbm90IGJlIGFibGUgdG8gY29weVRleEltYWdlMkQgIiArIHRleEZvcm1hdCArICIgZnJvbSAi
ICsgYmFja0Zvcm1hdCk7CisgICAgcmV0dXJuOworICB9CisKKyAgZ2xFcnJvclNob3VsZEJlKAor
ICAgICAgZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgInNob3VsZCBiZSBhYmxlIHRvIGNvcHlUZXhJ
bWFnZTJEICIgKyB0ZXhGb3JtYXQgKyAiIGZyb20gIiArIGJhY2tGb3JtYXQpOworCisgIC8vIERy
YXcKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKworICB2YXIgZXhwZWN0ZWRDb2xvcnMgPSB7CisgICAg
J0FMUEhBJzogWzAsIDAsIDAsIDEyN10sCisgICAgJ0xVTUlOQU5DRSc6IFs2NCwgNjQsIDY0LCAy
NTVdLAorICAgICdMVU1JTkFOQ0VfQUxQSEEnOiBbNjQsIDY0LCA2NCwgMTI3XSwKKyAgICAnUkdC
JzogWzY0LCAyNTUsIDE5MSwgMjU1XSwKKyAgICAnUkdCQSc6IFs2NCwgMjU1LCAxOTEsIDEyN10K
KyAgfTsKKworICB2YXIgY29sb3IgPSBleHBlY3RlZENvbG9yc1t0ZXhGb3JtYXRdOworCisgIHd0
dS5jaGVja0NhbnZhcyhnbCwgY29sb3IsICJzaG91bGQgYmUgIiArIGNvbG9yLCAxNik7CisKKyAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMiKTsK
K30KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzBjNDUxNGY2OTFlMDI1YzUxMmFi
NThjZWZlMDk3ZGI0MzcxOTI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxz
dG9yZWkuaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgcGl4ZWxTdG9yZWkgVGVzdDwvdGl0bGU+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZh
cyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxjYW52YXMg
aWQ9IjJkMDAiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSIy
ZDAxIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iMmQwMiIg
d2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9IjJkMDMiIHdpZHRo
PSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingt
c2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK3ZvaWQgbWFpbigp
IHsKKyAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBp
ZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+Cit2b2lkIG1haW4oKSB7Cisg
IGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLDAuMCwwLjAsMS4wKTsKK30KKzwvc2NyaXB0PgorCis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gaW5pdCgpIHsKKyAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCBjaGVja3MgdGhhdCBkcmF3SW1hZ2UgYW5kIHJlYWRQaXhlbHMgYXJlIG5vdCBl
ZmZlY3RlZCBieSBnbC5QaXhlbHN0b3JlaShnbC5QQUNLX0FMSUdOTUVOVCkgYW5kIHZpc2EgdmVy
c2EiKTsKKworICBkZWJ1ZygiVGhlcmUgc2hvdWxkIGJlIDUgcmVkIHRyaWFuZ2xlcyBvbiA1IGJs
YWNrIHNxdWFyZXMgYWJvdmUiKTsKKyAgZGVidWcoIiIpOworCisgIHZhciB3dHUgPSBXZWJHTFRl
c3RVdGlsczsKKyAgdmFyIGNhbnZhczNkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4YW1w
bGUiKTsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworICB2YXIg
cHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIl0sIFsi
dlBvc2l0aW9uIl0pOworCisgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsK
KyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7CisgIGdsLmJ1
ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsgMCwwLjUsMCwgLTAu
NSwtMC41LDAsIDAuNSwtMC41LDAgXSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wuZW5hYmxlVmVy
dGV4QXR0cmliQXJyYXkoMCk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxP
QVQsIGZhbHNlLCAwLCAwKTsKKworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wu
REVQVEhfQlVGRkVSX0JJVCk7CisgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsK
KworICBmdW5jdGlvbiBjaGVja0RhdGEoY3R4LCBuYW1lKSB7CisgICAgLy8gVGVzdCBzZXZlcmFs
IGxvY2F0aW9ucworICAgIC8vIEZpcnN0IGxpbmUgc2hvdWxkIGJlIGFsbCBibGFjaworICAgIHd0
dS5jaGVja0NhbnZhc1JlY3QoY3R4LCAwLCAwLCA1MCwgMSwgWzAsIDAsIDAsIDBdKTsKKworICAg
IC8vIExpbmUgMjUgc2hvdWxkIGJlIHJlZCBmb3IgYXQgbGVhc3QgNiByZWQgcGl4ZWxzIHN0YXJ0
aW5nIDIyIHBpeGVscyBpbgorICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoY3R4LCAyMiwgMjUsIDYs
IDEsIFsyNTUsIDAsIDAsIDI1NV0pOworCisgICAgLy8gTGFzdCBsaW5lIHNob3VsZCBiZSBhbGwg
YmxhY2sKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwgMCwgNDksIDUwLCAxLCBbMCwgMCwg
MCwgMF0pOworICB9CisKKyAgdmFyIGN0eDJkOworCisgIGZ1bmN0aW9uIGNoZWNrQ29sb3JzKCkg
eworICAgIGNoZWNrRGF0YShnbCwgIjNkIGNvbnRleHQiKTsKKyAgICBjaGVja0RhdGEoY3R4MmQs
ICIyZCBjb250ZXh0Iik7CisgIH0KKworICB2YXIgdGFibGUgPSBbMSwgMiwgNCwgOF07CisgIGZv
ciAodmFyIGlpID0gMDsgaWkgPCB0YWJsZS5sZW5ndGg7ICsraWkpIHsKKyAgICBnbC5waXhlbFN0
b3JlaShnbC5QQUNLX0FMSUdOTUVOVCwgdGFibGVbaWldKTsKKyAgICBjdHgyZCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCIyZDAiICsgaWkpLmdldENvbnRleHQoIjJkIik7CisgICAgY3R4MmQu
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknOworICAgIGN0eDJkLmRyYXdJbWFnZShj
YW52YXMzZCwgMCwgMCk7CisgICAgY2hlY2tDb2xvcnMoKTsKKyAgICBhc3NlcnRNc2coZ2wuZ2V0
UGFyYW1ldGVyKGdsLlBBQ0tfQUxJR05NRU5UKSA9PSB0YWJsZVtpaV0sCisgICAgICAgICJQQUNL
X0FMSUdOTUVOVCBpcyAiICsgdGFibGVbaWldKTsKKyAgfQorfQorCitpbml0KCk7Cit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0MTg1YjVkMmIx
NTNmMWQ5NDlmNWRmNDdjYTM2ZmRhZTU2MWU1ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbApAQCAtMCwwICsxLDE1NyBAQAorPCEtLQor
CisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisq
KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl
cnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lh
dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGlu
IHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0
IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp
c2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl
IE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlh
bHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl
cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1
YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFM
UyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoq
IEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS
UkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFV
VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBE
QU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB
Q1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O
TkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO
R1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgT3JpZ2luIFJl
c3RyaWN0aW9ucyBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0dSA9IFdlYkdM
VGVzdFV0aWxzOworLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBsYXN0IDIgd29yZHMgb2Yg
dGhlIGRvbWFpbiBvZiBhIFVSTAorLy8gVGhpcyBpcyBwcm9iYWJseSBub3QgdGhlIGNvcnJlY3Qg
Y2hlY2sgYnV0IGl0IHdpbGwgZG8gZm9yIG5vdy4KK2Z1bmN0aW9uIGdldEJhc2VEb21haW4oc3Ry
KSB7CisgIHN0ciA9IHN0ci5yZXBsYWNlKCJcXCIsICIvIik7CisgIHZhciBwb3MgPSBzdHIuaW5k
ZXhPZigiOi8vIik7CisgIGlmIChwb3MgPj0gMCkgeworICAgIHN0ciA9IHN0ci5zdWJzdHIocG9z
ICsgMyk7CisgIH0KKyAgdmFyIHBhcnRzID0gc3RyLnNwbGl0KCcvJyk7CisgIHZhciBkb21haW4g
PSBwYXJ0c1swXS5tYXRjaCgvXHcrXC5cdyskLyk7CisgIHJldHVybiBkb21haW4gfHwgJyc7Cit9
CisKKy8vIENoZWNrcyBpZiBmdW5jdGlvbiB0aHJvd3MgYW4gZXhjZXB0aW9uLgorZnVuY3Rpb24g
Y2F1c2VkRXhjZXB0aW9uKGZ1bmMpIHsKKyAgdmFyIGhhZEV4Y2VwdGlvbiA9IGZhbHNlOworICB0
cnkgeworICAgIGZ1bmMoKTsKKyAgfSBjYXRjaChlKSB7CisgICAgaGFkRXhjZXB0aW9uID0gdHJ1
ZTsKKyAgfQorICByZXR1cm4gaGFkRXhjZXB0aW9uOworfQorCit2YXIgaW1nRG9tYWluOwordmFy
IHBhZ2VEb21haW47Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkOworCit3aW5kb3cub25sb2FkID0g
ZnVuY3Rpb24oKSB7CisgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyBXZWJHTCBpbXBs
ZW1lbnRhdGlvbnMgZm9sbG93IHByb3BlciBzYW1lLW9yaWdpbiByZXN0cmljdGlvbnMuIik7Cisg
IHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1nIik7CisgIGFzc2VydE1zZyhp
bWcud2lkdGggPiAwICYmIGltZy5oZWlnaHQgPiAwLCAiaW1nIHdhcyBsb2FkZWQiKTsKKyAgaW1n
RG9tYWluID0gZ2V0QmFzZURvbWFpbihpbWcuc3JjKTsKKyAgcGFnZURvbWFpbiA9IGdldEJhc2VE
b21haW4od2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkpOworICBhc3NlcnRNc2coaW1nRG9tYWlu
ICE9IHBhZ2VEb21haW4sCisgICAgICAgICAgICAiaW1nIGRvbWFpbiAoIiArIGltZ0RvbWFpbiAr
ICIpIGFuZCBwYWdlIGRvbWFpbiAoIiArIHBhZ2VEb21haW4gKyAiKSBhcmUgbm90IHRoZSBzYW1l
LiIpOworCisgIGZ1bmN0aW9uIG1ha2VUZXhJbWFnZTJEKGdsLCBzcmMpIHsKKyAgICByZXR1cm4g
ZnVuY3Rpb24oKSB7CisgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHNyYyk7CisgICAgfTsKKyAgfQorCisgIGZ1
bmN0aW9uIG1ha2VUZXhTdWJJbWFnZTJEKGdsLCBzcmMpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24o
KSB7CisgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJH
QkEsIGdsLlVOU0lHTkVEX0JZVEUsIHNyYyk7CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG1h
a2VSZWFkUGl4ZWxzKGdsKSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgdmFyIGJ1
ZiA9IG5ldyBVaW50OEFycmF5KDQpOworICAgICAgZ2wucmVhZFBpeGVscygwLCAwLCAxLCAxLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIH07CisgIH0KKworICBmdW5jdGlv
biBtYWtlVG9EYXRhVVJMKGNhbnZhcykgeworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAg
IHZhciBkYXRhID0gY2FudmFzLnRvRGF0YVVSTCgpOworICAgIH0KKyAgfQorCisgIHZhciBjYW52
YXMxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczEiKTsKKyAgdmFyIGdsID0gd3R1
LmNyZWF0ZTNEQ29udGV4dChjYW52YXMxKTsKKworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJjaGVj
ayB0aGF0IGFuIGF0dGVtcHQgdG8gdXBsb2FkIGFuIGltYWdlIGZyb20gYW5vdGhlciBvcmlnaW4g
dGhyb3dzIGFuIGV4Y2VwdGlvbi4iKTsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsK
KyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgZ2wudGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAyNTYsIDI1NiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgbnVsbCk7CisgIGFzc2VydE1zZyhjYXVzZWRFeGNlcHRpb24obWFrZVRleEltYWdl
MkQoZ2wsIGltZykpLAorICAgICAgICAgICAgInRleEltYWdlMkQgd2l0aCBjcm9zcy1vcmlnaW4g
aW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iKTsKKyAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2Vw
dGlvbihtYWtlVGV4U3ViSW1hZ2UyRChnbCwgaW1nKSksCisgICAgICAgICAgICAidGV4U3ViSW1h
Z2UyRCB3aXRoIGNyb3NzLW9yaWdpbiBpbWFnZSBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIpOwor
CisgIGRlYnVnKCJjaGVjayB0aGF0IHJlYWRQaXhlbHMgYW5kIHRvRGF0YVVSTCBjb250aW51ZSB0
byB3b3JrIGFnYWluc3QgdGhpcyBjYW52YXMuIik7CisgIGFzc2VydE1zZyghY2F1c2VkRXhjZXB0
aW9uKG1ha2VSZWFkUGl4ZWxzKGdsKSksCisgICAgICAgICAgICAicmVhZFBpeGVscyBzaG91bGQg
bmV2ZXIgdGhyb3cgZXhjZXB0aW9uIC0tIG5vdCBwb3NzaWJsZSB0byBkaXJ0eSBvcmlnaW4gb2Yg
V2ViR0wgY2FudmFzLiIpOworICBhc3NlcnRNc2coIWNhdXNlZEV4Y2VwdGlvbihtYWtlVG9EYXRh
VVJMKGNhbnZhczEpKSwKKyAgICAgICAgICAgICJzaG91bGQgbm90IHRocm93IGV4Y2VwdGlvbiBi
eSB0b0RhdGFVUkwgZm9yIFdlYkdMIGNhbnZhcywgd2hpY2ggc2hvdWxkIHN0YXkgb3JpZ2luIGNs
ZWFuLiIpOworCisgIGRlYnVnKCJjaGVjayB0aGF0IGFuIGF0dGVtcHQgdG8gdXBsb2FkIGEgdGFp
bnRlZCBjYW52YXMgdGhyb3dzIGFuIGV4Y2VwdGlvbi4iKTsKKyAgdmFyIGNhbnZhczIgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMiIpOworICB2YXIgY3R4MmQgPSBjYW52YXMyLmdl
dENvbnRleHQoIjJkIik7CisgIGN0eDJkLmRyYXdJbWFnZShpbWcsIDAsIDApOworICBhc3NlcnRN
c2coY2F1c2VkRXhjZXB0aW9uKG1ha2VUb0RhdGFVUkwoY2FudmFzMikpLAorICAgICAgICAgICAg
InNob3VsZCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJMIGZvciBOT04gb3JpZ2luIGNsZWFu
IGNhbnZhcy4iKTsKKyAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlVGV4SW1hZ2UyRChn
bCwgY2FudmFzMikpLAorICAgICAgICAgICAgInRleEltYWdlMkQgd2l0aCBOT04gb3JpZ2luIGNs
ZWFuIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIpOworICBhc3NlcnRNc2coY2F1c2Vk
RXhjZXB0aW9uKG1ha2VUZXhTdWJJbWFnZTJEKGdsLCBjYW52YXMyKSksCisgICAgICAgICAgICAi
dGV4U3ViSW1hZ2UyRCB3aXRoIE5PTiBvcmlnaW4gY2xlYW4gY2FudmFzIHNob3VsZCB0aHJvdyBl
eGNlcHRpb24uIik7CisKKyAgZGVidWcoImNoZWNrIHRoYXQgcmVhZFBpeGVscyBhbmQgdG9EYXRh
VVJMIGNvbnRpbnVlIHRvIHdvcmsgYWdhaW5zdCB0aGlzIGNhbnZhcy4iKTsKKyAgYXNzZXJ0TXNn
KCFjYXVzZWRFeGNlcHRpb24obWFrZVJlYWRQaXhlbHMoZ2wpKSwKKyAgICAgICAgICAgICJyZWFk
UGl4ZWxzIHNob3VsZCBuZXZlciB0aHJvdyBleGNlcHRpb24gLS0gbm90IHBvc3NpYmxlIHRvIGRp
cnR5IG9yaWdpbiBvZiBXZWJHTCBjYW52YXMuIik7CisgIGFzc2VydE1zZyghY2F1c2VkRXhjZXB0
aW9uKG1ha2VUb0RhdGFVUkwoY2FudmFzMSkpLAorICAgICAgICAgICAgInNob3VsZCBub3QgdGhy
b3cgZXhjZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3IgV2ViR0wgY2FudmFzLCB3aGljaCBzaG91bGQg
c3RheSBvcmlnaW4gY2xlYW4uIik7CisKKyAgLy8gVE9ETzogU2hvdWxkIGNoZWNrIHZpZGVvLgor
ICAvLyBUT0RPOiBTaG91bGQgY2hlY2sgQ09SUyBzdXBwb3J0LgorCisgIGRlYnVnKCIiKTsKKyAg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgc2hvdWxkQmVUcnVlKCJzdWNjZXNzZnVsbHlQ
YXJzZWQiKTsKKyAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRF
PC9zcGFuPicpOworICBub3RpZnlGaW5pc2hlZFRvSGFybmVzcygpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzMSI+PC9jYW52YXM+Cis8Y2FudmFzIGlk
PSJjYW52YXMyIj48L2NhbnZhcz4KKzxpbWcgaWQ9ImltZyIgc3JjPSJodHRwOi8vd3d3Lm9wZW5n
bC5vcmcvaW1nL29wZW5nbF9sb2dvLmpwZyIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODkwOGQ4ZDc5ZTlm
M2UwYTZmOGFlZDQzMzgwZTliOTkyNWVkM2I0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKQEAgLTAs
MCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1jYW52YXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9u
IHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCIiwgIlVOU0lHTkVEX1NIT1JUXzVf
Nl81IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIg
aGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmZmZDM4ZWQzNTA1YzcyNzBmMjA4YTY1ZTQzODhmZDg4ZmU0YWE0
MmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5l
cmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNF80XzRfNCIsIHRlc3RQcm9sb2d1ZSko
KSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFz
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
OTBhMzhhMDY2MDA0YTRhNGUzMjAxNWE1MTllN2RkODcwYzY4YTUyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1
NTEuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJp
Y3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVO
U0lHTkVEX1NIT1JUXzVfNV81XzEiLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhh
bXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODUyMzJiMWYzMDdkZTlhZDI0ZTcwM2YxMzY2NzA5ZTIxMjU0ZjYx
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0
cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgi
UkdCQSIsICJVTlNJR05FRF9CWVRFIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4
YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1h
Z2UtcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWltYWdlLXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1MDI1YjE4NWQ0YTQwMmRlMTNkMTExNzRi
MjU1NmE0NmU0M2EyNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShn
bCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9J2dlbmVyYXRlVGVzdCgiUkdCIiwgIlVOU0lHTkVEX1NIT1JUXzVfNl81IiwgIi4uIiwgdGVz
dFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIz
MiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zYzMzYjQ4MmQ4MzkxNDhiOGUzZjMzOTRlOGY3MjJkYTU5OGZjYTU5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdo
dCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBo
ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK
KyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u
IGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdp
dGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBy
aWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0
ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0
bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQg
dG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisq
KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz
aGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u
cyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJB
UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJ
RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1F
UkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO
RlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI
VCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBP
VEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUK
KyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklB
TFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1
c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVl
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdC
QSIsICJVTlNJR05FRF9TSE9SVF80XzRfNF80IiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxj
YW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDQwNTU0YzUx
NTMwOGM2MWJmYzVkOGNmYmQ2ZDM1OTg5MjM3Mzg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sCkBA
IC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKwor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0
aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9TSE9S
VF81XzVfNV8xIiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jNGYyZDU1ZDM0OWIwYjMyZTdjZWJiNDMzZTlmNmRmM2M2NWY4M2Q5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJV
TlNJR05FRF9CWVRFIiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhYzExZTI2OTZjMmIzNGE1OTlmYzdhZGVmNjNm
YzljZmY5NDJmYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkg
eworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
J2dlbmVyYXRlVGVzdCgiUkdCIiwgIlVOU0lHTkVEX1NIT1JUXzVfNl81IiwgdGVzdFByb2xvZ3Vl
KSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52
YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
YTkxMWFhMDM3NmNlZmQ5NWJhN2U2MDY3YTE0OWQ0Y2JhNjc4NmRjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0
NC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0
IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJ
R05FRF9TSE9SVF80XzRfNF80IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiYTU1NTEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
dmlkZW8tcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yN2VmNjJmZjdkOGZiYzFkNmM3ZDkyZDky
ZjI2ZDU2OTI3N2VhZTUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsNDkgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1
ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9TSE9SVF81XzVfNV8xIiwgdGVz
dFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIz
MiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NWM0YTdmNTM0
YjY5YmZiOWZkOGUyNGE3M2Q0MDMzNTA0ZjY5MDlhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCkBAIC0wLDAgKzEs
NDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91
cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy
Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh
bmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMi
KSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu
ZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks
IG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwg
Y29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hv
bSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxs
IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoq
IFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg
QU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU
RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5Z
CisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU
SU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VU
IE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9S
IE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlk
ZW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQ
cm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9CWVRFIiwgdGVzdFBy
b2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+
PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUt
YWN0aXZlLWJpbmQtMi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjk5NjIyMTVjOGFjMjVmNGI2ODNhYTg3NGYzZGQxNzFjNjczZGEwMAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sCkBAIC0w
LDAgKzEsMTkyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
ICAgIDx0aXRsZT5XZWJHTCBBY3RpdmVUZXh0dXJlIEJpbmRUZXh0dXJlIGNvbmZvcm1hbmNlIHRl
c3QgIzI8L3RpdGxlPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxj
YW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHN0eWxlPSJ3aWR0aDogNDBw
eDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXMyZCIgd2lkdGg9
IjEiIGhlaWdodD0iMSIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48L2NhbnZh
cz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgordW5pZm9y
bSBtYXQ0IHdvcmxkOworYXR0cmlidXRlIHZlYzMgdlBvc2l0aW9uOworYXR0cmlidXRlIHZlYzIg
dGV4Q29vcmQwOwordmFyeWluZyB2ZWMyIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAgZ2xf
UG9zaXRpb24gPSB3b3JsZCAqIHZlYzQodlBvc2l0aW9uLCAxKTsKKyAgdGV4Q29vcmQgPSB0ZXhD
b29yZDA7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIyZCIgdHlwZT0ieC1zaGFk
ZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSBzYW1w
bGVyMkQgdGV4MmQ7Cit2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICBn
bF9GcmFnQ29sb3IgPSB0ZXh0dXJlMkQodGV4MmQsIHRleENvb3JkKTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlckN1YmUiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2FtcGxlckN1YmUgdGV4Q3ViZTsKK3Zv
aWQgbWFpbigpCit7CisgIGdsX0ZyYWdDb2xvciA9IHRleHR1cmVDdWJlKHRleEN1YmUsIHZlYzMo
MCwxLDApKTsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rp
b24gaW5pdCgpCit7CisgIGRlc2NyaXB0aW9uKAorICAgICAgIlRlc3RzIHRoYXQgYmluZGluZyBi
b3RoIFRFWFRVUkVfMkQgYW5kIFRFWFRVUkVfQ1VCRV9NQVAgdG8gdGhlIHNhbWUiICsKKyAgICAg
ICJhY3RpdmUgdGV4dHVyZSB1bml0IHdvcmtzIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IHVzZWQi
ICsKKyAgICAgICJzaW11bHRhbmVvdXNseSBpbiB0aGUgc2FtZSBzaGFkZXIgcHJvZ3JhbS4iKTsK
KworICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMmQiKTsK
KyAgdmFyIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKyAgY3R4MmQuZ2xvYmFs
Q29tcG9zaXRlT3BlcmF0aW9uID0gImNvcHkiOworCisgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGls
czsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworICB2YXIgcHJv
Z3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oCisgICAgICBnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIy
ZCJdLCBbInZQb3NpdGlvbiIsICJ0ZXhDb29yZDAiXSk7CisKKyAgdmFyIHByb2dyYW0yZCA9IHBy
b2dyYW07CisgIHZhciBwcm9ncmFtQ3ViZSA9IHd0dS5zZXR1cFByb2dyYW0oCisgICAgICBnbCwg
WyJ2c2hhZGVyIiwgImZzaGFkZXJDdWJlIl0sIFsidlBvc2l0aW9uIiwgInRleENvb3JkMCJdKTsK
KworICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZm
ZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICBnbC5idWZmZXJEYXRhKAorICAg
ICAgZ2wuQVJSQVlfQlVGRkVSLAorICAgICAgbmV3IEZsb2F0MzJBcnJheShbLTEsIDEsMCwgMSwx
LDAsIC0xLC0xLDAsCisgICAgICAgICAgICAgICAgICAgICAgICAtMSwtMSwwLCAxLDEsMCwgIDEs
LTEsMF0pLAorICAgICAgZ2wuU1RBVElDX0RSQVcpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJB
cnJheSgwKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBnbC5GTE9BVCwgZmFsc2Us
IDAsIDApOworCisgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7CisgIGdsLmJ1ZmZlckRh
dGEoCisgICAgICBnbC5BUlJBWV9CVUZGRVIsCisgICAgICBuZXcgRmxvYXQzMkFycmF5KFsgMCww
LCAxLDAsIDAsMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAwLDEsIDEsMCwgMSwxXSksCisg
ICAgICBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDEpOwor
ICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisK
KyAgLy8gTWFrZSB0ZXh0dXJlIHVuaXQgMSBhY3RpdmUuCisgIGdsLmFjdGl2ZVRleHR1cmUoZ2wu
VEVYVFVSRTEpOworCisgIC8vIE1ha2UgYSAyZCB0ZXh0dXJlCisgIHZhciB0ZXgyZCA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4MmQpOwor
ICBjdHgyZC5maWxsU3R5bGUgPSAicmdiYSgwLCAwLCAyNTUsIDI1NSkiOworICBjdHgyZC5maWxs
UmVjdCgwLCAwLCAxLCAxKTsKKyAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52YXMyZCk7CisKKyAgLy8gbWFrZSBh
IGN1YmUgdGV4dHVyZQorICB2YXIgdGV4Q3ViZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4Q3ViZSk7CisgIGN0eDJkLmZpbGxT
dHlsZSA9ICJyZ2JhKDI1NSwgMCwgMjU1LCAyNTUpIjsKKyAgY3R4MmQuZmlsbFJlY3QoMCwgMCwg
MSwgMSk7CisgIHZhciB0YXJnZXRzID0gWworICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJ
VkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVYVFVS
RV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVf
WSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9aXTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRhcmdldHMubGVu
Z3RoOyArK2lpKSB7CisgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXRzW2lpXSwgMCwgZ2wuUkdCQSwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzMmQpOworICB9CisKKyAgLy8gU2V0dXAg
cHJvZ3JhbTJkIGFuZCBwcm9ncmFtQ3ViZQorICB2YXIgdGV4MmRMb2MgPSBnbC5nZXRVbmlmb3Jt
TG9jYXRpb24ocHJvZ3JhbTJkLCAidGV4MmQiKTsKKyAgdmFyIHdvcmxkMmRMb2MgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbTJkLCAid29ybGQiKTsKKyAgdmFyIHRleEN1YmVMb2MgPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbUN1YmUsICJ0ZXhDdWJlIik7CisgIHZhciB3b3Js
ZEN1YmVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbUN1YmUsICJ3b3JsZCIpOwor
CisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbTJkKTsKKyAgZ2wudW5pZm9ybTFpKHRleDJkTG9jLCAx
KTsKKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtQ3ViZSk7CisgIGdsLnVuaWZvcm0xaSh0ZXhDdWJl
TG9jLCAxKTsKKworICBnbC5jbGVhckNvbG9yKDEsMCwwLDEpOworICBnbC5jbGVhcihnbC5DT0xP
Ul9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgdmFyIHByb2dyYW1zID0g
W3Byb2dyYW0yZCwgcHJvZ3JhbUN1YmVdOworICB2YXIgd29ybGRMb2NzID0gW3dvcmxkMmRMb2Ms
IHdvcmxkQ3ViZUxvY107CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCA0OyArK2lpKSB7CisgICAg
dmFyIHggPSBpaSAlIDI7CisgICAgdmFyIHkgPSBNYXRoLmZsb29yKGlpIC8gMik7CisgICAgZ2wu
dXNlUHJvZ3JhbShwcm9ncmFtc1t4XSk7CisgICAgZ2wudW5pZm9ybU1hdHJpeDRmdigKKyAgICAg
ICAgd29ybGRMb2NzW3hdLCBmYWxzZSwKKyAgICAgICAgWzAuNSwgMCwgMCwgMCwKKyAgICAgICAg
IDAsIDAuNSwgMCwgMCwKKyAgICAgICAgIDAsIDAsIDEsIDAsCisgICAgICAgICAtMC41ICsgeCwg
LTAuNSArIHksIDAsIDFdKTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7
CisgIH0KKworICB2YXIgY29sb3JzID0gWworICAgICAgWzAsMCwyNTUsMjU1XSwKKyAgICAgIFsy
NTUsMCwyNTUsMjU1XSwKKyAgICAgIFswLDAsMjU1LDI1NV0sCisgICAgICBbMjU1LDAsMjU1LDI1
NV1dOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBjb2xvcnMubGVuZ3RoOyArK2lpKSB7Cisg
ICAgdmFyIGMgPSBjb2xvcnNbaWldOworICAgIHZhciB4ID0gaWkgJSAyOworICAgIHZhciB5ID0g
TWF0aC5mbG9vcihpaSAvIDIpOworICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIHgsIHksIDEs
IDEsIGMpOworICB9Cit9CisKK2luaXQoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1hY3RpdmUtYmluZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmViOWE3OTIxNTQ4NGE1YjlkMDhlYzgyZGJkYzViMTkzNmI5ZjIzYzAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwKQEAg
LTAsMCArMSwxNTcgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKwor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIEFjdGl2ZVRleHR1cmUgQmluZFRleHR1cmUgY29uZm9ybWFuY2UgdGVzdC48
L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0Lmpz
Ij4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0
aD0iMiIgaGVpZ2h0PSIyIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2Fu
dmFzPgorPGNhbnZhcyBpZD0iY2FudmFzMmQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHN0eWxlPSJ3
aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZzaGFkZXIi
IHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK3VuaWZvcm0gbWF0NCB3b3JsZDsKK2F0dHJpYnV0
ZSB2ZWMzIHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWMyIHRleENvb3JkMDsKK3ZhcnlpbmcgdmVj
MiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgIGdsX1Bvc2l0aW9uID0gd29ybGQgKiB2ZWM0
KHZQb3NpdGlvbiwgMSk7CisgIHRleENvb3JkID0gdGV4Q29vcmQwOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIGdsOworCitmdW5jdGlvbiBpbml0KCkKK3sKKyAg
ZGVzY3JpcHRpb24oCisgICAgICAiVGVzdHMgdGhhdCBnbEFjdGl2ZVRleHR1cmUgYW5kIGdsQmlu
ZFRleHR1cmUgd29yayBhcyBleHBlY3RlZCIgKworICAgICAgIlNwZWNpZmljYWxseSB0ZXh0dXJl
IHRhcmdldHMgYXJlIHBlciBhY3RpdmUgdGV4dHVyZSB1bml0LiIpOworCisgIHZhciBjYW52YXMy
ZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMyZCIpOworICB2YXIgY3R4MmQgPSBj
YW52YXMyZC5nZXRDb250ZXh0KCIyZCIpOworCisgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsK
KyAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisgIHZhciBwcm9ncmFtID0g
d3R1LnNldHVwUHJvZ3JhbSgKKyAgICAgIGdsLAorICAgICAgWyJ2c2hhZGVyIiwgd3R1LnNldHVw
U2ltcGxlVGV4dHVyZUZyYWdtZW50U2hhZGVyKGdsKV0sCisgICAgICBbJ3ZQb3NpdGlvbicsICd0
ZXhDb29yZDAnXSk7CisgIHd0dS5zZXR1cFVuaXRRdWFkKGdsKTsKKyAgZ2wuZGlzYWJsZShnbC5E
RVBUSF9URVNUKTsKKyAgZ2wuZGlzYWJsZShnbC5CTEVORCk7CisgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IpOworCisgIHZhciBjb2xvcnMgPSBbCisgICAgICBbMCwxOTIsMTI4LDI1
NV0sCisgICAgICBbMTI4LDY0LDI1NSwyNTVdLAorICAgICAgWzE5MiwyNTUsNjQsMjU1XSwKKyAg
ICAgIFsyMDAsMCwyNTUsMjU1XV07CisKKyAgLy8gTWFrZSA0IHRleHR1cmVzIGJ5IHVzaW5nIDQg
YWN0aXZlIHRleHR1cmUgdW5pdHMgaWYgYXZhaWxhYmxlLgorICB2YXIgdGV4dW5pdHMgPSBNYXRo
Lm1pbihjb2xvcnMubGVuZ3RoLCBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX0NPTUJJTkVEX1RFWFRV
UkVfSU1BR0VfVU5JVFMpKQorICB2YXIgdGV4dHVyZXMgPSBbXTsKKyAgZm9yICh2YXIgaWkgPSAw
OyBpaSA8IHRleHVuaXRzOyArK2lpKSB7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUo
KTsKKyAgICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUwICsgaWkpOworICAgIGdsLmJpbmRU
ZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgdGV4dHVyZXNbaWldID0gdGV4OworICB9
CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIC8vIG5vdyB1c2UgZWFj
aCB0ZXh0dXJlIHVuaXQgdG8gd3JpdGUgaW50byB0aGUgdGV4dHVyZXMsCisgIGZvciAodmFyIGlp
ID0gMDsgaWkgPCB0ZXh1bml0czsgKytpaSkgeworICAgIHZhciBjID0gY29sb3JzW2lpXTsKKyAg
ICBjdHgyZC5maWxsU3R5bGUgPQorICAgICAgICAicmdiYSgiICsgY1swXSArICIsIiArIGNbMV0g
KyAiLCIgKyBjWzJdICsgIiwiICsgY1szXSArICIpIjsKKyAgICBjdHgyZC5maWxsUmVjdCgwLCAw
LCAxLCAxKTsKKyAgICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUwICsgaWkpOworICAgIGds
LnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwgY2FudmFzMmQpOworICB9CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IpOworCisgIHZhciB0ZXh0dXJlTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0s
ICJ0ZXgiKTsKKyAgdmFyIHdvcmxkTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0s
ICJ3b3JsZCIpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICBnbC5j
bGVhckNvbG9yKDEsMCwwLDEpOworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wu
REVQVEhfQlVGRkVSX0JJVCk7CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRleHVuaXRzOyAr
K2lpKSB7CisgICAgdmFyIHggPSBpaSAlIDI7CisgICAgdmFyIHkgPSBNYXRoLmZsb29yKGlpIC8g
Mik7CisgICAgZ2wudW5pZm9ybTFpKHRleHR1cmVMb2MsIGlpKTsKKyAgICBnbC51bmlmb3JtTWF0
cml4NGZ2KAorICAgICAgICB3b3JsZExvYywgZmFsc2UsCisgICAgICAgIFswLjUsIDAsIDAsIDAs
CisgICAgICAgICAwLCAwLjUsIDAsIDAsCisgICAgICAgICAwLCAwLCAxLCAwLAorICAgICAgICAg
LTAuNSArIHgsIC0wLjUgKyB5LCAwLCAxXSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDAsIDYpOworICB9CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisg
IGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXh1bml0czsgKytpaSkgeworICAgIHZhciBjID0gY29s
b3JzW2lpXTsKKyAgICB2YXIgeCA9IGlpICUgMjsKKyAgICB2YXIgeSA9IE1hdGguZmxvb3IoaWkg
LyAyKTsKKyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgZ2wucmVhZFBpeGVs
cyh4LCB5LCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIHZhciBt
c2cgPSAnZXhwZWN0ZWQ6JyArCisgICAgICAgIGNbMF0gKyAnLCAnICsgY1sxXSArICcsICcgKyBj
WzJdICsgJywgJyArIGNbM10gKyAnIGZvdW5kOiAnICsKKyAgICAgICAgYnVmWzBdICsgJywgJyAr
CisgICAgICAgIGJ1ZlsxXSArICcsICcgKworICAgICAgICBidWZbMl0gKyAnLCAnICsKKyAgICAg
ICAgYnVmWzNdOworICAgIGlmIChidWZbMF0gIT0gY1swXSB8fAorICAgICAgICBidWZbMV0gIT0g
Y1sxXSB8fAorICAgICAgICBidWZbMl0gIT0gY1syXSB8fAorICAgICAgICBidWZbM10gIT0gY1sz
XSkKKyAgICAgIHRlc3RGYWlsZWQobXNnKTsKKyAgICBlbHNlCisgICAgICB0ZXN0UGFzc2VkKG1z
Zyk7CisgIH0KK30KKworaW5pdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eHR1cmUtbWlwcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmFkMmU2ZmE5NWU0NjZlZjVhOGEyMWI1OWY4ODEzMjA1Mjc1Y2U0MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sCkBAIC0wLDAgKzEsMzE5IEBACis8IS0tCisK
Ky8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoq
IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy
c29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0
ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4g
dGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQg
bGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz
aCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg
TWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFs
cyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxT
IEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiog
RVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS
QU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVU
SE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERB
TUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFD
VCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05O
RUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H
UyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB0ZXh0dXJlIG1p
cHMgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2Fu
dmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBzdHlsZT0id2lkdGg6IDQwcHg7
IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNo
YWRlci94LXZlcnRleCI+Cit1bmlmb3JtIHZlYzQgdU11bHQ7CithdHRyaWJ1dGUgdmVjNCB2UG9z
aXRpb247CithdHRyaWJ1dGUgdmVjMiB0ZXhDb29yZDA7Cit2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7
Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uICogdU11bHQ7Cisg
ICAgdGV4Q29vcmQgPSB0ZXhDb29yZDA7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNo
YWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9h
dDsKK3VuaWZvcm0gc2FtcGxlcjJEIHRleDsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKK3ZvaWQg
bWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVyZTJEKHRleCwgdGV4Q29vcmQpOwor
fQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIGNhbnZhczsKK3ZhciB3
dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Z1bmN0aW9uIGluaXQoKQoreworICBkZXNjcmlwdGlvbigi
Q2hlY2tzIG1pcCBpc3N1ZXMiKTsKKworICBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZXhhbXBsZSIpOworICBzaG91bGRCZSgiY2FudmFzLndpZHRoIiwgIjIiKTsKKyAgc2hvdWxk
QmUoImNhbnZhcy5oZWlnaHQiLCAiMiIpOworCisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoY2FudmFzKTsKKworICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5k
VGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhU
VVJFXzJEKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZv
ciBnZW5lcmF0ZU1pcG1hcCB3aXRoIG1pcCAwIGlzIDB4MCIpOworICBnbC50ZXhJbWFnZTJEKAor
ICAgICAgZ2wuVEVYVFVSRV8yRCwgMSwgZ2wuUkdCQSwgMSwgMSwgMCwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwKKyAgICAgIG5ldyBVaW50OEFycmF5KDQpKTsKKyAgZ2wuZ2VuZXJhdGVNaXBt
YXAoZ2wuVEVYVFVSRV8yRCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVS
QVRJT04sICJmb3IgZ2VuZXJhdGVNaXBtYXAgd2l0aCBtaXAgMCBpcyAweDAiKTsKKworICB0ZXgg
PSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9N
QVAsIHRleCk7CisgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfQ1VCRV9NQVApOworICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZm9yIGdlbmVyYXRlTWlw
bWFwIHdpdGggbWlwIDAgaXMgMHgwIik7CisKKyAgdmFyIGZhY2VzID0gWworICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZF
X1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1os
CisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisgIF07CisgIGZvciAodmFyIGlp
ID0gMDsgaWkgPCBmYWNlcy5sZW5ndGg7ICsraWkpIHsKKyAgICBnbC50ZXhJbWFnZTJEKAorICAg
ICAgICBmYWNlc1tpaV0sIDAsIGdsLlJHQkEsIDIsIDIsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsCisgICAgICAgIG5ldyBVaW50OEFycmF5KDQgKiAyICogMikpOworICAgIGdsLmdlbmVy
YXRlTWlwbWFwKGdsLlRFWFRVUkVfQ1VCRV9NQVApOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwg
aWkgPT0gNSA/IGdsLk5PX0VSUk9SIDogZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3IgZ2VuZXJh
dGVNaXBtYXAgd2l0aCAiICsgKGlpICsgMSkgKyAiIGZhY2VzIik7CisgIH0KKworICB3dHUuc2V0
dXBVbml0UXVhZChnbCwgMCwgMSk7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbSgK
KyAgICAgIGdsLCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBbJ3ZQb3NpdGlvbicsICd0ZXhDb29y
ZDAnXSwgWzAsIDFdKTsKKworICBnbC5kaXNhYmxlKGdsLkRFUFRIX1RFU1QpOworICBnbC5kaXNh
YmxlKGdsLkJMRU5EKTsKKworICB2YXIgY29sb3JzID0geworICAgIGJsdWU6IFswLCAwLCAyNTUs
IDI1NV0sCisgICAgcmVkOiBbMjU1LCAwLCAwLCAyNTVdLAorICAgIGdyZWVuOiAgWzAsIDI1NSwg
MCwgMjU1XSwKKyAgICBjeWFuOiBbMTI4LCAyNTUsIDI1NSwgMjU1XSwKKyAgICBibGFjazogWzAs
IDAsIDAsIDI1NV0sCisgICAgYmxhbms6IFswLCAwLCAwLCAwXQorICB9OworCisgIHZhciBtaXBz
ID0gWworICBdOworCisgIHZhciB0ZXhMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3Jh
bSwgInRleCIpOworICBnbC51bmlmb3JtMWkodGV4TG9jLCAwKTsKKyAgdmFyIG11bHRMb2MgPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVNdWx0Iik7CisKKyAgLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgY2xlYXJU
ZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAxLCAxLCAxLCAx
KTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgY2xlYXJUZXgpOworICBnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE2LCAxNiwgMCwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgbnVsbCk7CisgIGRlYnVnKCdnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIDE2LCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVs
bCk7Jyk7CisgIHNldE1pcERhdGEoMCwgMTYsICdibGFuaycpOworICBtYWtlRGl2TWlwQ2hhaW4o
KTsKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKyAgY2hlY2soJ2JsYW5rJywgInRleHR1cmUgY3JlYXRl
ZCB3aXRoIG51bGwgdGhhdCBoYXMgYWxsIG1pcHMiKTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIHZhciB0ZXggPSBjcmVhdGVU
ZXh0dXJlKCk7CisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAxLCAxLCAxLCAxKTsKKworICBnbC5i
aW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAvLyAxNngxNiB0ZXh0dXJlIG5vIG1p
cHMKKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdjeWFuJyk7CisKKyAgY2hlY2soJ2JsYWNrJywK
KyAgICAgICAgInRleHR1cmUgdGhhdCBpcyBtaXNzaW5nIG1pcHMgd2hlbiBURVhUVVJFX01JTl9G
SUxURVIgbm90IE5FQVJFU1Qgb3IgTElORUFSIik7CisKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKwor
ICBjaGVjaygnY3lhbicsICJ0ZXh0dXJlIHRoYXQgaGFzIGFsbCBtaXBzIik7CisKKyAgLy8gRmls
bCBpbiB0aGUgYm90dG9tIDIgbWlwcyB3aXRoIGEgZGlmZmVyZW50IGNvbG9yLgorICBmaWxsTGV2
ZWwodGV4LCA0LCAxLCAnZ3JlZW4nKTsKKyAgZmlsbExldmVsKHRleCwgMywgMiwgJ2dyZWVuJyk7
CisKKyAgLy8gQ2hvb3NlIHRoZSBuZWFyZXN0IG1pcAorICB0ZXhQYXJhbWV0ZXJpKGdsLlRFWFRV
UkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSX01JUE1BUF9ORUFSRVNUKTsK
KworICBjaGVjaygnZ3JlZW4nLCAidGV4dHVyZSB0aGF0IGlzIG9ubHkgdXNpbmcgdGhlIHNtYWxs
ZXN0IDIgbWlwcyIpOworCisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAxNiwgMTYsIDEsIDEpOwor
CisgIGNoZWNrKCdjeWFuJywgInRleHR1cmUgdGhhdCBpcyB1c2luZyBvbmx5IHRoZSBsYXJnZXN0
IDIgbWlwcyIpOworCisgIC8vIFNldCB0aGUgdG9wIGxldmVsCisgIGZpbGxMZXZlbCh0ZXgsIDAs
IDEsICdyZWQnKTsKKyAgY2hlY2soJ3JlZCcsCisgICAgICAgICJ0ZXh0dXJlIHRoYXQgaXMgb25s
eSB1c2luZyB0aGUgdG9wIGxldmVsIGV2ZW4gdGhvdWdoIG90aGVyIGxldmVscyBhcmUgZGVmaW5l
ZCIpOworCisgIC8vIFNldCB0aGUgdG9wIDIgbGV2ZWxzIHVzaW5nIGdlbmVyYXRlTWlwbWFwCisg
IGZpbGxMZXZlbCh0ZXgsIDAsIDIsICdibHVlJyk7CisgIGdlbmVyYXRlTWlwbWFwKCk7CisKKyAg
Y2hlY2soJ2JsdWUnLAorICAgICAgICAidGV4dHVyZSB0aGF0IGlzIG9ubHkgdXNpbmcgdGhlIHRv
cCAyIGxldmVscyBldmVuIHRob3VnaCBvdGhlciBsZXZlbHMgYXJlIGRlZmluZWQiKTsKKworICAv
LyBTZXQgdGhlIHRvcCAyIGxldmVscyBiYWNrIHRvIHNpemVzIHRoYXQgZW5kIHVwIHVzaW5nIGxl
dmVscyAyLCAzLCBhbmQgNCBhZ2Fpbi4KKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdibHVlJyk7
CisgIGZpbGxMZXZlbCh0ZXgsIDEsIDgsICdibHVlJyk7CisgIGNoZWNrKCdibHVlJywgInRleHR1
cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRoZSBsYXJnZXN0IDIgbWlwcyIpOworICBnbC51bmlmb3Jt
NGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGNoZWNrKCdncmVlbicsICJ0ZXh0dXJlIHRoYXQg
aXMgb25seSB1c2luZyB0aGUgc21hbGxlc3QgMiBtaXBzIik7CisKKyAgLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgdGV4ID0gY3Jl
YXRlVGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGZp
bGxMZXZlbCh0ZXgsIDAsIDgsICdjeWFuJyk7CisgIGdlbmVyYXRlTWlwbWFwKCk7CisgIGNoZWNr
KCdjeWFuJywgInRleHR1cmUgdGhhdCBoYXMgMyBtaXBzIik7CisKKyAgZmlsbExldmVsKHRleCwg
MCwgMTYsICdibHVlJyk7CisgIHRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVS
RV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICBjaGVjaygnYmx1ZScsICJ0ZXh0dXJlIHRoYXQg
aXMgb25seSB1c2luZyB0b3AgbWlwcyIpOworCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDgsICdyZWQn
KTsKKyAgdGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIs
IGdsLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCk7CisgIGNoZWNrKCdjeWFuJywgInRleHR1cmUgdGhh
dCBpcyBvbmx5IHVzaW5nIHNtYWxsZXN0IG1pcHMiKTsKKworICBnbC51bmlmb3JtNGYobXVsdExv
YywgMTYsIDE2LCAxLCAxKTsKKyAgY2hlY2soJ3JlZCcsICJ0ZXh0dXJlIHRoYXQgaXMgdXNpbmcg
b25seSB0aGUgbGFyZ2VzdCBtaXAiKTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIHZhciB0ZXggPSBjcmVhdGVUZXh0dXJlKCk7
CisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAxLCAxLCAxLCAxKTsKKyAgZmlsbExldmVsKHRleCwg
MiwgMSwgJ2dyZWVuJyk7CisgIGZpbGxMZXZlbCh0ZXgsIDEsIDIsICdncmVlbicpOworICBmaWxs
TGV2ZWwodGV4LCAwLCA0LCAnZ3JlZW4nKTsKKyAgY2hlY2soJ2dyZWVuJywgInRleHR1cmUgdGhh
dCB3YXMgYnVpbHQgc21hbGxlc3QgbWlwIGZpcnN0Iik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgdGV4ID0gY3JlYXRl
VGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGZpbGxM
ZXZlbCh0ZXgsIDAsIDE2LCAncmVkJyk7CisgIGdlbmVyYXRlTWlwbWFwKCk7CisgIGNoZWNrKCdy
ZWQnLCAidGV4dHVyZSB3aXRoIDEgZ2VubWlwbWFwcyIpOworICBmaWxsTGV2ZWwodGV4LCAwLCAx
NiwgJ2JsdWUnKTsKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKyAgZmlsbExldmVsKHRleCwgMCwgMTYs
ICdncmVlbicpOworICBnZW5lcmF0ZU1pcG1hcCgpOworICBjaGVjaygnZ3JlZW4nLCAidGV4dHVy
ZSB3aXRoIDIgZ2VubWlwbWFwcyIpOworCisgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUiwgIlNob3VsZCBiZSBubyBlcnJvcnMuIik7CisKKyAgZnVuY3Rpb24gY3JlYXRlVGV4dHVy
ZSgpIHsKKyAgICBkZWJ1ZygiPGhyLz5nbC5jcmVhdGVUZXh0dXJlKCkiKTsKKyAgICBtaXBzID0g
W107CisgICAgbWFrZURpdk1pcENoYWluKCk7CisgICAgcmV0dXJuIGdsLmNyZWF0ZVRleHR1cmUo
KTsKKyAgfQorCisgIGZ1bmN0aW9uIHRleFBhcmFtZXRlcmkodGFyZ2V0LCBwbmFtZSwgdmFsdWUp
IHsKKyAgICBkZWJ1ZygiZ2wudGV4UGFyYW1ldGVyaSgiICsKKyAgICAgICAgICB3dHUuZ2xFbnVt
VG9TdHJpbmcoZ2wsIHRhcmdldCkgKyAiLCAiICsKKyAgICAgICAgICB3dHUuZ2xFbnVtVG9TdHJp
bmcoZ2wsIHBuYW1lKSArICIsICIgKworICAgICAgICAgIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwg
dmFsdWUpICsgIikiKQorICAgIGdsLnRleFBhcmFtZXRlcmkodGFyZ2V0LCBwbmFtZSwgdmFsdWUp
OworICB9CisKKyAgZnVuY3Rpb24gZ2VuZXJhdGVNaXBtYXAoKSB7CisgICAgZGVidWcoImdsLmdl
bmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpIik7CisgICAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wu
VEVYVFVSRV8yRCk7CisgICAgdmFyIG1pcDAgPSBtaXBzWzBdOworICAgIHZhciBzaXplID0gbWlw
MC5zaXplOworICAgIHZhciBsZXZlbCA9IDE7CisgICAgZm9yKDs7KSB7CisgICAgICBzaXplID0g
TWF0aC5mbG9vcihzaXplIC8gMik7CisgICAgICBpZiAoIXNpemUpIHsKKyAgICAgICAgYnJlYWs7
CisgICAgICB9CisgICAgICBzZXRNaXBEYXRhKGxldmVsLCBzaXplLCBtaXAwLmNvbG9yKTsKKyAg
ICAgICsrbGV2ZWw7CisgICAgfQorICAgIG1ha2VEaXZNaXBDaGFpbigpOworICB9CisKKyAgZnVu
Y3Rpb24gY2hlY2soY29sb3IsIG1zZykgeworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgd3R1
LmNoZWNrQ2FudmFzKGdsLCBjb2xvcnNbY29sb3JdLCBtc2cgKyAiIHNob3VsZCBkcmF3IHdpdGgg
IiArIGNvbG9yKTsKKyAgfQorCisgIGZ1bmN0aW9uIGZpbGxMZXZlbCh0ZXgsIGxldmVsLCBzaXpl
LCBjb2xvcikgeworICAgIHNldE1pcERhdGEobGV2ZWwsIHNpemUsIGNvbG9yKTsKKyAgICBkZWJ1
ZygiZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAiICsgbGV2ZWwgKyAiLCBnbC5SR0JBLCAi
ICsgc2l6ZSArICIsICIgKyBzaXplICsKKyAgICAgICAgICAiLCAwLCBnbC5SR0JBLCBnbC5VTlNJ
R05FRF9CWVRFLCAiICsgY29sb3IgKyAiKTsiKTsKKyAgICB3dHUuZmlsbFRleHR1cmUoZ2wsIHRl
eCwgc2l6ZSwgc2l6ZSwgY29sb3JzW2NvbG9yXSwgbGV2ZWwpOworICAgIG1ha2VEaXZNaXBDaGFp
bigpOworICB9CisKKyAgZnVuY3Rpb24gc2V0TWlwRGF0YShsZXZlbCwgc2l6ZSwgY29sb3IpIHsK
KyAgICBtaXBzW2xldmVsXSA9IHsKKyAgICAgIHNpemU6IHNpemUsCisgICAgICBjb2xvcjogY29s
b3IKKyAgICB9OworICB9CisKKyAgZnVuY3Rpb24gbWFrZURpdk1pcENoYWluKGNvbG9yKSB7Cisg
ICAgdmFyIGh0bWwgPSBbCisgICAgICAnPGRpdiBzdHlsZT0iaGVpZ2h0OiA2OHB4OyBtYXJnaW4t
dG9wOiA1cHgiPicsCisgICAgICAnPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPm1pcHM6IDwvZGl2
PiddOworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCA1OyArK2lpKSB7CisgICAgICB2YXIgbWlw
ID0gbWlwc1tpaV07CisgICAgICBpZiAobWlwKSB7CisgICAgICAgIGh0bWwucHVzaChtYWtlRGl2
U3F1YXJlKG1pcC5zaXplLCBtaXAuY29sb3IpKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGh0
bWwucHVzaChtYWtlRGl2U3F1YXJlKDE2LCB1bmRlZmluZWQpKTsKKyAgICAgIH0KKyAgICB9Cisg
ICAgaHRtbC5wdXNoKCI8L2Rpdj4iKTsKKyAgICBkZWJ1ZyhodG1sLmpvaW4oIiIpKTsKKyAgfQor
CisgIGZ1bmN0aW9uIG1ha2VEaXZTcXVhcmUoc2l6ZSwgY29sb3IpIHsKKyAgICBzaXplICo9IDQ7
CisgICAgdmFyIGMgPSBjb2xvciA/IGNvbG9yc1tjb2xvcl0gOiBbMjU1LDI1NSwyNTVdOworICAg
IHZhciBib3JkZXIgPSBjb2xvciA/ICdzb2xpZCcgOiAnZGFzaGVkJzsKKyAgICByZXR1cm4gJzxk
aXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOiAnICsgc2l6ZSArICdweDsgaGVpZ2h0OiAnICsg
c2l6ZSArCisgICAgICAgICAgICdweDsgYmFja2dyb3VuZC1jb2xvcjogJyArIHJnYihjKSArCisg
ICAgICAgICAgICc7IGJvcmRlcjogMXB4ICcgKyBib3JkZXIgKyAnIGJsYWNrOyBtYXJnaW4tcmln
aHQ6IDNweDsiPjwvZGl2Pic7CisgIH0KKworICBmdW5jdGlvbiByZ2IoYykgeworICAgIHJldHVy
biAncmdiKCcgKyBjWzBdICsgJywnICsgY1sxXSArICcsJyArIGNbMl0gKycpJzsKKyAgfQorfQor
Citpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRl
by5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWVm
ODNiNmZkODUxZTNjNzFiMjg3Y2UwODBjNWJkZjNlZGEyNzYzNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sCkBAIC0wLDAgKzEsMTc5IEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0
cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSBudWxsOwordmFyIHRl
eHR1cmVMb2MgPSBudWxsOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworCitpbml0
VGVzdGluZ0hhcm5lc3NXYWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIGluaXQoKQoreworICAg
IGRlc2NyaXB0aW9uKCdWZXJpZnkgbnBvdCB2aWRlbycpOworCisgICAgdmFyIGNhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFtcGxlIik7CisgICAgZ2wgPSB3dHUuY3JlYXRlM0RD
b250ZXh0KGNhbnZhcyk7CisgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQo
Z2wpOworCisgICAgZ2wuY2xlYXJDb2xvcigwLDAsMCwxKTsKKyAgICBnbC5jbGVhckRlcHRoKDEp
OworCisgICAgdGV4dHVyZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4
Iik7CisKKyAgICB2YXIgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlkIik7Cisg
ICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigKKyAgICAgICAgInBsYXlpbmciLCBmdW5jdGlvbigp
IHsgcnVuVGVzdCh2aWRlbyk7IH0sIHRydWUpOworICAgIHZpZGVvLmxvb3AgPSB0cnVlOworICAg
IHZpZGVvLnBsYXkoKTsKK30KKworLy8gVGhlc2UgdHdvIGRlY2xhcmF0aW9ucyBuZWVkIHRvIGJl
IGdsb2JhbCBmb3IgInNob3VsZEJlIiB0byBzZWUgdGhlbQordmFyIGJ1ZiA9IG51bGw7Cit2YXIg
aWR4ID0gMDsKK3ZhciBwaXhlbCA9IFswLCAwLCAwXTsKK3ZhciBjb3JyZWN0Q29sb3IgPSBudWxs
OwordmFyIHRleHR1cmU7CisKK2Z1bmN0aW9uIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQs
IHVzZVRleFN1YkltYWdlMkQsIGZsaXBZLCB0b3BDb2xvciwgYm90dG9tQ29sb3IsIGJhZE1pbkZp
bHRlciwgYmFkQ2xhbXAsIGdlbk1pcHMpCit7CisgICAgZGVidWcoJ1Rlc3RpbmcgJyArICh1c2VU
ZXhTdWJJbWFnZTJEID8gJ3RleFN1YkltYWdlMkQnIDogJ3RleEltYWdlMkQnKSArCisgICAgICAg
ICAgJyB3aXRoIGZsaXBZPScgKyBmbGlwWSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVS
X0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgIC8vIERpc2FibGUgYW55IHdyaXRlcyB0
byB0aGUgYWxwaGEgY2hhbm5lbAorICAgIGdsLmNvbG9yTWFzaygxLCAxLCAxLCAwKTsKKyAgICBp
ZiAoIXRleHR1cmUpIHsKKyAgICAgICAgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAg
ICB9CisgICAgLy8gQmluZCB0aGUgdGV4dHVyZSB0byB0ZXh0dXJlIHVuaXQgMAorICAgIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworICAgIC8vIFNldCB1cCBwaXhlbCBz
dG9yZSBwYXJhbWV0ZXJzCisgICAgZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX0ZMSVBfWV9XRUJH
TCwgZmxpcFkpOworICAgIC8vIFVwbG9hZCB0aGUgdmlkZW9FbGVtZW50IGludG8gdGhlIHRleHR1
cmUKKyAgICBkZWJ1Zygic2l6ZTogIiArIHZpZGVvRWxlbWVudC52aWRlb1dpZHRoICsgIngiICsg
dmlkZW9FbGVtZW50LnZpZGVvSGVpZ2h0KTsKKyAgICBpZiAodXNlVGV4U3ViSW1hZ2UyRCkgewor
ICAgICAgICAvLyBJbml0aWFsaXplIHRoZSB0ZXh0dXJlIHRvIGJsYWNrIGZpcnN0CisgICAgICAg
IGRlYnVnKCJ1c2UgdGV4U3ViSW1hZ2UyRCIpOworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsCisgICAgICAgICAgICAgICAgICAgICAgdmlkZW9FbGVtZW50
LnZpZGVvV2lkdGgsIHZpZGVvRWxlbWVudC52aWRlb0hlaWdodCwgMCwKKyAgICAgICAgICAgICAg
ICAgICAgICBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICAgICAgZ2wudGV4
U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLCB2aWRlb0VsZW1lbnQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRlYnVnKCJ1c2UgdGV4
SW1hZ2UyRCIpOworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvRWxlbWVudCk7CisgICAgfQorCisg
ICAgLy8gU2V0IHVwIHRleHR1cmUgcGFyYW1ldGVycworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wu
VEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGlmIChi
YWRNaW5GaWx0ZXIpIHsKKyAgICAgICAgZGVidWcoImJhZCBtaW4gZmlsdGVyIik7CisgICAgICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBn
bC5MSU5FQVJfTUlQTUFQX05FQVJFU1QpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRlYnVnKCJn
b29kIG1pbiBmaWx0ZXIiKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJE
LCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CisgICAgfQorICAgIGlmIChiYWRD
bGFtcCkgeworICAgICAgICBkZWJ1ZygiYmFkIGNsYW1wIik7CisgICAgICAgIGdsLnRleFBhcmFt
ZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLlJFUEVBVCk7CisgICAg
ICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGds
LlJFUEVBVCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVidWcoImdvb2QgY2xhbXAiKTsKKyAg
ICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywg
Z2wuQ0xBTVBfVE9fRURHRSk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8y
RCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIH0KKyAgICBpZiAo
Z2VuTWlwcykgeworICAgICAgICBkZWJ1ZygiZ2VuZXJhdGUgbWlwcyIpOworICAgICAgICBnbC5n
ZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgInNob3VsZCBiZSBJTlZBTElEX09QRVJBVElPTiIpOwor
ICAgIH0KKworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworCisvLyAgICB2YXIgYyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworLy8gICAgYy53aWR0aCA9IDE2OworLy8g
ICAgYy5oZWlnaHQgPSAxNjsKKy8vICAgIGMuc3R5bGUuYm9yZGVyID0gIjFweCBzb2xpZCBibGFj
ayI7CisvLyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCIyZCIpOworLy8gICAgY3R4LmRyYXdJ
bWFnZSh2aWRlb0VsZW1lbnQsIDAsIDAsIDE2LCAxNik7CisvLyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGMpOworCisgICAgLy8gUG9pbnQgdGhlIHVuaWZvcm0gc2FtcGxlciB0byB0ZXh0
dXJlIHVuaXQgMAorICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCAwKTsKKyAgICAvLyBEcmF3
IHRoZSB0cmlhbmdsZXMKKyAgICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAwLCAwLCAyNTVdKTsKKyAg
ICAvLyBDaGVjayBhIGZldyBwaXhlbHMgbmVhciB0aGUgdG9wIGFuZCBib3R0b20gYW5kIG1ha2Ug
c3VyZSB0aGV5IGhhdmUKKyAgICAvLyB0aGUgcmlnaHQgY29sb3IuCisgICAgZGVidWcoIkNoZWNr
aW5nIGxvd2VyIGxlZnQgY29ybmVyIik7CisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgNCwg
NCwgMiwgMiwgYm90dG9tQ29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAic2hvdWxkQmUg
IiArIGJvdHRvbUNvbG9yKTsKKyAgICBkZWJ1ZygiQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIi
KTsKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCA0LCBnbC5jYW52YXMuaGVpZ2h0IC0gOCwg
MiwgMiwgdG9wQ29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAic2hvdWxkQmUgIiArIHRv
cENvbG9yKTsKKyAgICBkZWJ1ZygiIik7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QodmlkZW9FbGVt
ZW50KQoreworICAgIHZhciByZWQgPSBbMjU1LCAwLCAwXTsKKyAgICB2YXIgZ3JlZW4gPSBbMCwg
MjU1LCAwXTsKKyAgICB2YXIgYmxhY2sgPSBbMCwgMCwgMF07CisgICAgcnVuT25lSXRlcmF0aW9u
KHZpZGVvRWxlbWVudCwgZmFsc2UsIHRydWUsIGJsYWNrLCBibGFjaywgdHJ1ZSwgdHJ1ZSwgdHJ1
ZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgZmFsc2UsIHRydWUsIGJsYWNr
LCBibGFjaywgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9F
bGVtZW50LCBmYWxzZSwgdHJ1ZSwgYmxhY2ssIGJsYWNrLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOwor
ICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZhbHNlLCB0cnVlLCBibGFjaywgYmxh
Y2ssIHRydWUsIHRydWUsIGZhbHNlKTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50
LCBmYWxzZSwgdHJ1ZSwgZ3JlZW4sIHJlZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisgICAgcnVu
T25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgZmFsc2UsIGZhbHNlLCByZWQsIGdyZWVuLCBmYWxz
ZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCB0cnVl
LCB0cnVlLCBncmVlbiwgcmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBydW5PbmVJdGVy
YXRpb24odmlkZW9FbGVtZW50LCB0cnVlLCBmYWxzZSwgcmVkLCBncmVlbiwgZmFsc2UsIGZhbHNl
LCBmYWxzZSk7CisKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxk
IGJlIG5vIGVycm9ycyIpOworICAgIHZpZGVvRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJw
bGF5aW5nIiwgcnVuVGVzdCk7CisgICAgZmluaXNoVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQoKSI+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0i
NjQiIGhlaWdodD0iNDgiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8dmlkZW8gaWQ9InZpZCIgc3R5bGU9ImRpc3BsYXk6
bm9uZTsiPgorICA8c291cmNlIHNyYz0iLi4vcmVzb3VyY2VzL25wb3QtdmlkZW8ubXA0IiAgdHlw
ZT0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDJFMDFFIicgLz4KKyAgPHNvdXJjZSBzcmM9Ii4u
L3Jlc291cmNlcy9ucG90LXZpZGVvLndlYm12cDgud2VibSIgdHlwZT0ndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDgiJyAvPgorICA8c291cmNlIHNyYz0iLi4vcmVzb3VyY2VzL25wb3QtdmlkZW8udGhl
b3JhLm9ndiIgIHR5cGU9J3ZpZGVvL29nZzsgY29kZWNzPSJ0aGVvcmEiJyAvPgorPC92aWRlbz4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1p
dC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDNk
YTlhNjNkM2UxNzgxMzRlMjA1OTcxNTVhY2M3OThkODIzZTU2NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCkBAIC0wLDAgKzEsMTU5IEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB0ZXh0dXJl
IHNpemUgbGltaXQgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHN0eWxlPSJ3
aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmlj
dCI7CitkZXNjcmlwdGlvbigiQ2hlY2tzIHRoYXQgdmFyaW91cyBzaXplcyBsaW1pdHMgb2YgdGV4
dHVyZXMgIikKK3ZhciBjYW52YXM7CisKK2Z1bmN0aW9uIG51bUxldmVsc0Zyb21TaXplKHNpemUp
IHsKKyAgdmFyIGxldmVscyA9IDA7CisgIHdoaWxlICgoc2l6ZSA+PiBsZXZlbHMpID4gMCkgewor
ICAgICsrbGV2ZWxzOworICB9CisgIHJldHVybiBsZXZlbHM7Cit9CisKK3ZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKK3Zh
ciB0ZXN0cyA9IFsKKyAgeyBmb3JtYXQ6IGdsLkFMUEhBLCAgICAgICAgICAgdHlwZTogZ2wuVU5T
SUdORURfQllURSwgICAgICAgICAgc2l6ZTogMSwgZGF0YVR5cGU6IFVpbnQ4QXJyYXkgIH0sCisg
IHsgZm9ybWF0OiBnbC5MVU1JTkFOQ0UsICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsICAg
ICAgICAgIHNpemU6IDEsIGRhdGFUeXBlOiBVaW50OEFycmF5ICB9LAorICB7IGZvcm1hdDogZ2wu
TFVNSU5BTkNFX0FMUEhBLCB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLCAgICAgICAgICBzaXplOiAy
LCBkYXRhVHlwZTogVWludDhBcnJheSAgfSwKKyAgeyBmb3JtYXQ6IGdsLlJHQiwgICAgICAgICAg
ICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwgICAgICAgICAgc2l6ZTogMywgZGF0YVR5cGU6IFVp
bnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5SR0IsICAgICAgICAgICAgIHR5cGU6IGdsLlVO
U0lHTkVEX1NIT1JUXzVfNl81LCAgIHNpemU6IDEsIGRhdGFUeXBlOiBVaW50MTZBcnJheSB9LAor
ICB7IGZvcm1hdDogZ2wuUkdCQSwgICAgICAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLCAg
ICAgICAgICBzaXplOiA0LCBkYXRhVHlwZTogVWludDhBcnJheSAgfSwKKyAgeyBmb3JtYXQ6IGds
LlJHQkEsICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfU0hPUlRfNF80XzRfNCwgc2l6ZTog
MSwgZGF0YVR5cGU6IFVpbnQxNkFycmF5IH0sCisgIHsgZm9ybWF0OiBnbC5SR0JBLCAgICAgICAg
ICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzVfNV81XzEsIHNpemU6IDEsIGRhdGFUeXBlOiBV
aW50MTZBcnJheSB9CitdOworCisvLyBOb3RlOiBXZSBleHByZXNzbHkgb25seSB1c2UgMiB0ZXh0
dXJlcyBiZWNhdXNlIGZpcnN0IGEgdGV4dHVyZSB3aWxsIGJlIGRlZmluZWQKKy8vIGFzIHVzaW5n
IGFsbCBtaXBzIG9mIDEgZm9ybWF0LCB0aGVuIGZvciBhIG1vbWVudCBpdCB3aWxsIGhhdmUgbWl4
ZWQgZm9ybWF0cyB3aGljaAorLy8gbWF5IHVuY292ZXIgYnVncy4KK3ZhciB0YXJnZXRzID0gWwor
ICB7IHRhcmdldDogZ2wuVEVYVFVSRV8yRCwKKyAgICBtYXhTaXplOiBnbC5nZXRQYXJhbWV0ZXIo
Z2wuTUFYX1RFWFRVUkVfU0laRSksCisgICAgbWF4TGV2ZWw6IDEwMDAsCisgICAgdGV4OiBnbC5j
cmVhdGVUZXh0dXJlKCksCisgICAgdGFyZ2V0czogW2dsLlRFWFRVUkVfMkRdCisgIH0sCisgIHsg
dGFyZ2V0OiBnbC5URVhUVVJFX0NVQkVfTUFQLAorICAgIG1heFNpemU6IGdsLmdldFBhcmFtZXRl
cihnbC5NQVhfQ1VCRV9NQVBfVEVYVFVSRV9TSVpFKSwKKyAgICBtYXhMZXZlbDogNSwKKyAgICB0
ZXg6IGdsLmNyZWF0ZVRleHR1cmUoKSwKKyAgICB0YXJnZXRzOiBbCisgICAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZF
X1gsCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgICBnbC5URVhU
VVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lU
SVZFX1osCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKKyAgICBdCisgIH0K
K107CisKK2dsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19BTElHTk1FTlQsIDEpOworCit2YXIgdHJn
ID0gMDsKK3ZhciB0dCA9IDA7CitydW5OZXh0VGVzdCgpOworCitmdW5jdGlvbiBydW5OZXh0VGVz
dCgpIHsKKyAgdmFyIHQgPSB0YXJnZXRzW3RyZ107CisKKyAgaWYgKHR0ID09IDApIHsKKyAgICB2
YXIgdGV4ID0gdC50ZXg7CisgICAgZ2wuYmluZFRleHR1cmUodC50YXJnZXQsIHRleCk7CisKKyAg
ICBkZWJ1ZygiIik7CisgICAgZGVidWcoIm1heCBzaXplIGZvciAiICsgd3R1LmdsRW51bVRvU3Ry
aW5nKGdsLCB0LnRhcmdldCkgKyAiOiAiICsgdC5tYXhTaXplKTsKKyAgICB2YXIgbnVtTGV2ZWxz
ID0gbnVtTGV2ZWxzRnJvbVNpemUodC5tYXhTaXplKTsKKyAgICBkZWJ1ZygibnVtIGxldmVscyAi
ICsgbnVtTGV2ZWxzKTsKKyAgfQorCisgIHZhciB0ZXN0ID0gdGVzdHNbdHRdOworICB0ZXN0Rm9y
bWF0VHlwZSh0LCB0ZXN0KTsKKyAgKyt0dDsKKyAgaWYgKHR0ID09IHRlc3RzLmxlbmd0aCkgewor
ICAgIHR0ID0gMDsKKyAgICArK3RyZzsKKyAgICBpZiAodHJnID09IHRhcmdldHMubGVuZ3RoKSB7
CisgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICByZXR1cm47CisgICAgfQorICB9CisgIHd0dS53
YWl0Rm9yQ29tcG9zaXRlKGdsLCBydW5OZXh0VGVzdCkKK30KKworZnVuY3Rpb24gdGVzdEZvcm1h
dFR5cGUodCwgdGVzdCkgeworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJ0ZXN0aW5nOiAiICsgd3R1
LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LmZvcm1hdCkgKyAiLCAiICsgd3R1LmdsRW51bVRvU3Ry
aW5nKGdsLCB0ZXN0LnR5cGUpKTsKKyAgZm9yICh2YXIgaiA9IDA7IGogPCB0LnRhcmdldHMubGVu
Z3RoOyArK2opIHsKKyAgICB2YXIgdGFyZ2V0ID0gdC50YXJnZXRzW2pdOworICAgIGRlYnVnKCIi
KTsKKyAgICBkZWJ1Zyh3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRhcmdldCkpOworICAgIHZhciBu
dW1MZXZlbHMgPSBudW1MZXZlbHNGcm9tU2l6ZSh0Lm1heFNpemUpOworICAgIHZhciBudW1UZXN0
TGV2ZWxzID0gTWF0aC5taW4obnVtTGV2ZWxzLCB0Lm1heExldmVsKTsKKyAgICBmb3IgKHZhciBs
ID0gMDsgbCA8IG51bVRlc3RMZXZlbHM7ICsrbCkgeworICAgICAgLy8gRG8gYm90dG9tIGxldmVs
cyBmaXJzdDsKKyAgICAgIHZhciBzaXplID0gMSA8PCBsOworICAgICAgdmFyIGxldmVsID0gbnVt
TGV2ZWxzIC0gbCAtIDE7CisgICAgICB2YXIgb3RoZXJEaW1lbnNpb24gPSB0LnRhcmdldCA9PSBn
bC5URVhUVVJFXzJEID8gMSA6IHNpemU7CisgICAgICB2YXIgYmFkU2l6ZSA9IHNpemUgKiAyOwor
ICAgICAgdmFyIGJhZE90aGVyRGltZW5zaW9uID0gdC50YXJnZXQgPT0gZ2wuVEVYVFVSRV8yRCA/
IDEgOiBiYWRTaXplOworICAgICAgdmFyIHBpeGVscyA9IG5ldyB0ZXN0LmRhdGFUeXBlKGJhZFNp
emUgKiBiYWRPdGhlckRpbWVuc2lvbiAqIHRlc3Quc2l6ZSk7CisgICAgICBnbC50ZXhJbWFnZTJE
KHRhcmdldCwgbGV2ZWwsIHRlc3QuZm9ybWF0LCBzaXplLCBvdGhlckRpbWVuc2lvbiwgMCwgdGVz
dC5mb3JtYXQsIHRlc3QudHlwZSwgcGl4ZWxzKTsKKyAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IsICJ0aGVyZSBzaG91bGQgYmUgbm8gZXJyb3IgZm9yIGxldmVsOiAiICsgbGV2
ZWwgKyAiICIgKyBzaXplICsgIngiICsgb3RoZXJEaW1lbnNpb24pOworICAgICAgZ2wudGV4SW1h
Z2UyRCh0YXJnZXQsIGxldmVsLCB0ZXN0LmZvcm1hdCwgb3RoZXJEaW1lbnNpb24sIHNpemUsIDAs
IHRlc3QuZm9ybWF0LCB0ZXN0LnR5cGUsIHBpeGVscyk7CisgICAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9yIGZvciBsZXZlbDogIiAr
IGxldmVsICsgIiAiICsgb3RoZXJEaW1lbnNpb24gKyAieCIgKyBzaXplKTsKKyAgICAgIGdsLnRl
eEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgdGVzdC5mb3JtYXQsIGJhZFNpemUsIGJhZE90aGVyRGlt
ZW5zaW9uLCAwLCB0ZXN0LmZvcm1hdCwgdGVzdC50eXBlLCBwaXhlbHMpOworICAgICAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAic2hvdWxkIGdlbmVyYXRlIElOVkFMSURf
VkFMVUUgZm9yIGxldmVsOiAiICsgbGV2ZWwgKyAiICIgKyBiYWRTaXplICsgIngiICsgYmFkT3Ro
ZXJEaW1lbnNpb24pOworICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB0ZXN0LmZv
cm1hdCwgYmFkT3RoZXJEaW1lbnNpb24sIGJhZFNpemUsIDAsIHRlc3QuZm9ybWF0LCB0ZXN0LnR5
cGUsIHBpeGVscyk7CisgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUs
ICJzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9WQUxVRSBmb3IgbGV2ZWw6ICIgKyBsZXZlbCArICIg
IiArIGJhZE90aGVyRGltZW5zaW9uICsgIngiICsgYmFkU2l6ZSk7CisgICAgfQorICB9Cit9CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E4NzVkOGI5N2MzMWM0ZWU5NTFmMjRjMjZk
YTNkMWQxMmVkNWU1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5o
dG1sCkBAIC0wLDAgKzEsMjM4IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCB0ZXh0dXJlIHNpemUgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIi
IGhlaWdodD0iMzIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0
ZSB2ZWM0IHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWMzIHRleENvb3JkMDsKK3ZhcnlpbmcgdmVj
MyB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247
CisgICAgdGV4Q29vcmQgPSB0ZXhDb29yZDA7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0i
ZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKK3VuaWZvcm0gc2FtcGxlckN1YmUgdGV4OwordmFyeWluZyB2ZWMzIHRleENvb3JkOwor
dm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlQ3ViZSh0ZXgsIG5vcm1h
bGl6ZSh0ZXhDb29yZCkpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
ZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHZhcmlvdXMgc2l6ZXMgb2YgdGV4dHVyZXMgcmVuZGVy
IikKK3ZhciBjYW52YXM7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0
dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKK3ZhciBwcm9ncmFtMkQgPSB3dHUuc2V0dXBU
ZXh0dXJlZFF1YWQoZ2wpOwordmFyIHByb2dyYW1DdWJlTWFwID0gd3R1LnNldHVwUHJvZ3JhbSgK
KyAgICBnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWyd2UG9zaXRpb24nLCAndGV4Q29vcmQw
J10sIFswLCAxXSk7CitnbC5kaXNhYmxlKGdsLkRFUFRIX1RFU1QpOworZ2wuZGlzYWJsZShnbC5C
TEVORCk7Cit2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOwordmFyIG1heDJEU2l6ZSA9IGds
LmdldFBhcmFtZXRlcihnbC5NQVhfVEVYVFVSRV9TSVpFKTsKK3ZhciBtYXhDdWJlTWFwU2l6ZSA9
IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfQ1VCRV9NQVBfVEVYVFVSRV9TSVpFKTsKK2RlYnVnKCJN
QVhfVEVYVFVSRV9TSVpFOiIgKyBtYXgyRFNpemUpOworZGVidWcoIk1BWF9DVUJFX01BUF9URVhU
VVJFX1NJWkU6IiArIG1heEN1YmVNYXBTaXplKTsKKy8vIEFzc3VtaW5nIDIwNDh4MjA0OHhSR0JB
ICgyMm1lZyB3aXRoIG1pcHMpIHdpbGwgcnVuIG9uIGFsbCBXZWJHTCBwbGF0Zm9ybXMKK3ZhciBt
YXgyRFNxdWFyZVNpemUgPSBNYXRoLm1pbihtYXgyRFNpemUsIDIwNDgpOworLy8gSSdkIHByZWZl
ciB0aGlzIHRvIGJlIDIwNDggYnV0IHRoYXQncyAxNm1lZyB4IDYgZmFjZXMgb3IgMTI4bWVnICh3
aXRoIG1pcHMpCisvLyAxMDI0IGlzIDMzLjUgbWVnICh3aXRoIG1pcHMpCit2YXIgbWF4Q3ViZU1h
cFNpemUgPSBNYXRoLm1pbihtYXhDdWJlTWFwU2l6ZSwgMTAyNCk7CisKK3ZhciBjb2xvcnMgPSBb
CisgIHsgbmFtZTogImdyZWVuIiwgcmdiYTogWzAsIDAsIDI1NSwgMjU1XSB9LAorICB7IG5hbWU6
ICJyZWQiLCByZ2JhOiBbMjU1LCAwLCAwLCAyNTVdIH0sCisgIHsgbmFtZTogImJsdWUiLCByZ2Jh
OiBbMCwgMjU1LCAwLCAyNTVdIH0sCisgIHsgbmFtZTogInllbGxvdyIsIHJnYmE6IFsyNTUsIDI1
NSwgMCwgMjU1XSB9LAorICB7IG5hbWU6ICJtYWdlbnRhIiwgcmdiYTogWzI1NSwgMCwgMjU1LCAy
NTVdIH0sCisgIHsgbmFtZTogImN5YW4iLCByZ2JhOiBbMCwgMjU1LCAyNTUsIDI1NV0gfQorXTsK
KwordmFyIGNvdW50ID0gMDsKK3ZhciBwb3dlciA9IDA7CitydW5UZXN0KCk7CisKK2Z1bmN0aW9u
IHJ1blRlc3QoKSB7CisgIGZ1bmN0aW9uIGRvVGVzdCgpIHsKKyAgICB2YXIgc2l6ZSA9IE1hdGgu
cG93KDIsIHBvd2VyKTsKKyAgICBpZiAoc2l6ZSA+IG1heDJEU2l6ZSkgeworICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKyAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0yRCk7CisgICAgaWYgKCFj
aGVja1RleHR1cmUoc2l6ZSwgMSwgZmFsc2UpKSByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFjaGVj
a1RleHR1cmUoMSwgc2l6ZSwgZmFsc2UpKSByZXR1cm4gZmFsc2U7CisgICAgaWYgKHNpemUgPD0g
bWF4MkRTcXVhcmVTaXplKSB7CisgICAgICBpZiAoIWNoZWNrVGV4dHVyZShzaXplLCBzaXplLCBm
YWxzZSkpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfQorICAgIH0KKyAgICBpZiAo
c2l6ZSA8PSBtYXhDdWJlTWFwU2l6ZSkgeworICAgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtQ3Vi
ZU1hcCk7CisgICAgICBpZiAoIWNoZWNrVGV4dHVyZShzaXplLCBzaXplLCB0cnVlKSkgeworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9CisgICAgfQorICAgIHJldHVybiB0cnVlOworICB9
CisKKyAgaWYgKGRvVGVzdCgpKSB7CisgICAgKytwb3dlcjsKKyAgICBzZXRUaW1lb3V0KHJ1blRl
c3QsIDEwMCk7CisgIH0gZWxzZSB7CisgICAgZmluaXNoVGVzdCgpOworICB9Cit9CisKK2Z1bmN0
aW9uIGNoZWNrVGV4dHVyZSh3aWR0aCwgaGVpZ2h0LCBjdWJlTWFwKSB7CisgIGRlYnVnKCIiKTsK
KyAgY291bnQgPSAoY291bnQgKyAxKSAlIGNvbG9ycy5sZW5ndGg7CisgIHZhciBjb2xvciA9IGNv
bG9yc1tjb3VudF07CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIHZhciB0YXJn
ZXQgPSBjdWJlTWFwID8gZ2wuVEVYVFVSRV9DVUJFX01BUCA6IGdsLlRFWFRVUkVfMkQ7CisgIHZh
ciB0eXBlID0gY3ViZU1hcCA/ICJjdWJlIG1hcCIgOiAiMkQgdGV4dHVyZSI7CisgIGRlYnVnKCJj
aGVjayAiICsgd2lkdGggKyAiLCAiICsgaGVpZ2h0ICsgIiAiICsgdHlwZSk7CisgIGdsLmJpbmRU
ZXh0dXJlKHRhcmdldCwgdGV4KTsKKyAgZ2wudGV4UGFyYW1ldGVyaSh0YXJnZXQsIGdsLlRFWFRV
UkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgZ2wudGV4UGFyYW1ldGVyaSh0YXJnZXQsIGds
LlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgZ2wudGV4UGFyYW1ldGVyaSh0
YXJnZXQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgZmlsbExldmVs
KDAsIHdpZHRoLCBoZWlnaHQsIGNvbG9yLnJnYmEsIGN1YmVNYXApOworICB2YXIgZXJyID0gZ2wu
Z2V0RXJyb3IoKTsKKyAgaWYgKGVyciA9PSBnbC5PVVRfT0ZfTUVNT1JZKSB7CisgICAgZGVidWco
Im91dCBvZiBtZW1vcnkiKTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKyAgaWYgKGVyciAhPSBn
bC5OT19FUlJPUikgeworICAgIHRlc3RGYWlsZWQoInVuZXhwZWN0ZWQgZ2wgZXJyb3I6ICIgKyB3
dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGVycikpOworICB9CisgIHd0dS5kcmF3UXVhZChnbCk7Cisg
IHd0dS5jaGVja0NhbnZhcyhnbCwgY29sb3IucmdiYSwKKyAgICAgIHR5cGUgKyAiIG9mIHNpemUg
IiArIHdpZHRoICsgIngiICsgaGVpZ2h0ICsgIiB3aXRoIG5vIG1pcHMgc2hvdWxkIGRyYXcgd2l0
aCAiICsgY29sb3IubmFtZSk7CisgIGNvdW50ID0gKGNvdW50ICsgMSkgJSBjb2xvcnMubGVuZ3Ro
OworICBjb2xvciA9IGNvbG9yc1tjb3VudF07CisgIGZpbGxMZXZlbCgwLCB3aWR0aCwgaGVpZ2h0
LCBjb2xvci5yZ2JhLCBjdWJlTWFwKTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAodGFyZ2V0KTsKKyAg
dmFyIGVyciA9IGdsLmdldEVycm9yKCk7CisgIGlmIChlcnIgPT0gZ2wuT1VUX09GX01FTU9SWSkg
eworICAgIGRlYnVnKCJvdXQgb2YgbWVtb3J5Iik7CisgICAgcmV0dXJuIGZhbHNlOworICB9Cisg
IGlmIChlcnIgIT0gZ2wuTk9fRVJST1IpIHsKKyAgICB0ZXN0RmFpbGVkKCJ1bmV4cGVjdGVkIGds
IGVycm9yOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBlcnIpKTsKKyAgfQorICBnbC50ZXhQ
YXJhbWV0ZXJpKHRhcmdldCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVJfTUlQTUFQ
X05FQVJFU1QpOworICB3dHUuZHJhd1F1YWQoZ2wpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIGNv
bG9yLnJnYmEsCisgICAgICB0eXBlICsgIiBvZiBzaXplICIgKyB3aWR0aCArICJ4IiArIGhlaWdo
dCArICIgd2l0aCBtaXBzIHNob3VsZCBkcmF3IHdpdGggIiArIGNvbG9yLm5hbWUpOworCisgIGNv
dW50ID0gKGNvdW50ICsgMSkgJSBjb2xvcnMubGVuZ3RoOworICBjb2xvciA9IGNvbG9yc1tjb3Vu
dF07CisgIGZpbGxMZXZlbCgwLCB3aWR0aCwgaGVpZ2h0LCBjb2xvci5yZ2JhLCBjdWJlTWFwLCB0
cnVlKTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAodGFyZ2V0KTsKKworICB3dHUuZHJhd1F1YWQoZ2wp
OworICB3dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yLnJnYmEsCisgICAgICB0eXBlICsgIiBvZiBz
aXplICIgKyB3aWR0aCArICJ4IiArIGhlaWdodCArICIgd2l0aCBtaXBzIHNob3VsZCBkcmF3IHdp
dGggIiArIGNvbG9yLm5hbWUpOworCisgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKKyAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBiZSBubyBlcnJvcnMuIik7CisgIHJl
dHVybiB0cnVlOworfQorCitmdW5jdGlvbiBmaWxsTGV2ZWwobGV2ZWwsIHdpZHRoLCBoZWlnaHQs
IGNvbG9yLCBvcHRfY3ViZW1hcCwgb3B0X3N1YlRleCkgeworICB2YXIgbnVtUGl4ZWxzID0gd2lk
dGggKiBoZWlnaHQ7CisgIHZhciBwaXhlbHMgPSBudWxsOworICB2YXIgbGFyZ2VEaW0gPSBNYXRo
Lm1heCh3aWR0aCwgaGVpZ2h0KTsKKyAgdmFyIHNtYWxsRGltID0gTWF0aC5taW4od2lkdGgsIGhl
aWdodCk7CisKKyAgdmFyIHBpeGVsUm93ID0gbmV3IFVpbnQ4QXJyYXkobGFyZ2VEaW0gKiA0KTsK
KyAgZm9yICh2YXIgamogPSAwOyBqaiA8IGxhcmdlRGltOyArK2pqKSB7CisgICAgdmFyIG9mZiA9
IGpqICogNDsKKyAgICBwaXhlbFJvd1tvZmYgKyAwXSA9IGNvbG9yWzBdOworICAgIHBpeGVsUm93
W29mZiArIDFdID0gY29sb3JbMV07CisgICAgcGl4ZWxSb3dbb2ZmICsgMl0gPSBjb2xvclsyXTsK
KyAgICBwaXhlbFJvd1tvZmYgKyAzXSA9IGNvbG9yWzNdOworICB9CisKKyAgaWYgKGxhcmdlRGlt
ID09IG51bVBpeGVscykgeworICAgIHBpeGVscyA9IHBpeGVsUm93OworICB9IGVsc2UgeworICAg
IHZhciBwaXhlbHMgPSBuZXcgVWludDhBcnJheShudW1QaXhlbHMgKiA0KTsKKyAgICBmb3IgKHZh
ciBqaiA9IDA7IGpqIDwgc21hbGxEaW07ICsramopIHsKKyAgICAgIHZhciBvZmYgPSBqaiAqIGxh
cmdlRGltICogNDsKKyAgICAgIHBpeGVscy5zZXQocGl4ZWxSb3csIG9mZik7CisgICAgfQorICB9
CisgCisgIHZhciB0YXJnZXRzID0gb3B0X2N1YmVtYXAgPyBbCisgICAgZ2wuVEVYVFVSRV9DVUJF
X01BUF9QT1NJVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAg
ICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01B
UF9ORUdBVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgICBn
bC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1pdIDoKKyAgICBbZ2wuVEVYVFVSRV8yRF07CisK
KyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRhcmdldHMubGVuZ3RoOyArK2lpKSB7CisgICAgLy8g
ZGVidWcod3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0YXJnZXRzW2lpXSkpOworICAgIHZhciBpbmRl
eCA9IChpaSArIHBvd2VyKSAlIHRhcmdldHMubGVuZ3RoOworICAgIHZhciB0YXJnZXQgPSB0YXJn
ZXRzW2luZGV4XTsKKyAgICBpZiAob3B0X3N1YlRleCkgeworICAgICAgZ2wudGV4U3ViSW1hZ2Uy
RCgKKyAgICAgICAgICB0YXJnZXQsIGxldmVsLCAwLCAwLCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIHBpeGVscyk7CisgICAgfSBlbHNlIHsKKyAg
ICAgIGdsLnRleEltYWdlMkQoCisgICAgICAgICAgdGFyZ2V0LCBsZXZlbCwgZ2wuUkdCQSwgd2lk
dGgsIGhlaWdodCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBwaXhl
bHMpOworICAgIH0KKyAgfQorfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlm
b3JtLWFycmF5cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41ODhhMTgzOTM4ZjUzNGNjMmJkOGUyMzA5MjBiY2I5YWU4Mjc1NjYwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbApAQCAtMCwwICsxLDUwMiBA
QAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
dW5pZm9ybSBhcnJheSBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+
Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgYXR0
cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAg
Z2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlk
PSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVk
aXVtcCBmbG9hdDsKKyAgICB1bmlmb3JtICQodHlwZSkgY29sb3JbM107CisgICAgdm9pZCBtYWlu
KCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoY29sb3JbMF0kKGVsZW0pLCBj
b2xvclsxXSQoZWxlbSksIGNvbG9yWzJdJChlbGVtKSwgMSk7CisgICAgfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJmc2hhZGVyLW1heCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAg
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9ybSB2ZWM0IGNvbG9yYVskKG1heFVu
aWZvcm1WZWN0b3JzKV07CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdD
b2xvciA9IHZlYzQoY29sb3JhWyQodXNlZFVuaWZvcm1WZWN0b3IpXSk7CisgICAgfQorPC9zY3Jp
cHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyLW1heC1hYi1hYiIgdHlwZT0ieC1zaGFkZXIveC1mcmFn
bWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9ybSB2ZWM0ICQo
ZGVjbDEpOworICAgIHVuaWZvcm0gdmVjNCAkKGRlY2wyKTsKKyAgICB2b2lkIG1haW4oKQorICAg
IHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgkKHVzYWdlMSkgKyAkKHVzYWdlMikpOwor
ICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7
CitkZWJ1ZygiIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3Jl
YXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKK3ZhciB2U3JjID0gd3R1LmdldFNjcmlwdCgidnNo
YWRlciIpOwordmFyIGZUZW1wbGF0ZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXIiKTsKKwordmFy
IHR5cGVJbmZvcyA9IFsKKyAgeyB0eXBlOiAnZmxvYXQnLAorICAgIGpzVHlwZU9mOiAnbnVtYmVy
JywKKyAgICBzZXR0ZXI6ICd1bmlmb3JtMWZ2JywKKyAgICBlbGVtOiAnJywKKyAgICBudW1TcmNW
YWx1ZXM6IDMsCisgICAgaW52YWxpZFNldDogZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlm
b3JtMmZ2KGxvYywgWzEsIDJdKTsKKyAgICB9LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6IGZ1bmN0
aW9uKGluZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAgIHJldHVybiBzcmNWYWx1ZXNbaW5kZXhdLnRv
U3RyaW5nKCk7CisgICAgfSwKKyAgICByZXR1cm5WYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbih2YWx1
ZSkgeworICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gJ251bGwnIDogdmFsdWUudG9TdHJp
bmcoKTsKKyAgICB9LAorICAgIGNoZWNrVHlwZTogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJl
dHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInOworICAgIH0sCisgICAgY2hlY2tWYWx1ZTog
ZnVuY3Rpb24odHlwZUluZm8sIGluZGV4LCB2YWx1ZSkgeworICAgICAgcmV0dXJuIHR5cGVJbmZv
LnNyY1ZhbHVlc1tpbmRleF0gPT0gdmFsdWU7CisgICAgfSwKKyAgICBzcmNWYWx1ZXM6IFsxNiwg
MTUsIDE0XSwKKyAgICBzcmNWYWx1ZXNMZXNzOiBbXSwKKyAgICBzcmNWYWx1ZXNMZXNzTXVsdGlw
bGU6IFsxNl0sCisgICAgc3JjVmFsdWVzTW9yZU11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTNdLAor
ICAgIHNyY1ZhbHVlc05vbk11bHRpcGxlOiBudWxsLAorICB9LAorICB7IHR5cGU6ICd2ZWMyJywK
KyAgICBqc1R5cGVPZjogJ0Zsb2F0MzJBcnJheScsCisgICAgc2V0dGVyOiAndW5pZm9ybTJmdics
CisgICAgZWxlbTogJ1sxXScsCisgICAgbnVtU3JjVmFsdWVzOiAzLAorICAgIGludmFsaWRTZXQ6
IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFmdihsb2MsIFsyXSk7CisgICAgfSwK
KyAgICBpbGxlZ2FsU2V0OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGdsLnVuaWZvcm0xZnYobG9j
LCAyKTsKKyAgICB9LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKGluZGV4LCBzcmNW
YWx1ZXMpIHsKKyAgICAgIHJldHVybiAiWyIgKyBzcmNWYWx1ZXNbaW5kZXggKiAyICsgMF0udG9T
dHJpbmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDIg
KyAxXS50b1N0cmluZygpICsgIl0iOworICAgIH0sCisgICAgcmV0dXJuVmFsdWVBc1N0cmluZzog
ZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCA/ICdudWxsJyA6
ICgiWyIgKyB2YWx1ZVswXSArICIsICIgKyB2YWx1ZVsxXSArICJdIik7CisgICAgfSwKKyAgICBj
aGVja1R5cGU6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUgJiYKKyAgICAg
ICAgICAgICB0eXBlb2YgdmFsdWUubGVuZ3RoID09PSAnbnVtYmVyJyAmJgorICAgICAgICAgICAg
IHZhbHVlLmxlbmd0aCA9PSAyOworICAgIH0sCisgICAgY2hlY2tWYWx1ZTogZnVuY3Rpb24odHlw
ZUluZm8sIGluZGV4LCB2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmCisg
ICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogMiArIDBdID09IHZhbHVlWzBd
ICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogMiArIDFdID09IHZh
bHVlWzFdOworICAgIH0sCisgICAgc3JjVmFsdWVzOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMV0s
CisgICAgc3JjVmFsdWVzTGVzczogWzE2XSwKKyAgICBzcmNWYWx1ZXNMZXNzTXVsdGlwbGU6IFsx
NiwgMTUsIDE0LCAxM10sCisgICAgc3JjVmFsdWVzTW9yZU11bHRpcGxlOiBbMTYsIDE1LCAxNCwg
MTMsIDEyLCAxMSwgMTAsIDldLAorICAgIHNyY1ZhbHVlc05vbk11bHRpcGxlOiBbMTYsIDE1LCAx
NCwgMTMsIDEyLCAxMSwgMTBdLAorICB9LAorICB7IHR5cGU6ICd2ZWMzJywKKyAgICBqc1R5cGVP
ZjogJ0Zsb2F0MzJBcnJheScsCisgICAgc2V0dGVyOiAndW5pZm9ybTNmdicsCisgICAgZWxlbTog
J1syXScsCisgICAgbnVtU3JjVmFsdWVzOiAzLAorICAgIGludmFsaWRTZXQ6IGZ1bmN0aW9uKGxv
YykgeworICAgICAgZ2wudW5pZm9ybTFmdihsb2MsIFsyXSk7CisgICAgfSwKKyAgICBpbGxlZ2Fs
U2V0OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGdsLnVuaWZvcm0xZnYobG9jLCAyKTsKKyAgICB9
LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKGluZGV4LCBzcmNWYWx1ZXMpIHsKKyAg
ICAgIHJldHVybiAiWyIgKyBzcmNWYWx1ZXNbaW5kZXggKiAzICsgMF0udG9TdHJpbmcoKSArICIs
ICIgKworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDMgKyAxXS50b1N0cmlu
ZygpICsgIiwgIiArCisgICAgICAgICAgICAgICAgICAgc3JjVmFsdWVzW2luZGV4ICogMyArIDJd
LnRvU3RyaW5nKCkgKyAiXSI7CisgICAgfSwKKyAgICByZXR1cm5WYWx1ZUFzU3RyaW5nOiBmdW5j
dGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gJ251bGwnIDoKKyAg
ICAgICAgICAoIlsiICsgdmFsdWVbMF0gKyAiLCAiICsgdmFsdWVbMV0gKyAiLCAiICsgdmFsdWVb
Ml0gKyAiXSIpOworICAgIH0sCisgICAgY2hlY2tUeXBlOiBmdW5jdGlvbih2YWx1ZSkgeworICAg
ICAgcmV0dXJuIHZhbHVlICYmCisgICAgICAgICAgICAgdHlwZW9mIHZhbHVlLmxlbmd0aCA9PT0g
J251bWJlcicgJiYKKyAgICAgICAgICAgICB2YWx1ZS5sZW5ndGggPT0gMzsKKyAgICB9LAorICAg
IGNoZWNrVmFsdWU6IGZ1bmN0aW9uKHR5cGVJbmZvLCBpbmRleCwgdmFsdWUpIHsKKyAgICAgIHJl
dHVybiB2YWx1ZSAhPT0gbnVsbCAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tp
bmRleCAqIDMgKyAwXSA9PSB2YWx1ZVswXSAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1Zh
bHVlc1tpbmRleCAqIDMgKyAxXSA9PSB2YWx1ZVsxXSAmJgorICAgICAgICAgICAgIHR5cGVJbmZv
LnNyY1ZhbHVlc1tpbmRleCAqIDMgKyAyXSA9PSB2YWx1ZVsyXTsKKyAgICB9LAorICAgIHNyY1Zh
bHVlczogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5LCA4XSwKKyAgICBzcmNWYWx1ZXNM
ZXNzOiBbMTYsIDE1XSwKKyAgICBzcmNWYWx1ZXNMZXNzTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAx
MywgMTIsIDExXSwKKyAgICBzcmNWYWx1ZXNNb3JlTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywg
MTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMl0sCisgICAgc3JjVmFsdWVzTm9uTXVs
dGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgN10sCisgIH0sCisgIHsg
dHlwZTogJ3ZlYzQnLAorICAgIGpzVHlwZU9mOiAnRmxvYXQzMkFycmF5JywKKyAgICBzZXR0ZXI6
ICd1bmlmb3JtNGZ2JywKKyAgICBlbGVtOiAnWzNdJywKKyAgICBudW1TcmNWYWx1ZXM6IDMsCisg
ICAgaW52YWxpZFNldDogZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlmb3JtMWZ2KGxvYywg
WzJdKTsKKyAgICB9LAorICAgIGlsbGVnYWxTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wu
dW5pZm9ybTFmdihsb2MsIDIpOworICAgIH0sCisgICAgc3JjVmFsdWVBc1N0cmluZzogZnVuY3Rp
b24oaW5kZXgsIHNyY1ZhbHVlcykgeworICAgICAgcmV0dXJuICJbIiArIHNyY1ZhbHVlc1tpbmRl
eCAqIDQgKyAwXS50b1N0cmluZygpICsgIiwgIiArCisgICAgICAgICAgICAgICAgICAgc3JjVmFs
dWVzW2luZGV4ICogNCArIDFdLnRvU3RyaW5nKCkgKyAiLCAiICsKKyAgICAgICAgICAgICAgICAg
ICBzcmNWYWx1ZXNbaW5kZXggKiA0ICsgMl0udG9TdHJpbmcoKSArICIsICIgKworICAgICAgICAg
ICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDQgKyAzXS50b1N0cmluZygpICsgIl0iOworICAg
IH0sCisgICAgcmV0dXJuVmFsdWVBc1N0cmluZzogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJl
dHVybiB2YWx1ZSA9PT0gbnVsbCA/ICdudWxsJyA6CisgICAgICAgICAgKCJbIiArIHZhbHVlWzBd
ICsgIiwgIiArIHZhbHVlWzFdICsKKyAgICAgICAgICAgIiwgIiArIHZhbHVlWzJdICsgIiwgIiAr
IHZhbHVlWzNdICsgIl0iKTsKKyAgICB9LAorICAgIGNoZWNrVHlwZTogZnVuY3Rpb24odmFsdWUp
IHsKKyAgICAgIHJldHVybiB2YWx1ZSAmJgorICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZS5sZW5n
dGggPT09ICdudW1iZXInICYmCisgICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09IDQ7CisgICAg
fSwKKyAgICBjaGVja1ZhbHVlOiBmdW5jdGlvbih0eXBlSW5mbywgaW5kZXgsIHZhbHVlKSB7Cisg
ICAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNW
YWx1ZXNbaW5kZXggKiA0ICsgMF0gPT0gdmFsdWVbMF0gJiYKKyAgICAgICAgICAgICB0eXBlSW5m
by5zcmNWYWx1ZXNbaW5kZXggKiA0ICsgMV0gPT0gdmFsdWVbMV0gJiYKKyAgICAgICAgICAgICB0
eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0ICsgMl0gPT0gdmFsdWVbMl0gJiYKKyAgICAgICAg
ICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0ICsgM10gPT0gdmFsdWVbM107CisgICAg
fSwKKyAgICBzcmNWYWx1ZXM6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywg
NiwgNV0sCisgICAgc3JjVmFsdWVzTGVzczogWzE2LCAxNSwgMTRdLAorICAgIHNyY1ZhbHVlc0xl
c3NNdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5XSwKKyAgICBzcmNWYWx1
ZXNNb3JlTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwg
NSwgNCwgMywgMiwgMV0sCisgICAgc3JjVmFsdWVzTm9uTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAx
MywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNF0sCisgIH0KK107CisKK2ZvciAodmFyIHR0
ID0gMDsgdHQgPCB0eXBlSW5mb3MubGVuZ3RoOyArK3R0KSB7CisgIHZhciB0eXBlSW5mbyA9IHR5
cGVJbmZvc1t0dF07CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoImNoZWNrICIgKyB0eXBlSW5mby50
eXBlKTsKKyAgdmFyIGZTcmMgPSB3dHUucmVwbGFjZVBhcmFtcyhmVGVtcGxhdGUsIHR5cGVJbmZv
KTsKKyAgLy9kZWJ1ZygiZlNyYzogIiArIGZTcmMpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5sb2Fk
UHJvZ3JhbShnbCwgdlNyYywgZlNyYyk7CisKKyAgdmFyIG51bVVuaWZvcm1zID0gZ2wuZ2V0UHJv
Z3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5BQ1RJVkVfVU5JRk9STVMpOworICBhc3NlcnRNc2co
bnVtVW5pZm9ybXMgPT0gMSwgIjEgdW5pZm9ybSBmb3VuZCIpOworICB2YXIgaW5mbyA9IGdsLmdl
dEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgMCk7CisgIGFzc2VydE1zZyhpbmZvLm5hbWUgPT0gImNv
bG9yWzBdIiwKKyAgICAgICAgICAgICJ1bmlmb3JtIG5hbWUgaXMgJ2NvbG9yWzBdJyBub3QgJ2Nv
bG9yJyBhcyBwZXIgT3BlbkdMIEVTIDIuMC4yNCBzZWN0aW9uIDIuMTAiKTsKKyAgdmFyIGxvYyA9
IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAiY29sb3JbMF0iKTsKKyAgdmFyIHNyY1Zh
bHVlcyA9IHR5cGVJbmZvLnNyY1ZhbHVlczsKKyAgdmFyIHNyY1ZhbHVlc0xlc3MgPSB0eXBlSW5m
by5zcmNWYWx1ZXNMZXNzOworICB2YXIgc3JjVmFsdWVzTGVzc011bHRpcGxlID0gdHlwZUluZm8u
c3JjVmFsdWVzTGVzc011bHRpcGxlOworICB2YXIgc3JjVmFsdWVzTW9yZU11bHRpcGxlID0gdHlw
ZUluZm8uc3JjVmFsdWVzTW9yZU11bHRpcGxlOworICB2YXIgc3JjVmFsdWVzTm9uTXVsdGlwbGUg
PSB0eXBlSW5mby5zcmNWYWx1ZXNOb25NdWx0aXBsZTsKKworICAvLyBUcnkgc2V0dGluZyB0aGUg
dmFsdWUgYmVmb3JlIHVzaW5nIHRoZSBwcm9ncmFtCisgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9j
LCBzcmNWYWx1ZXMpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9O
LAorICAgICAgICAgICAgICAgICAgInNob3VsZCBmYWlsIGlmIHRoZXJlIGlzIG5vIGN1cnJlbnQg
cHJvZ3JhbSIpOworCisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisgIGdsW3R5cGVJbmZvLnNl
dHRlcl0obG9jLCBzcmNWYWx1ZXNMZXNzKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX1ZBTFVFLAorICAgICAgICAgICAgICAgICAgInNob3VsZCBmYWlsIHdpdGggaW5zdWZmaWNp
ZW50IGFycmF5IHNpemUgd2l0aCBnbC4iICsgdHlwZUluZm8uc2V0dGVyKTsKKyAgaWYgKHNyY1Zh
bHVlc05vbk11bHRpcGxlKSB7CisgICAgZ2xbdHlwZUluZm8uc2V0dGVyXShsb2MsIHNyY1ZhbHVl
c05vbk11bHRpcGxlKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUs
CisgICAgICAgICAgICAgICAgICAgICJzaG91bGQgZmFpbCB3aXRoIG5vbi1tdWx0aXBsZSBhcnJh
eSBzaXplIHdpdGggZ2wuIiArIHR5cGVJbmZvLnNldHRlcik7CisgIH0KKyAgZ2xbdHlwZUluZm8u
c2V0dGVyXShsb2MsIHNyY1ZhbHVlcyk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IsCisgICAgICAgICAgICAgICAgICAiY2FuIHNldCBhbiBhcnJheSBvZiB1bmlmb3JtcyB3aXRo
IGdsLiIgKyB0eXBlSW5mby5zZXR0ZXIpOworICBnbFt0eXBlSW5mby5zZXR0ZXJdKGxvYywgc3Jj
VmFsdWVzTGVzc011bHRpcGxlKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwK
KyAgICAgICAgICAgICAgICAgICJjYW4gcGFydGlhbGx5IHNldCBhbiBhcnJheSBvZiB1bmlmb3Jt
cyB3aXRoIGdsLiIgKyB0eXBlSW5mby5zZXR0ZXIgKyAiIHdpdGggYSBzbWFsbGVyIGFycmF5Iik7
CisgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1ZXNNb3JlTXVsdGlwbGUpOworICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgICAgICAgImNhbiBz
ZXQgYW4gYXJyYXkgb2YgdW5pZm9ybXMgd2l0aCBnbC4iICsgdHlwZUluZm8uc2V0dGVyICsgIiB3
aXRoIGEgbGFyZ2VyIGFycmF5Iik7CisKKyAgdmFyIHZhbHVlcyA9IGdsLmdldFVuaWZvcm0ocHJv
Z3JhbSwgbG9jKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAg
ICAgICAgICAgICJjYW4gY2FsbCBnbC5nZXRVbmlmb3JtIik7CisgIGFzc2VydE1zZyh0eXBlSW5m
by5jaGVja1R5cGUodmFsdWVzKSwKKyAgICAgICAgICAgICJnbC5nZXRVbmlmb3JtIHJldHVybnMg
dGhlIGNvcnJlY3QgdHlwZS4iKTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHR5cGVJbmZvLm51
bVNyY1ZhbHVlczsgKytpaSkgeworICAgIHZhciBlbGVtTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW0sICJjb2xvclsiICsgaWkgKyAiXSIpOworICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAgICJjYW4gZ2V0IGxvY2F0aW9uIG9m
IGVsZW1lbnQgIiArIGlpICsKKyAgICAgICAgICAgICAgICAgICAgIiBvZiBhcnJheSBmcm9tIGds
LmdldFVuaWZvcm1Mb2NhdGlvbiIpOworICAgIHZhciB2YWx1ZSA9IGdsLmdldFVuaWZvcm0ocHJv
Z3JhbSwgZWxlbUxvYyk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAg
ICAgICAgICAgICAgICAgICAgImNhbiBnZXQgdmFsdWUgb2YgZWxlbWVudCAiICsgaWkgKyAiIG9m
IGFycmF5IGZyb20gZ2wuZ2V0VW5pZm9ybSIpOworICAgIGFzc2VydE1zZyh0eXBlSW5mby5jaGVj
a1ZhbHVlKHR5cGVJbmZvLCBpaSwgdmFsdWUpLAorICAgICAgICAgICAgICAidmFsdWUgcHV0IGlu
ICgiICsgdHlwZUluZm8uc3JjVmFsdWVBc1N0cmluZyhpaSwgc3JjVmFsdWVzKSArCisgICAgICAg
ICAgICAgICIpIG1hdGNoZXMgdmFsdWUgcHVsbGVkIG91dCAoIiArCisgICAgICAgICAgICAgIHR5
cGVJbmZvLnJldHVyblZhbHVlQXNTdHJpbmcodmFsdWUpICsgIikiKTsKKyAgfQorICB0eXBlSW5m
by5pbnZhbGlkU2V0KGxvYyk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVS
QVRJT04sCisgICAgICAgICAgICAgICAgICAidXNpbmcgdGhlIHdyb25nIHNpemUgb2YgZ2wuVW5p
Zm9ybSBmYWlscyIpOworICB2YXIgZXhjZXB0aW9uQ2F1Z2h0ID0gZmFsc2U7CisgIGlmICh0eXBl
SW5mby5pbGxlZ2FsU2V0KSB7CisgICAgdHJ5IHsKKyAgICAgIHR5cGVJbmZvLmlsbGVnYWxTZXQo
bG9jKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICBleGNlcHRpb25DYXVnaHQgPSB0cnVlOwor
ICAgIH0KKyAgICBhc3NlcnRNc2coZXhjZXB0aW9uQ2F1Z2h0LCAicGFzc2luZyBub24tYXJyYXkg
dG8gZ2xVbmlmb3JtKmZ2IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IiKTsKKyAgfQorCisgIGdsLnVz
ZVByb2dyYW0obnVsbCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAg
ICAgICAgICAgICAgICAiY2FuIGNhbGwgZ2wudXNlUHJvZ3JhbShudWxsKSIpOworfQorCisvLyBU
aGlzIHRlc3QgaXMgdG8gdGVzdCBkcml2ZXJzIHRoZSBoYXZlIGJ1Z3MgcmVsYXRlZCB0byBvcHRp
bWl6aW5nCisvLyBhbiBhcnJheSBvZiB1bmlmb3JtcyB3aGVuIG9ubHkgMSBvZiB0aG9zZSB1bmlm
b3JtcyBpcyB1c2VkLgorZGVidWcoIiIpOworZGVidWcoIlRlc3QgZHJpdmVycyBkb24ndCBvdmVy
IG9wdGltaXplIHVudXNlZCBhcnJheSBlbGVtZW50cyIpOwordmFyIG1heFVuaWZvcm1WZWN0b3Jz
ID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlMpOwordmFy
IHRlc3RzID0gWworIHsgZGVzYzogInVzaW5nIGxhc3QgZWxlbWVudCIsCisgICBtYXhVbmlmb3Jt
VmVjdG9yczogbWF4VW5pZm9ybVZlY3RvcnMsCisgICB1c2VkVW5pZm9ybVZlY3RvcjogbWF4VW5p
Zm9ybVZlY3RvcnMgLSAxLAorICAgc2hhZGVyOiAiZnNoYWRlci1tYXgiLAorICAgY29sb3I6IFsw
LCAxLCAwLCAxXSwKKyAgIGFycmF5TmFtZTogImNvbG9yYSIsCisgICBleHRyYU5hbWU6ICJjb2xv
cmIiLAorIH0sCisgeyBkZXNjOiAidXNpbmcgZmlyc3QgZWxlbWVudCIsCisgICBtYXhVbmlmb3Jt
VmVjdG9yczogbWF4VW5pZm9ybVZlY3RvcnMsCisgICB1c2VkVW5pZm9ybVZlY3RvcjogMCwKKyAg
IHNoYWRlcjogImZzaGFkZXItbWF4IiwKKyAgIGNvbG9yOiBbMCwgMSwgMCwgMV0sCisgICBhcnJh
eU5hbWU6ICJjb2xvcmEiLAorICAgZXh0cmFOYW1lOiAiY29sb3JiIiwKKyB9LAorXTsKKworLy8g
R2VuZXJhdGUgdGVzdCBzaGFkZXJzLiBXZSdyZSB0cnlpbmcgdG8gZm9yY2UgdGhlIGRyaXZlciB0
bworLy8gb3ZlcmZsb3cgZnJvbSAxIGFycmF5IGludG8gdGhlIG5leHQgaWYgaXQgb3B0aW1pemVz
LiBTbyBmb3IgZXhhbXBsZSBpZiBpdCB3YXMgQworLy8KKy8vICAgaW50IGJpZ1s0XTsKKy8vICAg
aW50IGxpdHRsZVsxXTsKKy8vICAgYmlnWzVdID0gMTI0OworLy8KKy8vIFdvdWxkIGVuZCB1cCBz
ZXR0aW5nIGxpdHRsZVswXSBpbnN0ZWFkIG9mIGJpZy4gU29tZSBkcml2ZXJzIG9wdGltaXplCisv
LyB3aGVyZSBpZiB5b3Ugb25seSB1c2Ugc2F5ICdiaWdbM10nIGl0IHdpbGwgYWN0dWFsbHkgb25s
eSBhbGxvY2F0ZSBqdXN0IDEgZWxlbWVudAorLy8gZm9yIGJpZy4KKy8vCisvLyBCdXQsIHNvbWUg
ZHJpdmVycyBoYXZlIGEgYnVnIHdoZXJlIHRoZSBmYWN0IHRoYXQgdGhleSBvcHRpbWl6ZWQgYmln
IHRvIDEgZWxlbWVudAorLy8gZG9lcyBub3QgZ2V0IHBhc3NlZCBkb3duIHRvIGdsVW5pZm9ybSBz
byB3aGVuIHNldHRpbmcgdGhlIHVuaWZvcm0gJ2JpZ1szXScgdGhleQorLy8gb3ZlcndyaXRlIG1l
bW9yeS4KKy8vCisvLyBJZiB0aGUgZHJpdmVyIGNyYXNoZXMsIHllYS4gV2UgZm91bmQgYSBidWcu
IFdlIGNhbiBibGFja2xpc3QgdGhlIGRyaXZlci4KKy8vIE90aGVyd2lzZSB3ZSB0cnkgdmFyaW91
cyBjb21iaW5hdGlvbnMgc28gdGhhdCBzZXR0aW5nICdsaXR0bGVbMF0nIGZpcnN0CisvLyBhbmQg
dGhlbiBzZXR0aW5nIGFsbCBlbGVtZW50cyBvZiAnYmlnJyB3ZSBob3BlIGl0IHdpbGwgb3Zlcndy
aXRlICdsaXR0bGVbMF0nCisvLyB3aGljaCB3aWxsIHNob3cgdGhlIGJ1ZyBhbmQgYWdhaW4gd2Ug
Y2FuIGJsYWNrbGlzdCB0aGUgZHJpdmVyLgorLy8KKy8vIFdlIGRvbid0IGtub3cgaG93IHRoZSBk
cml2ZXIgd2lsbCBvcmRlciwgaW4gbWVtb3J5LCB0aGUgdmFyaW91cyB1bmlmb3JtcworLy8gb3Ig
Zm9yIHRoYXQgbWF0dGVyIHdlIGRvbid0IGV2ZW4ga25vdyBpZiB0aGV5IHdpbGwgYmUgY29udGln
dW91cyBpbiBtZW1vcnkKKy8vIGJ1dCB0byBob3BlZnVsbHkgZXhwb3NlIGFueSBidWdzIHdlIHRy
eSB2YXJpb3VzIGNvbWJpbmF0aW9ucy4KKy8vCisvLyAgICBJdCBjb3VsZCBiZSB0aGUgY29tcGls
ZXIgb3JkZXJzIHVuaWZvcm1zIGFscGhhYmV0aWNhbGx5LgorLy8gICAgSXQgY291bGQgYmUgaXQg
b3JkZXJzIHRoZW0gaW4gb3JkZXIgb2YgZGVjbGFyYXRpb24uCisvLyAgICBJdCBjb3VsZCBiZSBp
dCBvcmRlcnMgdGhlbSBpbiBvcmRlciBvZiB1c2FnZS4KKy8vCisvLyBXZSBhbHNvIHRlc3QgdXNp
bmcgb25seSBmaXJzdCBlbGVtZW50IG9mIGJpZyBvciBqdXN0IHRoZSBsYXN0IGVsZW1lbnQgb2Yg
YmlnLgorLy8KK2ZvciAodmFyIG5hbWVPcmRlciA9IDA7IG5hbWVPcmRlciA8IDI7ICsrbmFtZU9y
ZGVyKSB7CisgIHZhciBuYW1lMSA9IG5hbWVPcmRlciA/ICJjb2xvcmEiIDogImNvbG9yYiI7Cisg
IHZhciBuYW1lMiA9IG5hbWVPcmRlciA/ICJjb2xvcmIiIDogImNvbG9yYSI7CisgIGZvciAodmFy
IGxhc3QgPSAwOyBsYXN0IDwgMjsgKytsYXN0KSB7CisgICAgdmFyIHVzZWRVbmlmb3JtVmVjdG9y
ID0gbGFzdCA/IG1heFVuaWZvcm1WZWN0b3JzIC0gMiA6IDA7CisgICAgZm9yICh2YXIgZGVjbE9y
ZGVyID0gMDsgZGVjbE9yZGVyIDwgMjsgKytkZWNsT3JkZXIpIHsKKyAgICAgIHZhciBiaWdOYW1l
ICAgID0gZGVjbE9yZGVyID8gbmFtZTEgOiBuYW1lMjsKKyAgICAgIHZhciBsaXR0bGVOYW1lID0g
ZGVjbE9yZGVyID8gbmFtZTIgOiBuYW1lMTsKKyAgICAgIHZhciBkZWNsMSA9IGJpZ05hbWUgKyAi
WyIgKyAobWF4VW5pZm9ybVZlY3RvcnMgLSAxKSArICJdIjsKKyAgICAgIHZhciBkZWNsMiA9IGxp
dHRsZU5hbWUgKyAiWzFdIjsKKyAgICAgIGlmIChkZWNsT3JkZXIpIHsKKyAgICAgICAgdmFyIHQg
PSBkZWNsMTsKKyAgICAgICAgZGVjbDEgPSBkZWNsMjsKKyAgICAgICAgZGVjbDIgPSB0OworICAg
ICAgfQorICAgICAgZm9yICh2YXIgdXNhZ2VPcmRlciA9IDA7IHVzYWdlT3JkZXIgPCAyOyArK3Vz
YWdlT3JkZXIpIHsKKyAgICAgICAgdmFyIHVzYWdlMSA9IGJpZ05hbWUgKyAiWyIgKyB1c2VkVW5p
Zm9ybVZlY3RvciArICJdIjsKKyAgICAgICAgdmFyIHVzYWdlMiA9IGxpdHRsZU5hbWUgKyAiWzBd
IjsKKyAgICAgICAgaWYgKHVzYWdlT3JkZXIpIHsKKyAgICAgICAgICB2YXIgdCA9IHVzYWdlMTsK
KyAgICAgICAgICB1c2FnZTEgPSB1c2FnZTI7CisgICAgICAgICAgdXNhZ2UyID0gdDsKKyAgICAg
ICAgfQorICAgICAgICB2YXIgZlNyYyA9IHd0dS5yZXBsYWNlUGFyYW1zKHd0dS5nZXRTY3JpcHQo
ImZzaGFkZXItbWF4LWFiLWFiIiksIHsKKyAgICAgICAgICBkZWNsMTogZGVjbDEsCisgICAgICAg
ICAgZGVjbDI6IGRlY2wyLAorICAgICAgICAgIHVzYWdlMTogdXNhZ2UxLAorICAgICAgICAgIHVz
YWdlMjogdXNhZ2UyLAorICAgICAgICB9KTsKKyAgICAgICAgdmFyIGRlc2MgPSAidGVzdGluZzog
IiArIG5hbWUxICsgIjoiICsgbmFtZTIgKyAiIHVzaW5nICIgKyAobGFzdCA/ICJsYXN0IiA6ICJm
aXJzdCIpICsKKyAgICAgICAgICAgICIgY3JlYXRpbmcgdW5pZm9ybXMgIiArIGRlY2wxICsgIiAi
ICsgZGVjbDIgKyAiIGFuZCBhY2Nlc3NpbmcgIiArIHVzYWdlMSArICIgIiArIHVzYWdlMjsKKyAg
ICAgICAgdGVzdHMucHVzaCh7CisgICAgICAgICAgZGVzYzogZGVzYywKKyAgICAgICAgICBtYXhV
bmlmb3JtVmVjdG9yczogbWF4VW5pZm9ybVZlY3RvcnMgLSAxLAorICAgICAgICAgIHVzZWRVbmlm
b3JtVmVjdG9yOiB1c2VkVW5pZm9ybVZlY3RvciwKKyAgICAgICAgICBzb3VyY2U6IGZTcmMsCisg
ICAgICAgICAgY29sb3I6IFswLCAwLCAwLCAxXSwKKyAgICAgICAgICBhcnJheU5hbWU6IGJpZ05h
bWUsCisgICAgICAgICAgZXh0cmFOYW1lOiBsaXR0bGVOYW1lLAorICAgICAgICB9KTsKKyAgICAg
IH0KKyAgICB9CisgIH0KK30KKwordmFyIGFsbFJlcXVpcmVkVW5pZm9ybUxvY2F0aW9uc1F1ZXJ5
YWJsZSA9IHRydWU7CitmdW5jdGlvbiB0ZXN0VW5pZm9ybU9wdGltaXphdGlvbklzc3Vlcyh0ZXN0
SW5kZXgpIHsKKyAgdmFyIHRlc3QgPSB0ZXN0c1t0ZXN0SW5kZXhdOworICBkZWJ1ZygiIik7Cisg
IGRlYnVnKHRlc3QuZGVzYyk7CisgIHZhciBmU3JjID0gdGVzdC5zb3VyY2U7CisgIGlmICghZlNy
YykgeworICAgIGZTcmMgPSB3dHUucmVwbGFjZVBhcmFtcyh3dHUuZ2V0U2NyaXB0KHRlc3Quc2hh
ZGVyKSwgdGVzdCk7CisgIH0KKworICB2YXIgY29uc29sZUVsZW0gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29uc29sZSIpOworICB3dHUuYWRkU2hhZGVyU291cmNlKAorICAgICAgY29uc29s
ZUVsZW0sICJ2ZXJ0ZXggc2hhZGVyIiwgdlNyYyk7CisgIHd0dS5hZGRTaGFkZXJTb3VyY2UoCisg
ICAgICBjb25zb2xlRWxlbSwgImZyYWdtZW50IHNoYWRlciIsIGZTcmMpOworCisgIHZhciBwcm9n
cmFtID0gd3R1LmxvYWRQcm9ncmFtKGdsLCB2U3JjLCBmU3JjKTsKKyAgZ2wudXNlUHJvZ3JhbShw
cm9ncmFtKTsKKworICB2YXIgY29sb3JiTG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24o
cHJvZ3JhbSwgdGVzdC5leHRyYU5hbWUgKyAiWzBdIik7CisgIGlmIChjb2xvcmJMb2NhdGlvbikg
eworICAgIGdsLnVuaWZvcm00ZnYoY29sb3JiTG9jYXRpb24sIFswLCAxLCAwLCAwXSk7CisgIH0K
KworICAvLyBTZXQganVzdCB0aGUgdXNlZCB1bmlmb3JtCisgIHZhciBuYW1lID0gdGVzdC5hcnJh
eU5hbWUgKyAiWyIgKyB0ZXN0LnVzZWRVbmlmb3JtVmVjdG9yICsgIl0iOworICB2YXIgdW5pZm9y
bUxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sIG5hbWUpOworICBnbC51
bmlmb3JtNGZ2KHVuaWZvcm1Mb2NhdGlvbiwgdGVzdC5jb2xvcik7CisgIHd0dS5zZXR1cFF1YWQo
Z2wsIDEsIHBvc2l0aW9uTG9jKTsKKyAgd3R1LmRyYXdJbmRleGVkUXVhZChnbCwgMSk7CisgIHd0
dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOwor
CisgIC8vIFNldCBhbGwgdGhlIHVudXNlZCB1bmlmb3JtcworICB2YXIgbG9jYXRpb25zID0gW107
CisgIGFsbFJlcXVpcmVkVW5pZm9ybUxvY2F0aW9uc1F1ZXJ5YWJsZSA9IHRydWU7CisgIGZvciAo
dmFyIGlpID0gMDsgaWkgPCB0ZXN0Lm1heFVuaWZvcm1WZWN0b3JzOyArK2lpKSB7CisgICAgdmFy
IG5hbWUgPSB0ZXN0LmFycmF5TmFtZSArICJbIiArIGlpICsgIl0iOworICAgIHZhciB1bmlmb3Jt
TG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgbmFtZSk7CisgICAgbG9j
YXRpb25zLnB1c2godW5pZm9ybUxvY2F0aW9uKTsKKyAgICBpZiAoaWkgPT0gdGVzdC51c2VkVW5p
Zm9ybVZlY3RvcikgeworICAgICAgY29udGludWU7CisgICAgfQorICAgIC8vIExvY2F0aW9ucyA+
IHVzZWRVbmZvcm1WZWN0b3IgbWF5IG5vdCBleGlzdC4KKyAgICAvLyBMb2NhdGlvbnMgPD0gdXNl
ZFVuaWZvcm1WZWN0b3IgTVVTVCBleGlzdC4KKyAgICBpZiAoaWkgPD0gdGVzdC51c2VkVW5pZm9y
bVZlY3RvciAmJiAodW5pZm9ybUxvY2F0aW9uID09PSB1bmRlZmluZWQgfHwgdW5pZm9ybUxvY2F0
aW9uID09PSBudWxsKSkgeworICAgICAgYWxsUmVxdWlyZWRVbmlmb3JtTG9jYXRpb25zUXVlcnlh
YmxlID0gZmFsc2U7CisgICAgfQorICAgIGdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9uLCBb
MSwgMCwgMCwgMV0pOworICB9CisgIHNob3VsZEJlVHJ1ZSgiYWxsUmVxdWlyZWRVbmlmb3JtTG9j
YXRpb25zUXVlcnlhYmxlIik7CisgIHZhciBwb3NpdGlvbkxvYyA9IGdsLmdldEF0dHJpYkxvY2F0
aW9uKHByb2dyYW0sICJhX3Bvc2l0aW9uIik7CisgIHd0dS5zZXR1cFF1YWQoZ2wsIDEsIHBvc2l0
aW9uTG9jKTsKKyAgd3R1LmRyYXdJbmRleGVkUXVhZChnbCwgMSk7CisgIHd0dS5jaGVja0NhbnZh
cyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworCisgIC8vIENoZWNr
IHdlIGNhbiByZWFkICYgd3JpdGUgZWFjaCB1bmlmb3JtLgorICAvLyBOb3RlOiB1bmlmb3JtcyBw
YXN0IHRlc3QudXNlZFVuaWZvcm1WZWN0b3IgbWlnaHQgbm90IGV4aXN0LgorICBmb3IgKHZhciBp
aSA9IDA7IGlpIDwgdGVzdC5tYXhVbmlmb3JtVmVjdG9yczsgKytpaSkgeworICAgIGdsLnVuaWZv
cm00ZnYobG9jYXRpb25zW2lpXSwgW2lpICsgNCwgaWkgKyAyLCBpaSArIDMsIGlpICsgMV0pOwor
ICB9CisKKyAgdmFyIGtFcHNpbG9uID0gMC4wMTsKKyAgdmFyIGlzU2FtZSA9IGZ1bmN0aW9uKHYx
LCB2MikgeworICAgIHJldHVybiBNYXRoLmFicyh2MSAtIHYyKSA8IGtFcHNpbG9uOworICB9Owor
CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0Lm1heFVuaWZvcm1WZWN0b3JzOyArK2lpKSB7
CisgICAgdmFyIGxvY2F0aW9uID0gbG9jYXRpb25zW2lpXTsKKyAgICBpZiAobG9jYXRpb24pIHsK
KyAgICAgIHZhciB2YWx1ZSA9IGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgbG9jYXRpb25zW2lpXSk7
CisgICAgICBpZiAoIWlzU2FtZSh2YWx1ZVswXSwgaWkgKyA0KSB8fAorICAgICAgICAgICFpc1Nh
bWUodmFsdWVbMV0sIGlpICsgMikgfHwKKyAgICAgICAgICAhaXNTYW1lKHZhbHVlWzJdLCBpaSAr
IDMpIHx8CisgICAgICAgICAgIWlzU2FtZSh2YWx1ZVszXSwgaWkgKyAxKSkgeworICAgICAgICB0
ZXN0RmFpbGVkKCJsb2NhdGlvbjogIiArIGlpICsgIiB3YXMgbm90IGNvcnJlY3QgdmFsdWUiKTsK
KyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9Cit9CisKK3ZhciB0ZXN0SW5kZXgg
PSAwOworZnVuY3Rpb24gcnVuTmV4dFRlc3QoKSB7CisgIHRlc3RVbmlmb3JtT3B0aW1pemF0aW9u
SXNzdWVzKHRlc3RJbmRleCsrKTsKKyAgaWYgKHRlc3RJbmRleCA8IHRlc3RzLmxlbmd0aCkgewor
ICAgIHNldFRpbWVvdXQocnVuTmV4dFRlc3QsIDEwKTsKKyAgfSBlbHNlIHsKKyAgICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9ycyIpOwor
ICAgIGRlYnVnKCIiKTsKKyAgICBmaW5pc2hUZXN0KCk7CisgIH0KK30KK3J1bk5leHRUZXN0KCk7
CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWVh
ZTgwYzAwYTQyNzMxODZmYjM0ZTUwNzhkOGFiYTAyNTU5ZWI0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sCkBAIC0wLDAgKzEsMzYyIEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB1bmlm
b3JtIGRlZmF1bHQgdmFsdWVzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdC1ldmFsLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0
PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyMCIgdHlwZT0ieC1zaGFkZXIveC12
ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sKKyAgICBn
bF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRl
cjAiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7
Cit1bmlmb3JtICQodHlwZSkgdV91bmlmb3JtOworCitib29sIGlzWmVybygkKHR5cGUpIHZhbHVl
KSB7CisgJChjaGVjayk7Cit9CisKK3ZvaWQgbWFpbigpCit7CisgIGdsX0ZyYWdDb2xvciA9IGlz
WmVybyh1X3VuaWZvcm0pID8gdmVjNCgwLDEsMCwxKSA6IHZlYzQoMSwwLDAsMSk7Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXIxIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+Cith
dHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247Cit2YXJ5aW5nIHZlYzQgdl9jb2xvcjsKK3VuaWZvcm0g
JCh0eXBlKSB1X3VuaWZvcm07CisKK2Jvb2wgaXNaZXJvKCQodHlwZSkgdmFsdWUpIHsKKyAgICQo
Y2hlY2spOworfQorCit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9u
OworICAgIHZfY29sb3IgPSBpc1plcm8odV91bmlmb3JtKSA/IHZlYzQoMCwxLDAsMSkgOiB2ZWM0
KDEsMCwwLDEpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMSIgdHlwZT0ieC1z
aGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3ZhcnlpbmcgdmVj
NCB2X2NvbG9yOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2X2NvbG9yOwor
fQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyMiIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0
ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Q
b3NpdGlvbiA9IHZQb3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjIi
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1
bmlmb3JtICQodHlwZSkgdV91bmlmb3JtWzJdOworCitib29sIGlzWmVybygkKHR5cGUpIHZhbHVl
KSB7CisgICQoY2hlY2spOworfQorCit2b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29sb3IgPSBp
c1plcm8odV91bmlmb3JtWzFdKSA/IHZlYzQoMCwxLDAsMSkgOiB2ZWM0KDEsMCwwLDEpOworfQor
PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyMyIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgi
PgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwordmFyeWluZyB2ZWM0IHZfY29sb3I7Cit1bmlm
b3JtICQodHlwZSkgdV91bmlmb3JtWzJdOworCitib29sIGlzWmVybygkKHR5cGUpIHZhbHVlKSB7
CisgICAkKGNoZWNrKTsKK30KKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQ
b3NpdGlvbjsKKyAgICB2X2NvbG9yID0gaXNaZXJvKHVfdW5pZm9ybVsxXSkgPyB2ZWM0KDAsMSww
LDEpIDogdmVjNCgxLDAsMCwxKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjMi
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2
YXJ5aW5nIHZlYzQgdl9jb2xvcjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0g
dl9jb2xvcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0
aW9uKCk7CisKK3ZhciB0ZXN0cyA9IFsKK3sgdHlwZTogJ2Zsb2F0JywKKyAgY2hlY2s6ICJyZXR1
cm4gdmFsdWUgPT0gMC4wIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9y
bTFmKGxvYywgMy4wKTsgfQorfSwKK3sgdHlwZTogJ2ludCcsCisgIGNoZWNrOiAicmV0dXJuIHZh
bHVlID09IDAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMWkobG9j
LCAzLjApOyB9Cit9LAoreyB0eXBlOiAnYm9vbCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlID09
IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFpKGxvYywg
MSk7IH0KK30sCit7IHR5cGU6ICd2ZWMyJywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0g
MC4wICYmIHZhbHVlWzFdID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGds
LnVuaWZvcm0yZihsb2MsIDMuMCwgMy4wKTsgfQorfSwKK3sgdHlwZTogJ3ZlYzMnLAorICBjaGVj
azogInJldHVybiB2YWx1ZVswXSA9PSAwLjAgJiYgdmFsdWVbMV0gPT0gMC4wICYmIHZhbHVlWzJd
ID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0zZihsb2Ms
IDMuMCwgMy4wLCAzLjApOyB9Cit9LAoreyB0eXBlOiAndmVjNCcsCisgIGNoZWNrOiAicmV0dXJu
IHZhbHVlWzBdID09IDAuMCAmJiB2YWx1ZVsxXSA9PSAwLjAgJiYgdmFsdWVbMl0gPT0gMC4wICYm
IHZhbHVlWzNdID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZv
cm00Zihsb2MsIDMuMCwgMy4wLCAzLjAsIDMuMCk7IH0KK30sCit7IHR5cGU6ICdpdmVjMicsCisg
IGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IDAgJiYgdmFsdWVbMV0gPT0gMCIsCisgIHNldEZu
OiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0yaShsb2MsIDMsIDMpOyB9Cit9LAoreyB0
eXBlOiAnaXZlYzMnLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSAwICYmIHZhbHVlWzFd
ID09IDAgJiYgdmFsdWVbMl0gPT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGds
LnVuaWZvcm0zaShsb2MsIDMsIDMsIDMpOyB9Cit9LAoreyB0eXBlOiAnaXZlYzQnLAorICBjaGVj
azogInJldHVybiB2YWx1ZVswXSA9PSAwICYmIHZhbHVlWzFdID09IDAgJiYgdmFsdWVbMl0gPT0g
MCAmJiB2YWx1ZVszXSA9PSAwIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5p
Zm9ybTRpKGxvYywgMywgMywgMywgMyk7IH0KK30sCit7IHR5cGU6ICdidmVjMicsCisgIGNoZWNr
OiAicmV0dXJuIHZhbHVlWzBdID09IGZhbHNlICYmIHZhbHVlWzFdID09IGZhbHNlIiwKKyAgc2V0
Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTJpKGxvYywgMSwgMSk7IH0KK30sCit7
IHR5cGU6ICdidmVjMycsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IGZhbHNlICYmIHZh
bHVlWzFdID09IGZhbHNlICYmIHZhbHVlWzJdID09IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9u
KGdsLCBsb2MpIHsgZ2wudW5pZm9ybTNpKGxvYywgMSwgMSwgMSk7IH0KK30sCit7IHR5cGU6ICdi
dmVjNCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IGZhbHNlICYmIHZhbHVlWzFdID09
IGZhbHNlICYmIHZhbHVlWzJdID09IGZhbHNlICYmIHZhbHVlWzNdID09IGZhbHNlIiwKKyAgc2V0
Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTRpKGxvYywgMSwgMSwgMSwgMSk7IH0K
K30sCit7IHR5cGU6ICdtYXQyJywKKyAgY2hlY2s6CisgICAgInJldHVybiAiICsKKyAgICAidmFs
dWVbMF1bMF0gPT0gMC4wICYmIHZhbHVlWzBdWzFdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVb
MV1bMF0gPT0gMC4wICYmIHZhbHVlWzFdWzBdID09IDAuMCIsCisgIHZhbHVlQ2hlY2s6CisgICAg
InJldHVybiAiICsKKyAgICAidmFsdWVbMF0gPT0gMC4wICYmIHZhbHVlWzFdID09IDAuMCAmJiAi
ICsKKyAgICAidmFsdWVbMl0gPT0gMC4wICYmIHZhbHVlWzNdID09IDAuMCIsCisgIHNldEZuOiBm
dW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm1NYXRyaXgyZnYobG9jLCBmYWxzZSwgWzEsIDEs
IDEsIDFdKTsgfQorfSwKK3sgdHlwZTogJ21hdDMnLAorICBjaGVjazoKKyAgICAicmV0dXJuICIg
KworICAgICJ2YWx1ZVswXVswXSA9PSAwLjAgJiYgdmFsdWVbMV1bMF0gPT0gMC4wICYmIHZhbHVl
WzJdWzBdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMF1bMV0gPT0gMC4wICYmIHZhbHVlWzFd
WzFdID09IDAuMCAmJiB2YWx1ZVsyXVsxXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzBdWzJd
ID09IDAuMCAmJiB2YWx1ZVsxXVsyXSA9PSAwLjAgJiYgdmFsdWVbMl1bMl0gPT0gMC4wIiwKKyAg
dmFsdWVDaGVjazoKKyAgICAicmV0dXJuICIgKworICAgICJ2YWx1ZVswXSA9PSAwLjAgJiYgdmFs
dWVbMV0gPT0gMC4wICYmIHZhbHVlWzJdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbM10gPT0g
MC4wICYmIHZhbHVlWzRdID09IDAuMCAmJiB2YWx1ZVs1XSA9PSAwLjAgJiYgIiArCisgICAgInZh
bHVlWzZdID09IDAuMCAmJiB2YWx1ZVs3XSA9PSAwLjAgJiYgdmFsdWVbOF0gPT0gMC4wIiwKKyAg
c2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybU1hdHJpeDNmdihsb2MsIGZhbHNl
LCBbMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMV0pOyB9Cit9LAoreyB0eXBlOiAnbWF0NCcsCisg
IGNoZWNrOgorICAgICJyZXR1cm4gIiArCisgICAgInZhbHVlWzBdWzBdID09IDAuMCAmJiB2YWx1
ZVsxXVswXSA9PSAwLjAgJiYgdmFsdWVbMl1bMF0gPT0gMC4wICYmIHZhbHVlWzNdWzBdID09IDAu
MCAmJiAiICsKKyAgICAidmFsdWVbMF1bMV0gPT0gMC4wICYmIHZhbHVlWzFdWzFdID09IDAuMCAm
JiB2YWx1ZVsyXVsxXSA9PSAwLjAgJiYgdmFsdWVbM11bMV0gPT0gMC4wICYmICIgKworICAgICJ2
YWx1ZVswXVsyXSA9PSAwLjAgJiYgdmFsdWVbMV1bMl0gPT0gMC4wICYmIHZhbHVlWzJdWzJdID09
IDAuMCAmJiB2YWx1ZVszXVsyXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzBdWzNdID09IDAu
MCAmJiB2YWx1ZVsxXVszXSA9PSAwLjAgJiYgdmFsdWVbMl1bM10gPT0gMC4wICYmIHZhbHVlWzNd
WzNdID09IDAuMCIsCisgIHZhbHVlQ2hlY2s6CisgICAgInJldHVybiAiICsKKyAgICAidmFsdWVb
IDBdID09IDAuMCAmJiB2YWx1ZVsgMV0gPT0gMC4wICYmIHZhbHVlWyAyXSA9PSAwLjAgJiYgdmFs
dWVbIDNdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbIDRdID09IDAuMCAmJiB2YWx1ZVsgNV0g
PT0gMC4wICYmIHZhbHVlWyA2XSA9PSAwLjAgJiYgdmFsdWVbIDddID09IDAuMCAmJiAiICsKKyAg
ICAidmFsdWVbIDhdID09IDAuMCAmJiB2YWx1ZVsgOV0gPT0gMC4wICYmIHZhbHVlWzEwXSA9PSAw
LjAgJiYgdmFsdWVbMTFdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMTJdID09IDAuMCAmJiB2
YWx1ZVsxM10gPT0gMC4wICYmIHZhbHVlWzE0XSA9PSAwLjAgJiYgdmFsdWVbMTVdID09IDAuMCIs
CisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm1NYXRyaXg0ZnYobG9jLCBm
YWxzZSwgWzEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDFdKTsg
fQorfSwKK3sgdHlwZTogJ3NhbXBsZXIyRCcsCisgIGNoZWNrOgorICAgICJ2ZWM0IHYgPSB0ZXh0
dXJlMkQodmFsdWUsIHZlYzIoMCwgMCkpOyIgKworICAgICJyZXR1cm4gdi54ID09IDEuMCAmJiB2
LnkgPT0gMS4wICYmIHYueiA9PSAxLjAgJiYgdi53ID09IDEuMCIsCisgIHZhbHVlQ2hlY2s6Cisg
ICAgInJldHVybiB2YWx1ZSA9PSAwIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wu
dW5pZm9ybTFpKGxvYywgMSk7IH0KK30sCit7IHR5cGU6ICdzYW1wbGVyQ3ViZScsCisgIGNoZWNr
OgorICAgICJ2ZWM0IHYgPSB0ZXh0dXJlQ3ViZSh2YWx1ZSwgdmVjMygwLCAwLCAwKSk7IiArCisg
ICAgInJldHVybiB2LnggPT0gMS4wICYmIHYueSA9PSAxLjAgJiYgdi56ID09IDEuMCAmJiB2Lncg
PT0gMS4wIiwKKyAgdmFsdWVDaGVjazoKKyAgICAicmV0dXJuIHZhbHVlID09IDAiLAorICBzZXRG
bjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMWkobG9jLCAxKTsgfQorfSwKK107CisK
K3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQo
KTsKK3ZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKK3ZhciBjaGVj
a0ZuOworCit3dHUuc2V0dXBVbml0UXVhZChnbCwgWzAsIDFdKTsKKworLy8gU2V0IHVuaXQgMCB0
byBhIG5vbi0wIHRleHR1cmUuCit2YXIgaGF2ZVZlcnRleFRleHR1cmVJbWFnZVVuaXRzID0KKyAg
ICBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRFWF9URVhUVVJFX0lNQUdFX1VOSVRTKSA+PSAy
OwordmFyIHRleDJEID0gZ2wuY3JlYXRlVGV4dHVyZSgpOwordmFyIHRleEN1YmUgPSBnbC5jcmVh
dGVUZXh0dXJlKCk7CitnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgyRCk7CitnbC5i
aW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlKTsKKwordmFyIHBpeGVsID0g
bmV3IFVpbnQ4QXJyYXkoWzI1NSwgMjU1LCAyNTUsIDI1NV0pOwordmFyIHRhcmdldHMgPSBbCisg
IGdsLlRFWFRVUkVfMkQsCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgZ2wu
VEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lU
SVZFX1ksCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgZ2wuVEVYVFVSRV9D
VUJFX01BUF9QT1NJVElWRV9aLAorICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKK107
Citmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGFyZ2V0cy5sZW5ndGg7ICsraWkpIHsKKyAgICBnbC50
ZXhJbWFnZTJEKAorICAgICAgICB0YXJnZXRzW2lpXSwgMCwgZ2wuUkdCQSwgMSwgMSwgMCwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgcGl4ZWwpOworfQorCit2YXIgc2hhZGVyVGVtcGxhdGVz
ID0gWworeyB2czogInZzaGFkZXIwIiwgZnM6ICJmc2hhZGVyMCIsIHR5cGU6ICdmJyB9LAoreyB2
czogInZzaGFkZXIxIiwgZnM6ICJmc2hhZGVyMSIsIHR5cGU6ICd2JyB9LAoreyB2czogInZzaGFk
ZXIyIiwgZnM6ICJmc2hhZGVyMiIsIHR5cGU6ICdmJyB9LAoreyB2czogInZzaGFkZXIzIiwgZnM6
ICJmc2hhZGVyMyIsIHR5cGU6ICd2JyB9LAorXTsKKworLy8gR2V0IHNoYWRlciB0ZW1wbGF0ZXMK
K2ZvciAodmFyIGlpID0gMDsgaWkgPCBzaGFkZXJUZW1wbGF0ZXMubGVuZ3RoOyArK2lpKSB7Cisg
IHZhciB0ZW1wbGF0ZSA9IHNoYWRlclRlbXBsYXRlc1tpaV07CisgIHRlbXBsYXRlLnZzID0gd3R1
LmdldFNjcmlwdCh0ZW1wbGF0ZS52cyk7CisgIHRlbXBsYXRlLmZzID0gd3R1LmdldFNjcmlwdCh0
ZW1wbGF0ZS5mcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RUeXBlKHRlc3QpIHsKKyAgZGVidWcoIiIp
OworICBkZWJ1ZygidGVzdGluZzogIiArIHRlc3QudHlwZSk7CisKKyAgZm9yICh2YXIgaWkgPSAw
OyBpaSA8IHNoYWRlclRlbXBsYXRlcy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgdGVtcGxhdGUg
PSBzaGFkZXJUZW1wbGF0ZXNbaWldOworCisgICAgaWYgKHRlc3QudHlwZS5zdWJzdHJpbmcoMCwg
NykgPT0gInNhbXBsZXIiICYmCisgICAgICAgIHRlbXBsYXRlLnR5cGUgPT0gJ3YnICYmCisgICAg
ICAgICFoYXZlVmVydGV4VGV4dHVyZUltYWdlVW5pdHMpIHsKKyAgICAgIGNvbnRpbnVlOworICAg
IH0KKworICAgIHZhciB2cyA9IHd0dS5yZXBsYWNlUGFyYW1zKHRlbXBsYXRlLnZzLCB0ZXN0KTsK
KyAgICB2YXIgZnMgPSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZS5mcywgdGVzdCk7CisKKyAg
ICB3dHUuYWRkU2hhZGVyU291cmNlKGMsICJ2ZXJ0ZXggc2hhZGVyIiwgdnMpOworICAgIHd0dS5h
ZGRTaGFkZXJTb3VyY2UoYywgImZyYWdtZW50IHNoYWRlciIsIGZzKTsKKworICAgIHZhciB2cyA9
IHd0dS5sb2FkU2hhZGVyKGdsLCB2cywgZ2wuVkVSVEVYX1NIQURFUik7CisgICAgdmFyIGZzID0g
d3R1LmxvYWRTaGFkZXIoZ2wsIGZzLCBnbC5GUkFHTUVOVF9TSEFERVIpOworICAgIHZhciBwcm9n
cmFtID0gd3R1LmNyZWF0ZVByb2dyYW0oZ2wsIHZzLCBmcyk7CisKKyAgICBnbC51c2VQcm9ncmFt
KHByb2dyYW0pOworCisgICAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFt
LCAidV91bmlmb3JtWzFdIik7CisgICAgaWYgKCFsb2MpIHsKKyAgICAgICAgdmFyIGxvYyA9IGds
LmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV91bmlmb3JtIik7CisgICAgfQorCisgICAg
dmFyIHZhbHVlID0gZ2wuZ2V0VW5pZm9ybShwcm9ncmFtLCBsb2MpOworICAgIFRlc3RFdmFsKCJj
aGVja0ZuID0gZnVuY3Rpb24odmFsdWUpIHsiICsgKHRlc3QudmFsdWVDaGVjayA/IHRlc3QudmFs
dWVDaGVjayA6IHRlc3QuY2hlY2spICsgIjt9Iik7CisgICAgaWYgKGNoZWNrRm4odmFsdWUpKSB7
CisgICAgICAgIHRlc3RQYXNzZWQoInVuaWZvcm0gaXMgemVybyIpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIHRlc3RGYWlsZWQoInVuaWZvcm0gaXMgbm90IHplcm8iKTsKKyAgICB9CisKKyAgICBk
ZWJ1ZygiZGVmYXVsdCB2YWx1ZSBzaG91bGQgYmUgemVybyIpOworICAgIHd0dS5kcmF3UXVhZChn
bCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJl
IGdyZWVuIiwgMCk7CisKKyAgICBkZWJ1ZygidGVzdCB0ZXN0IGJ5IHNldHRpbmcgdmFsdWUiKTsK
KyAgICB0ZXN0LnNldEZuKGdsLCBsb2MpOworCisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3
dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0sICJzaG91bGQgYmUgcmVkIiwgMCk7
CisKKyAgICBkZWJ1ZygicmUtbGlua2luZyBzaG91bGQgcmVzZXQgdG8gZGVmYXVsdHMiKTsKKyAg
ICBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKKworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAg
d3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIiwg
MCk7CisKKyAgICBnbC5kZWxldGVQcm9ncmFtKHByb2dyYW0pOworICAgIGdsLmRlbGV0ZVNoYWRl
cih2cyk7CisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzKTsKKworICAgIHd0dS5nbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIEdMIGVycm9ycyIpOworICB9Cit9CisK
K3ZhciB0ZXN0TmR4ID0gMDsKK2Z1bmN0aW9uIHJ1bk5leHRUZXN0KCkgeworICAgIHRlc3RUeXBl
KHRlc3RzW3Rlc3ROZHgrK10pOworICAgIGlmICh0ZXN0TmR4ID49IHRlc3RzLmxlbmd0aCkgewor
ICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc2V0VGltZW91dChy
dW5OZXh0VGVzdCwgMSk7CisgICAgfQorfQorCitydW5OZXh0VGVzdCgpOworCit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3Jt
LWxvY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM1YzZkNzkwMTc4ZTM5MjYxYjI5YmFmZmU1ODRl
YmE2NGQzMjc3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24u
aHRtbApAQCAtMCwwICsxLDExNiBAQAorPCEtLQorLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlw
dGlvbigiVGVzdHMgdGhlIFdlYkdMVW5pZm9ybUxvY2F0aW9uIEFQSSIpOworCit2YXIgd3R1ID0g
V2ViR0xUZXN0VXRpbHM7Cit2YXIgY29udGV4dEEgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7Cit2
YXIgY29udGV4dEIgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7Cit2YXIgcHJvZ3JhbUExID0gd3R1
LmxvYWRTdGFuZGFyZFByb2dyYW0oY29udGV4dEEpOwordmFyIHByb2dyYW1BMiA9IHd0dS5sb2Fk
U3RhbmRhcmRQcm9ncmFtKGNvbnRleHRBKTsKK3ZhciBwcm9ncmFtQiA9IHd0dS5sb2FkU3RhbmRh
cmRQcm9ncmFtKGNvbnRleHRCKTsKK3ZhciBwcm9ncmFtUyA9IHd0dS5sb2FkUHJvZ3JhbUZyb21G
aWxlKGNvbnRleHRBLCAiLi4vcmVzb3VyY2VzL3N0cnVjdFVuaWZvcm1TaGFkZXIudmVydCIsICIu
Li9yZXNvdXJjZXMvZnJhZ21lbnRTaGFkZXIuZnJhZyIpOwordmFyIHByb2dyYW1WID0gd3R1Lmxv
YWRQcm9ncmFtRnJvbUZpbGUoY29udGV4dEEsICIuLi9yZXNvdXJjZXMvZmxvYXRVbmlmb3JtU2hh
ZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3ZhciBs
b2NhdGlvbkEgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbUExLCAndV9tb2Rl
bFZpZXdQcm9qTWF0cml4Jyk7Cit2YXIgbG9jYXRpb25CID0gY29udGV4dEIuZ2V0VW5pZm9ybUxv
Y2F0aW9uKHByb2dyYW1CLCAndV9tb2RlbFZpZXdQcm9qTWF0cml4Jyk7Cit2YXIgbG9jYXRpb25T
eCA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfc3RydWN0LngiKTsK
K3ZhciBsb2NhdGlvblN4MjsKK3ZhciBsb2NhdGlvbkFycmF5MCA9IGNvbnRleHRBLmdldFVuaWZv
cm1Mb2NhdGlvbihwcm9ncmFtUywgInVfYXJyYXlbMF0iKTsKK3ZhciBsb2NhdGlvbkFycmF5MSA9
IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfYXJyYXlbMV0iKTsKK3Zh
ciBsb2NhdGlvblZlYzQgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVYsICJm
dmFsNCIpOworCit2YXIgdmVjID0gWzEsIDIsIDMsIDRdOwordmFyIG1hdCA9IFsxLCAyLCAzLCA0
LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNl07CisKK3Nob3VsZEdl
bmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51c2VQ
cm9ncmFtKHByb2dyYW1BMikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29u
dGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2KGxvY2F0
aW9uQSwgZmFsc2UsIG1hdCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29u
dGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1BMSkiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51
bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uQSwgZmFsc2UsIG1hdCkiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51bmlmb3JtTWF0
cml4NGZ2KG51bGwsIGZhbHNlLCBtYXQpIik7CisKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250
ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1TKSIp
Oworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNv
bnRleHRBLnVuaWZvcm0xaShsb2NhdGlvblN4LCAzMzMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJy
b3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTFmKGxvY2F0
aW9uQXJyYXkwLCA0LjApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRl
eHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTFmKGxvY2F0aW9uQXJyYXkxLCA1LjApIik7
CisKK3Nob3VsZEJlKCJjb250ZXh0QS5nZXRVbmlmb3JtKHByb2dyYW1TLCBsb2NhdGlvblN4KSIs
ICIzMzMiKTsKK3Nob3VsZEJlKCJjb250ZXh0QS5nZXRVbmlmb3JtKHByb2dyYW1TLCBsb2NhdGlv
bkFycmF5MCkiLCAiNC4wIik7CitzaG91bGRCZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFt
UywgbG9jYXRpb25BcnJheTEpIiwgIjUuMCIpOworCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29u
dGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudXNlUHJvZ3JhbShwcm9ncmFtViki
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJj
b250ZXh0QS51bmlmb3JtNGZ2KGxvY2F0aW9uVmVjNCwgdmVjKSIpOworc2hvdWxkQmUoImNvbnRl
eHRBLmdldFVuaWZvcm0ocHJvZ3JhbVYsIGxvY2F0aW9uVmVjNCkiLCAidmVjIik7CisKK3Nob3Vs
ZEJlTnVsbCgiY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1WLCBcIklEb250RXhp
c3RcIikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJS
T1IsICJjb250ZXh0QS5saW5rUHJvZ3JhbShwcm9ncmFtQTEpIik7CisvLyBBZnRlciBsaW5raW5n
IGFsbCBib3hlcyBhcmUgYmFkLgorc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250
ZXh0QS5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHRBLnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRp
b25BLCBmYWxzZSwgbWF0KSIpOworCisvLyBhZnRlciByZS1saW5raW5nIHRoZSBzYW1lIHByb2dy
YW0sIGFsbCB1bmlmb3JtIGxvY2F0aW9ucyBiZWNvbWUgaW52YWxpZC4KK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51c2VQcm9ncmFt
KHByb2dyYW1TKSIpOworY29udGV4dEEuc3RlbmNpbE1hc2soMSk7CitzaG91bGRHZW5lcmF0ZUdM
RXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEubGlua1Byb2dyYW0o
cHJvZ3JhbVMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLklO
VkFMSURfT1BFUkFUSU9OLCAiY29udGV4dEEudW5pZm9ybTFpKGxvY2F0aW9uU3gsIDMpIik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLklOVkFMSURfT1BFUkFUSU9O
LCAiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25TeCkiKTsKKworLy8gUmV0
cmlldmUgdGhlIGxvY2F0aW9ucyBhZ2FpbiwgYW5kIHRoZXkgc2hvdWxkIGJlIGdvb2QuCitsb2Nh
dGlvblN4ID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1TLCAidV9zdHJ1Y3Qu
eCIpOworbG9jYXRpb25BcnJheTAgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3Jh
bVMsICJ1X2FycmF5WzBdIik7CitkZWJ1ZygiaGVyZSIpOworY29udGV4dEEuc3RlbmNpbE1hc2so
MCk7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAi
Y29udGV4dEEudW5pZm9ybTFpKGxvY2F0aW9uU3gsIDMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJy
b3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTFmKGxvY2F0
aW9uQXJyYXkwLCAxMjMpIik7CitzaG91bGRCZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFt
UywgbG9jYXRpb25TeCkiLCAiMyIpOworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0ocHJv
Z3JhbVMsIGxvY2F0aW9uQXJyYXkwKSIsICIxMjMiKTsKKworLy8gZ2V0VW5pZm9ybUxvY2F0aW9u
IHNob3VsZCByZXR1cm4gYSBkaWZmZXJlbnQgb2JqZWN0IGV2ZXJ5dGltZSwgc2hvdWxkIG5vdCBj
YWNoZSBhbmQgcmV0dXJuIHRoZSBzYW1lIG9iamVjdAorZGVidWcoIlRlc3RpbmcgdGhhdCBnZXRV
bmlmb3JtTG9jYXRpb24gcmV0dXJucyBhIGRpZmZlcmVudCBvYmplY3QgZXZlcnl0aW1lIik7Cits
b2NhdGlvblN4ICA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfc3Ry
dWN0LngiKTsKK2xvY2F0aW9uU3gyID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dy
YW1TLCAidV9zdHJ1Y3QueCIpOworc2hvdWxkQmVGYWxzZSgibG9jYXRpb25TeCA9PT0gbG9jYXRp
b25TeDIiKTsKK2xvY2F0aW9uU3guZm9vICA9IHt9OworbG9jYXRpb25TeDIuZm9vID0ge307Citz
aG91bGRCZUZhbHNlKCJsb2NhdGlvblN4LmZvbyA9PT0gbG9jYXRpb25TeDIuZm9vIik7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBlZDU3N2QxNjAz
NDExYzU3ZTBkOTY4M2U1OWM3MDA1MTQ3YzlkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1z
L3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTEwIEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cisg
IDxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZT5XZWJHTCBzYW1wbGVy
IHVuaWZvcm1zIGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4KKyAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9
IjIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworICA8c2Ny
aXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gaW5pdCgpCit7CisgIGRlc2NyaXB0aW9uKAor
ICAgICAgIlRlc3RzIHRoYXQgb25seSBVbmlmb3JtMWkgYW5kIFVuaWZvcm0xaXYgY2FuIGJlIHVz
ZWQgdG8gc2V0IiArCisgICAgICAic2FtcGxlciB1bmlmb3Jtcy4iKTsKKworICB2YXIgY2FudmFz
MmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMmQiKTsKKworICB2YXIgd3R1ID0g
V2ViR0xUZXN0VXRpbHM7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUi
KTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworCisgIHZhciB0
ZXh0dXJlTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKworICBn
bC51bmlmb3JtMWkodGV4dHVyZUxvYywgMSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsCisgICAgICAgICAgICAidW5pZm9ybTFpIGNhbiBzZXQgYSBzYW1wbGVyIHVuaWZvcm0i
KTsKKyAgZ2wudW5pZm9ybTFpdih0ZXh0dXJlTG9jLCBbMV0pOworICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgInVuaWZvcm0xaXYgY2FuIHNldCBhIHNhbXBs
ZXIgdW5pZm9ybSIpOworICBnbC51bmlmb3JtMWYodGV4dHVyZUxvYywgMSk7CisgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAidW5pZm9ybTFm
IHJldHVybnMgSU5WQUxJRF9PUEVSQVRJT04gaWYgYXR0ZW1wdGluZyB0byBzZXQgYSBzYW1wbGVy
IHVuaWZvcm0iKTsKKyAgZ2wudW5pZm9ybTFmdih0ZXh0dXJlTG9jLCBbMV0pOworICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgInVuaWZvcm0x
ZnYgcmV0dXJucyBJTlZBTElEX09QRVJBVElPTiBpZiBhdHRlbXB0aW5nIHRvIHNldCBhIHNhbXBs
ZXIgdW5pZm9ybSIpOworCisgIHZhciBtYXhUZXh0dXJlVW5pdHMgPSBnbC5nZXRQYXJhbWV0ZXIo
Z2wuTUFYX0NPTUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFMpOworCisgIHZhciBzdWNjZXNzID0g
dHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IG1heFRleHR1cmVVbml0czsgKytpaSkgewor
ICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCBpaSk7CisgICAgc3VjY2VzcyA9IHN1Y2Nlc3Mg
JiYgKGdsLmdldEVycm9yKCkgPT0gZ2wuTk9fRVJST1IpOworICB9CisgIGV4cGVjdFRydWUoc3Vj
Y2VzcywgInVuaWZvcm0xaSB3b3JrcyBmb3IgYW55IHZhbGlkIHRleHR1cmUgdW5pdCIpOworCisg
IHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IG1heFRleHR1cmVV
bml0czsgKytpaSkgeworICAgIGdsLnVuaWZvcm0xaXYodGV4dHVyZUxvYywgW2lpXSk7CisgICAg
c3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGdsLmdldEVycm9yKCkgPT0gZ2wuTk9fRVJST1IpOworICB9
CisgIGV4cGVjdFRydWUoc3VjY2VzcywgInVuaWZvcm0xaXYgd29ya3MgZm9yIGFueSB2YWxpZCB0
ZXh0dXJlIHVuaXQiKTsKKworICB2YXIgc3VjY2VzcyA9IHRydWU7CisgIGZvciAodmFyIGlpID0g
bWF4VGV4dHVyZVVuaXRzOyBpaSA8IDB4MTAwMDA7ICsraWkpIHsKKyAgICBnbC51bmlmb3JtMWko
dGV4dHVyZUxvYywgaWkpOworICAgIHN1Y2Nlc3MgPSBzdWNjZXNzICYmIChnbC5nZXRFcnJvcigp
ID09IGdsLklOVkFMSURfVkFMVUUpOworICB9CisgIGV4cGVjdFRydWUoc3VjY2VzcywgInVuaWZv
cm0xaSBnZW5lcmF0ZXMgSU5WQUxJRF9WQUxVRSBmb3IgaW52YWxpZCB0ZXh0dXJlIHVuaXRzIik7
CisKKyAgdmFyIHN1Y2Nlc3MgPSB0cnVlOworICBmb3IgKHZhciBpaSA9IG1heFRleHR1cmVVbml0
czsgaWkgPCAweDEwMDAwOyArK2lpKSB7CisgICAgZ2wudW5pZm9ybTFpdih0ZXh0dXJlTG9jLCBb
aWldKTsKKyAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiAoZ2wuZ2V0RXJyb3IoKSA9PSBnbC5JTlZB
TElEX1ZBTFVFKTsKKyAgfQorICBleHBlY3RUcnVlKHN1Y2Nlc3MsICJ1bmlmb3JtMWl2IGdlbmVy
YXRlcyBJTlZBTElEX1ZBTFVFIGZvciBpbnZhbGlkIHRleHR1cmUgdW5pdHMiKTsKKworfQorCitp
bml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187165</attachid>
            <date>2013-02-07 13:25:29 -0800</date>
            <delta_ts>2013-02-08 19:14:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109075-20130207132204.patch</filename>
            <type>text/plain</type>
            <size>710254</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMTM5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTcwZDQwNzBhM2Q1MzNlNTY2OTFl
NTkyNjEwYjBjZTQ5MzgzMmViZC4uOTY4ZTY1MzRlODE2YjgzMmNiYWUwMzEwOTVjMTM1MTdkNjc1
YWE1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2MiBAQAorMjAxMy0wMi0wNyAgR3JlZ2cgVGF2YXJlcyAg
PGdtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZHMgZmFpbGluZyBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwOTA3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2
ZS10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRh
LXVybC10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1
ZmZlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2Nv
bnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9u
LWFuZC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1m
dW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJl
c3RyaWN0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlp
bmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmlu
Zy1hcnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQt
d29yZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJj
dWl0aW5nLW9wZXJhdG9ycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9y
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWls
YXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12
YXJ5aW5ncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3Zh
cmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
TF9TLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZl
ckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2Uy
RC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZGVsZXRlQnVmZmVyQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0Fy
cmF5cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0FycmF5c091dE9mQm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFk
QXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1Yklt
YWdlMkRIVE1MLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29z
L2Fjb3NfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRh
bl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18w
MDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29n
bGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFf
dG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVw
XzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxz
LXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9y
ZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29y
LXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmpl
Y3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29w
eS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1j
b25mb3JtYW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YjU2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiYTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiNTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1
NjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1p
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW1pcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1h
cnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZh
dWx0LXZhbHVlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLWxvY2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3Qt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3Jl
ZW4tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11
cmwtdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRy
YXdpbmctYnVmZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVz
dHJ1Y3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhz
dGVwLWdlbnR5cGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250
YWluaW5nLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1z
aG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXJzLXdpdGgtdmFyeWluZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29y
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1MX1MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLVNfVi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1Yklt
YWdlMkRCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3Vi
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhU
TUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9h
dGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xf
Zmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFt
cy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgt
aW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLXJnYmE1NTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5k
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9n
bC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFs
dWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTA3ICDD
gWTDoW0gS2FsbGFpICA8a2FkYW1AaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtRdF0gVW5y
ZXZpZXdlZCBnYXJkZW5pbmcuIEFkZGVkIHBsYXRmb3JtIHNwZWNpZmljIGV4cGVjdGVkIGZpbGVz
IGFmdGVyIHIxNDA2OTMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA3ZjRkMDA5MTM0NjdlOGExNjc3YTYwMzAwMGZiZWFiNzViNDUwZDRm
Li40NzFhMDA4OTQ4NGVlNTdhZjI0OGY3MmI3OTdkMjJiOGY2MmQ5NjU0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0MzUsNyArMTQz
NSw0NiBAQCB3ZWJraXQub3JnL2IvNzUyNzYgWyBBbmRyb2lkIF0gZmFzdC9yZXBhaW50L3NoYWRv
dy1tdWx0aXBsZS1zdHJpY3QtdmVydGljYWwuaHRtbAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBXZWJHTCBUZXN0
cwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQy
Njggd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0
bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1taXBzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9y
bWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbCBbIFNraXAgXQorY3JidWcuY29t
LzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVz
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9y
bXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmds
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sIFsgU2tpcCBd
CitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXpl
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2
OCB3ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBbIFNraXAg
XQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0
LWNhbGxzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIFsgU2tpcCBd
CiBjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4LWF0
dHJpYi16ZXJvLWlzc3Vlcy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBl
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwgWyBTa2lwIF0KK2Ny
YnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFy
cmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbCBbIFNraXAgXQorY3JidWcuY29t
LzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4
IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0t
YXJyYXktbmFtZXMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwgWyBTa2lwIF0KK2NyYnVn
LmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29y
ZC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVz
L0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjgg
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbCBbIFNr
aXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0
YW5fMDAxX3RvXzAwOC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5j
b20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwgWyBTa2lwIF0KK2Ny
YnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9v
dGhzdGVwXzAwMV90b18wMDYuaHRtbCBbIFNraXAgXQorCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbCBbIFNraXAgU2tpcCBdCitj
cmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0
ZXJhbC52ZXJ0Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbCBbIFNraXAgXQorY3JidWcu
Y29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFk
QXJncy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0
NjYgd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRt
bCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVm
ZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wv
Y29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwgWyBTa2lwIF0KK2Ny
YnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3Qu
aHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0
L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwgWyBTa2lwIF0K
K2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0
aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xMDg5MDEg
d2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwgWyBT
bG93IF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBi
ZjY3ZjIzZTg1NDhiYzdkNzM4ZTU2NzEyNTRjMzVkZTUwMjY0Mjg5Li5kYmIxZTVkODY2ZjBhZmQ1
YTRhZjUwY2Y5ODQ2ZDQ4NzAzZjc0NGNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtOTY5LDYgKzk2OSw4MSBAQCBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtZ2xvYmFsLXNlbGVjdGlvbi5odG1sCiAjIEN1cnJlbnRseSBmYWlsaW5nIFdlYkdMIHRlc3Rz
IDxyZGFyOi8vcHJvYmxlbS85MzU1NDYwPgogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCiAKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwOTA4MQord2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdp
bmdidWZmZXItdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvdG8t
ZGF0YS11cmwtdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2Nv
bnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwgWyBTa2lwIF0KK3dl
YmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24u
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5j
dGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1w
YWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1s
IFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQt
Y2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwgWyBTa2lwIF0K
K3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1s
IFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjIuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUIzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ku
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUxfUy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sIFsg
U2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2Uy
RC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbCBbIFNr
aXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJn
cy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4
ZWxzQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIFsgU2tp
cCBdCit3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1s
IFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAw
Ni5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAx
X3RvXzAwOC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9n
XzAwMV90b18wMDguaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9n
Mi9sb2cyXzAwMV90b18wMDguaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwgWyBTa2lwIF0KK3dl
YmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2
Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmli
LWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5o
dG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29y
cnVwdGlvbi5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQt
c2l6ZS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0
b3JlaS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xl
YW4tY29uZm9ybWFuY2UuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwg
WyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1
MS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2Jh
NTU1MS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwgWyBTa2lwIF0KK3dl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbCBbIFNr
aXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRt
bCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5o
dG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJz
LXRlc3QuaHRtbCBbIFNraXAgXQorCiAjIFNlbmRpbmcgdGhlIG1vdXNlIGRvd24gZXZlbnQgdG8g
dGhlIHNjcm9sbGJhciBzdGFydHMgYSBuZXN0ZWQgcnVuIGxvb3Agd2hpY2ggY2F1c2VzIGEgaGFu
Zy4KIGZhc3QvZXZlbnRzL21vdXNlZG93bi1pbi1zdWJmcmFtZS1zY3JvbGxiYXIuaHRtbAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9m
ZnNjcmVlbi10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNm
MDM1YjdiMjEzNjkxNjYwZTE0MjU3Njg4NmRhZjk1YjY0ZWE3MGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10
ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9j
YW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3Jl
ZW4tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjN2Q1MWE2YzlmODlmNDNkNmUyNTQwYzc3ODA4ZjQx
ZjBlMjZkMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVm
ZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zm
c2NyZWVuLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNTVjNWNiODVlOGE1ZmM2MDA0YjhjYWYyNDg1YjY5NWRkMWNl
OGUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2Fu
dmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVm
ZmVyLXByZXNlcnZlLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2Nh
bnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkMjJjMDIyZjE2NTA4
ZTRmZDVhYmNmZDAxOWY3ZTA3Mjk1Mzg3YjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0
ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFu
Y2UgVGVzdCBXcmFwcGVyIGZvciBidWZmZXItcHJlc2VydmUtdGVzdC5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2Fu
dmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10
ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzNjNjA0MjRhYjE5OGNiNzM0M2IzN2YxZTYx
ODU4N2M5ZGM3YTc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1
IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZh
cy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWI3YWM1YTU4ZDI1
NjliZTBmZGE5M2QzMjUyMjUyYWQ2MDM4NjUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdpbmdidWZmZXItdGVzdC5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJh
d2luZ2J1ZmZlci10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJlNGFiOWNjYjkzMjA3Yzg0ZjRjNTdkNWFjZWI1M2M2NGRhNDRhYzIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMv
dG8tZGF0YS11cmwtdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVz
dC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJs
LXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wY2QwNGQyODA4Y2FmNWM0ZGUwNWRmNmRhYjg5ODYzNGE2
ZDk4OWI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0by1k
YXRhLXVybC10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVz
dC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52
YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCIgd2lkdGg9Ijgw
MCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0
cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJh
d2luZy1idWZmZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2NTNmNDRhYzZlODdkZTJkNDVl
MmY5ODhkMWI2MDRmYTc3YzhlMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmct
YnVmZmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2
ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjYzRkMDdlMjQyZWQ3ZWFhNzYyNDYw
ZmVjMjA1OTZlOTUwMWY1MGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVm
ZmVyLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29udGV4dC1hdHRyaWJ1dGUtcHJlc2Vy
dmUtZHJhd2luZy1idWZmZXIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1h
dHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVz
ZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3
aW5nLWJ1ZmZlci5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0
aW9uLWFuZC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWU0NDlmZjY0ZTUy
ODg4YTY4ZjkzMGY1MWU4Y2E0ZTk4ZGRiNjI0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbAorUEFTUworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQt
Y3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGMyMmI4OWUwZWU1OTg5ODE0N2MyOTU5ZDc5NTg2MDk5MTBiZWZmOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1j
cmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb250
ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sIj4uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5k
LWRlc3RydWN0aW9uLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5j
dGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1z
bW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0ZTMzMDY0NDdiNjU3
ZjkxYTFjNTU4ZjNhYTEyZmIyNGVlMzZkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1z
bW9vdGhzdGVwLWdlbnR5cGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmJjMDc0YTY3ODcwMTI4ZTU2OTZk
ZjhlOGUzOGY2OTMxNmQ0NzU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5
cGUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAt
Z2VudHlwZS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xz
bC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1z
bW9vdGhzdGVwLWdlbnR5cGUuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3Rl
cC1nZW50eXBlLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZl
cnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyODE0YjQ2ODM4NTlhMmQ2M2E3OGYxZjFjOWNk
Nzk2NDJhOTcxOTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9s
aXRlcmFsLnZlcnQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hMjVhY2Q0OWNiMzk5MmVhYjBhNmNhMTcwYjIwOTgxM2VjZDNmYzBk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9s
aXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBm
bG9hdF9saXRlcmFsLnZlcnQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0
ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNr
aW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJlMGU4ZTBlZGZmMzQ4NTMzN2FkZWJiNzIwNzI1MzNiMTQyMDFj
MjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNr
aW5nLXJlc3RyaWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmYyMzUwYTI1YjcwMWI5MmU3OTAyMjhmYmYxNTNkMDExNTEyNWQ5MQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5p
Zm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNo
YWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRt
bCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2lu
Zy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kNzQzMzllNmM1OTM0YmU3MTRjZDViNjg1YmE0NjNjOTJjMzBiMDUy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZh
cnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2lu
Zy1yZXN0cmljdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE2YWNiMGZhY2Q1NTczYzhiZDU5ZjUxZDIyYjRkYjY3ZGI5Mzc0MWYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlp
bmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFk
ZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwi
Pi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12
YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0
cnVjdHMtY29udGFpbmluZy1hcnJheXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFp
bmluZy1hcnJheXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjODhjMjlhYWNiNDA0OTlkZGU0
MDMzYzE3NzM2M2FlMWIzOTMwM2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250
YWluaW5nLWFycmF5cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFp
bmluZy1hcnJheXMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWlu
aW5nLWFycmF5cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kMGExMGM5MDllZDkyNDNkYzZjNmE0YTZjZDI4MTc4ZjlhMDgxZjU0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
ci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBzaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJy
YXlzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
YXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sIj4uLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJy
YXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFy
cmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFs
LXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXBy
ZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjNkMTNkNTljODU0YTMz
YmJhMDY4NjhhMTZhMjgxMmFlODA4OGYzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUt
cHJlY2lzaW9uLW1pc21hdGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXBy
ZWNpc2lvbi1taXNtYXRjaC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJl
Y2lzaW9uLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZhYmVhNDA5M2EzNDRjNDBlYjBmNTJhMGE5MDcyMjhlMzZlYWY0NjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24t
bWlzbWF0Y2guaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwiPi4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1u
b24tcmVzZXJ2ZWQtd29yZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2UyMGM0YjI0MjNmYTVkYTNmYjZiOGM3Y2M0ZGEwNjgxMTk2YzczZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24t
cmVzZXJ2ZWQtd29yZHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
bm9uLXJlc2VydmVkLXdvcmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmEyOTllZmNhNjFjZWUyMWFlNzky
ZWU2NWRhZjY3N2JhODFmMTYxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24t
cmVzZXJ2ZWQtd29yZHMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1z
aG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVy
YXRvcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmYTdjYjZhMTQwOWI5MjdkZmFmZWRmMzEy
ZTVjYTNjNjhmZTU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmct
b3BlcmF0b3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDlhZDM4NzU4MGEyYjEwMWZiOTQ4M2NjM2E0NDgy
NWY2ZThjM2U5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3Bl
cmF0b3JzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNp
cmN1aXRpbmctb3BlcmF0b3JzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGlu
Zy1vcGVyYXRvcnMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjRjNzMzYTg0YTJjMDA0NDQ4YTJhOThjNzM4NzkzZDE0OTQ1NTQxM2MKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2lt
aWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5p
Zm9ybS1hcnJheS1uYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjRjYjU4OGM5ZDM5NGVkMTlkNDk4ZTcxN2M4YWNmODZlZjk1YjNlMGEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3Igc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3Jt
LWFycmF5LW5hbWVzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFt
ZXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjA3NzczNTJlODZmZGMwMzM0MTRjYWE2MzdmMzUyNDk0MmMxMzI4NDQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMx
OTNiNDVjMzAxZjNjODNkNjY2ODljNmVkNjQ2YWJiYjc5ZGUyN2YKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZh
cnlpbmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVycy13aXRoLXZhcnlpbmdz
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZh
cnlpbmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdp
dGgtdmFyeWluZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkNDMwM2E1NzhlZjFiYTc1ZWI2OTA1ZGRjNjExNmNlNmUw
MDM5YWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1NmY2
YTA4MmRjZjUxN2U2YTYyMmQyMmUyYmVmODQ0Y2RiMjBkZTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3Jk
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wtcG9pbnRjb29yZC5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIj4uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxl
cy9nbC1wb2ludGNvb3JkLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI2M2FjYmY2MmVhYmMxMGI5ZTJlZjYwODBmZjgyOWE0N2VjNjg4OTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDdi
MTk2M2VmMTYyYmJiNTk4NGVlNWU3YzgzODNhMTlhODgzZmM1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUEuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUEuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1B
Lmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMWQyYzJlYTg0NzM0MTYyZjgwYjQ5M2IzZjcw
OGQzODdiMjUwODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTMyMmQ0MWEyNzUzY2NkZDgzZTQ2MjI2YmJlZTNmZmU3NGY5
YmZhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIHF1aWNrQ2hlY2tBUEktQjEuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjEuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkyZjQ1YTNiZThiOTcxOWQ5MGZjNjIxOGRlYjk0YmNkY2NlNDI3NWIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODcxYTg2
YWRmOTkwYWY3M2U2NzM1ZmE0ZmI0NDJlOWMzMzQ4NTg2OAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1CMi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjIuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1C
Mi5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CMi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmZmQxNzQ3MjVkZmFmZjBiNjBkODZkNDEx
YWUzNjQ1OTg0NTE5OGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CMy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMxMDY0M2JjMDVkMDU1ZDMxZmM2ZTU0MmFlYTg0OWZj
MjBmMzkyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxh
IGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjczNmQ0ZTg3MWI5MzdkYmMxMTI1OWZiYTU2OTBhMzhjNTU1MTM1MjkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktQjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhi
ZWFlNGEzZDg1NjU4ZjUwMTJkMGIxNzU2YzJiMDczNjY0MTA3NAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1CNC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjQuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1CNC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CNC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1DLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wY2NhYmQ0Y2E3NGM2OTJlNDUxMzI1YmVl
YmE0ZWE0ZGE4ODNiNjE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1DLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1DLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUzZDZiZTY2Y2NhNDhhNjg3ZmY1MjUzN2UzNTYwNDRmNDM2
MWM2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgcXVpY2tDaGVja0FQSS1DLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktRF9HLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
MGM1Y2VkMDk5NTZhMjQ4OTYxZGRjNzk5NDE2MmU5ZGYyODJlYWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktRF9HLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLURfRy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzNWRl
M2IwNTc3MDAwNWEzNmJiODZlN2EwZWU4Y2MyODJmYjQxOTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktRF9HLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1EX0cuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1EX0cuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLURfRy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUdfSS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDhkMmU5YWJiODdhY2MyMThj
YWY4YjA5MDIyOTBmODM1NTEzY2E4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6
IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
R19JLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktR19JLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y1ZGMxYTEzNmI0ZWNmMzI3MDI1
OTQ5OWE2MWZjMjEwNzkxZDA2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0
ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFu
Y2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUdfSS5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sIj4uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19J
Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWI2MThlOTBjMGQ3NzhhNjkwZTdhMTlmNjI1MTFmOTEw
NWZhMWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUxfUy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1M
X1MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzQ4MDhkZjYzZjNlMzUxODE0YjI1YWM0NmI4NWU1YmZmOGYy
MjQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIHF1aWNrQ2hlY2tBUEktTF9TLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1MX1MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCIgd2lkdGg9Ijgw
MCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktU19WLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmEyZTgxMjc0OWY1YWVmNTY3NDQ3YjliMWU2ZDQzNDcxNDczOTcyNmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktU19WLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY3OTk4NzhkOGM3ODZiZjUyOTJjYzY0NGZlMGIzOWQ1ZmMwNGY5ZWQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktU19WLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQ
SS1TX1YuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1TX1YuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sPC9hPgor
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2J1ZmZlckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTViMGQ3Nzk4ZTZl
ODE3NWM5MTFjNDZhMGNkNDIzZDRhZGVjMjg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFy
Z3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1
ZmZlckRhdGFCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU3NjA4MTAyY2RlYzNiMTFhNmVkMTgy
ZGMyYzNlYjA3MGQzOTYyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZl
ckRhdGFCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2NvcHlUZXhJbWFnZTJELWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMzEwNGYyYzA0NzViZTMzNGMyOWE4ZTdhMWVkZGMwZTA3ZmM3ZjhmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eEltYWdlMkQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eEltYWdlMkQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2NvcHlUZXhJbWFnZTJELmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFlY2ZlODExNDBlZDQzNjg4ODUy
NGJmZmJlN2QxMGUzMzdkYmY2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgY29weVRleEltYWdlMkQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwiPi4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFn
ZTJELmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sIiB3aWR0aD0iODAwIiBoZWln
aHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFn
ZTJEQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY1MjU2M2Q5YTljMzNlMWRkMGFiOTJjMmRhM2QzNjE2MGFiZWU0NDYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5
VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTg5MzNlNDg5MjcyNmRkYjlmYjMwNzkwMmUyZmM5OGNiMTQ5ZDkxMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvcHlU
ZXhJbWFnZTJEQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFk
QXJncy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29w
eVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ3YjI1MmNiMDBmZTA5MjYzZWQxYjQwODcyZjZiMWFjNTdkMmRiZDIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5
VGV4U3ViSW1hZ2UyRC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbAorUEFTUwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjFlMDM5
NDVkZDI0Y2Q3MzI2YjA2MTNiMzI1NmI1MWI2NDhhY2E0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdl
MkQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb3B5VGV4U3ViSW1hZ2UyRC5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQu
aHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJ
bWFnZTJELmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJ
bWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjIyYWZhYWY0ZTEwMjBmY2Iz
NTBhZDQxNjhiZGE1ZDM4NTYzNTVmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eFN1YkltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
ZTI4Yzc3ZDM4NGViN2MzN2QxNDM3Mjg3MDZiN2EyMTQ4ZjVkMTVhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1
YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29weVRleFN1Yklt
YWdlMkRCYWRBcmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRC
YWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1l
Ij4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kZWxldGVCdWZmZXJCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY3ZmExOTgyYjcwYjMyODE0OWY1Mjk2OGQ4MzEzZDFhZGY3ZWRjNDYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdz
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY4YzNkNDIzNTViYjIzMTMxOGVmYzkzOWI1ZjZmMDBlYTYzOGUwNmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZGVsZXRl
QnVmZmVyQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3QXJyYXlzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZGM5ODU5NTRlNjRjYTRiOGNl
NWFiMWU3MDM4YWYyYjFhZTk2MjczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0FycmF5cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
MDJkZjU5NzFlNDQ4YjczYzQ0NWNmOGJlNTFjZTdiYzU4NjhlOWJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5
cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdBcnJheXMuaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbCI+Li4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0FycmF5cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sIiB3aWR0aD0iODAwIiBoZWln
aHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNP
dXRPZkJvdW5kcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmIyNGRlYWQ0NTJmMzllMGU1YWZkMDIzYmNmYTNmYzFhNmFjZmMzMDQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTQ5YzBkYWNiZDAyZDJmODRmYjMwYjI3NjVhNjE1YjhmMzliMWJiMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdB
cnJheXNPdXRPZkJvdW5kcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJv
dW5kcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0VsZW1lbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgxM2Mz
NWRkMzE1MjRlMjgwNTYzZjVkODliYjVjOWEyMmY0ZWQxZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVu
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wYTM3Y2Y3MTQ4YzUwNDEyOGQ0NmQ2NWFjZWRjYTc1YWExMjIy
NzBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZHJh
d0VsZW1lbnRzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
cmF3RWxlbWVudHMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyNTdkYzE2YzdhM2ZkNzkxOGRlYzQxNTgw
YTFiNWNkOTMwMTgyYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
cmF3RWxlbWVudHNCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1l
bnRzQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwMTZkMTE4ZTI3NWZjZjkwYWQ5Y2M1NDY3YzZj
NmRkNjlhODI5MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sIj4uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHNCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg0Mzk3OThkNTk1ZmJjMTAzODAxNjk1ZTUyODA3ZDhlZjQ4ZTAxMDEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kMTBiYzBlYjlkYWE4ZjVhMWYxYTQyZGE3M2U0OTQyMzI1ZWNiNzI4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBp
eGVsc0JhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciByZWFkUGl4ZWxzQmFkQXJn
cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQt
d2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVs
c0JhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Jl
YWRQaXhlbHNCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2Uy
REJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MzI4ZjYxZTVmYTQzY2JkMWM1NTll
NGI0MTJmYWNkYzAzN2M0NGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4SW1hZ2UyREJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJh
ZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjJhOTkxZDA1NDEwMGU5YjI5ZDUzZjI2N2MyYTZiNWRk
ZTkyYmYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciB0ZXhJbWFnZTJEQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFy
Z3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2Uy
REhUTUwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2ODEyN2Jh
OGNjZDJlMjczOTQzYzY5MGQxODNiZWJkZmFmM2I4NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1h
Z2UyREhUTUwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTkxNDM2NTJlM2ZmMzhmM2NmZjUwNjBlYzdkZDlh
OTg3MWZmNzM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciB0ZXhJbWFnZTJESFRNTC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbDwv
YT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1NjI2NTll
YzJiYzY3MTBmZjk5MjYyMTZhZGUxNWFhNmI1N2QzNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFk
QXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhT
dWJJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjliMTNh
ZWRiODcxNmEwMWY0MjI2NmVhNzkwMTMyMzRjYmVmYzFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJh
ZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXhTdWJJbWFnZTJEQmFkQXJncy5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2Uy
REJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4
U3ViSW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlMDMzZTM4MTkwNjM3OTgz
OWM0NmY3ODJkYjk2ZTVjYmQ1N2M4OGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDog
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3Vi
SW1hZ2UyREhUTUwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZWZiOWM2YTM2NmY1YTM5YmMwNWI4YzgyZjI3
YTMxN2M3YjQ2Y2ZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciB0ZXhTdWJJbWFnZTJESFRNTC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbCI+Li4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1h
Z2UyREhUTUwuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29z
XzAwMV90b18wMDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4
ZmQ3MjBmYTQ0NTdjZDY5YjU5NDhmZmRmNmI0N2IxZDQ0OWQ1Y2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3Rv
XzAwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAx
X3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNv
cy9hY29zXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTNjM2RmZjU4YTBjMzFiZGJiM2I3
ODgwNjhjNjYyZjFhYzY1MmJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBhY29zXzAwMV90b18wMDYuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwiPi4uLy4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3Mv
YWNvc18wMDFfdG9fMDA2Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIiB3
aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fz
aW4vYXNpbl8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zM2YyMGNjZTRjZTU3MjQ2ODM3NDhmNDE3NTBmYzAwODFlYjE4ODllCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2lu
XzAwMV90b18wMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9h
c2luXzAwMV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVz
L0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGY1OWEwMDI1YWRkZmNi
ODI2ZGIxZWE0NzkzNTBmZWI2YmZiNTZiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3IgYXNpbl8wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sIj4u
Li8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
KzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODUzYjM1NmM0NGUyYzdjZmExNGQ4NjkyOWQwMmUzMWRlNjFlNmRlZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0
YW4vYXRhbl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MTIzODQ4
OGI4NTgwMTIxY2Q0MDRmZmIxM2MzNWM3YzBiYTcyN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBD
b25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGF0YW5fMDAxX3RvXzAwOC5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDgu
aHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFf
dG9fMDA4Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxv
dy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDhjNzU1
MzVkMjE5NTkyMTA1ZDc3NzliZDUyYzIxMjA2OGNkNGZiNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9s
X2Zsb3dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFf
dG9fMDA4Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29u
dHJvbF9mbG93XzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDY4MmFhMDJmOTk3MzI0MGFj
ZTJiZDE0MmM5ODZjYzkyNDQ3OWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9f
MDA4Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29udHJvbF9mbG93XzAwMV90b18wMDgu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xf
Zmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJv
bF9mbG93XzAwMV90b18wMDguaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3df
MDAxX3RvXzAwOC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA1YWRkMTEzOTUxNWE4ZjcwODVkYTNkYzJlZjc0ZDJjMGZlYTk1
YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9sb2cvbG9nXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVz
L0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ0Yjk5OWU3
YzY4NTMxNjc1YmNjNjNmNjdlZWJhOWIyOWFjN2I1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGxvZ18wMDFfdG9fMDA4Lmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbCI+
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjgwZWE1YzNjNTRmYzk0NzdiZDYzN2EwN2U1MGQ4MTRiNDAxMmFmNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIv
bG9nMl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xv
ZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZWE4NzFhYWMw
YzM4ODE0ZDk1ODY4ZDcxZWIzZGQxOWM4NTMzMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGxvZzJfMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRt
bCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2ds
ZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9f
MDA4Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhz
dGVwXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyZTFmNjVlMmE3ZmE4NTBj
OTM1MjEwMWZkNTJhOWQyMDEzY2ZlMTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbAorUEFTUwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9v
dGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMzUzY2E4MDI0N2RjZTVjY2E0NmU4NmEyNzIzNDBlNDJiNzc1ZmQwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21v
b3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0t
IFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4g
RE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZv
ciBzbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwiPi4u
Ly4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dM
L3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVw
L3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmct
bmFtZXMtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9w
cm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY4YTRkODI3YTUxZDY1M2FjOTI0NDU4NmNhMDg4ZmRmYTcxMmIxYmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFt
cy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0
cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0
aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
cHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2YxMDhmNDg1ODcwYTNiYjg4MTg1NjQ3NTZjZTZmZDM1YmIzYzQwZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJp
bmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIGdsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sPC90aXRs
ZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10
ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3By
b2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sPC9hPgor
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wt
YmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dy
YW0tdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTUyMmNiMzIwYWVkMGI0MDNjZGUxY2I5
YjI3ZDBkYjA5Y2QzYWYwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1
IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMv
cHJvZ3JhbS10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFt
cy9wcm9ncmFtLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MGE4MGJjMmVmZjUzZjI1ZTcyNTk4ZjY2
NWQ4MjE5NzE3OTk3MjYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgcHJvZ3JhbS10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRl
c3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRl
c3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9y
ZWFkLXBpeGVscy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NGRlYjk5NGEzYTY0OWNm
NTliMTI4MTBlNzA3N2ExMGU5MGIwMzY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxz
LXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2MjFm
ZTkxZGFiOTk2MzEyNGYzY2ZiOGIxYzU3NTgwZWIwZGU0NzEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciByZWFkLXBpeGVscy10ZXN0Lmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5n
L3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE2NzgyODcxYWY1NWE5NDMxYjBiYmIzOWMzMTg4YThhYzU5OWU5ZTIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVm
ZmVyLW9iamVjdC1hdHRhY2htZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2ht
ZW50Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmpl
Y3QtYXR0YWNobWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhNGEzZGI5ZDYwYTM0NTBmMTIxZjU1ZTA3
ZTJmMzBkNDU3MjY5YzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFj
aG1lbnQuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sPC9hPgorPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9m
cmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNz
b3ItdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI4ZDk5OWQ4N2JhZjMxN2RkYjc0YWU4
NDFhZTkxM2Y2ODI1ZmZmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3Qu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzEzYzMwNDBk
OTVjNjI2NmFlYmRhZTc5YTIxYjZmZWM3ODdhYjNjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC1zY2lzc29yLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L2dsLXNjaXNzb3ItdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1
NTM2LWluZGljZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzZTQzMGYyZDk1NDM4ZTlkYjhl
MmE1NzRlOWExZGJiYjk2ODUyYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3Jl
LXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUz
Ni1pbmRpY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDY4NDQ1ZTMzYjRhOGY5Zjk1ZjBlODk0MTJhZGRi
ODhkNGYyMWU0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRl
c3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdy
YXBwZXIgZm9yIG1vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRp
Y2VzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29y
cnVwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGE4
ZmZmZjU0ZTlmOTg4ZTZjNjkwMzEwNTU3MjQ1NTNlYTUxMjY0ZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3Jy
dXB0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1j
b3JydXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
bXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0NzU0MmQ3NzIxMmM4NGZk
Mjc2MDcyOWY3ZTNlYzhhNTVkNTViMTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3Jt
YW5jZSBUZXN0IFdyYXBwZXIgZm9yIG11bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwiPi4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1z
aXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmlu
Zy9wb2ludC1zaXplLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzA5YmVkYzEwYzZhYzc0OGE4
NDg0ZjY4YTM1YTA3ZTc5YjRiYWI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL3BvaW50LXNpemUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRl
cmluZy9wb2ludC1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVlYTc2NzE0Mjk4NDQwMjhjM2E3ODgx
MWRiNWQ5OWZmYmZjNDRkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgcG9pbnQtc2l6ZS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUu
aHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL3BvaW50LXNpemUuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmpl
Y3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTEwNjI4NzJhOGFlZjRkMjI2
ZmM5ZGVkNjlhNDEwNjMxZDYxYzRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1j
YWxscy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzRh
Zjg5ZjllNTAwNDgwZjk0YmRmMzdiOWM1ODU1MjhlMzdlM2RlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBD
b25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDwvdGl0
bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbCI+Li4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxs
cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
c3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29w
eS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdkMzk3MGE1
NTgyNWI0NjgxZmFkMWQ0NTk2YjIxNDI0ZmFiNmI0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1h
dHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0y
ZC1mb3JtYXRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9j
b3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY4YzZlMGVhODBlNTcx
OGFkYTE5NjhkODliZDA5YWRiOWQxN2MzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2Nv
cHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzI3NTA5ZGIwYmYxN2Q2YzU3MjA3OTM1MWRhMDg1MDcxMmJkNzc4YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVp
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiYjdiNmU1OTQ4ZjUwZTJlZWNkMWQ5MzgxNDVmYTU1ZWU3MTlmNmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhl
bHN0b3JlaS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXBpeGVsc3RvcmVpLmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sIj4uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3Jl
aS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwv
aWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2lu
LWNsZWFuLWNvbmZvcm1hbmNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWRlMjE2M2U2MTFi
YjM2Yzk1ZDA5Y2RjMDY2ZTc0MjUyNzNlNDM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFu
Y2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1j
bGVhbi1jb25mb3JtYW5jZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliOWI5YmRhNWM2YjliYjRkMWUwODIy
MWVlZTlhNzIyNzk2ZjRlYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBvcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sIj4uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4t
Y29uZm9ybWFuY2UuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJp
ZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWI5NjI5NDQwYmJmZWQ4Yzk2MTJi
YjZmYTViMjAzZDY4N2Y2MTRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFk
NWRmYTVmMWZjYTAyM2MwZDZhYTU2ZTFkNTVhYTA5MTZkMmE1YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMTFiY2Q2Nzg1OGQyNjE1MGFjYjM2ZmM2OWI4MzY0ZWIxYjlmM2VkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiNTY1Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy1yZ2I1NjUuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjE1MDBiNzljMjhiY2YwMmE5YmRjNTMxZGFmM2M1ZTM1
MTgyMDUxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3ZjA3NDZl
NmNlY2Y3MDU4NDY0OTkwNzU1MmNmNzc5ZWI1YzE1M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy1yZ2JhNDQ0NC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2Jh
NDQ0NC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0
NDQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTMyOTQwMjM2ZTUzZWQxZTk5MDVhNjlmODAyNDMxNmMzNTU4ZmE0MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0MjA1NDYzOTg3NTI4MjFmN2Qx
MmQ5NGM0MzRhNzkwMWJlN2JiMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNh
bnZhcy1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5o
dG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1j
YW52YXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MGY3ODBiNTZlN2Y5NTNiNzYxODAwZmZjMjU2M2VhN2Zk
ZDk2MDg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0
ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFu
Y2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMu
aHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlm
cmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjRkYTI3YjQzZmU0ZWViZTAxMDNk
Nzg3MmRhMzI2NjEzOTY3MmFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGEyZWRl
OGViZGJlMTA0NmUyYzAyNjliZGM0NTQwMzEzNjFjYjY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiNTY1Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2I1NjUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2JkMmZlYTU5ODRkZTRhZTc0OWEwOTEwYmNiNGU1M2Q4MDQwMjg4OQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiNTY1Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiNTY1Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1l
Ij4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2
NS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTAxMmVmMDZlOTE3M2NlOGZkMmVhOTQ3NmVlMmQ4MjQyNDQ3ODkwMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE0NDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWI0ZmZmYjgwN2EyZTljM2Q1OTEwM2Q4NWM0
NzdmZDlkOWI3YmRkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTQ0NDQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwiPi4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiYTU1NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjYjNiNDQ5NWMyOGZi
ODUzMmQ3OTM0ZjFmODYwZWYxNjkyZWI1MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLXJnYmE1NTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE1NTUxLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1yZ2JhNTU1MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE4YWRjNDljNjk2NzVjZmZmYmM3ZmE2MGJkZjYzNDE4MzE5YjE3M2QKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1
MS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWltYWdlLXJnYmE1NTUxLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE1NTUxLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmZjc1ZTcyZjAxZGY3
Mzc3MjYyMjc2MTQ3Y2UxNWMyY2U2OTczMzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZGIxODNh
NTMyMmRmMWMxY2Y4ZDFjMmFmYzI5ODYyMTc0ZjU1ZjUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRl
by5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41OGJhNWYzMDQ3Njc0NmMxOWUxNjExNzM2MmNlMGE4ZGM1NDY1NzU1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdi
NTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGVkMTY2MWU0MjA3ZDhjMDg2OTFlYTgwOTk4Njk2ZmY2NDYx
ZjdhOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1yZ2I1NjUuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYjU2NS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlk
ZW8tcmdiYTQ0NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNhY2M3ZGMzZGM4YmMxZTQ1ZWYyNjdkZjg2NmFmODAy
MDEwMjEwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU2NDVkYTJiMjM1
NGUxMmZhZjUwZmYwYTRlZDFlZWM2Y2VjNTJhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0
NDQ0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRt
bDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFt
ZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbCIg
d2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkwMThiMDRiYmY1NjYxMmYzYzQ0ZjhjY2FlN2IwZGQ5YWRjMWUzYzEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2Jh
NTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5ZDI4YjVmOTUyYzY4YTVlY2E3YjU3NGE5YTg5Y2Y1ZmEx
ZDNmY2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0
bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkg
Z2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENv
bmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC12aWRlby1yZ2JhNTU1MS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sIj4uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC12aWRlby5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk0NzQ4YTg0NDlmNTY1MGRkNWE4NTJmNTI1MzFhYzdmYzY2NzhmODUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sIj4uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFt
ZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZl
LWJpbmQtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE2ODg1YmVkZWNmNjRjZTFmNGY0OTcz
ZDZkZTA4ZTY0NmRiZTUwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3Rp
dmUtYmluZC0yLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wN2QwZTY2YTJmZmQ2MjZhYTRkOTVkMGRmZDFiZWQyZmU3ZWRlMDE1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElU
IC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1h
Y3RpdmUtYmluZC0yLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2
ZS1iaW5kLTIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1i
aW5kLTIuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFhZjVkNDNkMzhmZjgxMjE4OTg1YzM3OWI1MmFkZTdmMDkzZDExNDgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1hY3RpdmUtYmluZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2OWExMzI2NjU0NTU0
ZTE2MThlMDVjZWI5MmE5ZTA4NzFlZTkyMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sIj4uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5k
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDgyY2EwYTkwMWFhMmM1OWYyYzMwYWZjNTg3OGQ4ZTk1
ZDU0ZTVhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtbWlwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKK1BBU1MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1t
aXBzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LW1pcHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDk2OTVhMzkyNjhlODBiZDFjM2ZiMjNkNjc0MmJiY2Zh
YTAwZDA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVy
ZS1taXBzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbCI+
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1taXBzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzc1NDdlOTU4NDMyNzA1ZmNi
MzcwMDg2YmY1NjEzMTg4YzFjZDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5w
b3QtdmlkZW8uaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY2MTIzY2ZhMWM2YmY0NTM3OTIzZjk5NjVhMzI3Y2EzNjhmZTM5MDcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5w
b3QtdmlkZW8uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXh0dXJlLW5wb3QtdmlkZW8u
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIj4u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0
dXJlLW5wb3QtdmlkZW8uaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLXNpemUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjMzRiMWFjZjNjN2FhMjFmNjg4
YjdiMmM0YjMxY2FjZTAzYjU5Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdlODAzOTNmODZiNjJjNjI5YTRkNTY3M2RmZjQzMmJlNzJkNDdkMGMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LXNpemUtbGltaXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1s
aW1pdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1zaXplLWxpbWl0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBkOThmOTI0MWZhMTgxNDhmYzVhZmU1ZTNh
OWEzZGE0YzA5NTU3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIHRleHR1cmUtc2l6ZS1saW1pdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1z
aXplLWxpbWl0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTYxNTFiN2U1
NDM4YTQ3ZDM3ZDdiZTgzN2NlNzlhNmY4MDEwYWFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1zaXplLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLXNpemUuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy9nbC11bmlmb3JtLWFycmF5cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDZiYTdiMjFkNjJjM2JlY2RjNmZjYWQyNDAzOWQxYWIxNmVkZmFkMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0t
YXJyYXlzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFy
cmF5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4OGQwZDMwZDlkZjU4ZTAxMmUzYWJjNDY3NDI2YzgwOTIy
Y2M2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGds
LXVuaWZvcm0tYXJyYXlzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3Jt
LWFycmF5cy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRlNTRjYmMzZGI3OWViMGFjYWZhOWNmYjA4NDRjOGNlNGFjNzNmZDYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91
bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiMmIy
ZmU2ZTFkZTdiODU5OWNkMDBjNDQ1MGNjOTZiYzlhMTYwNzQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFs
dWVzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1s
Ij4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91
bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1sb2NhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
NzljZTM0OTdiYmNmMGUyOGYxNDI3MjEwZTZjYjFkNGU3YzQyMWUwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yZTQzMjFhYzNmZTQyNTMwYzUxMTMzMWM0NWRkN2RkM2QwMDAxNTgzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1sb2NhdGlvbi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHVuaWZvcm0tbG9j
YXRpb24uaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1sb2NhdGlvbi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2Ft
cGxlcnMtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRm
Y2VhMjIyMDQxNTQ0NzI4ODgyYTg2Yzk4MGQ5YTJjYzE2ODRjZTcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJz
LXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMt
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9y
bS1zYW1wbGVycy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWQ0MjBkNjc2ZmE1MDRkMTYyODY4ZmEy
MDE2MjY3OTVlM2I3M2ZkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIHVuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFz
L2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVz
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI0NDYxZDliYjQxZTg4MmZhODcyYmY1NmE2NDlmNThmNmRjMDY3
ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwK
QEAgLTAsMCArMSwxMTcgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCByZXF1aXJlZCBidWZmZXIgY2xlYXIgYmVoYXZpb3VyIHRlc3Q8L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8
L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsKKyAgICBoZWlnaHQ6IDMw
MDBweDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3Zh
ciBpdGVyID0gMDsKK3ZhciBnbDE7Cit2YXIgZ2wyOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CisKK2Z1bmN0aW9uIHRpbWVyKCkgeworICAgIGlmIChpdGVyID09IDApIHsKKyAgICAgICAg
Ly8gc29tZSByYW5kb20gaGFja3kgc3R1ZmYgdG8gbWFrZSBzdXJlIHRoYXQgd2UgZ2V0IGEgY29t
cG9zaXRpbmcgc3RlcAorICAgICAgICB3aW5kb3cuc2Nyb2xsQnkoMCwgMTApOworICAgICAgICB3
aW5kb3cuc2Nyb2xsQnkoMCwgLTEwKTsKKyAgICAgICAgaXRlcisrOworCisgICAgICAgIHNldFRp
bWVvdXQodGltZXIsIDUwMCk7CisgICAgfSBlbHNlIGlmIChpdGVyID09IDEpIHsKKyAgICAgICAg
ZnVuY3Rpb24gY2xlYXIoZ2wpIHsKKyAgICAgICAgICAgIC8vIHNjaXNzb3Igd2FzIHNldCBlYXJs
aWVyCisgICAgICAgICAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDEsIDEpOworICAgICAgICAgICAg
Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgICAgIH0KKyAgICAgICAgY2xlYXIo
Z2wxKTsKKyAgICAgICAgY2xlYXIoZ2wyKTsKKworICAgICAgICBkZWJ1ZygiY2hlY2sgb24gc2Ny
ZWVuIGNhbnZhcyIpOworICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsMSwgMCwgMTAsIDEw
LCAxMCwgWzAsIDAsIDI1NSwgMjU1XSwgImNsZWFyZWQgY29ybmVyIHNob3VsZCBiZSBibHVlLCBz
dGVuY2lsIHNob3VsZCBiZSBwcmVzZXJ2ZWQiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVj
dChnbDEsIDAsIDAsIDEwLCAxMCwgWzAsIDAsIDAsIDBdLCAicmVtYWluZGVyIG9mIGJ1ZmZlciBz
aG91bGQgYmUgY2xlYXJlZCIpOworICAgICAgICBkZWJ1ZygiY2hlY2sgb2ZmIHNjcmVlbiBjYW52
YXMiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbDIsIDAsIDEwLCAxMCwgMTAsIFsw
LCAwLCAyNTUsIDI1NV0sICJjbGVhcmVkIGNvcm5lciBzaG91bGQgYmUgYmx1ZSwgc3RlbmNpbCBz
aG91bGQgYmUgcHJlc2VydmVkIik7CisgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wyLCAw
LCAwLCAxMCwgMTAsIFsyNTUsIDAsIDAsIDI1NV0sICJyZW1haW5kZXIgb2YgYnVmZmVyIHNob3Vs
ZCBiZSB1bi1jbGVhcmVkIHJlZCIpOworCisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9
CisKK2Z1bmN0aW9uIGdvKCkgeworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyBX
ZWJHTCBpbXBsZW1lbnRhdGlvbnMgY29ycmVjdGx5IGNsZWFyIHRoZSBkcmF3aW5nIGJ1ZmZlciBv
biBjb21wb3NpdGUgaWYgcHJlc2VydmVEcmF3aW5nQnVmZmVyIGlzIGZhbHNlLiIpOworCisgICAg
ZGVidWcoIiIpOworCisgICAgZ2wxID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiYyIpOworICAgIGds
MiA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKKyAgICBzaG91bGRCZVRydWUoImdsMSAhPSBudWxs
Iik7CisgICAgc2hvdWxkQmVUcnVlKCJnbDIgIT0gbnVsbCIpOworCisgICAgc2hvdWxkQmVUcnVl
KCdnbDEuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgPT0gZmFs
c2UnKTsKKyAgICBzaG91bGRCZVRydWUoJ2dsMi5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNl
cnZlRHJhd2luZ0J1ZmZlciA9PSBmYWxzZScpOworCisgICAgZnVuY3Rpb24gaW5pdChnbCkgewor
ICAgICAgICBnbC5jbGVhckNvbG9yKDEsIDAsIDAsIDEpOworICAgICAgICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCB8IGdsLlNURU5DSUxfQlVGRkVS
X0JJVCk7CisKKyAgICAgICAgLy8gZW5hYmxlIHNjaXNzb3IgaGVyZSwgYmVmb3JlIGNvbXBvc2l0
aW5nLCB0byBtYWtlIHN1cmUgaXQncyBjb3JyZWN0bHkKKyAgICAgICAgLy8gaWdub3JlZCBhbmQg
cmVzdG9yZWQKKyAgICAgICAgZ2wuc2Npc3NvcigwLCAxMCwgMTAsIDEwKTsKKyAgICAgICAgZ2wu
ZW5hYmxlKGdsLlNDSVNTT1JfVEVTVCk7CisgICAgfQorCisgICAgaW5pdChnbDEpOworICAgIGlu
aXQoZ2wyKTsKKworICAgIHNldFRpbWVvdXQodGltZXIsIDUwMCk7Cit9CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgZ28sIGZhbHNlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGNhbnZhcyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHN0eWxlPSJib3JkZXI6
IDFweCBzb2xpZCBibHVlOyIgaWQ9ImMiPjwvY2FudmFzPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2Vy
dmUtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGMxOGQxYjNiY2MxZDM4YzY0OWQxODg0NjkwMDU1NzVjZTllZjU1ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTEyIEBA
Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5j
LgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29y
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRv
IGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoq
IHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn
ZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGll
cyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl
IE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k
IHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3Bp
ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUg
TUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiog
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBP
RiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBP
UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhF
UiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgcmVx
dWlyZWQgYnVmZmVyIGNsZWFyIGJlaGF2aW91ciB0ZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgorYm9keSB7CisgICAgaGVpZ2h0OiAzMDAwcHg7Cit9Cis8L3N0eWxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCit2YXIgaXRlciA9IDA7Cit2YXIg
Z2wxOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisKK2Z1bmN0aW9uIHRpbWVyKCkgewor
ICAgIGlmIChpdGVyID09IDApIHsKKyAgICAgIGZ1bmN0aW9uIGluaXQoZ2wpIHsKKyAgICAgICAg
ICBnbC5jbGVhckNvbG9yKDEsIDAsIDAsIDEpOworICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUIHwgZ2wuU1RFTkNJTF9CVUZGRVJfQklU
KTsKKworICAgICAgICAgIC8vIGVuYWJsZSBzY2lzc29yIGhlcmUsIGJlZm9yZSBjb21wb3NpdGlu
ZywgdG8gbWFrZSBzdXJlIGl0J3MgY29ycmVjdGx5CisgICAgICAgICAgLy8gaWdub3JlZCBhbmQg
cmVzdG9yZWQKKyAgICAgICAgICBnbC5zY2lzc29yKDAsIDEwLCAxMCwgMTApOworICAgICAgICAg
IGdsLmVuYWJsZShnbC5TQ0lTU09SX1RFU1QpOworICAgICAgfQorICAgICAgaW5pdChnbDEpOwor
ICAgIH0gZWxzZSBpZiAoaXRlciA9PSAxKSB7CisgICAgICAgIC8vIHNvbWUgcmFuZG9tIGhhY2t5
IHN0dWZmIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGdldCBhIGNvbXBvc2l0aW5nIHN0ZXAKKyAgICAg
ICAgd2luZG93LnNjcm9sbEJ5KDAsIDEwKTsKKyAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIC0x
MCk7CisgICAgfSBlbHNlIGlmIChpdGVyID09IDIpIHsKKyAgICAgICAgZnVuY3Rpb24gY2xlYXIo
Z2wpIHsKKyAgICAgICAgICAgIC8vIHNjaXNzb3Igd2FzIHNldCBlYXJsaWVyCisgICAgICAgICAg
ICBnbC5jbGVhckNvbG9yKDAsIDAsIDEsIDEpOworICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09M
T1JfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAs
IDEwLCAxMCwgMTAsIFswLCAwLCAyNTUsIDI1NV0sICJjbGVhcmVkIGNvcm5lciBzaG91bGQgYmUg
Ymx1ZSwgc3RlbmNpbCBzaG91bGQgYmUgcHJlc2VydmVkIik7CisgICAgICAgICAgICB3dHUuY2hl
Y2tDYW52YXNSZWN0KGdsLCAwLCAwLCAxMCwgMTAsIFswLCAwLCAwLCAwXSwgInJlbWFpbmRlciBv
ZiBidWZmZXIgc2hvdWxkIGJlIGNsZWFyZWQiKTsKKyAgICAgICAgfQorICAgICAgICBjbGVhcihn
bDEpOworCisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGl0ZXIrKzsKKyAgICBzZXRUaW1lb3V0KHRpbWVyLCA1MDApOworfQorCitmdW5jdGlvbiBn
bygpIHsKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50
YXRpb25zIGNvcnJlY3RseSBjbGVhciB0aGUgZHJhd2luZyBidWZmZXIgb24gY29tcG9zaXRlIGlm
IHByZXNlcnZlRHJhd2luZ0J1ZmZlciBpcyBmYWxzZS4iKTsKKworICAgIGRlYnVnKCIiKTsKKwor
ICAgIGdsMSA9IHd0dS5jcmVhdGUzRENvbnRleHQoImMiKTsKKyAgICBpZiAoIWdsMSkgeworICAg
ICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzaG91bGRC
ZVRydWUoImdsMSAhPSBudWxsIik7CisgICAgc2hvdWxkQmVUcnVlKCdnbDEuZ2V0Q29udGV4dEF0
dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgPT0gZmFsc2UnKTsKKworICAgIHNldFRp
bWVvdXQodGltZXIsIDUwMCk7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
Z28sIGZhbHNlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPCEtLSBJbXBvcnRhbnQgdG8gcHV0IHRoZSBjYW52YXMgYXQgdGhl
IHRvcCBzbyB0aGF0IGl0J3MgYWx3YXlzIHZpc2libGUgZXZlbiBpbiB0aGUgdGVzdCBzdWl0ZSBy
dW5uZXIuCisgICAgIE90aGVyd2lzZSBpdCBqdXN0IGRvZXNuJ3QgZ2V0IGNvbXBvc2l0ZWQgaW4g
RmlyZWZveC4gLS0+Cis8Y2FudmFzIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgc3R5bGU9ImJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7IiBpZD0iYyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5n
YnVmZmVyLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjM3OWM2YWZhODE0M2M4NTQ0OTM3OTUxNTUz
NzNmY2NiMDRlYzI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVz
dC5odG1sCkBAIC0wLDAgKzEsMTM5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDYW52YXMuZHJhd2luZ0J1ZmZlcldpZHRoLGRyYXdpbmdC
dWZmZXJIZWlnaHQgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1ZygiIik7CisK
K3ZhciBnbDsKK3ZhciBvbGRWaWV3cG9ydDsKKworZnVuY3Rpb24gZ2V0TWF4Vmlld3BvcnREaW1l
bnNpb25zKCkgeworICAvLyBjcmVhdGUgYSBmcmVzaCBjYW52YXMuIFRoaXMgY2FudmFzIHdpbGwg
YmUgZGlzY2FyZGVkCisgIC8vIGFmdGVyIGV4aXRpbmcgdGhpcyBmdW5jdGlvbi4KKyAgdmFyIGNh
bnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICBnbCA9IHd0dS5jcmVh
dGUzRENvbnRleHQoY2FudmFzLCB7YW50aWFsaWFzOiBmYWxzZX0pOworICBpZiAoIWdsKSB7Cisg
ICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICAgIHJldHVybiBbMCwg
MF07CisgIH0gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiY29udGV4dCBleGlzdHMiKTsKKworICAg
IC8vIEZvciBhIGRlZmF1bHQgc2l6ZSBjYW52YXMgdGhlc2Ugc2hvdWxkIGJlIGVxdWFsLgorICAg
IC8vIFdlYkdMIGNvbnRleHRzIGFyZSBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhlIHNpemUgb2Yg
dGhlIGRyYXdpbmdCdWZmZXIKKyAgICAvLyBmb3IgdGhpbmdzIGxpa2UgaGktcmVzIGRpc3BsYXlz
LgorICAgIHNob3VsZEJlKCdnbC5kcmF3aW5nQnVmZmVyV2lkdGgnLCAnZ2wuY2FudmFzLndpZHRo
Jyk7CisgICAgc2hvdWxkQmUoJ2dsLmRyYXdpbmdCdWZmZXJIZWlnaHQnLCAnZ2wuY2FudmFzLmhl
aWdodCcpOworICAgIHJldHVybiBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZJRVdQT1JUX0RJTVMp
OworICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoZGVzaXJlZFdpZHRoLCBkZXNpcmVkSGVpZ2h0KSB7
CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoInRlc3RpbmcgY2FudmFzIHdpZHRoID0gIiArIGRlc2ly
ZWRXaWR0aCArICIsIGhlaWdodCA9ICIgKyBkZXNpcmVkSGVpZ2h0KTsKKworICAvLyBNYWtlIGEg
ZnJlc2ggY2FudmFzLgorICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2Fu
dmFzIik7CisgIGNhbnZhcy53aWR0aCA9IGRlc2lyZWRXaWR0aDsKKyAgY2FudmFzLmhlaWdodCA9
IGRlc2lyZWRIZWlnaHQ7CisKKyAgLy8gVGhpcyAnZ2wnIG11c3QgYmUgZ2xvYmFsIGZvciBzaG91
bGRCZSB0byB3b3JrLgorICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB7YW50aWFs
aWFzOiBmYWxzZX0pOworICBpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2Vz
IG5vdCBleGlzdCIpOworICB9IGVsc2UgeworICAgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3Rz
Iik7CisKKyAgICAvLyBWZXJpZnkgdGhlc2Ugc3RhdHMgZGlkbid0IGNoYW5nZSBzaW5jZSB0aGV5
IGNvbWUgZnJvbSBhIGRpZmZlcmVudAorICAgIC8vIGNvbnRleHQuCisgICAgc2hvdWxkQmUoJ2ds
LmdldFBhcmFtZXRlcihnbC5NQVhfVklFV1BPUlRfRElNUylbMF0nLCAnbWF4U2l6ZVswXScpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZJRVdQT1JUX0RJTVMpWzFdJywg
J21heFNpemVbMV0nKTsKKworICAgIC8vIGNoZWNrIHRoZSBpbml0aWFsIHZpZXdwb3J0IG1hdGNo
ZXMgdGhlIGRyYXdpbmdCdWZmZXJXaWR0aCBhbmQgZHJhd2luZ0J1ZmZlckhlaWdodAorICAgIHNo
b3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzBdJywgJzAnKTsKKyAgICBzaG91
bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsxXScsICcwJyk7CisgICAgc2hvdWxk
QmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbMl0nLCAnZ2wuZHJhd2luZ0J1ZmZlcldp
ZHRoJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbM10nLCAn
Z2wuZHJhd2luZ0J1ZmZlckhlaWdodCcpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJ0
ZXN0aW5nIHJlc2l6aW5nIGNhbnZhcyB0byB3aWR0aCA9ICIgKyBkZXNpcmVkV2lkdGggKyAiLCBo
ZWlnaHQgPSAiICsgZGVzaXJlZEhlaWdodCk7CisKKyAgICBvbGRWaWV3cG9ydCA9IGdsLmdldFBh
cmFtZXRlcihnbC5WSUVXUE9SVCk7CisKKyAgICAvLyBmbGlwIHdpZHRoIGFuZCBoZWlnaHQKKyAg
ICBjYW52YXMud2lkdGggPSBkZXNpcmVkSGVpZ2h0OworICAgIGNhbnZhcy5oZWlnaHQgPSBkZXNp
cmVkV2lkdGg7CisKKyAgICAvLyBWZXJpZnkgdGhlIHZpZXdwb3J0IGRpZG4ndCBjaGFuZ2UuCisg
ICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbMF0nLCAnb2xkVmlld3Bv
cnRbMF0nKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsxXScs
ICdvbGRWaWV3cG9ydFsxXScpOworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklF
V1BPUlQpWzJdJywgJ29sZFZpZXdwb3J0WzJdJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFt
ZXRlcihnbC5WSUVXUE9SVClbM10nLCAnb2xkVmlld3BvcnRbM10nKTsKKworICAgIC8vIGZpeCB0
aGUgdmlld3BvcnQKKy8vICAgIGdsLnZpZXdwb3J0KDAsIDAsIGdsLmRyYXdpbmdCdWZmZXJXaWR0
aCwgZ2wuZHJhd2luZ0J1ZmZlckhlaWdodCk7CisKKyAgICBzaG91bGRCZSgnZ2wuZ2V0RXJyb3Io
KScsICdnbC5OT19FUlJPUicpOworICB9Cit9CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsK
K3ZhciBtYXhTaXplID0gZ2V0TWF4Vmlld3BvcnREaW1lbnNpb25zKCk7CitkZWJ1ZygiTUFYX1ZJ
RVdQT1JUX0RJTVM6ICIgKyBtYXhTaXplWzBdICsgIiwgIiArIG1heFNpemVbMV0pOworCitzaG91
bGRCZVRydWUoJ21heFNpemVbMF0gPiAwJyk7CitzaG91bGRCZVRydWUoJ21heFNpemVbMV0gPiAw
Jyk7CisKKy8vIHRlc3QgYSBzbWFsbCBzaXplIHRvIG1ha2Ugc3VyZSBpdCB3b3JrcyBhdCBhbGwu
Cit0ZXN0KDE2LCAzMik7CisKKy8vIE1ha2UgYSBjYW52YXMgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4g
dGhlIG1heCBzaXplIFdlYkdMIGNhbiBoYW5kbGUuCisvLyBGcm9tIHNlY3Rpb24gMi4yIG9mIHRo
ZSBzcGVjIHRoZSBXZWJHTCBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYWxsb3cgdGhpcyB0byB3b3Jr
LgorCisvLyB0ZXN0IGEgc2l6ZSBsYXJnZXIgdGhhbiBNQVhfVklFV1BPUlRfRElNUyBpbiBib3Ro
IGRpbWVuc2lvbnMKK3Rlc3QobWF4U2l6ZVswXSArIDMyLCA4KTsKKworZGVidWcoIiIpCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRh
LXVybC10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZlOGRmZjFhODkxZTU5MzkyNzU5M2JlYmM3OWUz
YjIzOWNhYmI4NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0
bWwKQEAgLTAsMCArMSwxMzAgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCB0b0RhdGFVUkwgdGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8Y2FudmFzIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgc3R5bGU9ImJvcmRlcjogMXB4
IHNvbGlkIGJsYWNrOyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4IiBpZD0iYzNkIj48L2NhbnZh
cz4KKzxjYW52YXMgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiBzdHlsZT0iYm9yZGVyOiAxcHggc29s
aWQgYmxhY2s7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHgiIGlkPSJjMmQiPjwvY2FudmFzPgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
Cit2YXIgbnVtVGVzdHMgPSAxMDsKK3ZhciBnbDsKK3ZhciBjdHg7CisKK3ZhciBtYWluID0gZnVu
Y3Rpb24oKSB7CisgIGRlc2NyaXB0aW9uKCk7CisgIGN0eCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjMmQiKS5nZXRDb250ZXh0KCIyZCIpOworICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQo
ImMzZCIpOworCisgIGlmICghZ2wpIHsKKyAgICB0ZXN0RmFpbGVkKCJjYW4ndCBjcmVhdGUgM2Qg
Y29udGV4dCIpOworICAgIHJldHVybjsKKyAgfQorCisgIHZhciBjbGVhclJlY3QgPSBmdW5jdGlv
bihnbCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgY29sb3IpIHsKKyAgICBnbC5jbGVhckNvbG9yKGNv
bG9yWzBdIC8gMjU1LCBjb2xvclsxXSAvIDI1NSwgY29sb3JbMl0gLyAyNTUsIGNvbG9yWzNdIC8g
MjU1KTsKKyAgICBnbC5zY2lzc29yKHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgIGdsLmNsZWFy
KGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICB9OworCisgIHZhciB0ZXN0U2l6ZSA9IGZ1bmN0aW9u
KGdsLCB3aWR0aCwgaGVpZ2h0LCBjYWxsYmFjaykgeworICAgIGRlYnVnKCJ0ZXN0aW5nICIgKyB3
aWR0aCArICIgYnkgIiArIGhlaWdodCk7CisgICAgZ2wuY2FudmFzLndpZHRoID0gd2lkdGg7Cisg
ICAgZ2wuY2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgICBnbC52aWV3cG9ydCgwLCAwLCB3aWR0
aCwgaGVpZ2h0KTsKKyAgICBnbC5lbmFibGUoZ2wuU0NJU1NPUl9URVNUKTsKKworICAgIHZhciBi
b3R0b21Db2xvciA9IFsyNTUsIDAsIDAsIDI1NV07CisgICAgdmFyIHRvcENvbG9yID0gWzAsIDI1
NSwgMCwgMjU1XTsKKyAgICB2YXIgcmlnaHRDb2xvciA9IFswLCAwLCAyNTUsIDI1NV07CisgICAg
dmFyIGhhbGZIZWlnaHQgPSBNYXRoLmZsb29yKGhlaWdodCAvIDIpOworICAgIHZhciB0b3BIZWln
aHQgPSBoZWlnaHQgLSBoYWxmSGVpZ2h0OworICAgIHZhciBjYW52YXNUb3BIZWlnaHQgPSBoZWln
aHQgLSB0b3BIZWlnaHQ7CisgICAgY2xlYXJSZWN0KGdsLCAwLCAwLCB3aWR0aCwgaGFsZkhlaWdo
dCwgYm90dG9tQ29sb3IpOworICAgIGNsZWFyUmVjdChnbCwgMCwgaGFsZkhlaWdodCwgd2lkdGgs
IHRvcEhlaWdodCwgdG9wQ29sb3IpOworICAgIGNsZWFyUmVjdChnbCwgd2lkdGggLSAxLCAwLCAx
LCBoZWlnaHQsIHJpZ2h0Q29sb3IpOworCisgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOworICAg
IGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgIGN0eC5jYW52YXMud2lkdGggPSB3aWR0
aDsKKyAgICAgIGN0eC5jYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworICAgICAgY3R4LmRyYXdJbWFn
ZShpbWcsIDAsIDApOworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChjdHgsIDAsIDAsIHdpZHRo
IC0gMSwgdG9wSGVpZ2h0LCB0b3BDb2xvcik7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0
eCwgMCwgdG9wSGVpZ2h0LCB3aWR0aCAtIDEsIGhhbGZIZWlnaHQsIGJvdHRvbUNvbG9yKTsKKyAg
ICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoY3R4LCB3aWR0aCAtIDEsIDAsIDEsIGhlaWdodCwgcmln
aHRDb2xvcik7CisgICAgICBkZWJ1ZygiIik7CisgICAgICBjYWxsYmFjaygpOworICAgIH07Cisg
ICAgaW1nLnNyYyA9IGdsLmNhbnZhcy50b0RhdGFVUkwoKTsKKyAgfTsKKworICB2YXIgdGVzdHMg
PSBbCisgICAgeyB3aWR0aDogIDE2ICAgICwgaGVpZ2h0OiAgMTYgICAgLCB9LAorICAgIHsgd2lk
dGg6ICAxNiAtIDEsIGhlaWdodDogIDE2ICAgICwgfSwKKyAgICB7IHdpZHRoOiAgMTYgLSAxLCBo
ZWlnaHQ6ICAxNiAtIDEsIH0sCisgICAgeyB3aWR0aDogIDE2ICsgMSwgaGVpZ2h0OiAgMTYgLSAx
LCB9LAorICAgIHsgd2lkdGg6ICAxNiAtIDEsIGhlaWdodDogIDE2ICsgMSwgfSwKKyAgICB7IHdp
ZHRoOiAyNTYgICAgLCBoZWlnaHQ6IDI1NiAgICAsIH0sCisgICAgeyB3aWR0aDogMjU2IC0gMSwg
aGVpZ2h0OiAyNTYgICAgLCB9LAorICAgIHsgd2lkdGg6IDI1NiAtIDEsIGhlaWdodDogMjU2IC0g
MSwgfSwKKyAgICB7IHdpZHRoOiAyNTYgKyAxLCBoZWlnaHQ6IDI1NiAtIDEsIH0sCisgICAgeyB3
aWR0aDogMjU2IC0gMSwgaGVpZ2h0OiAyNTYgKyAxLCB9LAorICAgIHsgd2lkdGg6IDUxMiAgICAs
IGhlaWdodDogNTEyICAgICwgfSwKKyAgICB7IHdpZHRoOiA1MTIgLSAxLCBoZWlnaHQ6IDUxMiAg
ICAsIH0sCisgICAgeyB3aWR0aDogNTEyIC0gMSwgaGVpZ2h0OiA1MTIgLSAxLCB9LAorICAgIHsg
d2lkdGg6IDUxMiArIDEsIGhlaWdodDogNTEyIC0gMSwgfSwKKyAgICB7IHdpZHRoOiA1MTIgLSAx
LCBoZWlnaHQ6IDUxMiArIDEsIH0sCisgIF07CisgIHZhciB0ZXN0SW5kZXggPSAwOworICB2YXIg
cnVuTmV4dFRlc3QgPSBmdW5jdGlvbigpIHsKKyAgICBpZiAodGVzdEluZGV4ID09IHRlc3RzLmxl
bmd0aCkgeworICAgICAgZmluaXNoVGVzdCgpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgICB2
YXIgdGVzdCA9IHRlc3RzW3Rlc3RJbmRleCsrXTsKKyAgICB0ZXN0U2l6ZShnbCwgdGVzdC53aWR0
aCwgdGVzdC5oZWlnaHQsIGZ1bmN0aW9uKCkgeworICAgICAgc2V0VGltZW91dChydW5OZXh0VGVz
dCwgMTAwKTsKKyAgICB9KQorICB9OworICBydW5OZXh0VGVzdCgpOworfTsKK21haW4oKTsKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2lu
Zy1idWZmZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2lu
Zy1idWZmZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMThjMDZhZDRlYWI1ZWZhOTY2NjUzY2ZhODI1OWFl
YjlhOTJkZmNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1w
cmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCkBAIC0wLDAgKzEsMTIyIEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGNhbnZh
cyB7CisgICAgICAgICAgICAgICAgd2lkdGg6NTBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
NTBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5zcXVhcmUgeworICAgICAgICAgICAg
ICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrOworICAgICAgICAgICAgICAgIHdpZHRoOjUwcHg7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OjUwcHg7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1j
b2xvcjpyZWQ7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgICAgICB2YXIgd3R1ID0gV2Vi
R0xUZXN0VXRpbHM7CisgICAgICAgICAgICBmdW5jdGlvbiBjaGVja1Jlc3VsdChjdHgxLCBjdHgy
LCBwcmVzZXJ2ZSkgeworICAgICAgICAgICAgICAgIHZhciBpbWdEYXRhMSA9IGN0eDEuZ2V0SW1h
Z2VEYXRhKDAsMCwxLDEpOworICAgICAgICAgICAgICAgIHZhciBpbWdEYXRhMiA9IGN0eDIuZ2V0
SW1hZ2VEYXRhKDAsMCwxLDEpOworICAgICAgICAgICAgICAgIHZhciBjb3JyZWN0MSA9IFsyNTUs
MCwwLDI1NV07CisgICAgICAgICAgICAgICAgdmFyIGNvcnJlY3QyID0gcHJlc2VydmUgPyBbMjU1
LDAsMCwyNTVdIDogWzAsMCwwLDI1NV07CisgICAgICAgICAgICAgICAgdmFyIG9rMSA9IHRydWU7
CisgICAgICAgICAgICAgICAgdmFyIG9rMiA9IHRydWU7CisgICAgICAgICAgICAgICAgZm9yICh2
YXIgcCA9IDA7IHAgPCA0OyArK3ApIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGltZ0RhdGEx
LmRhdGFbcF0gIT0gY29ycmVjdDFbcF0pCisgICAgICAgICAgICAgICAgICAgICAgICBvazEgPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGltZ0RhdGEyLmRhdGFbcF0gIT0gY29ycmVj
dDJbcF0pCisgICAgICAgICAgICAgICAgICAgICAgICBvazIgPSBmYWxzZTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG9rMSAmJiBvazIpCisgICAgICAgICAgICAgICAg
ICAgIHRlc3RQYXNzZWQoJ1JlbmRlcmVkIG9rIHdpdGggcHJlc2VydmVEcmF3aW5nQnVmZmVyICcg
KyBwcmVzZXJ2ZSArJy4nKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoJ0RpZCBub3QgcmVuZGVyIG9rIHdpdGggcHJlc2VydmVEcmF3aW5nQnVm
ZmVyICcgKyBwcmVzZXJ2ZSArICcuJyk7CisgICAgICAgICAgICAgICAgaWYgKHByZXNlcnZlKSB7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKQorICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgIHJ1blRlc3QodHJ1ZSk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KHByZXNlcnZl
KSB7CisgICAgICAgICAgICAgICAgdmFyIGMxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Mn
ICsgKHByZXNlcnZlICogMyArIDEpKTsKKyAgICAgICAgICAgICAgICB2YXIgYzIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnYycgKyAocHJlc2VydmUgKiAzICsgMikpOworICAgICAgICAgICAg
ICAgIHZhciBjMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyArIChwcmVzZXJ2ZSAqIDMg
KyAzKSk7CisgICAgICAgICAgICAgICAgdmFyIGN0eDEgPSBjMS5nZXRDb250ZXh0KCcyZCcpOwor
ICAgICAgICAgICAgICAgIHZhciBjdHgyID0gYzIuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICAgICAg
ICAgICAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGMzLCB7IGFscGhhOmZhbHNlLCBw
cmVzZXJ2ZURyYXdpbmdCdWZmZXI6cHJlc2VydmUgfSk7CisgICAgICAgICAgICAgICAgZ2wuY2xl
YXJDb2xvcigxLCAwLCAwLCAxKTsKKyAgICAgICAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9C
VUZGRVJfQklUKTsKKyAgICAgICAgICAgICAgICBjdHgxLmRyYXdJbWFnZShjMywgMCwgMCk7Cisg
ICAgICAgICAgICAgICAgd3R1LndhaXRGb3JDb21wb3NpdGUoZ2wsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgICAgICBjdHgyLmRyYXdJbWFnZShjMywgMCwgMCk7CisgICAgICAgICAgICAg
ICAgICAgIGNoZWNrUmVzdWx0KGN0eDEsIGN0eDIsIHByZXNlcnZlKTsKKyAgICAgICAgICAgICAg
ICB9KTsKKworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjMSc+PC9j
YW52YXM+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjMic+PC9jYW52YXM+CisgICAgICAgICAg
ICA8Y2FudmFzIGlkPSdjMyc+PC9jYW52YXM+CisgICAgICAgICAgICA8c3Bhbj5zaG91bGQgbG9v
ayBhcyByaWdodCBwYXR0ZXJuPC9zcGFuPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nc3F1YXJl
Jz48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZScgc3R5bGU9J2JhY2tncm91
bmQtY29sb3I6YmxhY2snPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nc3F1YXJlJz48
L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICA8Y2FudmFz
IGlkPSdjNCc+PC9jYW52YXM+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjNSc+PC9jYW52YXM+
CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjNic+PC9jYW52YXM+CisgICAgICAgICAgICA8c3Bh
bj5zaG91bGQgbG9vayBhcyByaWdodCBwYXR0ZXJuPC9zcGFuPgorICAgICAgICAgICAgPGRpdiBj
bGFzcz0nc3F1YXJlJz48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9k
aXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSdzcXVhcmUnPjwvZGl2PgorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgICJ1c2Ugc3Ry
aWN0IjsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkgdGhhdCBwcmVzZXJ2ZURyYXdp
bmdCdWZmZXIgYXR0cmlidXRlIGlzIGhvbm9yZWQuJyk7CisgICAgICAgICAgICBydW5UZXN0KGZh
bHNlKTsKKyAgICAgICAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgICAg
ICAgICAgc2hvdWxkQmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJzZWQiKTsKKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNy
ZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFu
ZC1kZXN0cnVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwOGZjMzkxMzQwYWE3ZThlYzljMDc4NmFi
Zjc1MDdiNGZkNjE1YWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRp
b24tYW5kLWRlc3RydWN0aW9uLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdCB0aGF0IGNvbnRleHRzIGFyZSBm
cmVlZCBhbmQgZ2FyYmFnZSBjb2xsZWN0ZWQgcmVhc29uYWJseTwvdGl0bGU+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0
VXRpbHM7Cit2YXIgdGFyZ2V0ID0gNTAwOwordmFyIGNvdW50ID0gMDsKKworZGVzY3JpcHRpb24o
KTsKK2RvTmV4dFRlc3QoKTsKKworLy8gQ3JlYXRlcyBhIGNhbnZhcyBhbmQgYSB0ZXh0dXJlIHRo
ZW4gZXhpdHMuIFRoZXJlIGFyZQorLy8gbm8gcmVmZXJlbmNlcyB0byBlaXRoZXIgc28gYm90aCBz
aG91bGQgYmUgZ2FyYmFnZSBjb2xsZWN0ZWQuCitmdW5jdGlvbiB0ZXN0KCkgeworICB2YXIgY2Fu
dmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CisgIC8vIFRoaXMgaXMgc2Fm
ZSBmb3IgYW55IGRldmljZS4gU2VlIGRyYXdpbmdCdWZmZXJXaWR0aCBpbiBzcGVjLgorICBjYW52
YXMud2lkdGggPSAyMDQ4OworICBjYW52YXMuaGVpZ2h0ID0gMjA0ODsKKyAgdmFyIGdsID0gd3R1
LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICB2YXIgbWF4VGV4dHVyZVNpemUgPSBnbC5nZXRQ
YXJhbWV0ZXIoZ2wuTUFYX1RFWFRVUkVfU0laRSk7CisgIHZhciBzaXplID0gTWF0aC5taW4oMTAy
NCwgbWF4VGV4dHVyZVNpemUpOworICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICBnbC50ZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsIHNpemUsIHNpemUsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsCisgICAgICAgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoc2l6ZSAqIHNpemUgKiA0KSk7
CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAiU2hvdWxkIGJlIG5vIGVycm9ycyIpOworfQorCitmdW5jdGlvbiBkb05l
eHRUZXN0KCkgeworICArK2NvdW50OworICBkZWJ1ZygidGVzdCAiICsgY291bnQgKyAiIG9mICIg
KyB0YXJnZXQpOworICB0ZXN0KCk7CisgIGlmIChjb3VudCA8IHRhcmdldCkgeworICAgIHNldFRp
bWVvdXQoZG9OZXh0VGVzdCwgMTAwKTsKKyAgfSBlbHNlIHsKKyAgICBmaW5pc2hUZXN0KCk7Cisg
IH0KK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPC9i
b2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9u
LXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1z
bW9vdGhzdGVwLWdlbnR5cGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDBkMGEyOWIwNmMwYzZiZmMzNTY2
NGE5YTliMjM2MzhlZDExYTlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xz
bC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbApAQCAtMCwwICsxLDgwIEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPkdMU0wgc21vb3Ro
c3RlcC1nZW50eXBlIGZ1bmN0aW9uIHRlc3Q8L3RpdGxlPgorICA8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICA8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVz
dHMuY3NzIi8+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPiA8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj4gPC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZ2xz
bC1nZW5lcmF0b3IuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVz
ZSBzdHJpY3QiOworCisKK0dMU0xHZW5lcmF0b3IucnVuRmVhdHVyZVRlc3QoeworICBmZWF0dXJl
OiAic21vb3Roc3RlcCIsCisgIGFyZ3M6ICIkKHR5cGUpIGVkZ2UwLCAkKHR5cGUpIGVkZ2UxLCAk
KHR5cGUpIHZhbHVlIiwKKyAgYmFzZUFyZ3M6ICJlZGdlMCQoZmllbGQpLCBlZGdlMSQoZmllbGQp
LCB2YWx1ZSQoZmllbGQpIiwKKyAgdGVzdEZ1bmM6ICIkKGZ1bmMpKCQodHlwZSksICQodHlwZSks
ICQodHlwZSkpIiwKKyAgZW11RnVuYzogWyJmbG9hdCAkKGZ1bmMpX2Jhc2UoZmxvYXQgZWRnZTAs
IGZsb2F0IGVkZ2UxLCBmbG9hdCB2YWx1ZSkgeyIsCisgICAgICAgICAgICAiICBmbG9hdCB0ID0g
Y2xhbXAoKHZhbHVlIC0gZWRnZTApIC8gKGVkZ2UxIC0gZWRnZTApLCAwLjAsIDEuMCk7IiwKKyAg
ICAgICAgICAgICIgIHJldHVybiB0ICogdCAqICgzLjAgLSAyLjAgKiB0KTsiLAorICAgICAgICAg
ICAgIn0iXS5qb2luKCJcbiIpLAorICBncmlkUmVzOiA4LAorICB0b2xlcmFuY2U6IDEsCisgIHRl
c3RzOiBbCisgICAgWyIkKG91dHB1dCkgPSB2ZWM0KCIsCisgICAgICIgICAgJChmdW5jKSgwLjMs
IDAuNywgJChpbnB1dCkueCksIiwKKyAgICAgIiAgICAkKGZ1bmMpKDAuMiwgMC44LCAkKGlucHV0
KS55KSwiLAorICAgICAiICAgIDAsIiwKKyAgICAgIiAgICAxKTsiXS5qb2luKCJcbiIpLAorICAg
IFsiJChvdXRwdXQpID0gdmVjNCgiLAorICAgICAiICAgICQoZnVuYykodmVjMigwLjQsIDAuNiks
IHZlYzIoMC44LCAwLjkpLCAkKGlucHV0KS54eSksIiwKKyAgICAgIiAgICAwLCAxKTsiXS5qb2lu
KCJcbiIpLAorICAgIFsiJChvdXRwdXQpID0gdmVjNCgiLAorICAgICAiICAgICQoZnVuYykodmVj
MygwLjMsIDAuNSwgMC43KSwgdmVjMygwLjcsIDAuOSwgMS4wKSwgJChpbnB1dCkueHl6KSwiLAor
ICAgICAiICAgIDEpOyJdLmpvaW4oIlxuIiksCisgICAgWyIkKG91dHB1dCkgPSAiLAorICAgICAi
ICAgICQoZnVuYykodmVjNCgwLjMsIDAuNCwgMC41LCAwLjIpLCAiLAorICAgICAiICAgICAgICAg
ICAgdmVjNCgwLjcsIDAuNiwgMC45LCAwLjgpLCAiLAorICAgICAiICAgICAgICAgICAgJChpbnB1
dCkpOyJdLmpvaW4oIlxuIikKKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVy
YWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFs
LnZlcnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODhlNGUxZGE2ZThlNTdkNDUwNWJhMzc3ZTg2MjljYjI1
NGMwMTMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZl
cnQuaHRtbApAQCAtMCwwICsxLDczIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9n
bHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBpZD0idmVydGV4U2hhZGVyIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNj
cmlwdCI+CisKKy8vIHBhcnNpbmcgZmxvYXRpbmcgcG9pbnQgbGl0ZXJhbHMgc2hvdWxkIHN1Y2Nl
ZWQKK3ZvaWQgbWFpbigpIHsKKyAgZmxvYXQgemVybyA9IDAuMDsKKyAgZmxvYXQgZnJhY3Rpb25h
bENvbnN0YW50ID0gMS4wOworICBmbG9hdCBmcmFjdGlvbmFsQ29uc3RhbnRFeHBvbmVudCA9IDEu
MGUxOworICBmbG9hdCBmcmFjdGlvbmFsQ29uc3RhbnRQb3NFeHBvbmVudCA9IDEuMGUrMTsKKyAg
ZmxvYXQgZnJhY3Rpb25hbENvbnN0YW50TmVnRXhwb25lbnQgPSAxLjBlLTE7CisgIGZsb2F0IGRp
Z2l0U2VxdWVuY2VFeHBvbmVudCA9IDFlMTsKKyAgZmxvYXQgZGlnaXRTZXF1ZW5jZVBvc0V4cG9u
ZW50ID0gMWUrMTsKKyAgZmxvYXQgZGlnaXRTZXF1ZW5jZU5lZ0V4cG9uZW50ID0gMWUtMTsKKyAg
ZmxvYXQgcG9pbnREaWdpdCA9IC4xOworICBmbG9hdCBkaWdpdFBvaW50PSAxLjsKKyAgZmxvYXQg
dXBwZXJDYXNlRXhwb25lbnQgPSAxLjBFMTsKKyAgaGlnaHAgZmxvYXQgcG9zSW5SYW5nZSA9IDQ2
MTE2ODYwMTg0MjczODc5MDMuOyAgLy8gMl42MiAtIDEKKyAgaGlnaHAgZmxvYXQgcG9zT3V0UmFu
Z2UgPSA0NjExNjg2MDE4NDI3Mzg3OTA1LjsgIC8vIDJeNjIgKyAxCisgIGhpZ2hwIGZsb2F0IHBv
c0h1Z2UgPSAxRTEwMDsKKyAgaGlnaHAgZmxvYXQgbmVnSW5SYW5nZSA9IC00NjExNjg2MDE4NDI3
Mzg3OTAzLjsKKyAgaGlnaHAgZmxvYXQgbmVnT3V0UmFuZ2UgPSAtNDYxMTY4NjAxODQyNzM4Nzkw
NS47CisgIGhpZ2hwIGZsb2F0IG5lZ0h1Z2UgPSAxRTEwMDsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dD4KKyJ1c2Ugc3RyaWN0IjsKK0dMU0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0KCk7Cit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgor
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0
aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTA4YzdlN2I2MmIxYjAwNTY1YzdlYTdjYmNhYTZhZTI5NzJlMGNm
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJl
c3RyaWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMjY4IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB1bmlmb3JtIHBhY2tpbmcgcmVzdHJjdGlv
bnMgQ29uZm9ybWFuY2UgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3Qu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRo
PSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingt
c2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworICAgIHZv
aWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRpb247CisgICAg
fQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRl
eCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdmFyeWluZyB2ZWM0IHZfdmFy
eWluZzsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdl92
YXJ5aW5nOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlckFycmF5VGVzdCIg
dHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247
CisgICAgdmFyeWluZyB2ZWM0IHZfdmFyeWluZzsKKyAgICB1bmlmb3JtICQodHlwZSkgdV91bmlm
b3JtWyQobnVtVGVzdFR5cGUpXTsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgdl92
YXJ5aW5nID0gJChjb2RlKTsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAg
IH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlckFycmF5VGVzdCIgdHlwZT0ieC1zaGFk
ZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9y
bSAkKHR5cGUpIHVfdW5pZm9ybVskKG51bVRlc3RUeXBlKV07CisgICAgdm9pZCBtYWluKCkKKyAg
ICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9ICQoY29kZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJ2c2hhZGVyVW5pZm9ybVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247CisgICAgdmFyeWluZyB2ZWM0IHZfdmFy
eWluZzsKKyQodW5pZm9ybXMpCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIHZfdmFy
eWluZyA9ICQoY29kZSk7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9
Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJVbmlmb3JtVGVzdCIgdHlwZT0ieC1zaGFk
ZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CiskKHVuaWZvcm1z
KQorICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSAkKGNvZGUp
OworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9u
KCk7CitkZWJ1ZygiIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKK3ZhciB1bmlmb3JtVHlwZXMgPSBbCisgIHsg
dHlwZTogImJvb2wiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMSwgcm93czogMSwgY29kZTog
InZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJm
bG9hdCIsICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVf
dW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAiaW50IiwgICAg
ICAgICBjb21wb25lbnRzUGVyUm93OiAxLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0k
KGlkKSQoaW5kZXgpLCAwLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzIiLCAgICAgICAgY29t
cG9uZW50c1BlclJvdzogMiwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGlu
ZGV4KSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJpdmVjMiIsICAgICAgIGNvbXBvbmVudHNQZXJS
b3c6IDIsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDAp
IiwgfSwKKyAgeyB0eXBlOiAiYnZlYzIiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiAyLCByb3dz
OiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwLCAwKSIsIH0sCisgIHsg
dHlwZTogInZlYzMiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czogMSwgY29kZTog
InZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCkiLCB9LAorICB7IHR5cGU6ICJpdmVjMyIs
ICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDMsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9y
bSQoaWQpJChpbmRleCksIDApIiwgfSwKKyAgeyB0eXBlOiAiYnZlYzMiLCAgICAgICBjb21wb25l
bnRzUGVyUm93OiAzLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgp
LCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzQiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwg
cm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSkiLCB9LAorICB7IHR5
cGU6ICJpdmVjNCIsICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDEsIGNvZGU6ICJ2
ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCkpIiwgfSwKKyAgeyB0eXBlOiAiYnZlYzQiLCAgICAg
ICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlk
KSQoaW5kZXgpKSIsIH0sCisvLyBZZXMsIHRoZSBzcGVjIHNheXMgbWF0MiB0YWtlcyA0IGNvbHVt
bnMsIDIgcm93cy4KKyAgeyB0eXBlOiAibWF0MiIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0
LCByb3dzOiAyLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpWzBdLCAwLCAwKSIs
IH0sCisgIHsgdHlwZTogIm1hdDMiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czog
MywgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KVswXSwgMCkiLCB9LAorICB7IHR5
cGU6ICJtYXQ0IiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDQsIGNvZGU6ICJ2
ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleClbMF0pIiwgfSwKKy8vIFNhbXBsZXJzIGdlbmVyYWxs
eSBoYXZlIG1vcmUgcmVzdGljdGl2ZSBsaW1pdHMuCisvLyAgeyB0eXBlOiAic2FtcGxlcjJEIiwg
ICBjb21wb25lbnRzUGVyUm93OiAxLCByb3dzOiAxLCBjb2RlOiAidmVjNCh0ZXh0dXJlMkQodV91
bmlmb3JtWyQoaW5kZXgpXSwgdmVjMigwLCAwKSkpIiwgfSwKKy8vICB7IHR5cGU6ICJzYW1wbGVy
Q3ViZSIsIGNvbXBvbmVudHNQZXJSb3c6IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHRleHR1cmVD
dWJlKHVfdW5pZm9ybVskKGluZGV4KV0sIHZlYzMoMCwgMCwgMCkpKSIsIH0sCitdOworCit2YXIg
dkJhc2VTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyIik7Cit2YXIgZkJhc2VTb3VyY2Ug
PSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyIik7Cit2YXIgdkFycmF5VGVzdFNvdXJjZSA9IHd0dS5n
ZXRTY3JpcHQoInZzaGFkZXJBcnJheVRlc3QiKTsKK3ZhciBmQXJyYXlUZXN0U291cmNlID0gd3R1
LmdldFNjcmlwdCgiZnNoYWRlckFycmF5VGVzdCIpOwordmFyIHZVbmlmb3JtVGVzdFNvdXJjZSA9
IHd0dS5nZXRTY3JpcHQoInZzaGFkZXJVbmlmb3JtVGVzdCIpOwordmFyIGZVbmlmb3JtVGVzdFNv
dXJjZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXJVbmlmb3JtVGVzdCIpOworCit2YXIgdGVzdHMg
PSBbXTsKK3ZhciBzaGFkZXJUeXBlcyA9IFsKKyAgeyB0eXBlOiAidmVydGV4IiwKKyAgICAvLyBG
b3IgdGVzdHMgdGhhdCBleHBlY3QgZmFpbHVyZSB3aGljaCBzaGFkZXIgbWlnaHQgZmFpbC4KKyAg
ICB2ZXJ0RXhwZWN0YXRpb246IGZhbHNlLAorICAgIGZyYWdFeHBlY3RhdGlvbjogdHJ1ZSwKKyAg
ICB2ZXJ0QXJyYXlUZXN0OiB2QXJyYXlUZXN0U291cmNlLAorICAgIGZyYWdBcnJheVRlc3Q6IGZC
YXNlU291cmNlLAorICAgIHZlcnRVbmlmb3JtVGVzdDogdlVuaWZvcm1UZXN0U291cmNlLAorICAg
IGZyYWdVbmlmb3JtVGVzdDogZkJhc2VTb3VyY2UsCisgICAgbWF4VmVjdG9yczogZ2wuZ2V0UGFy
YW1ldGVyKGdsLk1BWF9WRVJURVhfVU5JRk9STV9WRUNUT1JTKSwKKyAgICBtaW5WZWN0b3JzOiAx
MjgsICAvLyBHTFNMIEVTIDEuMC4xNyBBcHBlbmRpeCBBLjcsCisgIH0sCisgIHsgdHlwZTogImZy
YWdtZW50IiwKKyAgICAvLyBGb3IgdGVzdHMgdGhhdCBleHBlY3QgZmFpbHVyZSB3aGljaCBzaGFk
ZXIgbWlnaHQgZmFpbC4KKyAgICB2ZXJ0RXhwZWN0YXRpb246IHRydWUsCisgICAgZnJhZ0V4cGVj
dGF0aW9uOiBmYWxzZSwKKyAgICB2ZXJ0QXJyYXlUZXN0OiB2QmFzZVNvdXJjZSwKKyAgICBmcmFn
QXJyYXlUZXN0OiBmQXJyYXlUZXN0U291cmNlLAorICAgIHZlcnRVbmlmb3JtVGVzdDogdkJhc2VT
b3VyY2UsCisgICAgZnJhZ1VuaWZvcm1UZXN0OiBmVW5pZm9ybVRlc3RTb3VyY2UsCisgICAgbWF4
VmVjdG9yczogZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlMp
LAorICAgIG1pblZlY3RvcnM6IDE2LCAgLy8gR0xTTCBFUyAxLjAuMTcgQXBwZW5kaXggQS43LAor
ICB9LAorXTsKK2ZvciAodmFyIHNzID0gMDsgc3MgPCBzaGFkZXJUeXBlcy5sZW5ndGg7ICsrc3Mp
IHsKKyAgdmFyIHNoYWRlclR5cGUgPSBzaGFkZXJUeXBlc1tzc107CisgIGRlYnVnKCJtYXggIiAr
IHNoYWRlclR5cGUudHlwZSArICI6ICIgKyBzaGFkZXJUeXBlLm1heFZlY3RvcnMpOworICBmb3Ig
KHZhciBpaSA9IDA7IGlpIDwgdW5pZm9ybVR5cGVzLmxlbmd0aDsgKytpaSkgeworICAgIHZhciBp
bmZvID0gdW5pZm9ybVR5cGVzW2lpXTsKKyAgICB3dHUubG9nKCJjaGVja2luZzogIiArIGluZm8u
dHlwZSk7CisgICAgLy8gQ29tcHV0ZSB0aGUgbWF4aW11bSBhbW91bnQgb2YgdGhpcyB0eXBlIGFs
bG93ZWQgaW4gYSBzaW5nbGUgYXJyYXkuCisgICAgdmFyIG51bVZhcnMgPSBNYXRoLmZsb29yKHNo
YWRlclR5cGUubWF4VmVjdG9ycyAvIGluZm8ucm93cyk7CisgICAgLy8gQ29tcHV0ZSB0aGUgbWlu
aW11bSByZXF1aXJlZCB0byB3b3JrIGluIGEgc2luZ2xlIGFycmF5LgorICAgIHZhciBtaW5WYXJz
ID0gTWF0aC5mbG9vcihzaGFkZXJUeXBlLm1pblZlY3RvcnMgLyBpbmZvLnJvd3MpOworICAgIC8v
IFRlc3QgYXJyYXlbMV0gb2YgdGhlIHR5cGUKKyAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFy
YW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgICAgdGVzdHMucHVzaCh7
CisgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRB
cnJheVRlc3QsIHtudW1UZXN0VHlwZTogMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgdlNo
YWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFt
cyhzaGFkZXJUeXBlLmZyYWdBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogMSwgY29kZTogY29kZX0s
IGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICBsaW5rU3VjY2Vzczog
dHJ1ZSwKKyAgICAgIHBhc3NNc2c6IHNoYWRlclR5cGUudHlwZSArICIgc2hhZGVyIHdpdGggdW5p
Zm9ybSBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRoIDEgZWxlbWVudCBzaG91bGQgc3Vj
Y2VlZCIsCisgICAgfSk7CisgICAgLy8gVGVzdCBhcnJheVttYXhdIG9mIHRoZSB0eXBlCisgICAg
Ly8gTm90ZTogV2UgY2FuJ3QgdGVzdCB0aGlzIGFzIGFjdHVhbCBHTCBkcml2ZXJzIGFyZSBvbmx5
IHJlcXVpcmVkIHRvIGJlIGFibGUgdG8KKyAgICAvLyBkbyB0aGUgbWluaW11bSBudW1iZXIuIEFm
dGVyIHRoYXQgaXQgY2FuIGZhaWwgZm9yIGFueSByZWFzb24uCisgICAgaWYgKGZhbHNlKSB7Cisg
ICAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5k
ZXg6ICJbIiArIChudW1WYXJzIC0gMSkgKyAiXSJ9KTsKKyAgICAgIHRlc3RzLnB1c2goeworICAg
ICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRBcnJh
eVRlc3QsIHtudW1UZXN0VHlwZTogbnVtVmFycywgY29kZTogY29kZX0sIGluZm8pLAorICAgICAg
ICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxh
Y2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51bVZhcnMs
IGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAg
ICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUg
KyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAi
ICsgbnVtVmFycyArICIgZWxlbWVudHMgKHRoZSBtYXhpbXVtKSBzaG91bGQgc3VjY2VlZCIsCisg
ICAgICB9KTsKKyAgICB9CisKKyAgICAvLyBUZXN0IHJlcXVpcmVkIG51bWJlciBvZiB1bmlmb3Jt
cworICAgIHZhciBjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby5jb2RlLCB7aWQ6ICIiLCBp
bmRleDogIlsiICsgKG1pblZhcnMgLSAxKSArICJdIn0pOworICAgIHRlc3RzLnB1c2goeworICAg
ICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0QXJyYXlU
ZXN0LCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIHZT
aGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJh
bXMoc2hhZGVyVHlwZS5mcmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIGNvZGU6
IGNvZGV9LCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgbGlua1N1
Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3
aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgbWluVmFycyAr
ICIgZWxlbWVudHMgKHRoZSBtaW5pbXVtIHJlcXVpcmVkKSBzaG91bGQgc3VjY2VlZCIsCisgICAg
fSk7CisKKyAgICAvLyBUZXN0IGFycmF5W21heCArIDFdIGFjY2Vzc2luZyBsYXN0IGVsZW1lbnQu
IFdlYkdMIHJlcXVpcmVzIHRoaXMgdG8gZmFpbC4KKyAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNl
UGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIG51bVZhcnMgKyAiXSJ9KTsK
KyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1z
KHNoYWRlclR5cGUudmVydEFycmF5VGVzdCwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgY29k
ZTogY29kZX0sIGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUudmVydEV4
cGVjdGF0aW9uLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVy
VHlwZS5mcmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCBjb2RlOiBjb2Rl
fSwgaW5mbyksCisgICAgICBmU2hhZGVyU3VjY2Vzczogc2hhZGVyVHlwZS5mcmFnRXhwZWN0YXRp
b24sCisgICAgICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBl
LnR5cGUgKyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIg
d2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgZWxlbWVudHMgKG9uZSBwYXN0IG1heGltdW0pIGFj
Y2Vzc2luZyBsYXN0IGVsZW1lbnQgc2hvdWxkIGZhaWwiLAorICAgIH0pOworCisgICAgLy8gVGVz
dCBhcnJheVttYXggKyAxXSBhY2Nlc3NpbmcgZmlyc3QgZWxlbWVudC4gV2ViR0wgcmVxdWlyZXMg
dGhpcyB0byBmYWlsIGJ1dCBFUyBhbGxvd3MgdHJ1bmNhdGluZyBhcnJheS4KKyAgICB2YXIgY29k
ZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7
CisgICAgdGVzdHMucHVzaCh7CisgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFt
cyhzaGFkZXJUeXBlLnZlcnRBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEsIGNv
ZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLnZlcnRF
eHBlY3RhdGlvbiwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRl
clR5cGUuZnJhZ0FycmF5VGVzdCwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgY29kZTogY29k
ZX0sIGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUuZnJhZ0V4cGVjdGF0
aW9uLAorICAgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICAgICAgcGFzc01zZzogc2hhZGVyVHlw
ZS50eXBlICsgIiBzaGFkZXIgd2l0aCB1bmlmb3JtIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAi
IHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIGVsZW1lbnRzIChvbmUgcGFzdCBtYXhpbXVtKSBh
Y2Nlc3NpbmcgZmlyc3QgZWxlbWVudCBzaG91bGQgZmFpbCIsCisgICAgfSk7CisKKyAgICAvLyBU
ZXN0IG1heCB1bmlmb3JtcyBvZiB0eXBlLgorICAgIC8vIE5vdGU6IFdlIGNhbid0IHRlc3QgdGhp
cyBhcyBhY3R1YWwgR0wgZHJpdmVycyBhcmUgb25seSByZXF1aXJlZCB0byBiZSBhYmxlIHRvCisg
ICAgLy8gZG8gdGhlIG1pbmltdW0gbnVtYmVyLiBBZnRlciB0aGF0IGl0IGNhbiBmYWlsIGZvciBh
bnkgcmVhc29uLgorICAgIGlmIChmYWxzZSkgeworICAgIH0KKworICAgIHZhciBnZW5lcmF0ZUNv
ZGUgPSBmdW5jdGlvbihudW1WYXJzKSB7CisgICAgICB2YXIgdW5pZm9ybXMgPSBbXTsKKyAgICAg
IHZhciBjb2RlcyA9IFtdOworICAgICAgZm9yICh2YXIgdXUgPSAwOyB1dSA8IG51bVZhcnM7ICsr
dXUpIHsKKyAgICAgICAgdW5pZm9ybXMucHVzaCgiICAgIHVuaWZvcm0gIiArIGluZm8udHlwZSAr
ICIgdV91bmlmb3JtIiArIHV1ICsgIjsiKTsKKyAgICAgICAgY29kZXMucHVzaCh3dHUucmVwbGFj
ZVBhcmFtcyhpbmZvLmNvZGUsIHtpZDogdXUsIGluZGV4OiAiIn0pKTsKKyAgICAgIH0KKyAgICAg
IHJldHVybiB7CisgICAgICAgIHVuaWZvcm1zOiB1bmlmb3Jtcy5qb2luKCJcbiIpLAorICAgICAg
ICBjb2RlOiBjb2Rlcy5qb2luKCIgKyBcbiAgICAgICAgICAgICIpLAorICAgICAgfTsKKyAgICB9
OworCisgICAgLy8gVGVzdCBtYXgrMSB1bmlmb3JtcyBvZiB0eXBlLgorICAgIHRlc3RzLnB1c2go
eworICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0
VW5pZm9ybVRlc3QsIGdlbmVyYXRlQ29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAgICAgdlNo
YWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUudmVydEV4cGVjdGF0aW9uLAorICAgICAgZlNoYWRlclNv
dXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnVW5pZm9ybVRlc3QsIGdlbmVy
YXRlQ29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHNoYWRl
clR5cGUuZnJhZ0V4cGVjdGF0aW9uLAorICAgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICAgICAg
cGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCAiICsgKG51bVZhcnMgKyAx
KSArICIgdW5pZm9ybXMgb2YgIiArIGluZm8udHlwZSArICIgKG9uZSBwYXN0IG1heGltdW0pIHNo
b3VsZCBmYWlsIiwKKyAgICB9KTsKKworICAgIC8vIFRlc3QgcmVxdWlyZWQgdW5pZm9ybXMgb2Yg
dHlwZS4KKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNl
UGFyYW1zKHNoYWRlclR5cGUudmVydFVuaWZvcm1UZXN0LCBnZW5lcmF0ZUNvZGUobWluVmFycyks
IGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICBmU2hhZGVyU291cmNl
OiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdVbmlmb3JtVGVzdCwgZ2VuZXJhdGVD
b2RlKG1pblZhcnMpLCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAg
bGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNo
YWRlciB3aXRoICIgKyBtaW5WYXJzICsgIiB1bmlmb3JtcyBvZiAiICsgaW5mby50eXBlICsgIiAo
dGhlIG1pbmltdW0gcmVxdWlyZWQpIHNob3VsZCBzdWNjZWVkIiwKKyAgICB9KTsKKyAgfQorfQor
R0xTTENvbmZvcm1hbmNlVGVzdGVyLnJ1blRlc3RzKHRlc3RzKTsKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjczNjQyMzI2ZjYxNDgyNmRjMDRjMTRlMDg2ZWQ0MzI1NDYzYWQzYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1s
CkBAIC0wLDAgKzEsMjIwIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCB2YXJ5aW5nIHBhY2tpbmcgcmVzdHJjdGlvbnMgQ29uZm9ybWFuY2Ug
VGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIi
PiA8L2NhbnZhcz4KKzxzY3JpcHQgaWQ9InZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247Cit2YXJ5aW5nICQodHlwZSkg
dl92YXJ5aW5nWyQobnVtVGVzdFR5cGUpXTsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRp
b24gPSBhX3Bvc2l0aW9uOworICAgICQodmNvZGUpCit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
ImZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHZhcnlpbmcgJCh0eXBlKSB2X3ZhcnlpbmdbJChudW1U
ZXN0VHlwZSldOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3Ig
PSAkKGZjb2RlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXJWYXJ5aW5n
VGVzdCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CithdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0
aW9uOworJCh2YXJ5aW5ncykKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9z
aXRpb24gPSBhX3Bvc2l0aW9uOworICAgICAgICAkKHZjb2RlKQorICAgIH0KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlclZhcnlpbmdUZXN0IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50
Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyQodmFyeWluZ3MpCisgICAgdm9pZCBt
YWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9ICQoZmNvZGUpOworICAgIH0KKzwv
c2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1Zygi
Iik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCJleGFtcGxlIik7CisKK3ZhciB2YXJ5aW5nVHlwZXMgPSBbCisgIHsgdHlwZTogImZsb2F0
IiwgICAgICAgY29tcG9uZW50c1BlclJvdzogMSwgcm93czogMSwgdmNvZGU6ICJ2X3Zhcnlpbmck
KGlkKSQoaW5kZXgpID0gMS4wOyIsICAgICAgICAgICAgICBmY29kZTogInZlYzQodl92YXJ5aW5n
JChpZCkkKGluZGV4KSwgMCwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWMyIiwgICAgICAgIGNv
bXBvbmVudHNQZXJSb3c6IDIsIHJvd3M6IDEsIHZjb2RlOiAidl92YXJ5aW5nJChpZCkkKGluZGV4
KSA9IHZlYzIoMCwgMCk7IiwgICAgICAgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRl
eCksIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAidmVjMyIsICAgICAgICBjb21wb25lbnRzUGVyUm93
OiAzLCByb3dzOiAxLCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkgPSB2ZWMzKDAsIDAs
IDApOyIsICAgIGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpLCAwKSIsIH0sCisg
IHsgdHlwZTogInZlYzQiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czogMSwgdmNv
ZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gdmVjNCgwLCAwLCAwLCAwKTsiLCBmY29kZTog
InZlYzQodl92YXJ5aW5nJChpZCkkKGluZGV4KSkiLCB9LAorLy8gWWVzLCB0aGUgc3BlYyBzYXlz
IG1hdDIgdGFrZXMgNCBjb2x1bW5zLCAyIHJvd3MuICAgIHZjb2RlOiAiIiwKKyAgeyB0eXBlOiAi
bWF0MiIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dzOiAyLCB2Y29kZTogInZfdmFy
eWluZyQoaWQpJChpbmRleCkgPSBtYXQyKDEuMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQo
aWQpJChpbmRleClbMF0sIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAibWF0MyIsICAgICAgICBjb21w
b25lbnRzUGVyUm93OiAzLCByb3dzOiAzLCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkg
PSBtYXQzKDEuMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleClbMF0sIDAp
IiwgfSwKKyAgeyB0eXBlOiAibWF0NCIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dz
OiA0LCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkgPSBtYXQ0KDEuMCk7IiwgZmNvZGU6
ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleClbMF0pIiwgfSwKK107CisKK3ZhciB2QXJyYXlU
ZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgidnNoYWRlckFycmF5VGVzdCIpOwordmFyIGZBcnJh
eVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyQXJyYXlUZXN0Iik7Cit2YXIgdlZh
cnlpbmdUZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgidnNoYWRlclZhcnlpbmdUZXN0Iik7Cit2
YXIgZlZhcnlpbmdUZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgiZnNoYWRlclZhcnlpbmdUZXN0
Iik7CisKK3ZhciBtaW5WYXJ5aW5nVmVjdG9ycyA9IDg7Cit2YXIgbWF4VmFyeWluZ1ZlY3RvcnMg
PSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZBUllJTkdfVkVDVE9SUyk7Cit2YXIgdGVzdHMgPSBb
XTsKKworZm9yICh2YXIgaWkgPSAwOyBpaSA8IHZhcnlpbmdUeXBlcy5sZW5ndGg7ICsraWkpIHsK
KyAgdmFyIGluZm8gPSB2YXJ5aW5nVHlwZXNbaWldOworICB3dHUubG9nKCJjaGVja2luZzogIiAr
IGluZm8udHlwZSk7CisgIC8vIENvbXB1dGUgdGhlIG1heGltdW0gYW1vdW50IG9mIHRoaXMgdHlw
ZSBhbGxvd2VkIGluIGEgc2luZ2xlIGFycmF5LgorICB2YXIgbnVtVmFycyA9IE1hdGguZmxvb3Io
bWF4VmFyeWluZ1ZlY3RvcnMgLyBpbmZvLnJvd3MpOworICAvLyBDb21wdXRlIHRoZSBtaW5pbXVt
IHJlcXVpcmVkIHRvIHdvcmsgaW4gYSBzaW5nbGUgYXJyYXkuCisgIHZhciBtaW5WYXJzID0gTWF0
aC5mbG9vcihtaW5WYXJ5aW5nVmVjdG9ycyAvIGluZm8ucm93cyk7CisgIC8vIFRlc3QgYXJyYXlb
MV0gb2YgdGhlIHR5cGUKKyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29k
ZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgIHZhciBmY29kZSA9IHd0dS5yZXBsYWNlUGFy
YW1zKGluZm8uZmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0pOworICB0ZXN0cy5wdXNoKHsK
KyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2QXJyYXlUZXN0U291cmNlLCB7
bnVtVGVzdFR5cGU6IDEsIHZjb2RlOiB2Y29kZX0sIGluZm8pLAorICAgIHZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RT
b3VyY2UsIHtudW1UZXN0VHlwZTogMSwgZmNvZGU6IGZjb2RlfSwgaW5mbyksCisgICAgZlNoYWRl
clN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInNo
YWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggMSBlbGVt
ZW50IHNob3VsZCBzdWNjZWVkIiwKKyAgfSk7CisgIC8vIGRvIHRoZSBtaW5pbXVtIG51bWJlci4g
QWZ0ZXIgdGhhdCBpdCBjYW4gZmFpbCBmb3IgYW55IHJlYXNvbi4KKyAgaWYgKGZhbHNlKSB7Cisg
ICAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5k
ZXg6ICJbIiArIChudW1WYXJzIC0gMSkgKyAiXSJ9KTsKKyAgICB2YXIgZmNvZGUgPSB3dHUucmVw
bGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG51bVZhcnMgLSAx
KSArICJdIn0pOworICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJl
cGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzLCB2Y29k
ZTogdmNvZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgZlNo
YWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoZkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RU
eXBlOiBudW1WYXJzLCBmY29kZTogZmNvZGV9LCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNnOiAic2hhZGVy
cyB3aXRoIHZhcnlpbmcgYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgbnVtVmFy
cyArICIgZWxlbWVudHMgKHRoZSBtYXhpbXVtKSBzaG91bGQgc3VjY2VlZCIsCisgICAgfSk7Cisg
IH0KKworICAvLyBUZXN0IHJlcXVpcmVkIG51bWJlciBvZiB1bmlmb3JtcworICB2YXIgdmNvZGUg
PSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLnZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG1p
blZhcnMgLSAxKSArICJdIn0pOworICB2YXIgZmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZv
LmZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG1pblZhcnMgLSAxKSArICJdIn0pOworICB0
ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2QXJyYXlU
ZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIHZjb2RlOiB2Y29kZX0sIGluZm8pLAor
ICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNl
UGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbWluVmFycywgZmNvZGU6IGZj
b2RlfSwgaW5mbyksCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6
IHRydWUsCisgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBp
bmZvLnR5cGUgKyAiIHdpdGggIiArIG1pblZhcnMgKyAiIGVsZW1lbnRzICh0aGUgbWluaW11bSBy
ZXF1aXJlZCkgc2hvdWxkIHN1Y2NlZWQiLAorICB9KTsKKworICAvLyBUZXN0IGFycmF5W21heCAr
IDFdIGFjY2Vzc2luZyBsYXN0IGVsZW1lbnQuIFdlYkdMIHJlcXVpcmVzIHRoaXMgdG8gZmFpbC4K
KyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5k
ZXg6ICJbIiArIG51bVZhcnMgKyAiXSJ9KTsKKyAgdmFyIGZjb2RlID0gd3R1LnJlcGxhY2VQYXJh
bXMoaW5mby5mY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIG51bVZhcnMgKyAiXSJ9KTsKKyAg
dGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXModkFycmF5
VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgdmNvZGU6IHZjb2RlfSwgaW5m
byksCisgICAgdlNoYWRlclN1Y2Nlc3M6IGZhbHNlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5y
ZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEs
IGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBs
aW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFy
cmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIGVsZW1l
bnRzIChvbmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3NpbmcgbGFzdCBlbGVtZW50IHNob3VsZCBmYWls
IiwKKyAgfSk7CisKKyAgLy8gVGVzdCBhcnJheVttYXggKyAxXSBhY2Nlc3NpbmcgZmlyc3QgZWxl
bWVudC4gV2ViR0wgcmVxdWlyZXMgdGhpcyB0byBmYWlsIGJ1dCBFUyBhbGxvd3MgdHJ1bmNhdGlu
ZyBhcnJheS4KKyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lk
OiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgIHZhciBmY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGlu
Zm8uZmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0pOworICB0ZXN0cy5wdXNoKHsKKyAgICB2
U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2QXJyYXlUZXN0U291cmNlLCB7bnVtVGVz
dFR5cGU6IG51bVZhcnMgKyAxLCB2Y29kZTogdmNvZGV9LCBpbmZvKSwKKyAgICB2U2hhZGVyU3Vj
Y2VzczogZmFsc2UsCisgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoZkFycmF5
VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgZmNvZGU6IGZjb2RlfSwgaW5m
byksCisgICAgZlNoYWRlclN1Y2Nlc3M6IGZhbHNlLAorICAgIGxpbmtTdWNjZXNzOiBmYWxzZSwK
KyAgICBwYXNzTXNnOiAic2hhZGVycyB3aXRoIHZhcnlpbmcgYXJyYXkgb2YgIiArIGluZm8udHlw
ZSArICIgd2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgZWxlbWVudHMgKG9uZSBwYXN0IG1heGlt
dW0pIGFjY2Vzc2luZyBmaXJzdCBlbGVtZW50IHNob3VsZCBmYWlsIiwKKyAgfSk7CisKKyAgLy8g
VGVzdCBtYXggdW5pZm9ybXMgb2YgdHlwZS4KKyAgLy8gTm90ZTogV2UgY2FuJ3QgdGVzdCB0aGlz
IGFzIGFjdHVhbCBHTCBkcml2ZXJzIGFyZSBvbmx5IHJlcXVpcmVkIHRvIGJlIGFibGUgdG8KKyAg
Ly8gZG8gdGhlIG1pbmltdW0gbnVtYmVyLiBBZnRlciB0aGF0IGl0IGNhbiBmYWlsIGZvciBhbnkg
cmVhc29uLgorICBpZiAoZmFsc2UpIHsKKyAgfQorCisgIHZhciBnZW5lcmF0ZUNvZGUgPSBmdW5j
dGlvbihudW1WYXJzKSB7CisgICAgdmFyIHZhcnlpbmdzID0gW107CisgICAgdmFyIHZjb2RlcyA9
IFtdOworICAgIHZhciBmY29kZXMgPSBbXTsKKyAgICBmb3IgKHZhciB1dSA9IDA7IHV1IDwgbnVt
VmFyczsgKyt1dSkgeworICAgICAgdmFyeWluZ3MucHVzaCgiICAgIHZhcnlpbmcgIiArIGluZm8u
dHlwZSArICIgdl92YXJ5aW5nIiArIHV1ICsgIjsiKTsKKyAgICAgIHZjb2Rlcy5wdXNoKHd0dS5y
ZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogdXUsIGluZGV4OiAiIn0pKTsKKyAgICAgIGZj
b2Rlcy5wdXNoKHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNvZGUsIHtpZDogdXUsIGluZGV4OiAi
In0pKTsKKyAgICB9CisgICAgcmV0dXJuIHsKKyAgICAgIHZhcnlpbmdzOiB2YXJ5aW5ncy5qb2lu
KCJcbiIpLAorICAgICAgdmNvZGU6IHZjb2Rlcy5qb2luKCJcbiAgICAgICAgICAgICIpLAorICAg
ICAgZmNvZGU6IGZjb2Rlcy5qb2luKCIgKyBcbiAgICAgICAgICAgICIpLAorICAgIH07CisgIH07
CisKKyAgLy8gVGVzdCBtYXgrMSB2YXJ5aW5ncyBvZiB0eXBlLgorICB0ZXN0cy5wdXNoKHsKKyAg
ICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2VmFyeWluZ1Rlc3RTb3VyY2UsIGdl
bmVyYXRlQ29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAgIHZTaGFkZXJTdWNjZXNzOiBmYWxz
ZSwKKyAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmVmFyeWluZ1Rlc3RTb3Vy
Y2UsIGdlbmVyYXRlQ29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNz
OiBmYWxzZSwKKyAgICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzogInNoYWRlcnMg
d2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgdmFyeWluZ3Mgb2YgIiArIGluZm8udHlwZSArICIg
KG9uZSBwYXN0IG1heGltdW0pIHNob3VsZCBmYWlsIiwKKyAgfSk7CisKKyAgLy8gVGVzdCByZXF1
aXJlZCB2YXJ5aW5ncyBvZiB0eXBlLgorICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNl
OiB3dHUucmVwbGFjZVBhcmFtcyh2VmFyeWluZ1Rlc3RTb3VyY2UsIGdlbmVyYXRlQ29kZShtaW5W
YXJzKSwgaW5mbyksCisgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgZlNoYWRlclNvdXJj
ZTogd3R1LnJlcGxhY2VQYXJhbXMoZlZhcnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNvZGUobWlu
VmFycyksIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNjZXNz
OiB0cnVlLAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggIiArIG1pblZhcnMgKyAiIHZhcnlp
bmdzIG9mICIgKyBpbmZvLnR5cGUgKyAiICh0aGUgbWluaW11bSByZXF1aXJlZCkgc2hvdWxkIHN1
Y2NlZWQiLAorICB9KTsKK30KKworR0xTTENvbmZvcm1hbmNlVGVzdGVyLnJ1blRlc3RzKHRlc3Rz
KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1
Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXkt
b2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkYzY4YTk0MmQ2
NDRmN2YwZmYzZTZmZjVhMjFkYTIxYmFmYTc3MWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sCkBA
IC0wLDAgKzEsMTU3IEBACisKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPkdMU0wgQXJyYXkgb2YgU3RydWN0cyBDb250YWluaW5nIEFycmF5czwvdGl0bGU+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJ2c2hhZGVy
IiwgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsK
K3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMCIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CitzdHJ1Y3QgbXlfc3RydWN0IHsKKyAgdmVjNCBj
b2xvclsyXTsKK307Cit1bmlmb3JtIG15X3N0cnVjdCB1X2NvbG9yc1syXTsKK3ZvaWQgbWFpbih2
b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9jb2xvcnNbMF0uY29sb3JbMF07Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIxIiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3N0cnVjdCBteV9zdHJ1Y3QgeworICB2ZWM0IGNv
bG9yWzJdOworfTsKK3VuaWZvcm0gbXlfc3RydWN0IHVfY29sb3JzWzJdOwordm9pZCBtYWluKHZv
aWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X2NvbG9yc1swXS5jb2xvclsxXTsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlci13aXRoLW9uZS1lbGVtZW50LWFycmF5cyIsIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CitzdHJ1Y3Qg
bXlfc3RydWN0IHsKKyAgdmVjNCBjb2xvclsxXTsKK307Cit1bmlmb3JtIG15X3N0cnVjdCB1X2Nv
bG9yc1sxXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9jb2xvcnNb
MF0uY29sb3JbMF07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIzIiwgdHlwZT0i
eC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3N0cnVjdCBt
eV9zdHJ1Y3QgeworICB2ZWM0IGNvbG9yMVsyXTsKKyAgdmVjNCBjb2xvcjJbMl07Cit9OwordW5p
Zm9ybSBteV9zdHJ1Y3QgdV9jb2xvcnNbMl07Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX0Zy
YWdDb2xvciA9IHVfY29sb3JzWzBdLmNvbG9yMVswXSArIHVfY29sb3JzWzBdLmNvbG9yMlswXSAr
IHVfY29sb3JzWzFdLmNvbG9yMVsxXSArdV9jb2xvcnNbMV0uY29sb3IyWzFdOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWln
aHQ9IjUwIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7
CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoImNhbnZhcyIpOword3R1LnNldHVwVW5pdFF1YWQoZ2wpOworCitmb3IgKHZhciBpaSA9IDA7
IGlpIDwgMjsgKytpaSkgeworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsi
dnNoYWRlciIsICJmc2hhZGVyIiArIGlpXSwgWyJhX3Bvc2l0aW9uIl0pOworICB2YXIgcmVkX2xv
YyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMF0uY29sb3JbIiAr
IGlpICArICJdIik7CisgIHZhciBncmVlbl9sb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJv
Z3JhbSwgInVfY29sb3JzWzBdLmNvbG9yWyIgKyAoMSAtIGlpKSArICJdIik7CisgIGdsLnVuaWZv
cm00ZnYocmVkX2xvYywgWzEsIDAsIDAsIDFdKTsKKyAgZ2wudW5pZm9ybTRmdihncmVlbl9sb2Ms
IFswLCAxLCAwLCAxXSk7CisgIHd0dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhn
bCwgWzI1NSwgMCwgMCwgMjU1XSwgIlNob3VsZCBiZSByZWQiKTsKK30KKwordmFyIHByb2dyYW0g
PSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlci13aXRoLW9uZS1lbGVt
ZW50LWFycmF5cyJdLCBbImFfcG9zaXRpb24iXSk7Cit2YXIgZ3JlZW5fbG9jID0gZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1swXS5jb2xvclswXSIpOworZ2wudW5pZm9y
bTRmdihncmVlbl9sb2MsIFswLCAxLCAwLCAxXSk7Cit3dHUuZHJhd1F1YWQoZ2wpOword3R1LmNo
ZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAiU2hvdWxkIGJlIGdyZWVuIik7CisKK3Zh
ciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIzIl0s
IFsiYV9wb3NpdGlvbiJdKTsKK3ZhciBudW1Vbmlmb3JtcyA9IGdsLmdldFByb2dyYW1QYXJhbWV0
ZXIocHJvZ3JhbSwgZ2wuQUNUSVZFX1VOSUZPUk1TKTsKK3Nob3VsZEJlKCJudW1Vbmlmb3JtcyIs
ICI0Iik7Cit2YXIgdW5pZm9ybXMgPSBbXQorZm9yICh2YXIgaWkgPSAwOyBpaSA8IG51bVVuaWZv
cm1zOyArK2lpKSB7CisgIHVuaWZvcm1zLnB1c2goZ2wuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFt
LCBpaSkubmFtZSk7Cit9Cit1bmlmb3Jtcy5zb3J0KCk7CitzaG91bGRCZSgidW5pZm9ybXNbMF0i
LCAnInVfY29sb3JzWzBdLmNvbG9yMVswXSInKTsKK3Nob3VsZEJlKCJ1bmlmb3Jtc1sxXSIsICci
dV9jb2xvcnNbMF0uY29sb3IyWzBdIicpOworc2hvdWxkQmUoInVuaWZvcm1zWzJdIiwgJyJ1X2Nv
bG9yc1sxXS5jb2xvcjFbMF0iJyk7CitzaG91bGRCZSgidW5pZm9ybXNbM10iLCAnInVfY29sb3Jz
WzFdLmNvbG9yMlswXSInKTsKK3ZhciBsb2MwMCA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9n
cmFtLCAidV9jb2xvcnNbMF0uY29sb3IxIik7Cit2YXIgbG9jMDEgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzBdLmNvbG9yMiIpOwordmFyIGxvYzEwID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1sxXS5jb2xvcjEiKTsKK3ZhciBsb2Mx
MSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMV0uY29sb3IyIik7
CitzaG91bGRCZVRydWUoImxvYzAwICE9IHVuZGVmaW5lZCIpOworc2hvdWxkQmVUcnVlKCJsb2Mw
MSAhPSB1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgibG9jMTAgIT0gdW5kZWZpbmVkIik7Citz
aG91bGRCZVRydWUoImxvYzExICE9IHVuZGVmaW5lZCIpOworZ2wudW5pZm9ybTRmdihsb2MwMCwg
WzEsIDAsIDAsIDBdKTsKK2dsLnVuaWZvcm00ZnYobG9jMDEsIFswLCAxLCAwLCAwXSk7CitnbC51
bmlmb3JtNGZ2KGxvYzEwLCBbMCwgMCwgMCwgMCwgMCwgMCwgMSwgMF0pOworZ2wudW5pZm9ybTRm
dihsb2MxMSwgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDFdKTsKK3ZhciBsb2MxMDEgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzFdLmNvbG9yMVsxXSIpOwordmFyIGxv
YzExMSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMV0uY29sb3Iy
WzFdIik7CitzaG91bGRCZVRydWUoImxvYzEwMSAhPSB1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1
ZSgibG9jMTExICE9IHVuZGVmaW5lZCIpOword3R1LmRyYXdRdWFkKGdsLCBbMCwgMCwgMCwgMF0p
OworZ2wudW5pZm9ybTRmdihsb2MxMDEsIFswLCAwLCAwLCAwXSk7CitnbC51bmlmb3JtNGZ2KGxv
YzExMSwgWzAsIDAsIDAsIDBdKTsKK3d0dS5kcmF3UXVhZChnbCwgWzAsIDAsIDAsIDBdKTsKK3d0
dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMjU1LCAwLCAwXSwgIlNob3VsZCBiZSB5ZWxsb3ciKTsK
KworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBl
cnJvcnMiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWds
b2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDA4OGFjZjlhYWJlNzkzM2JlMjA4M2Y2NTUyNTM2YTdkNzllOGJkNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21h
dGNoLmh0bWwKQEAgLTAsMCArMSwxMjQgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2Ut
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0iZnNoYWRlcldp
dGhNZWRpdW1wR2xvYmFsIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+Cisv
LyBUaGVyZSBpcyBubyBkZWZhdWx0IHByZWNpc2lvbiBpbiBmcmFnbWVudCBzaGFkZXJzLCBzbyBz
cGVjaWZ5IG1lZGl1bXAuCitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSB2ZWM0
IGZvbzsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSBmb287Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJXaXRoTWVkaXVtcEdsb2JhbFN0cnVjdCIgdHlwZT0i
dGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorLy8gVGhlcmUgaXMgbm8gZGVmYXVsdCBw
cmVjaXNpb24gaW4gZnJhZ21lbnQgc2hhZGVycywgc28gc3BlY2lmeSBtZWRpdW1wLgorcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7CisKK3N0cnVjdCBmb28KK3sKKyAgIHZlYzQgYmFyOworfTsKKwor
dW5pZm9ybSBmb28gYmF6OworCit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IGJh
ei5iYXI7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXJXaXRoSGlnaHBHbG9iYWwi
IHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKy8vIERlZmF1bHQgcHJlY2lzaW9uIGZvciB2ZXJ0
ZXggc2hhZGVycyBpcyBoaWdocC4KK3VuaWZvcm0gdmVjNCBmb287CisKK3ZvaWQgbWFpbigpIHsK
KyAgICBnbF9Qb3NpdGlvbiA9IGZvbzsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRl
cldpdGhIaWdocEdsb2JhbFN0cnVjdCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorLy8gRGVm
YXVsdCBwcmVjaXNpb24gZm9yIHZlcnRleCBzaGFkZXJzIGlzIGhpZ2hwLgorc3RydWN0IGZvbwor
eworICAgdmVjNCBiYXI7Cit9OworCit1bmlmb3JtIGZvbyBiYXo7CisKK3ZvaWQgbWFpbigpCit7
CisgICAgZ2xfUG9zaXRpb24gPSBiYXouYmFyOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVz
ZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIkNoZWNrcyBzaGFkZXJzIHdpdGggZ2xvYmFsIHZhcmlh
YmxlcyBhbmQgcHJlY2lzaW9uIHF1YWxpZmllciBtaXNtYXRjaC4iKTsKKwordmFyIHd0dSA9IFdl
YkdMVGVzdFV0aWxzOworCit2YXIgZ2xzbFRlc3RzID0gW107CisKK2dsc2xUZXN0cy5wdXNoKHsK
KyAgdlNoYWRlcklkOiAndnNoYWRlcldpdGhIaWdocEdsb2JhbCcsCisgIHZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICBmU2hhZGVySWQ6ICdmc2hhZGVyV2l0aE1lZGl1bXBHbG9iYWwnLAorICBmU2hh
ZGVyU3VjY2VzczogdHJ1ZSwKKyAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICBwYXNzTXNnOiAibWlz
bWF0Y2hpbmcgcHJlY2lzaW9uIGZvciB1bmlmb3JtcyBjYXVzZXMgbGluayBlcnJvciAoYXMgZXhw
ZWN0ZWQpIiwKK30pOworCitnbHNsVGVzdHMucHVzaCh7CisgIHZTaGFkZXJJZDogJ3ZzaGFkZXJX
aXRoSGlnaHBHbG9iYWxTdHJ1Y3QnLAorICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgZlNoYWRl
cklkOiAnZnNoYWRlcldpdGhNZWRpdW1wR2xvYmFsU3RydWN0JywKKyAgZlNoYWRlclN1Y2Nlc3M6
IHRydWUsCisgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgcGFzc01zZzogIm1pc21hdGNoaW5nIHBy
ZWNpc2lvbiBmb3Igc3RydWN0dXJlIHVuaWZvcm1zIGNhdXNlcyBsaW5rIGVycm9yIChhcyBleHBl
Y3RlZCkiLAorfSk7CisKK0dMU0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0cyhnbHNsVGVzdHMp
OworCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5v
bi1yZXNlcnZlZC13b3Jkcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZl
ZC13b3Jkcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjOGExNjBmNzVhNWExNDBlNDM4ZTM5OWNjNmQ4ZTM0
NmM5YjQwZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJl
c2VydmVkLXdvcmRzLmh0bWwKQEAgLTAsMCArMSw3MjQgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgQ29uZm9ybWFuY2UgVGVzdHMg
LSBOb24gUmVzZXJ2ZWQgV29yZHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10ZXN0
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhTaGFkZXIw
IiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CitzdHJ1Y3QgJHJlcGxhY2VN
ZSB7CisgIHZlYzQgJHJlcGxhY2VNZTsKK307CitzdHJ1Y3QgRm9vIHsKKyAgJHJlcGxhY2VNZSAk
cmVwbGFjZU1lOworfTsKK2F0dHJpYnV0ZSB2ZWM0IHBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sK
KyAgICBGb28gZjsKKyAgICBmLiRyZXBsYWNlTWUuJHJlcGxhY2VNZSA9IHBvc2l0aW9uOworICAg
IGdsX1Bvc2l0aW9uID0gZi4kcmVwbGFjZU1lLiRyZXBsYWNlTWU7Cit9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyMCIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFz
Y3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2ZWM0ICRyZXBsYWNlTWUoKSB7Cisg
ICAgcmV0dXJuIHZlYzQoMCwxLDAsMSk7Cit9Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdD
b2xvciA9ICRyZXBsYWNlTWUoKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydGV4U2hh
ZGVyMSIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorYXR0cmlidXRlIHZl
YzQgJHJlcGxhY2VNZTsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSAkcmVwbGFj
ZU1lOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNoYWRlcjEiIHR5cGU9InRl
eHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
dmVjNCBmb28odmVjNCAkcmVwbGFjZU1lKSB7CisgIHJldHVybiAkcmVwbGFjZU1lOworfQordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSBmb28odmVjNCgxLDAsMSwxKSk7Cit9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlcjIiIHR5cGU9InRleHQvc29tZXRoaW5n
LW5vdC1qYXZhc2NyaXB0Ij4KK3ZhcnlpbmcgdmVjNCAkcmVwbGFjZU1lOworYXR0cmlidXRlIHZl
YzQgcG9zaXRpb247Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gcG9zaXRpb247
CisgICAgJHJlcGxhY2VNZSA9IHBvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJm
cmFnbWVudFNoYWRlcjIiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3By
ZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordmFyeWluZyB2ZWM0ICRyZXBsYWNlTWU7Cit2b2lkIG1h
aW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9ICRyZXBsYWNlTWU7Cit9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9InZlcnRleFNoYWRlcjMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2Ny
aXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0IHBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Q
b3NpdGlvbiA9IHBvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNo
YWRlcjMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0ICRyZXBsYWNlTWU7Cit2b2lkIG1haW4oKQorewor
ICAgIGdsX0ZyYWdDb2xvciA9ICRyZXBsYWNlTWU7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7Cit2YXIgRFhXb3JkcyA9IFsKKyAgIkJ1ZmZlciIsCisgICJkb3VibGUiLAor
ICAidWludCIsCisgICJoYWxmIiwKKyAgImR3b3JkIiwKKyAgInN0cmluZyIsCisgICJ0ZXh0dXJl
IiwKKyAgInBpeGVsc2hhZGVyIiwKKyAgInZlcnRleHNoYWRlciIsCisgICJzd2l0Y2giLAorICAi
bWluMTZmbG9hdCIsCisgICJtaW4xMGZsb2F0IiwKKyAgIm1pbjE2aW50IiwKKyAgIm1pbjEyaW50
IiwKKyAgIm1pbjE2dWludCIsCisgICJ2ZWN0b3IiLAorICAibWF0cml4IiwKKyAgImZsb2F0MiIs
CisgICJmbG9hdDMiLAorICAiZmxvYXQ0IiwKKyAgImZsb2F0MXgxIiwKKyAgImZsb2F0MXgyIiwK
KyAgImZsb2F0MXgzIiwKKyAgImZsb2F0MXg0IiwKKyAgImZsb2F0MngxIiwKKyAgImZsb2F0Mngy
IiwKKyAgImZsb2F0MngzIiwKKyAgImZsb2F0Mng0IiwKKyAgImZsb2F0M3gxIiwKKyAgImZsb2F0
M3gyIiwKKyAgImZsb2F0M3gzIiwKKyAgImZsb2F0M3g0IiwKKyAgImZsb2F0NHgxIiwKKyAgImZs
b2F0NHgyIiwKKyAgImZsb2F0NHgzIiwKKyAgImZsb2F0NHg0IiwKKyAgImludDF4MSIsCisgICJp
bnQxeDIiLAorICAiaW50MXgzIiwKKyAgImludDF4NCIsCisgICJpbnQyeDEiLAorICAiaW50Mngy
IiwKKyAgImludDJ4MyIsCisgICJpbnQyeDQiLAorICAiaW50M3gxIiwKKyAgImludDN4MiIsCisg
ICJpbnQzeDMiLAorICAiaW50M3g0IiwKKyAgImludDR4MSIsCisgICJpbnQ0eDIiLAorICAiaW50
NHgzIiwKKyAgImludDR4NCIsCisgICJkb3VibGUxeDEiLAorICAiZG91YmxlMXgyIiwKKyAgImRv
dWJsZTF4MyIsCisgICJkb3VibGUxeDQiLAorICAiZG91YmxlMngxIiwKKyAgImRvdWJsZTJ4MiIs
CisgICJkb3VibGUyeDMiLAorICAiZG91YmxlMng0IiwKKyAgImRvdWJsZTN4MSIsCisgICJkb3Vi
bGUzeDIiLAorICAiZG91YmxlM3gzIiwKKyAgImRvdWJsZTN4NCIsCisgICJkb3VibGU0eDEiLAor
ICAiZG91YmxlNHgyIiwKKyAgImRvdWJsZTR4MyIsCisgICJkb3VibGU0eDQiLAorICAiYWJvcnQi
LAorICAiYWJzIiwKKyAgImFjb3MiLAorICAiYWxsIiwKKyAgIkFsbE1lbW9yeUJhcnJpZXIiLAor
ICAiQWxsTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiLAorICAiYW55IiwKKyAgImFzZG91Ymxl
IiwKKyAgImFzZmxvYXQiLAorICAiYXNpbiIsCisgICJhc2ludCIsCisgICJhc2ludCIsCisgICJh
c3VpbnQiLAorICAiYXN1aW50IiwKKyAgImF0YW4iLAorICAiYXRhbjIiLAorICAiY2VpbCIsCisg
ICJjbGFtcCIsCisgICJjbGlwIiwKKyAgImNvcyIsCisgICJjb3NoIiwKKyAgImNvdW50Yml0cyIs
CisgICJjcm9zcyIsCisgICJEM0RDT0xPUnRvVUJZVEU0IiwKKyAgImRkeCIsCisgICJkZHhfY29h
cnNlIiwKKyAgImRkeF9maW5lIiwKKyAgImRkeSIsCisgICJkZHlfY29hcnNlIiwKKyAgImRkeV9m
aW5lIiwKKyAgImRlZ3JlZXMiLAorICAiZGV0ZXJtaW5hbnQiLAorICAiRGV2aWNlTWVtb3J5QmFy
cmllciIsCisgICJEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIsCisgICJkaXN0YW5j
ZSIsCisgICJkb3QiLAorICAiZHN0IiwKKyAgImVycm9yZiIsCisgICJFdmFsdWF0ZUF0dHJpYnV0
ZUF0Q2VudHJvaWQiLAorICAiRXZhbHVhdGVBdHRyaWJ1dGVBdFNhbXBsZSIsCisgICJFdmFsdWF0
ZUF0dHJpYnV0ZVNuYXBwZWQiLAorICAiZXhwIiwKKyAgImV4cDIiLAorICAiZjE2dG9mMzIiLAor
ICAiZjMydG9mMTYiLAorICAiZmFjZWZvcndhcmQiLAorICAiZmlyc3RiaXRoaWdoIiwKKyAgImZp
cnN0Yml0bG93IiwKKyAgImZsb29yIiwKKyAgImZtYSIsCisgICJmbW9kIiwKKyAgImZyYWMiLAor
ICAiZnJleHAiLAorICAiZndpZHRoIiwKKyAgIkdldFJlbmRlclRhcmdldFNhbXBsZUNvdW50IiwK
KyAgIkdldFJlbmRlclRhcmdldFNhbXBsZVBvc2l0aW9uIiwKKyAgIkdyb3VwTWVtb3J5QmFycmll
ciIsCisgICJHcm91cE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIiwKKyAgIkludGVybG9ja2Vk
QWRkIiwKKyAgIkludGVybG9ja2VkQW5kIiwKKyAgIkludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdl
IiwKKyAgIkludGVybG9ja2VkQ29tcGFyZVN0b3JlIiwKKyAgIkludGVybG9ja2VkRXhjaGFuZ2Ui
LAorICAiSW50ZXJsb2NrZWRNYXgiLAorICAiSW50ZXJsb2NrZWRNaW4iLAorICAiSW50ZXJsb2Nr
ZWRPciIsCisgICJJbnRlcmxvY2tlZFhvciIsCisgICJpc2Zpbml0ZSIsCisgICJpc2luZiIsCisg
ICJpc25hbiIsCisgICJsZGV4cCIsCisgICJsZW5ndGgiLAorICAibGVycCIsCisgICJsaXQiLAor
ICAibG9nIiwKKyAgImxvZzEwIiwKKyAgImxvZzIiLAorICAibWFkIiwKKyAgIm1heCIsCisgICJt
aW4iLAorICAibW9kZiIsCisgICJtc2FkNCIsCisgICJtdWwiLAorICAibm9pc2UiLAorICAibm9y
bWFsaXplIiwKKyAgInBvdyIsCisgICJwcmludGYiLAorICAiUHJvY2VzczJEUXVhZFRlc3NGYWN0
b3JzQXZnIiwKKyAgIlByb2Nlc3MyRFF1YWRUZXNzRmFjdG9yc01heCIsCisgICJQcm9jZXNzMkRR
dWFkVGVzc0ZhY3RvcnNNaW4iLAorICAiUHJvY2Vzc0lzb2xpbmVUZXNzRmFjdG9ycyIsCisgICJQ
cm9jZXNzUXVhZFRlc3NGYWN0b3JzQXZnIiwKKyAgIlByb2Nlc3NRdWFkVGVzc0ZhY3RvcnNNYXgi
LAorICAiUHJvY2Vzc1F1YWRUZXNzRmFjdG9yc01pbiIsCisgICJQcm9jZXNzVHJpVGVzc0ZhY3Rv
cnNBdmciLAorICAiUHJvY2Vzc1RyaVRlc3NGYWN0b3JzTWF4IiwKKyAgIlByb2Nlc3NUcmlUZXNz
RmFjdG9yc01pbiIsCisgICJyYWRpYW5zIiwKKyAgInJjcCIsCisgICJyZWZsZWN0IiwKKyAgInJl
ZnJhY3QiLAorICAicmV2ZXJzZWJpdHMiLAorICAicm91bmQiLAorICAicnNxcnQiLAorICAic2F0
dXJhdGUiLAorICAic2lnbiIsCisgICJzaW4iLAorICAic2luY29zIiwKKyAgInNpbmgiLAorICAi
c21vb3Roc3RlcCIsCisgICJzcXJ0IiwKKyAgInN0ZXAiLAorICAidGFuIiwKKyAgInRhbmgiLAor
ICAidGV4MUQiLAorICAidGV4MUQiLAorICAidGV4MURiaWFzIiwKKyAgInRleDFEZ3JhZCIsCisg
ICJ0ZXgxRGxvZCIsCisgICJ0ZXgxRHByb2oiLAorICAidGV4MkQiLAorICAidGV4MkQiLAorICAi
dGV4MkRiaWFzIiwKKyAgInRleDJEZ3JhZCIsCisgICJ0ZXgyRGxvZCIsCisgICJ0ZXgyRHByb2oi
LAorICAidGV4M0QiLAorICAidGV4M0QiLAorICAidGV4M0RiaWFzIiwKKyAgInRleDNEZ3JhZCIs
CisgICJ0ZXgzRGxvZCIsCisgICJ0ZXgzRHByb2oiLAorICAidGV4Q1VCRSIsCisgICJ0ZXhDVUJF
IiwKKyAgInRleENVQkViaWFzIiwKKyAgInRleENVQkVncmFkIiwKKyAgInRleENVQkVsb2QiLAor
ICAidGV4Q1VCRXByb2oiLAorICAidHJhbnNwb3NlIiwKKyAgInRydW5jIgorXTsKKwordmFyIEdM
U0xfNF8yMF8xMV93b3JkcyA9IFsKKyAgImF0dHJpYnV0ZSIsCisgICJjb25zdCIsCisgICJ1bmlm
b3JtIiwKKyAgInZhcnlpbmciLAorICAiY29oZXJlbnQiLAorICAidm9sYXRpbGUiLAorICAicmVz
dHJpY3QiLAorICAicmVhZG9ubHkiLAorICAid3JpdGVvbmx5IiwKKyAgImF0b21pY191aW50IiwK
KyAgImxheW91dCIsCisgICJjZW50cm9pZCIsCisgICJmbGF0IiwKKyAgInNtb290aCIsCisgICJu
b3BlcnNwZWN0aXZlIiwKKyAgInBhdGNoIiwKKyAgInNhbXBsZSIsCisgICJicmVhayIsCisgICJj
b250aW51ZSIsCisgICJkbyIsCisgICJmb3IiLAorICAid2hpbGUiLAorICAic3dpdGNoIiwKKyAg
ImNhc2UiLAorICAiZGVmYXVsdCIsCisgICJpZiIsCisgICJlbHNlIiwKKyAgInN1YnJvdXRpbmUi
LAorICAiaW4iLAorICAib3V0IiwKKyAgImlub3V0IiwKKyAgImZsb2F0IiwKKyAgImRvdWJsZSIs
CisgICJpbnQiLAorICAidm9pZCIsCisgICJib29sIiwKKyAgInRydWUiLAorICAiZmFsc2UiLAor
ICAiaW52YXJpYW50IiwKKyAgImRpc2NhcmQiLAorICAicmV0dXJuIiwKKyAgIm1hdDIiLAorICAi
bWF0MyIsCisgICJtYXQ0IiwKKyAgImRtYXQyIiwKKyAgImRtYXQzIiwKKyAgImRtYXQ0IiwKKyAg
Im1hdDJ4MiIsCisgICJtYXQyeDMiLAorICAibWF0Mng0IiwKKyAgImRtYXQyeDIiLAorICAiZG1h
dDJ4MyIsCisgICJkbWF0Mng0IiwKKyAgIm1hdDN4MiIsCisgICJtYXQzeDMiLAorICAibWF0M3g0
IiwKKyAgImRtYXQzeDIiLAorICAiZG1hdDN4MyIsCisgICJkbWF0M3g0IiwKKyAgIm1hdDR4MiIs
CisgICJtYXQ0eDMiLAorICAibWF0NHg0IiwKKyAgImRtYXQ0eDIiLAorICAiZG1hdDR4MyIsCisg
ICJkbWF0NHg0IiwKKyAgInZlYzIiLAorICAidmVjMyIsCisgICJ2ZWM0IiwKKyAgIml2ZWMyIiwK
KyAgIml2ZWMzIiwKKyAgIml2ZWM0IiwKKyAgImJ2ZWMyIiwKKyAgImJ2ZWMzIiwKKyAgImJ2ZWM0
IiwKKyAgImR2ZWMyIiwKKyAgImR2ZWMzIiwKKyAgImR2ZWM0IiwKKyAgInVpbnQiLAorICAidXZl
YzIiLAorICAidXZlYzMiLAorICAidXZlYzQiLAorICAibG93cCIsCisgICJtZWRpdW1wIiwKKyAg
ImhpZ2hwIiwKKyAgInByZWNpc2lvbiIsCisgICJzYW1wbGVyMUQiLAorICAic2FtcGxlcjJEIiwK
KyAgInNhbXBsZXIzRCIsCisgICJzYW1wbGVyQ3ViZSIsCisgICJzYW1wbGVyMURTaGFkb3ciLAor
ICAic2FtcGxlcjJEU2hhZG93IiwKKyAgInNhbXBsZXJDdWJlU2hhZG93IiwKKyAgInNhbXBsZXIx
REFycmF5IiwKKyAgInNhbXBsZXIyREFycmF5IiwKKyAgInNhbXBsZXIxREFycmF5U2hhZG93IiwK
KyAgInNhbXBsZXIyREFycmF5U2hhZG93IiwKKyAgImlzYW1wbGVyMUQiLAorICAiaXNhbXBsZXIy
RCIsCisgICJpc2FtcGxlcjNEIiwKKyAgImlzYW1wbGVyQ3ViZSIsCisgICJpc2FtcGxlcjFEQXJy
YXkiLAorICAiaXNhbXBsZXIyREFycmF5IiwKKyAgInVzYW1wbGVyMUQiLAorICAidXNhbXBsZXIy
RCIsCisgICJ1c2FtcGxlcjNEIiwKKyAgInVzYW1wbGVyQ3ViZSIsCisgICJ1c2FtcGxlcjFEQXJy
YXkiLAorICAidXNhbXBsZXIyREFycmF5IiwKKyAgInNhbXBsZXIyRFJlY3QiLAorICAic2FtcGxl
cjJEUmVjdFNoYWRvdyIsCisgICJpc2FtcGxlcjJEUmVjdCIsCisgICJ1c2FtcGxlcjJEUmVjdCIs
CisgICJzYW1wbGVyQnVmZmVyIiwKKyAgImlzYW1wbGVyQnVmZmVyIiwKKyAgInVzYW1wbGVyQnVm
ZmVyIiwKKyAgInNhbXBsZXIyRE1TIiwKKyAgImlzYW1wbGVyMkRNUyIsCisgICJ1c2FtcGxlcjJE
TVMiLAorICAic2FtcGxlcjJETVNBcnJheSIsCisgICJpc2FtcGxlcjJETVNBcnJheSIsCisgICJ1
c2FtcGxlcjJETVNBcnJheSIsCisgICJzYW1wbGVyQ3ViZUFycmF5IiwKKyAgInNhbXBsZXJDdWJl
QXJyYXlTaGFkb3ciLAorICAiaXNhbXBsZXJDdWJlQXJyYXkiLAorICAidXNhbXBsZXJDdWJlQXJy
YXkiLAorICAiaW1hZ2UxRCIsCisgICJpaW1hZ2UxRCIsCisgICJ1aW1hZ2UxRCIsCisgICJpbWFn
ZTJEIiwKKyAgImlpbWFnZTJEIiwKKyAgInVpbWFnZTJEIiwKKyAgImltYWdlM0QiLAorICAiaWlt
YWdlM0QiLAorICAidWltYWdlM0QiLAorICAiaW1hZ2UyRFJlY3QiLAorICAiaWltYWdlMkRSZWN0
IiwKKyAgInVpbWFnZTJEUmVjdCIsCisgICJpbWFnZUN1YmUiLAorICAiaWltYWdlQ3ViZSIsCisg
ICJ1aW1hZ2VDdWJlIiwKKyAgImltYWdlQnVmZmVyIiwKKyAgImlpbWFnZUJ1ZmZlciIsCisgICJ1
aW1hZ2VCdWZmZXIiLAorICAiaW1hZ2UxREFycmF5IiwKKyAgImlpbWFnZTFEQXJyYXkiLAorICAi
dWltYWdlMURBcnJheSIsCisgICJpbWFnZTJEQXJyYXkiLAorICAiaWltYWdlMkRBcnJheSIsCisg
ICJ1aW1hZ2UyREFycmF5IiwKKyAgImltYWdlQ3ViZUFycmF5IiwKKyAgImlpbWFnZUN1YmVBcnJh
eSIsCisgICJ1aW1hZ2VDdWJlQXJyYXkiLAorICAiaW1hZ2UyRE1TIiwKKyAgImlpbWFnZTJETVMi
LAorICAidWltYWdlMkRNUyIsCisgICJpbWFnZTJETVNBcnJheSIsCisgICJpaW1hZ2UyRE1TQXJy
YXkiLAorICAidWltYWdlMkRNU0FycmF5IiwKKyAgInN0cnVjdCIKK107CisKK3ZhciBHTFNMXzRf
MjBfMTFfZnV0dXJlX3dvcmRzID0gWworICAiY29tbW9uIiwKKyAgInBhcnRpdGlvbiIsCisgICJh
Y3RpdmUiLAorICAiYXNtIiwKKyAgImNsYXNzIiwKKyAgInVuaW9uIiwKKyAgImVudW0iLAorICAi
dHlwZWRlZiIsCisgICJ0ZW1wbGF0ZSIsCisgICJ0aGlzIiwKKyAgInBhY2tlZCIsCisgICJyZXNv
dXJjZSIsCisgICJnb3RvIiwKKyAgImlubGluZSIsCisgICJub2lubGluZSIsCisgICJwdWJsaWMi
LAorICAic3RhdGljIiwKKyAgImV4dGVybiIsCisgICJleHRlcm5hbCIsCisgICJpbnRlcmZhY2Ui
LAorICAibG9uZyIsCisgICJzaG9ydCIsCisgICJoYWxmIiwKKyAgImZpeGVkIiwKKyAgInVuc2ln
bmVkIiwKKyAgInN1cGVycCIsCisgICJpbnB1dCIsCisgICJvdXRwdXQiLAorICAiaHZlYzIiLAor
ICAiaHZlYzMiLAorICAiaHZlYzQiLAorICAiZnZlYzIiLAorICAiZnZlYzMiLAorICAiZnZlYzQi
LAorICAic2FtcGxlcjNEUmVjdCIsCisgICJmaWx0ZXIiLAorICAic2l6ZW9mIiwKKyAgImNhc3Qi
LAorICAibmFtZXNwYWNlIiwKKyAgInVzaW5nIiwKKyAgInJvd19tYWpvciIKK107CisKK3ZhciBH
TFNMXzFfMF8xN193b3JkcyA9IFsKKyAgImF0dHJpYnV0ZSIsCisgICJjb25zdCIsCisgICJ1bmlm
b3JtIiwKKyAgInZhcnlpbmciLAorICAiYnJlYWsiLAorICAiY29udGludWUiLAorICAiZG8iLAor
ICAiZm9yIiwKKyAgIndoaWxlIiwKKyAgImlmIiwKKyAgImVsc2UiLAorICAiaW4iLAorICAib3V0
IiwKKyAgImlub3V0IiwKKyAgImZsb2F0IiwKKyAgImludCIsCisgICJ2b2lkIiwKKyAgImJvb2wi
LAorICAidHJ1ZSIsCisgICJmYWxzZSIsCisgICJsb3dwIiwKKyAgIm1lZGl1bXAiLAorICAiaGln
aHAiLAorICAicHJlY2lzaW9uIiwKKyAgImludmFyaWFudCIsCisgICJkaXNjYXJkIiwKKyAgInJl
dHVybiIsCisgICJtYXQyIiwKKyAgIm1hdDMiLAorICAibWF0NCIsCisgICJ2ZWMyIiwKKyAgInZl
YzMiLAorICAidmVjNCIsCisgICJpdmVjMiIsCisgICJpdmVjMyIsCisgICJpdmVjNCIsCisgICJi
dmVjMiIsCisgICJidmVjMyIsCisgICJidmVjNCIsCisgICJzYW1wbGVyMkQiLAorICAic2FtcGxl
ckN1YmUiLAorICAic3RydWN0IgorXQorCit2YXIgR0xTTF8xXzBfMTdfRnV0dXJlV29yZHMgPSBb
CisgICJhc20iLAorICAiY2xhc3MiLAorICAidW5pb24iLAorICAiZW51bSIsCisgICJ0eXBlZGVm
IiwKKyAgInRlbXBsYXRlIiwKKyAgInRoaXMiLAorICAicGFja2VkIiwKKyAgImdvdG8iLAorICAi
c3dpdGNoIiwKKyAgImRlZmF1bHQiLAorICAiaW5saW5lIiwKKyAgIm5vaW5saW5lIiwKKyAgInZv
bGF0aWxlIiwKKyAgInB1YmxpYyIsCisgICJzdGF0aWMiLAorICAiZXh0ZXJuIiwKKyAgImV4dGVy
bmFsIiwKKyAgImludGVyZmFjZSIsCisgICJmbGF0IiwKKyAgImxvbmciLAorICAic2hvcnQiLAor
ICAiZG91YmxlIiwKKyAgImhhbGYiLAorICAiZml4ZWQiLAorICAidW5zaWduZWQiLAorICAic3Vw
ZXJwIiwKKyAgImlucHV0IiwKKyAgIm91dHB1dCIsCisgICJodmVjMiIsCisgICJodmVjMyIsCisg
ICJodmVjNCIsCisgICJkdmVjMiIsCisgICJkdmVjMyIsCisgICJkdmVjNCIsCisgICJmdmVjMiIs
CisgICJmdmVjMyIsCisgICJmdmVjNCIsCisgICJzYW1wbGVyMUQiLAorICAic2FtcGxlcjNEIiwK
KyAgInNhbXBsZXIxRFNoYWRvdyIsCisgICJzYW1wbGVyMkRTaGFkb3ciLAorICAic2FtcGxlcjJE
UmVjdCIsCisgICJzYW1wbGVyM0RSZWN0IiwKKyAgInNhbXBsZXIyRFJlY3RTaGFkb3ciLAorICAi
c2l6ZW9mIiwKKyAgImNhc3QiLAorICAibmFtZXNwYWNlIiwKKyAgInVzaW5nIgorXTsKKworZGVz
Y3JpcHRpb24oKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dCgpOwordmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29s
ZSIpOworCit2YXIgYmFkV29yZHMgPSBbCisgIHsgd29yZHM6IERYV29yZHMgfSwKKyAgeyB3b3Jk
czogR0xTTF80XzIwXzExX3dvcmRzLCB9LAorICB7IHdvcmRzOiBHTFNMXzRfMjBfMTFfZnV0dXJl
X3dvcmRzLCB9CitdOworCit2YXIgcmVzZXJ2ZWRXb3Jkc0xpc3RzID0gWworICBHTFNMXzFfMF8x
N193b3JkcywKKyAgR0xTTF8xXzBfMTdfRnV0dXJlV29yZHMKK107CisKK3ZhciByZXNlcnZlZFdv
cmRzID0geyB9OworZm9yICh2YXIgaWkgPSAwOyBpaSA8IHJlc2VydmVkV29yZHNMaXN0cy5sZW5n
dGg7ICsraWkpIHsKKyAgdmFyIGxpc3QgPSByZXNlcnZlZFdvcmRzTGlzdHNbaWldOworICBmb3Ig
KHZhciBqaiA9IDA7IGpqIDwgbGlzdC5sZW5ndGg7ICsramopIHsKKyAgICByZXNlcnZlZFdvcmRz
W2xpc3RbampdXSA9IHRydWU7CisgIH0KK30KKwordmFyIGNoZWNrZWRXb3JkcyA9IHt9OworCit2
YXIgc3JjID0gW107Citmb3IgKHZhciBpaSA9IDA7IGlpIDwgNDsgKytpaSkgeworICB2YXIgdnNy
YyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2ZXJ0ZXhTaGFkZXIiICsgaWkpLnRleHQ7Cisg
IHZhciBmc3JjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYWdtZW50U2hhZGVyIiArIGlp
KS50ZXh0OworICBzcmMucHVzaCh7dnNyYzogdnNyYywgZnNyYzogZnNyY30pOworfQorCit2YXIg
YmFkV29yZE5keCA9IDA7Cit2YXIgbGlzdE5keCA9IDA7CisKK2Z1bmN0aW9uIHRlc3ROZXh0V29y
ZCgpIHsKKyAgdmFyIGxpc3QgPSBiYWRXb3Jkc1tiYWRXb3JkTmR4XS53b3JkczsKKyAgaWYgKGxp
c3ROZHggPj0gbGlzdC5sZW5ndGgpIHsKKyAgICArK2JhZFdvcmROZHg7CisgICAgaWYgKGJhZFdv
cmROZHggPj0gYmFkV29yZHMubGVuZ3RoKSB7CisgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICBy
ZXR1cm47CisgICAgfQorICAgIGxpc3ROZHggPSAwOworICAgIGxpc3QgPSBiYWRXb3Jkc1tiYWRX
b3JkTmR4XS53b3JkczsKKyAgfQorICB0ZXN0V29yZChsaXN0W2xpc3ROZHhdKTsKKyAgKytsaXN0
TmR4OworICBzZXRUaW1lb3V0KHRlc3ROZXh0V29yZCwxKTsKK30KK3Rlc3ROZXh0V29yZCgpOwor
CitmdW5jdGlvbiB0ZXN0V29yZCh3b3JkKSB7CisgIGlmICh3b3JkIGluIHJlc2VydmVkV29yZHMg
fHwgd29yZCBpbiBjaGVja2VkV29yZHMpIHsKKyAgICByZXR1cm47CisgIH0KKyAgY2hlY2tlZFdv
cmRzW3dvcmRdID0gdHJ1ZTsKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZzogIiArIHdv
cmQpOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzcmMubGVuZ3RoOyArK2lpKSB7CisgICAg
dmFyIHZzID0gc3JjW2lpXS52c3JjLnJlcGxhY2UoL1wkcmVwbGFjZU1lL2csIHdvcmQpOworICAg
IHZhciBmcyA9IHNyY1tpaV0uZnNyYy5yZXBsYWNlKC9cJHJlcGxhY2VNZS9nLCB3b3JkKTsKKwor
ICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywgInZlcnRleCBzaGFkZXIiLCB2cyk7CisgICAgd3R1
LmFkZFNoYWRlclNvdXJjZShjLCAiZnJhZ21lbnQgc2hhZGVyIiwgZnMpOworCisgICAgdmFyIHN1
Y2Nlc3MgPSB0cnVlOworICAgIHZhciBwcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtKGdsLCB2cywg
ZnMsIGZ1bmN0aW9uKG1zZykgeworICAgICAgZGVidWcobXNnKTsKKyAgICAgIHN1Y2Nlc3MgPSBm
YWxzZTsKKyAgICB9KTsKKyAgICBpZiAoc3VjY2VzcykgeworICAgICAgdGVzdFBhc3NlZCgic2hh
ZGVyIHdpdGg6ICciICsgd29yZCArICInIGNvbXBpbGVkIik7CisgICAgfSBlbHNlIHsKKyAgICAg
IHRlc3RGYWlsZWQoInNoYWRlciB3aXRoOiAnIiArIHdvcmQgKyAiJyBmYWlsZWQgdG8gY29tcGls
ZSIpOworICAgIH0KKyAgICBpZiAocHJvZ3JhbSkgeworICAgICAgZ2wuZGVsZXRlUHJvZ3JhbShw
cm9ncmFtKTsKKyAgICB9CisgICAgd3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Is
ICJzaG91bGQgYmUgbm8gR0wgZXJyb3JzIik7CisgIH0KK30KKworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmM3NTQ4ZjM2YzkyYjBmNzY0MjVlNTRjMjZlN2ZiOWJjYmI4MmQ3MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9w
ZXJhdG9ycy5odG1sCkBAIC0wLDAgKzEsMTkxIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgIDx0aXRsZT5XZWJHTCBzaG9ydC1jaXJjdWl0IGV2
YWx1YXRpb248L3RpdGxlPgorICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2
YXNjcmlwdCI+PC9zY3JpcHQ+CisgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAg
PGJvZHk+CisgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9
IjIiPiA8L2NhbnZhcz4KKworICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorICBXZWJHTCBTaGFkZXJzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tPgorICAgIDwhLS0gUGFzcyB0aHJvdWdoIFNoYWRlcnMgLS0+CisgICAgPHNjcmlwdCBp
ZD0idnNoYWRlcjAiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICAgIC8qIFBBU1MtVEhS
T1VHSCBWRVJURVggU0hBREVSICovCisgICAgICBhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisK
KyAgICAgIHZvaWQgbWFpbigpCisgICAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0
aW9uOworICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPHNjcmlwdCBpZD0iZnNoYWRlcjAi
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgICAgLyogUEFTUy1USFJPVUdIIEZSQUdN
RU5UIFNIQURFUiAqLworICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICB2YXJ5
aW5nIHZlYzQgdlBhc3NUaHJvdWdoOworCisgICAgICB2b2lkIG1haW4oKQorICAgICAgeworICAg
ICAgICBnbF9GcmFnQ29sb3IgPSB2UGFzc1Rocm91Z2g7CisgICAgICB9CisgICAgPC9zY3JpcHQ+
CisKKyAgICA8IS0tIGJhc2ljIGNvbmRpdG9uYWwgc2hvcnQgY2lyY3VpdCBTaGFkZXJzIC0tPgor
ICAgIDxzY3JpcHQgaWQ9InZzaGFkZXIxIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAg
ICBhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisgICAgICB2YXJ5aW5nIHZlYzQgdlBhc3NUaHJv
dWdoOworCisgICAgICB2b2lkIG1haW4oKQorICAgICAgeworICAgICAgICBpbnQgeCA9IDE7Cisg
ICAgICAgICQodmFyaWFibGVzKQorICAgICAgCisgICAgICAgIGlmICgkKGNvbmRpdGlvbikpCisg
ICAgICAgIHsgLypkbyBub3RoaW5nKi8gfQorCisgICAgICAgIC8qIGlmIHggd2FzIHVubW9kaWZp
ZWQgcmV0dXJuIGdyZWVuLCBlbHNlIHJldHVybiByZWQgKi8KKyAgICAgICAgdlBhc3NUaHJvdWdo
ID0gKHggPT0gMSkgPyB2ZWM0KDAsIDEsIDAsIDEpIDogdmVjNCgxLCAwLCAwLCAxKTsKKyAgICAg
ICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAg
ICA8c2NyaXB0IGlkPSJmc2hhZGVyMSIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAg
ICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworICAgICAgdm9pZCBtYWluKCkKKyAgICAgIHsK
KyAgICAgICAgaW50IHggPSAxOworICAgICAgICAkKHZhcmlhYmxlcykKKyAgICAgICAgCisgICAg
ICAgIGlmICgkKGNvbmRpdGlvbikpCisgICAgICAgIHsgLypkbyBub3RoaW5nKi8gfQorCisgICAg
ICAgIGdsX0ZyYWdDb2xvciA9ICh4ID09IDEpID8gdmVjNCgwLCAxLCAwLCAxKSA6IHZlYzQoMSwg
MCwgMCwgMSk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8IS0tIE1haW4gYm9keSBv
ZiB0aGUgV2ViZ2wgcHJvZ3JhbSAtLT4KKyAgICA8c2NyaXB0PgorICAgICJ1c2Ugc3RyaWN0IjsK
KyAgICAgIGRlc2NyaXB0aW9uKCk7CisKKyAgICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsK
KyAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKKyAgICAgIHZhciBjID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKworICAgICAgd3R1LnNldHVwVW5pdFF1
YWQoZ2wsIFswLCAxXSk7CisKKyAgICAgIHZhciBzaGFkZXJUZW1wbGF0ZXMgPSBbCisgICAgICB7
IHZzOiAidnNoYWRlcjEiLCBmczogImZzaGFkZXIwIiB9LCAvLyBiYXNpYyB2ZXJ0ZXggc2hvcnQt
Y2lyY3VpdCB0ZXN0CisgICAgICB7IHZzOiAidnNoYWRlcjAiLCBmczogImZzaGFkZXIxIiB9LCAv
LyBiYXNpYyBmcmFnbWVudCBzaG9ydC1jaXJjdWl0IHRlc3QKKyAgICAgIF07CisKKyAgICAgIC8q
IHJlcGxhY2UgdGhlIG5hbWVzIG9mIHRoZSBzaGFkZXJzIGluIHRoZSB0ZW1wYXRlIHZhcmlhYmxl
cyB3aXRoCisgICAgICAqIHRoZSBzaGFkZXJzIHRoZW1zZWx2ZXMgKi8KKyAgICAgIGZvciAodmFy
IGlpID0gMDsgaWkgPCBzaGFkZXJUZW1wbGF0ZXMubGVuZ3RoOyArK2lpKSB7CisgICAgICAgIHZh
ciB0ZW1wbGF0ZSA9IHNoYWRlclRlbXBsYXRlc1tpaV07CisgICAgICAgIHRlbXBsYXRlLnZzID0g
d3R1LmdldFNjcmlwdCh0ZW1wbGF0ZS52cyk7CisgICAgICAgIHRlbXBsYXRlLmZzID0gd3R1Lmdl
dFNjcmlwdCh0ZW1wbGF0ZS5mcyk7CisgICAgICB9CisKKyAgICAgIC8qIGRlZmluZSB0aGUgY29u
ZGl0b24gdGhhdCB3aWxsIGJlIHVzZWQgaW4gdGhlIHNoYWRlcnMuIElmIGFkZGl0aW9uYWwKKyAg
ICAgICAqIHZhcmlhYmxlcyBhcmUgbmVlZGVkIHRoYXQgYXJlIG5vdCBwcmVzZW50IGkgdGhlIHNo
YWRlciB0aGV5IG15IGJlCisgICAgICAgKiBkZWZpbmVkIGluIHRoZSB2YXJpYWJsZXMgdmFyaWFi
bGUgKi8KKyAgICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAgeyBjb25kaXRpb246ICJ0cnVlIHx8
ICh4ID0gMCkgPT0gMSIsIHZhcmlhYmxlczogIiIgfSwgLyogdGVzdCBiYXNpYyAnb3InIHNob3J0
IGNpcmN1aXQgKi8KKyAgICAgICAgeyBjb25kaXRpb246ICJmYWxzZSAmJiAoeCA9IDApID09IDEi
LCB2YXJpYWJsZXM6ICIiIH0sIC8qIHRlc3QgYmFzaWMgJ2FuZCcgc2hvcnQgY2lyY3VpdCAqLwor
ICAgICAgICB7IGNvbmRpdGlvbjogIihqID09IDMgJiYgaiA9PSBrKSB8fCAoaiA+ICh4ID0gMCkp
IiwgdmFyaWFibGVzOiAiaW50IGogPSAzO1xuaW50IGsgPSAzOyIgfSwgLyogdGVzdCBiYXNpYyAn
b3InIHNob3J0IGNpcmN1aXQgd2l0aCBhY3R1YWwgY29uZGl0aW9uICovCisgICAgICAgIHsgY29u
ZGl0aW9uOiAiKGogPT0gMyAmJiBqID09IGspICYmIChqID4gKHggPSAwKSkiLCB2YXJpYWJsZXM6
ICJpbnQgaiA9IDM7XG5pbnQgayA9IDQ7IiB9LCAvKiB0ZXN0IGJhc2ljICdhbmQnIHNob3J0IGNp
cmN1aXQgd2l0aCBhY3R1YWwgY29uZGl0aW9uICovCisgICAgICAgIHsgY29uZGl0aW9uOiAiKGog
KyAzID4gayAmJiAoKGogPCAxMCkgfHwgKHggKyA1ID4gaiArICh4ID0gMCkpKSB8fCAoIHggPSAw
ICkgPT0gNykiLCB2YXJpYWJsZXM6ICJpbnQgaiA9IDU7XG5pbnQgayA9IDM7IiB9LCAvKiBjb21w
bGV4IHRlc3QgKi8KKyAgICAgICAgeyBjb25kaXRpb246ICJqICsgMSA9PSA2ID8geCA9PSAxIHx8
IGogPiAoeCA9IDApIDogKHggPSAwKSA9PSAxICYmICh4ID0gMCkgPD0gMSIsIHZhcmlhYmxlczog
ImludCBqID0gNTsiIH0sIC8qIG5lc3RlZCB3aXRoIHRlcm5hcnkgb3BlcmF0b3IgKi8KKyAgICAg
IF07CisKKyAgICAgIGZ1bmN0aW9uIHRlc3RTaG9ydENpcmN1aXQodGVzdCkgeworICAgICAgICBk
ZWJ1ZygiIik7CisgICAgICAgIGRlYnVnKCJ0ZXN0aW5nIHNob3J0IGNpcmN1aXQgY29uZGl0aW9u
OiAiICsgdGVzdC5jb25kaXRpb24pOworCisgICAgICAgIC8qIFNldHRpbmcgY2xlYXIgY29sb3Ig
dG8gYmx1ZSAqLworICAgICAgICBnbC5jbGVhckNvbG9yKDAuMCwgMC4wLCAxLjAsIDEuMCk7CisK
KyAgICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHNoYWRlclRlbXBsYXRlcy5sZW5ndGg7ICsr
aWkpIHsKKworICAgICAgICAgIC8qIGNsZWFyIHRoZSBzY3JlZW4gc28gdGhhdCBzdWJzZXF1ZW50
IHRlc3RzIGRvbid0IGNvbmZsaWN0ICovCisgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVG
RkVSX0JJVCk7CisgICAgICAgICAgdmFyIHRlbXBsYXRlID0gc2hhZGVyVGVtcGxhdGVzW2lpXTsK
KworICAgICAgICAgIHZhciB2cyA9IHd0dS5yZXBsYWNlUGFyYW1zKHRlbXBsYXRlLnZzLCB0ZXN0
KTsKKyAgICAgICAgICB2YXIgZnMgPSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZS5mcywgdGVz
dCk7CisKKyAgICAgICAgICB3dHUuYWRkU2hhZGVyU291cmNlKGMsICJ2ZXJ0ZXggc2hhZGVyIiwg
dnMpOworICAgICAgICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywgImZyYWdtZW50IHNoYWRlciIs
IGZzKTsKKworICAgICAgICAgIHZhciB2cyA9IHd0dS5sb2FkU2hhZGVyKGdsLCB2cywgZ2wuVkVS
VEVYX1NIQURFUik7CisgICAgICAgICAgdmFyIGZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIGZzLCBn
bC5GUkFHTUVOVF9TSEFERVIpOworICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LmNyZWF0ZVBy
b2dyYW0oZ2wsIHZzLCBmcyk7CisKKyAgICAgICAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOwor
CisgICAgICAgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICAgICAgICB3dHUuY2hlY2tDYW52YXMo
Z2wsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iLCAwKTsKKworICAgICAgICAg
IGdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSk7CisgICAgICAgICAgZ2wuZGVsZXRlU2hhZGVyKHZz
KTsKKyAgICAgICAgICBnbC5kZWxldGVTaGFkZXIoZnMpOworCisgICAgICAgICAgd3R1LmdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gR0wgZXJyb3JzIik7Cisg
ICAgICAgIH0KKyAgICAgIH0KKworICAgICAgdmFyIHRlc3ROZHggPSAwOworICAgICAgZnVuY3Rp
b24gcnVuTmV4dFRlc3QoKSB7CisgICAgICAgICAgdGVzdFNob3J0Q2lyY3VpdCh0ZXN0c1t0ZXN0
TmR4KytdKTsKKyAgICAgICAgICBpZiAodGVzdE5keCA+PSB0ZXN0cy5sZW5ndGgpIHsKKyAgICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
IHNldFRpbWVvdXQocnVuTmV4dFRlc3QsIDEpOworICAgICAgICAgIH0KKyAgICAgIH0KKworICAg
ICAgcnVuTmV4dFRlc3QoKTsKKworICAgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CisKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjJkZTBkNDU2OGZjYTY3MDIwNWZmZWUyYTRkZTE4NDU2YmQyOTU0OGYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVz
Lmh0bWwKQEAgLTAsMCArMSwxMzEgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPkdMU0wgc2ltaWxhciBuYW1lcyBpc3N1ZTwvdGl0bGU+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1m
ZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJ2c2hhZGVyIiwgdHlwZT0i
eC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3ZvaWQgbWFp
bih2b2lkKSB7CisgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJmc2hhZGVyMSIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordW5p
Zm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwor
dm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb25bMF0g
KyB1X25hbWVDb2xsaXNpb24yWzBdICsgdV9uYW1lWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJmc2hhZGVyMiIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uMlsyXTsKK3VuaWZvcm0g
dmVjNCB1X25hbWVDb2xsaXNpb25bMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwordm9pZCBt
YWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb24yWzBdICsgdV9u
YW1lQ29sbGlzaW9uWzBdICsgdV9uYW1lWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJm
c2hhZGVyMyIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordW5pZm9ybSB2ZWM0IHVf
bmFtZVsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb24yWzJdOwordm9pZCBtYWluKHZv
aWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb25bMF0gKyB1X25hbWVbMF0g
KyB1X25hbWVDb2xsaXNpb24yWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVy
NCIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7
Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uMlsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVb
Ml07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordm9pZCBtYWluKHZvaWQpIHsK
KyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb24yWzBdICsgdV9uYW1lWzBdICsgdV9u
YW1lQ29sbGlzaW9uWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyNSIsIHR5
cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlm
b3JtIHZlYzQgdV9uYW1lWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvblsyXTsKK3Vu
aWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb24yWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBn
bF9GcmFnQ29sb3IgPSB1X25hbWVbMF0gKyB1X25hbWVDb2xsaXNpb25bMF0gKyB1X25hbWVDb2xs
aXNpb24yWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyNiIsIHR5cGU9Ingt
c2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZl
YzQgdV9uYW1lWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit1bmlmb3Jt
IHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFn
Q29sb3IgPSB1X25hbWVbMF0gKyB1X25hbWVDb2xsaXNpb24yWzBdICsgdV9uYW1lQ29sbGlzaW9u
WzBdOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
K2Rlc2NyaXB0aW9uKCk7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0
dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOword3R1LnNldHVwVW5pdFF1YWQoZ2wpOworCitm
b3IgKHZhciBpaSA9IDA7IGlpIDwgNjsgKytpaSkgeworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1
cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIiArIChpaSArIDEpXSwgWyJhX3Bvc2l0
aW9uIl0pOworICB2YXIgbG9jMSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9u
YW1lWzBdIik7CisgIHZhciBsb2MyID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1
X25hbWVDb2xsaXNpb25bMF0iKTsKKyAgdmFyIGxvYzMgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24o
cHJvZ3JhbSwgInVfbmFtZUNvbGxpc2lvbjJbMF0iKTsKKyAgZ2wudW5pZm9ybTRmdihsb2MxLCBb
MSwgMCwgMCwgMF0pOworICBnbC51bmlmb3JtNGZ2KGxvYzIsIFswLCAxLCAwLCAwXSk7CisgIGds
LnVuaWZvcm00ZnYobG9jMywgWzAsIDAsIDAsIDFdKTsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAg
d3R1LmNoZWNrQ2FudmFzKGdsLCBbMjU1LCAyNTUsIDAsIDI1NV0sICJTaG91bGQgYmUgeWVsbG93
Iik7Cit9CisKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBzaG91bGQg
YmUgbm8gZXJyb3JzIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJz
LXdpdGgtdmFyeWluZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41MjFiZGMwN2M3MjMwYjdlOTM2ZWU1MTFjMGJjYzBmYmU5Zjg5YTg1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sCkBA
IC0wLDAgKzEsMTE2IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBHTFNMIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1
cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wt
Y29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBp
ZD0idmVydGV4U2hhZGVyTm9WYXJ5aW5nIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNj
cmlwdCI+Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgwLDAsMCwwKTsK
K30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydGV4U2hhZGVyVW51c2VkVmFyeWluZyIgdHlw
ZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgordmFyeWluZyB2ZWM0IHZfdmFyeWlu
ZzsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7Cit9
Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyVW51c2VkVmFyeWluZyIgdHlw
ZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxv
YXQ7CisKK3ZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xf
RnJhZ0NvbG9yID0gdmVjNCgwLDAsMCwwKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJh
Z21lbnRTaGFkZXJVc2VkVmFyeWluZyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3Jp
cHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3ZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7
CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdl92YXJ5aW5nOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0PgorLy8gR0xTTCAxLjAuMTcgNC4zLjUKKyJ1c2Ugc3RyaWN0IjsKK0dM
U0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0cyhbCisgIHsKKyAgICB2U2hhZGVySWQ6ICJ2ZXJ0
ZXhTaGFkZXJOb1ZhcnlpbmciLAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFk
ZXJJZDogImZyYWdtZW50U2hhZGVyVW51c2VkVmFyeWluZyIsCisgICAgZlNoYWRlclN1Y2Nlc3M6
IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInZlcnRleCBzaGFk
ZXIgd2l0aCBubyB2YXJ5aW5nIGFuZCBmcmFnbWVudCBzaGFkZXIgd2l0aCB1bnVzZWQgdmFyeWlu
ZyBtdXN0IHN1Y2NlZWQiLAorICB9LAorICB7CisgICAgdlNoYWRlcklkOiAidmVydGV4U2hhZGVy
Tm9WYXJ5aW5nIiwKKyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBmU2hhZGVySWQ6ICJm
cmFnbWVudFNoYWRlclVzZWRWYXJ5aW5nIiwKKyAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAg
ICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzogInZlcnRleCBzaGFkZXIgd2l0aCBu
byB2YXJ5aW5nIGFuZCBmcmFnbWVudCBzaGFkZXIgd2l0aCB1c2VkIHZhcnlpbmcgbXVzdCBmYWls
IiwKKyAgfSwKKyAgeworICAgIHZTaGFkZXJJZDogInZlcnRleFNoYWRlclVudXNlZFZhcnlpbmci
LAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJJZDogImZyYWdtZW50U2hh
ZGVyVW51c2VkVmFyeWluZyIsCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1
Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInZlcnRleCBzaGFkZXIgd2l0aCB1bnVzZWQgdmFy
eWluZyBhbmQgZnJhZ21lbnQgc2hhZGVyIHdpdGggdW51c2VkIHZhcnlpbmcgbXVzdCBzdWNjZWVk
IiwKKyAgfSwKKyAgeworICAgIHZTaGFkZXJJZDogInZlcnRleFNoYWRlclVudXNlZFZhcnlpbmci
LAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJJZDogImZyYWdtZW50U2hh
ZGVyVXNlZFZhcnlpbmciLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNj
ZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6ICJ2ZXJ0ZXggc2hhZGVyIHdpdGggdW51c2VkIHZhcnlp
bmcgYW5kIGZyYWdtZW50IHNoYWRlciB3aXRoIHVzZWQgdmFyeWluZyBtdXN0IHN1Y2NlZWQiLAor
ICB9LAorXSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlYTc0
NzExMTgwMjY3NWM5NDBiOTI0MzY5MWQ3NzMxZjA5ZGUzNzMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwKQEAgLTAsMCArMSwxNjMgQEAKKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0bGU+Z2wtcG9pbnRjb29y
ZCBUZXN0PC90aXRsZT4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiPgorPC9jYW52
YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAg
IGF0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKKyAgICB1bmlmb3JtIGZsb2F0IHVQb2ludFNpemU7
CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICBnbF9Qb2ludFNpemUgPSB1UG9pbnRTaXpl
OworICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgfQorICA8L3NjcmlwdD4KKwor
ICA8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgIGds
X0ZyYWdDb2xvciA9IHZlYzQoCisgICAgICAgIGdsX1BvaW50Q29vcmQueCwKKyAgICAgICAgZ2xf
UG9pbnRDb29yZC55LAorICAgICAgICAwLAorICAgICAgICAxKTsKKyAgICB9CisgIDwvc2NyaXB0
PgorCisgIDxzY3JpcHQ+CisgICAgInVzZSBzdHJpY3QiOworICAgIGRlc2NyaXB0aW9uKCJDaGVj
a3MgZ2xfUG9pbnRDb29yZCBhbmQgZ2xfUG9pbnRTaXplIik7CisgICAgZGVidWcoIiIpOworCisg
ICAgLy8gTk9URTogSSdtIG5vdCAxMDAlIGNvbmZpZGVudCBpbiB0aGlzIHRlc3QuIEkgdGhpbmsg
aXQgaXMgY29ycmVjdC4KKworICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICB2YXIg
Z2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisgICAgc2hvdWxkQmVOb25OdWxs
KCJnbCIpOworICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVy
IiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9y
KCkiLCAiZ2wuTk9fRVJST1IiKTsKKworICAgIHZhciBjYW52YXMgPSBnbC5jYW52YXM7CisgICAg
dmFyIHdpZHRoID0gY2FudmFzLndpZHRoOworICAgIHZhciBoZWlnaHQgPSBjYW52YXMuaGVpZ2h0
OworICAgIHNob3VsZEJlKCJ3aWR0aCIsICJoZWlnaHQiKTsKKworICAgIHZhciBtYXhQb2ludFNp
emUgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuQUxJQVNFRF9QT0lOVF9TSVpFX1JBTkdFKVsxXTsKKyAg
ICBzaG91bGRCZVRydWUoIm1heFBvaW50U2l6ZSA+PSAxIik7CisgICAgLy8gVGhlIG1pbmltdW0g
YW5kIG1heGltdW0gcG9pbnQgc2l6ZXMgbWF5IGJlIGZsb2F0aW5nLXBvaW50IG51bWJlcnMuCisg
ICAgc2hvdWxkQmVUcnVlKCJNYXRoLmZsb29yKG1heFBvaW50U2l6ZSkgPj0gMSIpOworICAgIG1h
eFBvaW50U2l6ZSA9IE1hdGguZmxvb3IobWF4UG9pbnRTaXplKTsKKyAgICBzaG91bGRCZVRydWUo
Im1heFBvaW50U2l6ZSAlIDEgPT0gMCIpOworCisgICAgbWF4UG9pbnRTaXplID0gTWF0aC5taW4o
bWF4UG9pbnRTaXplLCA2NCk7CisgICAgdmFyIHBvaW50V2lkdGggPSBtYXhQb2ludFNpemUgLyB3
aWR0aDsKKyAgICB2YXIgcG9pbnRTdGVwID0gTWF0aC5mbG9vcihtYXhQb2ludFNpemUgLyA0KTsK
KyAgICB2YXIgcG9pbnRTdGVwID0gTWF0aC5tYXgoMSwgcG9pbnRTdGVwKTsKKworICAgIHZhciBw
b2ludFNpemVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVQb2ludFNpemUi
KTsKKyAgICBnbC51bmlmb3JtMWYocG9pbnRTaXplTG9jLCBtYXhQb2ludFNpemUpOworCisgICAg
dmFyIHBpeGVsT2Zmc2V0ID0gKG1heFBvaW50U2l6ZSAlIDIpID8gKDEgLyB3aWR0aCkgOiAwOwor
ICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICBnbC5iaW5kQnVm
ZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgICBnbC5idWZmZXJEYXRhKAor
ICAgICAgICBnbC5BUlJBWV9CVUZGRVIsCisgICAgICAgIG5ldyBGbG9hdDMyQXJyYXkoCisgICAg
ICAgICAgWy0wLjUgKyBwaXhlbE9mZnNldCwgLTAuNSArIHBpeGVsT2Zmc2V0LAorICAgICAgICAg
ICAgMC41ICsgcGl4ZWxPZmZzZXQsIC0wLjUgKyBwaXhlbE9mZnNldCwKKyAgICAgICAgICAgLTAu
NSArIHBpeGVsT2Zmc2V0LCAgMC41ICsgcGl4ZWxPZmZzZXQsCisgICAgICAgICAgICAwLjUgKyBw
aXhlbE9mZnNldCwgIDAuNSArIHBpeGVsT2Zmc2V0XSksCisgICAgICAgIGdsLlNUQVRJQ19EUkFX
KTsKKyAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAgICBnbC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKDAsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgICBnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgICBnbC5kcmF3
QXJyYXlzKGdsLlBPSU5UUywgMCwgNCk7CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAi
Z2wuTk9fRVJST1IiKTsKKworICAgIGZ1bmN0aW9uIHMycChzKSB7CisgICAgICByZXR1cm4gKHMg
KyAxLjApICogMC41ICogd2lkdGg7CisgICAgfQorCisgICAgLy9mdW5jdGlvbiBwcmludCh4LCB5
KSB7CisgICAgLy8gIHZhciBiID0gbmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgLy8gIGdsLnJlYWRQ
aXhlbHMoeCwgeSwgMSwgMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYik7CisgICAgLy8g
IGRlYnVnKCIiICsgeCArICIsIiArIHkgKyAiOiAiICsgYlswXSArICIsIiArIGJbMV0gKyAiLCIg
KyBiWzJdKTsKKyAgICAvL30KKyAgICAvLworICAgIC8vZm9yICh2YXIgaWkgPSAwOyBpaSA8IDEw
MDsgKytpaSkgeworICAgIC8vICBwcmludChpaSwgaWkpOworICAgIC8vfQorCisgICAgZm9yICh2
YXIgcHkgPSAwOyBweSA8IDI7ICsrcHkpIHsKKyAgICAgIGZvciAodmFyIHB4ID0gMDsgcHggPCAy
OyArK3B4KSB7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgdmFyIHBvaW50WCA9IC0wLjUg
KyBweCArIHBpeGVsT2Zmc2V0OworICAgICAgICB2YXIgcG9pbnRZID0gLTAuNSArIHB5ICsgcGl4
ZWxPZmZzZXQ7CisgICAgICAgIGZvciAodmFyIHl5ID0gMDsgeXkgPCBtYXhQb2ludFNpemU7IHl5
ICs9IHBvaW50U3RlcCkgeworICAgICAgICAgIGZvciAodmFyIHh4ID0gMDsgeHggPCBtYXhQb2lu
dFNpemU7IHh4ICs9IHBvaW50U3RlcCkgeworICAgICAgICAgICAgLy8gZm9ybXVsYSBmb3IgcyBh
bmQgdCBmcm9tIE9wZW5HTCBFUyAyLjAgc3BlYyBzZWN0aW9uIDMuMworICAgICAgICAgICAgdmFy
IHh3ID0gczJwKHBvaW50WCk7CisgICAgICAgICAgICB2YXIgeXcgPSBzMnAocG9pbnRZKTsKKyAg
ICAgICAgICAgIC8vZGVidWcoInh3OiAiICsgeHcgKyAiIHl3OiAiICsgeXcpOworICAgICAgICAg
ICAgdmFyIHUgPSB4eCAvIG1heFBvaW50U2l6ZSAqIDIgLSAxOworICAgICAgICAgICAgdmFyIHYg
PSB5eSAvIG1heFBvaW50U2l6ZSAqIDIgLSAxOworICAgICAgICAgICAgdmFyIHhmID0gTWF0aC5m
bG9vcihzMnAocG9pbnRYICsgdSAqIHBvaW50V2lkdGgpKTsKKyAgICAgICAgICAgIHZhciB5ZiA9
IE1hdGguZmxvb3IoczJwKHBvaW50WSArIHYgKiBwb2ludFdpZHRoKSk7CisgICAgICAgICAgICAv
L2RlYnVnKCJ4ZjogIiArIHhmICsgIiB5ZjogIiArIHlmKTsKKyAgICAgICAgICAgIHZhciBzID0g
MC41ICsgKHhmICsgMC41IC0geHcpIC8gbWF4UG9pbnRTaXplOworICAgICAgICAgICAgdmFyIHQg
PSAwLjUgKyAoeWYgKyAwLjUgLSB5dykgLyBtYXhQb2ludFNpemU7CisgICAgICAgICAgICAvL2Rl
YnVnKCJzOiAiICsgcyArICIgdDogIiArIHQpOworICAgICAgICAgICAgdmFyIGNvbG9yID0gW01h
dGguZmxvb3IocyAqIDI1NSksIE1hdGguZmxvb3IoKDEgLSB0KSAqIDI1NSksIDBdOworICAgICAg
ICAgICAgdmFyIG1zZyA9ICJwaXhlbCAiICsgeGYgKyAiLCIgKyB5ZiArICIgc2hvdWxkIGJlICIg
KyBjb2xvcjsKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIHhmLCB5ZiwgMSwg
MSwgY29sb3IsIG1zZywgNCk7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAg
fQorCisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgIDwvc2NyaXB0PgorICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1BLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmM5Yjk5NTg3ZjllMjZkZTMwZTE3NmFiYWE0NTExMWZhYjFkMjE0OGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sCkBAIC0w
LDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25v
cyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv
ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0
d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRl
cmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu
Y2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt
b2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29y
IHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8K
KyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiog
aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgor
KioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U
IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG
T1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
QU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJP
TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIu
Li91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1BLmpzIj48L3NjcmlwdD4K
KworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRo
YXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3
aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3Rz
LnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEw
MDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAg
IGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlz
c2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dl
bmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAg
aWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1
bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdz
CisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2Vu
LCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgewor
ICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYg
KGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAg
ICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2
YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2Vy
LCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChn
ZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFt
ZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpv
aW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHko
Z2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wg
ZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2Vy
dE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3Jl
dHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsK
KyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0
IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIg
dGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZh
bHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVl
IGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1Nv
dXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7
IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAg
ICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2go
ZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAg
ICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRl
O308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWZjYzc0Yzg4MjEyOWVhOTU4YzQxODlk
MWMyMDI4MDdiYmM4MzE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMS5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3Mi
IGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2Vu
ZXJhdG9ycy1CMS5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGlu
IEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0
ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7Cisg
IHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJh
dG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAo
bmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsK
KyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVh
ZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsK
KyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5k
b21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihh
cmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2Vu
Lm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291
cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRy
dWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdl
IGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdz
IGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAg
YXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVy
biBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdl
bi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7Cisg
ICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGgg
dmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIo
IithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigi
LCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHko
R0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51
cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBn
bC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUK
KyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2so
IkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0
aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7
CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9t
VGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5u
YW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxl
PmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9k
eT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE2ZWU5MDhiNDI3MTRkZWZmOTU1ZTUyZDhhYTc1MmE1MzJlZjczOWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbApAQCAtMCwwICsxLDg0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQjIuanMiPjwvc2NyaXB0PgorCis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwg
R0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2Fs
bGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZh
bGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBm
b3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFH
TFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZy
b20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9y
c1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFy
Z0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24g
d2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAg
IGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVw
VmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAg
ICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFk
eVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBh
bHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9
IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2Vy
dCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVj
a0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIith
cmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIp
KyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFy
Z3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlv
biB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRo
aXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9i
amVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rp
b24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAg
ICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQor
ICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5n
IGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVh
bnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIg
IituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEp
fSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJl
dHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBh
cmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7Cisg
ICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAg
fQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5
bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mODcyYzlmNmIyMmIwZDJmNTliNGEyZjc5ZTlmNDRk
YjVjNjg5NWYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUIzLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0i
Li4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3Jz
LUIzLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3Jp
cHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2Vu
ZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxp
ZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJh
bmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7
CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJy
b3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAg
dmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVk
QXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAg
Ly8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdl
bmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwg
ZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJl
YWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJn
cyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAg
ICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBh
biB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZh
bGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQo
IlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVj
dC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNr
QXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAg
Ly8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBh
cmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3Mu
bWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIiki
LAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJn
cyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSBy
ZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0
ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAg
ICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5p
bmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7
cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAg
ICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAg
ICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291
bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZv
cm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFz
e3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRkY2Fh
MzdiNDQ4YzNkY2M3NmZjOTdkNzM1NjZlYTUwYWRkYjkzNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNr
Q2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1CNC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5j
dGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0
aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdz
ID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFy
IG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVd
KQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUg
V2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVd
OworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdl
bmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJh
bmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2Vu
ZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7
CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIg
c3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRB
cmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlU
cmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7
CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQg
dGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFs
aWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFw
KGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAor
ICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOwor
ICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtz
IHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91
bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRv
U291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2
ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlm
IHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAg
IC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3Jl
YXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisg
ICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUr
IigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2lu
KCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFs
dWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50
ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRl
c3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisK
Kzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwv
aGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NDk0NTU3ZDU5Y2Y5M2YwMzE3MDNlOGM3M2MzMzMwMzVhYzc0MDNj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRt
bApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNz
cyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3Vu
aXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQy5qcyI+PC9z
Y3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8g
VGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29y
aworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRz
CitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291
bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7
CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAi
IGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4g
PSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsK
KyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFj
aCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFs
aWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFy
Z3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hl
Y2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAg
ICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAg
ICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkg
Y2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAg
ICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdz
OiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2Uo
YSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5
LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0
aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAg
ICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlv
bihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAg
ICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRy
dWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVl
LCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYp
IGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5y
ZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVy
biB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmpl
Y3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBv
azsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9
IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihl
KSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjph
YnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVjMjQzM2VhOTIyZjM5
NmQ1YjU2NDdiZjBmNjg5YzVmMzk5Yzc2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9
InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJ
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBz
cmM9ImFyZ0dlbmVyYXRvcnMtRF9HLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBz
cGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRv
bWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5j
dGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBp
biBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAg
ICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBj
b250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAg
ICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUp
IGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVz
dENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JU
ZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAg
ICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBP
YmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3Jj
XSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJn
c1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAg
ICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2Vu
ZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkK
KyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rp
b24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAg
ICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAg
IHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBj
YWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3Jr
OiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2Uo
YSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtu
YW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVl
ZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5n
LiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZm
ZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAg
ICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJn
cy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsi
KSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFu
dXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3Vu
dCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxl
ZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3Jp
cHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxi
b2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1HX0kuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNDFmYzlmODRkMzc4ZjBhMGE5NDI3MTQ1NTYxMjNiYTViZmUxODYyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1s
CkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3Nz
IiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5p
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1HX0kuanMiPjwv
c2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8v
IFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdv
cmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50
cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENv
dW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkg
eworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsg
IiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2Vu
ID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307
CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVh
Y2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZh
bGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihh
cmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENo
ZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAg
ICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9Cisg
ICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5
IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAg
ICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJn
czogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNl
KGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0
eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQg
dGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAg
ICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rp
b24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAg
ICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0
cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1
ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2
KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4u
cmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1
cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2Jq
ZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5j
dGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4g
b2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAg
fSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3Io
ZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246
YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0NDIwY2VlMWY4MDg3
ZWRhYjYzZmQ5YzI4ZDU3NjE4YjE1NTI2MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBl
PSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQ
SS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSJhcmdHZW5lcmF0b3JzLUxfUy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMg
c3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5k
b21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVu
Y3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUg
aW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAg
ICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wg
Y29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAg
ICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRl
KSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRl
c3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9y
VGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAg
ICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0g
T2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3Ny
Y10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFy
Z3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAg
ICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdl
bmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkp
CisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0
aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAg
ICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAg
ICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4g
Y2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29y
azogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNl
KGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xb
bmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5l
ZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUu
Zy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVm
ZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAg
ICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2Fy
Z3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikr
IikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVh
bnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291
bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWls
ZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2Ny
aXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48
Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktU19WLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGIyOGViNDJlMzEwMjMyMTc1MzYxNjAzZDJjNTJlNjA2NGE2ZDMyMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRt
bApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNz
cyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3Vu
aXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtU19WLmpzIj48
L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisv
LyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3
b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVu
dHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RD
b3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5
IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSAr
ICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dl
biA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9
OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBl
YWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2
YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24o
YXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRD
aGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAg
ICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQor
ICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0
eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAg
ICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFy
Z3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJj
ZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRp
dHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0
IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAg
ICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0
aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0g
dHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFs
dWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihy
dikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2Vu
LnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0
dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9i
amVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJu
IG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAg
IH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9y
KGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9u
OmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2NzZlNzc5MDViNDYxMzRh
Y2IwYmI5ZjMyODZjZDdhNGNhYjM1MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9idWZmZXJEYXRhQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsNzkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4
dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94
LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFw
cGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0g
ZnVuY3Rpb24gKCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ds
Jyk7CisgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICB2
YXIgYnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIHZhciBlYnVmID0gZ2wuY3JlYXRlQnVmZmVy
KCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWYpOworICBnbC5iaW5kQnVm
ZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBlYnVmKTsKKyAgcmV0dXJuIFtnbCwgYnVmLCBl
YnVmXTsKK30KKworVGVzdHMudGVzdEJ1ZmZlckRhdGEgPSBmdW5jdGlvbihnbCkgeworICAgIGFz
c2VydE9rKCJ6ZXJvIHNpemUgZGF0YSIsCisgICAgICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0
YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoMCksIGdsLlNUQVRJQ19EUkFXKTt9
KTsKKyAgICBhc3NlcnRGYWlsKCJiYWQgdGFyZ2V0IiwKKyAgICAgICAgZnVuY3Rpb24oKXtnbC5i
dWZmZXJEYXRhKGdsLlRFWFRVUkVfMkQsIG5ldyBGbG9hdDMyQXJyYXkoWzEsMiwzXSksIGdsLlNU
QVRJQ19EUkFXKTt9KTsKKy8vICAgIGFzc2VydEZhaWwoImFycmF5IGZvciBkYXRhIiwKKy8vICAg
ICAgICBmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBbMSwyLDNdLCBn
bC5TVEFUSUNfRFJBVyk7fSk7CisgICAgYXNzZXJ0RmFpbCgiYmFkIHVzYWdlIiwKKyAgICAgICAg
ZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJh
eShbMSwyLDNdKSwgZ2wuVEVYVFVSRV8yRCk7fSk7CisgICAgYXNzZXJ0RmFpbCgibnVsbCBkYXRh
IiwKKyAgICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbnVs
bCwgZ2wuU1RBVElDX0RSQVcpO30pOworICAgIGFzc2VydEZhaWwoInVuZGVmaW5lZCBkYXRhIiwK
KyAgICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdW5kZWZp
bmVkLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5idWZm
ZXJEYXRhKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsxLDIsM10p
LCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgdGhyb3dFcnJvcihnbCwgJ2J1ZmZlckRhdGEnKTsK
KyAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgbnVsbCk7CisgICAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFy
cmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgdGhyb3dFcnJvcihnbCwgJ2J1
ZmZlckRhdGEnKTsKKyAgICBnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBu
dWxsKTsKKyAgICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5FTEVNRU5U
X0FSUkFZX0JVRkZFUiwgbmV3IFVpbnQxNkFycmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7
fSk7CisgICAgdGhyb3dFcnJvcihnbCwgJ2J1ZmZlckRhdGEnKTsKK30KKworVGVzdHMuZW5kVW5p
dCA9IGZ1bmN0aW9uKGdsLCBidWYsIGVidWYpIHsKKyAgICBnbC5kZWxldGVCdWZmZXIoYnVmKTsK
KyAgICBnbC5kZWxldGVCdWZmZXIoZWJ1Zik7Cit9CisKKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2Fu
dmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFz
IGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWE0ZjJmYzA2NmFmMWU1
YzdkYzUyMzE4ZGUwMjkxMWI1OGI4NTIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvY29weVRleEltYWdlMkQuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0
L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBm
dW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wn
KTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHJl
dHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgIHZhciB0ZXgg
PSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRl
eCk7CisgIHZhciB0ZXhDdWJlTWFwID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFwKTsKKyAgcmV0dXJuIFtnbF0KK30K
KworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgsIHRleEN1YmVNYXApIHsKKyAgZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRF
WFRVUkVfQ1VCRV9NQVAsIG51bGwpOworICBnbC5kZWxldGVUZXh0dXJlKHRleCk7CisgIGdsLmRl
bGV0ZVRleHR1cmUodGV4Q3ViZU1hcCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVu
Y3Rpb24oZ2wpIHsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgMCwwLDEsMSwwKTsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgMCwwLDIsMSwwKTsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgMCwwLDEsMiwwKTsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgMCwwLDE2LDE2LDApOworICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBnbC5SR0JBLCAxNSwxNSwxLDEsMCk7CisgIHZhciB2YWxpZF90YXJnZXRzID0gWwor
ICAgIGdsLlRFWFRVUkVfMkQsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAor
ICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVf
TUFQX1BPU0lUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAg
IGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQ
X05FR0FUSVZFX1oKKyAgXTsKKyAgdmFsaWRfdGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsK
KyAgICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmNvcHlUZXhJbWFnZTJEKHQsIDAsIGdsLlJHQkEs
IDAsMCwxLDEsMCk7fSk7CisgIH0pOworfQorVGVzdHMudGVzdFJvdW5kdHJpcCA9IGZ1bmN0aW9u
KGdsKSB7CisgICAgdmFyIHNoID0gbmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcs
ICdpZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuY2xlYXJDb2xvcigxLjAsIDAuMCwgMC4wLCAxLjAp
OworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIHZhciBidWYgPSBuZXcg
VWludDhBcnJheSg0KTsKKyAgICBnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgYnVmKTsKKyAgICBhc3NlcnRFcXVhbHMoWzI1NSwwLDAsMjU1XSwgW2J1Zlsw
XSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXV0pOworICAgIC8vIHJlZCB0ZXh0dXJlCisgICAgZ2wu
Y29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDE2LDE2LDApOwor
ICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGds
LkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wu
VEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmko
Z2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGds
LnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5M
SU5FQVIpOworICAgIGdsLmNsZWFyQ29sb3IoMC4wLCAwLjAsIDEuMCwgMS4wKTsKKyAgICBnbC5j
bGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICAvLyBibHVlIGZyYW1lYnVmZmVyCisgICAg
Z2wucmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7Cisg
ICAgYXNzZXJ0RXF1YWxzKFswLDAsMjU1LDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBi
dWZbM11dKTsKKyAgICBzaC5hcHBseSgpOyAvLyBwYWludCBpdCB3aXRoIHRleHR1cmUKKyAgICBn
bC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAg
ICBhc3NlcnRFcXVhbHMoWzI1NSwwLDAsMjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1
ZlszXV0pOworICAgIHNoLmRlc3Ryb3koKTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9u
KGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZmxpcC12ZXJ0IiB0
eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CithdHRyaWJ1
dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQorewor
ICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LnMsIDEuMC1UZXgudCwgMC4wLCAwLjApOworICAgIGds
X1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
ImlkZW50aXR5LWZyYWciIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2FtcGxlcjJEIFRleHR1cmU7CisKK3ZhcnlpbmcgdmVj
NCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHZlYzQgYyA9IHRleHR1cmUyRChUZXh0
dXJlLCB0ZXhDb29yZDAuc3QpOworICAgIGdsX0ZyYWdDb2xvciA9IGM7Cit9Cis8L3NjcmlwdD4K
KzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9k
eT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9i
b2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFk
QXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2I0ZGNjMjJlOWFlMDAxNjI3MTg1ZjgxZWRmMWNhOTcyYjM4YTExZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCkBA
IC0wLDAgKzEsMTA5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIg
Lz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY2Fu
dmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgICAgdmFyIGdsID0gd3JhcEdM
Q29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgICAgcmV0dXJuIFtnbF07Cit9CisKK1Rl
c3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUo
KTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgcmV0dXJuIFtnbF0K
K30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgpIHsKKyAgZ2wuYmluZFRleHR1
cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30KKwor
VGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihnbCkgeworICAgIGFzc2VydE9rKCJoZWln
aHQgPiBiYWNrSGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxNywxLDApOworICAgIH0pOworICAgIGFz
c2VydE9rKCJ3aWR0aCA+IGJhY2tXaWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlU
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwgMSwxNywwKTsKKyAgICB9
KTsKKyAgICBhc3NlcnRPaygieCArIHdpZHRoID4gYmFja1dpZHRoIiwgZnVuY3Rpb24oKXsKKyAg
ICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMTYsMCwg
MSwxLDApOworICAgIH0pOworICAgIGFzc2VydE9rKCJ5ICsgaGVpZ2h0ID4gYmFja0hlaWdodCIs
IGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IGdsLlJHQkEsIDAsMTYsIDEsMSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygiTmVnYXRpdmUg
WCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIC0xLDAsIDEsMSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygiTmVnYXRp
dmUgWSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIDAsLTEsIDEsMSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRGYWlsKCJO
ZWdhdGl2ZSBoZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIC0xLDEsMCk7CisgICAgfSk7CisgICAgYXNz
ZXJ0RmFpbCgiTmVnYXRpdmUgd2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIDEsLTEsMCk7CisgICAgfSk7
CisgICAgYXNzZXJ0RmFpbCgiTm9uIDAgYm9yZGVyIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wu
Y29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxLDEsMSk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTmVnYXRpdmUgYm9yZGVyIixmdW5jdGlvbigpeworICAg
ICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIDEs
MSwtMSk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soIkdvb2QgQXJncyIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwg
MTYsMTYsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTlBPVCB0ZXh0dXJlIHRvID4gbGV2
ZWwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDEsIGdsLlJHQkEsIDAsMCwgMTUsMTYsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgi
QmFkIHRhcmdldCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLkZM
T0FULCAwLCBnbC5SR0JBLCAwLDAsIDE2LDE2LDApOworICAgIH0pOworICAgIGFzc2VydEZhaWwo
IkJhZCBpbnRlcm5hbCBmb3JtYXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5GTE9BVCwgMCwwLCAxNiwxNiwwKTsKKyAgICB9KTsK
KyAgICBhc3NlcnRGYWlsKCJOZWdhdGl2ZSBsZXZlbCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGds
LmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIC0xLCBnbC5SR0JBLCAwLDAsIDE2LDE2LDAp
OworICAgIH0pOworfQorCisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8
L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwv
aGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2Fu
dmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhT
dWJJbWFnZTJELmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVkNTFiM2VhYjljYjQzYTllZmJiMTY2YjBhZmMzNjhhOGUwYzlkODMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sCkBAIC0w
LDAgKzEsMTQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0i
Li4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0
KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVw
ID0gZnVuY3Rpb24oZ2wpIHsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgdmFyIHRleEN1YmVNYXAgPSBnbC5j
cmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRl
eEN1YmVNYXApOworICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9u
KGdsLHRleCx0ZXhDdWJlTWFwKSB7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51
bGwpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCBudWxsKTsKKyAgZ2wu
ZGVsZXRlVGV4dHVyZSh0ZXgpOworICBnbC5kZWxldGVUZXh0dXJlKHRleEN1YmVNYXApOworfQor
CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgZ2wuY29weVRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDE2LDE2LDApOworICBnbC5jb3B5
VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwxLDEpOworICBnbC5jb3B5
VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwyLDEpOworICBnbC5jb3B5
VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwxLDIpOworICBnbC5jb3B5
VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwxNiwxNik7CisgIGdsLmNv
cHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMTUsMTUsMSwxKTsKKyAgZ2wu
Y29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMSwxLCAwLDAsMTUsMTUpOworICBn
bC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAxNSwxNSwgMCwwLDEsMSk7Cisg
IHZhciB2YWxpZF90YXJnZXRzID0gWworICAgIGdsLlRFWFRVUkVfMkQsCisgICAgZ2wuVEVYVFVS
RV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVf
WCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwK
KyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKKyAgXTsKKyAgdmFsaWRfdGFyZ2V0
cy5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRPayhmdW5jdGlvbigpeworICAgICAg
ICBnbC5jb3B5VGV4SW1hZ2UyRCh0LCAwLCBnbC5SR0JBLCAwLDAsMSwxLDApOworICAgICAgICBn
bC5jb3B5VGV4U3ViSW1hZ2UyRCh0LCAwLCAwLDAsMCwwLDEsMSk7CisgICAgfSk7CisgIH0pOwor
fQorVGVzdHMudGVzdFJvdW5kdHJpcCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIHNoID0gbmV3
IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAg
Z2wuY2xlYXJDb2xvcigxLjAsIDAuMCwgMC4wLCAxLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQpOworICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICBnbC5y
ZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICBh
c3NlcnRFcXVhbHMoWzI1NSwwLDAsMjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1Zlsz
XV0pOworICAgIC8vIHJlZCB0ZXh0dXJlCisgICAgZ2wuY2xlYXJDb2xvcigwLjAsIDAuMCwgMC4w
LCAwLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJykpOworICAgIGdsLmNsZWFyQ29sb3IoMS4w
LCAwLjAsIDAuMCwgMS4wKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAg
ICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsMCwwLDE2LDE2KTsK
KyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBn
bC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGds
LlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBn
bC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wu
TElORUFSKTsKKyAgICBnbC5jbGVhckNvbG9yKDAuMCwgMC4wLCAxLjAsIDEuMCk7CisgICAgZ2wu
Y2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgLy8gYmx1ZSBmcmFtZWJ1ZmZlcgorICAg
IGdsLnJlYWRQaXhlbHMoMCwwLDEsMSxnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOwor
ICAgIGFzc2VydEVxdWFscyhbMCwwLDI1NSwyNTVdLCBbYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwg
YnVmWzNdXSk7CisgICAgc2guYXBwbHkoKTsgLy8gcGFpbnQgd2l0aCB0ZXh0dXJlCisgICAgZ2wu
cmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAg
YXNzZXJ0RXF1YWxzKFsyNTUsMCwwLDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZb
M11dKTsKKyAgICBzaC5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihn
bCkgeworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZsaXAtdmVydCIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4OworYXR0cmlidXRl
IHZlYzIgVGV4OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAg
ICB0ZXhDb29yZDAgPSB2ZWM0KFRleC5zLCAxLjAtVGV4LnQsIDAuMCwgMC4wKTsKKyAgICBnbF9Q
b3NpdGlvbiA9IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJp
ZGVudGl0eS1mcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRp
dW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBsZXIyRCBUZXh0dXJlOworCit2YXJ5aW5nIHZlYzQg
dGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB2ZWM0IGMgPSB0ZXh0dXJlMkQoVGV4dHVy
ZSwgdGV4Q29vcmQwLnN0KTsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworfQorPC9zY3JpcHQ+Cis8
c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+
Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9k
eT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJh
ZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQyYzQ3NGM1NTQwOTVlMTJmNzI1ZmJhY2ZjOTk4YjA4ZmU3M2IyMjYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3Mu
aHRtbApAQCAtMCwwICsxLDExMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
Ky0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5p
dC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIu
Li91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgICAg
dmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBnbCA9
IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICAgIHJldHVybiBbZ2xdOwor
fQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0
ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAg
IHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsdGV4KSB7Cisg
ICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4
dHVyZSh0ZXgpOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7Cisg
ICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxNiwx
NiwgMCk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIndpZHRoID4g
ZHN0IHRleCB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAxNywxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiaGVpZ2h0ID4gZHN0IHRleCBoZWlnaHQiLCBm
dW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCAwLDAsIDAsMCwgMSwxNyk7CisgICAgfSk7CisgICAgLy8gVGhlIHNwZWMgc2F5cyB0aGUgc291
cmNlIGltYWdlIGRpbWVuc2lvbnMgY2FuIGJlIG91dCBvZiByYW5nZS4KKyAgICBhc3NlcnRPaygi
eCA+IGRzdCB0ZXggd2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDE2LDAsIDEsMSk7CisgICAgfSk7CisgICAgYXNz
ZXJ0T2soInkgPiBkc3QgdGV4IHdpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDE2LCAxLDEpOworICAgIH0pOwor
ICAgIGFzc2VydE9rKCJ4IDwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgLTEsMCwgMSwxKTsKKyAgICB9KTsKKyAgICBh
c3NlcnRPaygieSA8IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsLTEsIDEsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0
R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIndpZHRoIDwgMCIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAt
MSwxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAi
aGVpZ2h0IDwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAxLC0xKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAieG9mZnNldCA8IDAiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAtMSwwLCAwLDAsIDE2
LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAi
eW9mZnNldCA8IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCAwLC0xLCAwLDAsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRP
aygieCA8IDAgZnVsbCB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgLTEsMCwgMTYsMTYpOworICAgIH0pOworICAg
IGFzc2VydE9rKCJ5IDwgMCBmdWxsIGhlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNv
cHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwtMSwgMTYsMTYpOworICAg
IH0pOworICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAxNiwxNik7CisgICAgfSk7CisgICAgYXNz
ZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIHRhcmdldCIsIGZ1bmN0aW9uKCl7
CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLkZMT0FULCAwLCAwLDAsIDAsMCwgMTYs
MTYpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICIi
LCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAtMSwgMCwwLCAwLDAsIDE2LDE2KTsKKyAgICB9KTsKK30KKworCitUZXN0cy5lbmRVbml0ID0g
ZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjph
YnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9
IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
ZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWUwY2JjMDFkODhkYzJiOGZhNzIx
YjI2ZGFhZjU2ODFiNDU4MTYyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Rl
bGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1
bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcp
OworICB2YXIgZ2wgPSBnZXRHTENvbnRleHQoY2FudmFzKTsKKyAgcmV0dXJuIFtnbF07Cit9CisK
K1Rlc3RzLnRlc3REZWxldGVCdWZmZXIgPSBmdW5jdGlvbihnbCkgeworICBhc3NlcnRUaHJvd05v
R0xFcnJvcihnbCwgIm51bWJlciAiLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoMSk7IH0p
OworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgIm51bGwiLCBmdW5jdGlvbigpeyBn
bC5kZWxldGVCdWZmZXIobnVsbCk7IH0pOworICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgIjAi
LCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoMCk7IH0pOworICBhc3NlcnRUaHJvd05vR0xF
cnJvcihnbCwgImZhbHNlIiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKGZhbHNlKTsgfSk7
CisgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidHJ1ZSIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0
ZUJ1ZmZlcih0cnVlKTsgfSk7CisgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAie30iLCBmdW5j
dGlvbigpeyBnbC5kZWxldGVCdWZmZXIoe30pOyB9KTsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRl
eHR1cmUoKTsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXggYXMgYnVmIiwgZnVuY3Rp
b24oKXsgZ2wuZGVsZXRlQnVmZmVyKHRleCk7IH0pOworICB2YXIgYnVmID0gZ2wuY3JlYXRlQnVm
ZmVyKCk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcihidWYpOyB9KTsK
KyAgYXNzZXJ0T2soZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKGJ1Zik7IH0pOworICBhc3Nl
cnRPayhmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoYnVmKTsgfSk7CisgIGFzc2VydE9rKGZ1
bmN0aW9uKCl7IGdsLmRlbGV0ZVRleHR1cmUodGV4KTsgfSk7Cit9CisKK1Rlc3RzLmVuZFVuaXQg
PSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9u
OmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0
aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJh
eXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mYTVjMWQ4ZGUyZWQ5YjlmN2M2YTA4ZDBiMzJhOTQ3Y2MyMTA2
ZmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sCkBA
IC0wLDAgKzEsMTM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIg
Lz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCI+CisKK3ZhciB2ZXJ0cyA9IFswLjAsIDAuMCwgMC4wLCAgIDEuMCwgMC4wLCAwLjAs
ICAgMC4wLCAxLjAsIDAuMF07Cit2YXIgbm9ybWFscyA9IFswLjAsIDAuMCwgMS4wLCAgIDAuMCwg
MC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMF07Cit2YXIgdGV4Y29vcmRzID0gWzAuMCwwLjAsICAx
LjAsMC4wLCAgMC4wLDEuMF07CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAg
dmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3
cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgdmFyIHByb2cgPSBuZXcgU2hh
ZGVyKGdsLCAndmVydCcsICdmcmFnJyk7CisgIHByb2cudXNlKCk7CisgIHZhciBzaCA9IHByb2cu
c2hhZGVyLnByb2dyYW07CisvLyAgIGxvZyhnbC5nZXRTaGFkZXJJbmZvTG9nKHByb2cuc2hhZGVy
c1sxXSkpOworICB2YXIgdiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnVmVydGV4Jyk7Cisg
IHZhciBuID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdOb3JtYWwnKTsKKyAgdmFyIHQgPSBn
bC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ1RleCcpOworICByZXR1cm4gW2dsLHByb2csdixuLHRd
OworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBhc3Nl
cnQoMCA9PSBnbC5nZXRFcnJvcigpKTsKKyAgcmV0dXJuIFtnbCwgcHJvZywgdixuLHRdOworfQor
VGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgZ2wuZGlzYWJs
ZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobik7
CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKK30KKworVGVzdHMuZW5kVW5pdCA9
IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBwcm9nLmRlc3Ryb3koKTsKK30KKworVGVz
dHMudGVzdERyYXdBcnJheXNWQk8gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFy
IHZibyA9IG5ldyBWQk8oZ2wsIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30pOworICB2Ym8u
ZHJhdyh2KTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kcmF3IikpOworICBh
c3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA1LCAxKTt9KTsK
KyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7
fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAs
IDYpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAxLCA1KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tFcnJvcihn
bCwgInZiby5kZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5c1ZCT011bHRpID0g
ZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhlIHF1
YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRlciBhbmQg
Y2FsbHMgZHJhd0FycmF5cworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICB7c2l6ZTozLCBk
YXRhOlF1YWQudmVydGljZXN9LAorICAgIHtzaXplOjMsIGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAg
ICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSk7CisgIHZiby5kcmF3KHYsIG4sIHQpOwor
ICBhc3NlcnQoMCA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRyYXciKSk7CisgIGFzc2VydE9rKGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDUsIDEpO30pOworICBhc3NlcnRP
ayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAyKTt9KTsKKyAgYXNz
ZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7fSk7Cisg
IGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDUpO30p
OworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEs
IDYpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDYsIDEpO30pOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvLnZib3Nb
MV0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwg
MCk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDUs
IDEpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAwLCAyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFO
R0xFUywgMCwgNik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDEsIDUpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDEsIDYpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDYsIDEpO30pOworICB2Ym8uZGVzdHJveSgpOworICBhc3Nl
cnQoMCA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgIGF0dHJpYnV0
ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZlYzMgTm9ybWFsOworICBhdHRyaWJ1dGUgdmVj
MiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgewor
ICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXggKiBOb3JtYWwsIDEuMCk7CisgICAgdGV4Q29v
cmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Qb3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgcHJlY2lzaW9u
IG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWlu
KCkKKyAgeworICAgIHZlYzQgYyA9IHRleENvb3JkMDsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOwor
ICB9Cis8L3NjcmlwdD4KKworCis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwv
c3R5bGU+Cis8L2hlYWQ+PGJvZHk+CisgIDxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMSIgaGVpZ2h0
PSIxIj48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNP
dXRPZkJvdW5kcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0M2VlODU3Njc0MDkwOGNiMTAwMGFmNGVmMmE2
Zjg3NmU5ODgxNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlz
T3V0T2ZCb3VuZHMuaHRtbApAQCAtMCwwICsxLDMwNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIg
aHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCit2YXIgdmVydHMgPSBbMC4wLCAwLjAsIDAu
MCwgICAxLjAsIDAuMCwgMC4wLCAgIDAuMCwgMS4wLCAwLjBdOwordmFyIG5vcm1hbHMgPSBbMC4w
LCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjBdOwordmFyIHRleGNv
b3JkcyA9IFswLjAsMC4wLCAgMS4wLDAuMCwgIDAuMCwxLjBdOworCit2YXIgdmVydHNBID0gbmV3
IEZsb2F0MzJBcnJheSh2ZXJ0cyk7Cit2YXIgbm9ybWFsc0EgPSBuZXcgRmxvYXQzMkFycmF5KG5v
cm1hbHMpOwordmFyIHRleGNvb3Jkc0EgPSBuZXcgRmxvYXQzMkFycmF5KHRleGNvb3Jkcyk7CisK
K1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29u
dGV4dChjYW52YXMpKTsKKyAgdmFyIHByb2cgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFn
Jyk7CisgIHByb2cudXNlKCk7CisgIHZhciB2ID0gcHJvZy5hdHRyaWIoJ1ZlcnRleCcpOworICB2
YXIgbiA9IHByb2cuYXR0cmliKCdOb3JtYWwnKTsKKyAgdmFyIHQgPSBwcm9nLmF0dHJpYignVGV4
Jyk7CisgIHJldHVybiBbZ2wscHJvZyx2LG4sdF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rp
b24oZ2wsIHByb2csIHYsbix0KSB7CisgIHJldHVybiBbZ2wsIHByb2csIHYsbix0XTsKK30KK1Rl
c3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIGdsLmRpc2FibGVW
ZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOwor
ICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBm
dW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgcHJvZy5kZXN0cm95KCk7Cit9CisKK1Rlc3Rz
LnRlc3REcmF3QXJyYXlzRW1wdHkgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFy
IGIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIs
IGIpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShb
XSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7fSkKKyAgZ2wuZW5hYmxlVmVy
dGV4QXR0cmliQXJyYXkodik7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFU
SU9OLCAiemVybyBzaXplIGFycmF5IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIDEpO30pOworICBnbC5kZWxldGVCdWZmZXIoYik7Cit9CisKK1Rlc3Rz
LnRlc3REcmF3QXJyYXlzT3V0T2ZCb3VuZHMgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsK
KyAgdmFyIGIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIGIpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJB
cnJheShbXSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7fSk7CisgIGdsLmVu
YWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElE
X09QRVJBVElPTiwgInplcm8gc2l6ZSBhcnJheSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sICJ6ZXJvIHNpemUgYXJyYXkgMTAwMDAiLAorICAgICAgZnVuY3Rpb24o
KXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMTAwMDApO30pOworICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6ZSBhcnJheSAxMDAwMDAwMDAw
MDAwMCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAx
MDAwMDAwMDAwMDAwMCk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFU
SU9OLCAiemVybyBzaXplIGFycmF5IGZyYWN0aW9uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEuNik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5k
cmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgLTEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBn
bC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50IG91dCBvZiByYW5nZSIsCisgICAgICBmdW5jdGlv
bigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInBvc2l0aXZlIGNvdW50LCBuZWdhdGl2ZSBvZmZzZXQi
LAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgLTEsIDEpO30p
OworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgY291bnQs
IHBvc2l0aXZlIG9mZnNldCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJ
QU5HTEVTLCAxLCAtMSk7fSk7CisgIGdsLmRlbGV0ZUJ1ZmZlcihiKTsKK30KKworCitUZXN0cy50
ZXN0RHJhd0FycmF5c1dpdGhEYXRhT3V0T2ZCb3VuZHMgPSBmdW5jdGlvbihnbCwgcHJvZywgdixu
LHQpIHsKKyAgdmFyIGIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5B
UlJBWV9CVUZGRVIsIGIpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdmVydHNB
LCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxP
QVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGFz
c2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMyBlbGVtZW50IGFycmF5IiwK
KyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOwor
ICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMgZWxlbWVudCBhcnJh
eSAxMDAwMCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAw
LCAxMDAwMCk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAi
MyBlbGVtZW50IGFycmF5IDEwMDAwMDAwMDAwMDAwIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEwMDAwMDAwMDAwMDAwKTt9KTsKKyAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmcmFjdGlvbmFsIGNvdW50IiwKKyAgICAg
IGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDEuNik7fSk7CisgIGFz
c2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBvZmZzZXQiLAorICAg
ICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgLTEpO30pOworICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50IG91dCBvZiByYW5n
ZSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA0KTt9
KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50
IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIC0xKTt9
KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInBvc2l0aXZlIGNvdW50
LCBuZWdhdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgLTEsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVF
LCAibmVnYXRpdmUgY291bnQsIHBvc2l0aXZlIG9mZnNldCIsCisgICAgICBmdW5jdGlvbigpe2ds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCAtMSk7fSk7CisgIGdsLmRlbGV0ZUJ1ZmZlcihi
KTsKK30KKworVGVzdHMudGVzdERyYXdBcnJheXNNdWx0aU91dE9mQm91bmRzID0gZnVuY3Rpb24o
Z2wsIHByb2csIHYsbix0KSB7CisgIHZhciBicyA9IFtdOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1
ZmZlcigpKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0x
XSk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0c0EsIGdsLlNUQVRJQ19E
UkFXKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAs
IDApOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5B
UlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0xXSk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlf
QlVGRkVSLCBub3JtYWxzQSwgZ2wuU1RBVElDX0RSQVcpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2lu
dGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGJzLnB1c2goZ2wuY3JlYXRlQnVm
ZmVyKCkpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbYnMubGVuZ3RoLTFd
KTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHRleGNvb3Jkc0EsIGdsLlNUQVRJ
Q19EUkFXKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0LCAyLCBnbC5GTE9BVCwgZmFsc2Us
IDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZW5hYmxlVmVy
dGV4QXR0cmliQXJyYXkobik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDEiLAor
ICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywgMik7fSk7Cisg
IGJzLnB1c2goZ2wuY3JlYXRlQnVmZmVyKCkpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JV
RkZFUiwgYnNbYnMubGVuZ3RoLTFdKTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIs
IG5ldyBGbG9hdDMyQXJyYXkodmVydHMuY29uY2F0KHZlcnRzKSksIGdsLlNUQVRJQ19EUkFXKTsK
KyAgYnMucHVzaChnbC5jcmVhdGVCdWZmZXIoKSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCBic1ticy5sZW5ndGgtMV0pOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZF
UiwgbmV3IEZsb2F0MzJBcnJheSh0ZXhjb29yZHMuY29uY2F0KHRleGNvb3JkcykpLCBnbC5TVEFU
SUNfRFJBVyk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNl
LCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzFdKTsKKyAgZ2wu
dmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5i
aW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMl0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2lu
dGVyKHQsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJp
YkFycmF5KHYpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZW5hYmxl
VmVydGV4QXR0cmliQXJyYXkodCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BF
UkFUSU9OLCAibXVsdGkgYXJyYXkgMiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMo
Z2wuVFJJQU5HTEVTLCAzLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICJtdWx0aSBhcnJheSAzIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDQsIDIpO30pOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZF
UiwgYnNbMF0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxz
ZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1szXSk7CisgIGds
LnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzJdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9p
bnRlcih0LCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRy
aWJBcnJheSh2KTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmVuYWJs
ZVZlcnRleEF0dHJpYkFycmF5KHQpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgIm11bHRpIGFycmF5IDQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMywgMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgNSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCA0LCAyKTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZG
RVIsIGJzWzBdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5GTE9BVCwgZmFs
c2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMV0pOworICBn
bC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGds
LmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1s0XSk7CisgIGdsLnZlcnRleEF0dHJpYlBv
aW50ZXIodCwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0
cmliQXJyYXkodik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOworICBnbC5lbmFi
bGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICJtdWx0aSBhcnJheSA2IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElE
X09QRVJBVElPTiwgIm11bHRpIGFycmF5IDciLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJy
YXlzKGdsLlRSSUFOR0xFUywgMywgMik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCBic1szXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZh
bHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzNdKTsKKyAg
Z2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBn
bC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMl0pOworICBnbC52ZXJ0ZXhBdHRyaWJQ
b2ludGVyKHQsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0
dHJpYkFycmF5KHYpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZW5h
YmxlVmVydGV4QXR0cmliQXJyYXkodCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgOCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCA0LCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIC0xLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJ6ZXJvIGNvdW50Pz8/IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDAsIDQpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZB
TElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDkiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNCk7fSk7CisgIGJzLmZvckVhY2goZnVuY3Rpb24oYil7
IGdsLmRlbGV0ZUJ1ZmZlcihiKSB9KTsKK30KKworCitUZXN0cy50ZXN0RHJhd0FycmF5c1ZCT091
dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciB2Ym8gPSBuZXcg
VkJPKGdsLCB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9KTsKKyAgdmJvLnVzZSh2KTsKKyAg
YXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICIxIiwKKyAgICAgIGZ1bmN0
aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDYsIDEpO30pOworICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgY291bnQiLAorICAgICAgZnVuY3Rp
b24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMiwgLTEpO30pOworICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMiLAorICAgICAgZnVuY3Rpb24oKXtnbC5k
cmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNyk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLCAiNCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMo
Z2wuVFJJQU5HTEVTLCAxLCA2KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKK30KKworVGVzdHMudGVz
dERyYXdBcnJheXNWQk9NdWx0aU91dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0
KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhlIHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdp
dGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRlciBhbmQgY2FsbHMgZHJhd0FycmF5cworICB2YXIg
dmJvID0gbmV3IFZCTyhnbCwKKyAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAg
IHtzaXplOjMsIGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAgICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4
Y29vcmRzfSk7CisgIHZiby51c2UodiwgbiwgdCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklO
VkFMSURfT1BFUkFUSU9OLCAiMSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wu
VFJJQU5HTEVTLCA2LCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDIsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVS
QVRJT04sICIyIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDAsIDcpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMi
LAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNik7fSk7
CisgIHZiby5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzT09CU2hhZGVySnVn
Z2xlID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciB2Ym8gPSBuZXcgVkJPKGds
LAorICAgIHtzaXplOjMsIGRhdGE6WzAsMCwwXX0sCisgICAge3NpemU6MywgZGF0YTpbMCwwLDAs
MCwwLDBdfSk7CisgIHZiby5pbml0KCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCB2Ym8udmJvc1swXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQs
IGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGFzc2Vy
dEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAib2Zmc2V0IHRvbyBiaWciLAorICAg
ICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIHZh
ciBzaDIgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFnJyk7CisgIHNoMi51c2UoKTsKKyAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4
QXR0cmliUG9pbnRlcihzaDIuYXR0cmliKCdWZXJ0ZXgnKSwgMywgZ2wuRkxPQVQsIGZhbHNlLCAw
LCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoc2gyLmF0dHJpYignVmVydGV4Jykp
OworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAy
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJvZmZzZXQg
dG9vIGJpZyAyIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDAsIDMpO30pOworICBwcm9nLnVzZSgpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHByb2cu
YXR0cmliKCdWZXJ0ZXgnKSwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxl
VmVydGV4QXR0cmliQXJyYXkocHJvZy5hdHRyaWIoJ1ZlcnRleCcpKTsKKyAgYXNzZXJ0T2soZnVu
Y3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAib2Zmc2V0IHRvbyBiaWcgMyIsCisgICAg
ICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTt9KTsKKyAgc2gy
LmRlc3Ryb3koKTsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNo
YWRlci94LXZlcnRleCI+CisgIGF0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZl
YzMgTm9ybWFsOworICBhdHRyaWJ1dGUgdmVjMiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENv
b3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgg
KiBOb3JtYWwsIDEuMCk7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Q
b3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KKyAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2
ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX0ZyYWdDb2xvciA9IHRl
eENvb3JkMDsKKyAgfQorPC9zY3JpcHQ+CisKKworPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJz
b2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorICA8Y2FudmFzIGlkPSJnbCIgd2lkdGg9
IjEiIGhlaWdodD0iMSI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVu
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MDE2ODVkYWE2ZDZlODk5MWQ1MDMxZWNiOTFkMDgyNjVhN2U0
MzY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwK
QEAgLTAsMCArMSwxNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3Nz
IiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5p
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0Ij4KKwordmFyIHZlcnRzID0gWzAuMCwgMC4wLCAwLjAsICAgMS4wLCAwLjAsIDAu
MCwgICAwLjAsIDEuMCwgMC4wXTsKK3ZhciBub3JtYWxzID0gWzAuMCwgMC4wLCAxLjAsICAgMC4w
LCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wXTsKK3ZhciB0ZXhjb29yZHMgPSBbMC4wLDAuMCwg
IDEuMCwwLjAsICAwLjAsMS4wXTsKK3ZhciBpbmRpY2VzID0gWzAsMSwyXQorCitUZXN0cy5zdGFy
dFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFz
KSk7CisgIHZhciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQnLCAnZnJhZycpOworICBwcm9n
LnVzZSgpOworICB2YXIgc2ggPSBwcm9nLnNoYWRlci5wcm9ncmFtOworICB2YXIgdiA9IGdsLmdl
dEF0dHJpYkxvY2F0aW9uKHNoLCAnVmVydGV4Jyk7CisgIHZhciBuID0gZ2wuZ2V0QXR0cmliTG9j
YXRpb24oc2gsICdOb3JtYWwnKTsKKyAgdmFyIHQgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwg
J1RleCcpOworICByZXR1cm4gW2dsLHByb2csdixuLHRdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1
bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBhc3NlcnQoMCA9PSBnbC5nZXRFcnJvcigpKTsK
KyAgcmV0dXJuIFtnbCwgcHJvZywgdixuLHRdOworfQorVGVzdHMudGVhcmRvd24gPSBmdW5jdGlv
bihnbCwgcHJvZywgdixuLHQpIHsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOwor
ICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRy
aWJBcnJheSh0KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4s
dCkgeworICBwcm9nLmRlc3Ryb3koKTsKK30KKworVGVzdHMudGVzdERyYXdFbGVtZW50c1ZCTyA9
IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLAor
ICAgICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAg
ICAgICAgICAgICAgICAgICAgICB7ZWxlbWVudHM6dHJ1ZSwgZGF0YTpRdWFkLmluZGljZXN9KTsK
KyAgdmJvLmRyYXcodik7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAi
dmJvLmRyYXciKSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRS
SUFOR0xFUywgNSwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQs
IDAqMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFO
R0xFUywgMCwgZ2wuVU5TSUdORURfU0hPUlQsIDIqMSk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9u
KCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUq
Mik7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vy
cm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk9N
dWx0aSA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAvLyBjcmVhdGVzIFZCT3MgZm9y
IHRoZSBxdWFkIGFycmF5cywgYmluZHMgdGhlbSB3aXRoCisgIC8vIHZlcnRleEF0dHJpYlBvaW50
ZXIgYW5kIGNhbGxzIGRyYXdFbGVtZW50cworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAg
ICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAg
ICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLm5vcm1hbHN9LAorICAgICAgICAgICAgICAgICAg
ICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSwKKyAgICAgICAgICAgICAgICAgICAge2Vs
ZW1lbnRzOnRydWUsIGRhdGE6UXVhZC5pbmRpY2VzfSk7CisgIHZiby5kcmF3KHYsIG4sIHQpOwor
ICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kcmF3IikpOworICBh
c3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVO
U0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAyKjIpO30pOworICBhc3Nl
cnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lH
TkVEX1NIT1JULCAwKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA1KjIpO30pOworICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50ICsgb2Zmc2V0IG91dCBvZiBy
YW5nZSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEs
IGdsLlVOU0lHTkVEX1NIT1JULCA2KjIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZB
TElEX09QRVJBVElPTiwgImNvdW50ICsgb2Zmc2V0IG91dCBvZiByYW5nZSAyIiwKKyAgICAgIGZ1
bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hP
UlQsIDEqMik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBudWxsKTsKKyAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4
QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBhc3NlcnRPayhm
dW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NI
T1JULCAxKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAyKjIpO30pOworICBhc3NlcnRPayhmdW5j
dGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JU
LCAwKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklB
TkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA1KjIpO30pOworICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50ICsgb2Zmc2V0IG91dCBvZiByYW5nZSAzIiwK
KyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5T
SUdORURfU0hPUlQsIDYqMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BF
UkFUSU9OLCAiY291bnQgKyBvZmZzZXQgb3V0IG9mIHJhbmdlIDQiLAorICAgICAgZnVuY3Rpb24o
KXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoy
KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJy
b3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZl
cnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgYXR0cmlidXRlIHZlYzMgVmVydGV4Owor
ICBhdHRyaWJ1dGUgdmVjMyBOb3JtYWw7CisgIGF0dHJpYnV0ZSB2ZWMyIFRleDsKKworICB2YXJ5
aW5nIHZlYzQgdGV4Q29vcmQwOworICB2b2lkIG1haW4oKQorICB7CisgICAgZ2xfUG9zaXRpb24g
PSB2ZWM0KFZlcnRleCAqIE5vcm1hbCwgMS4wKTsKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KFRleCww
LjAsMC4wKSArIGdsX1Bvc2l0aW9uOworICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWci
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
KworICB2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOworICB2b2lkIG1haW4oKQorICB7CisgICAgdmVj
NCBjID0gdGV4Q29vcmQwOworICAgIGdsX0ZyYWdDb2xvciA9IGM7CisgIH0KKzwvc2NyaXB0Pgor
CisKKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48
Ym9keT4KKyAgPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjwvY2FudmFzPgor
PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xOTAyYjZmNDlmYjQwOGZkYTUwZDY5ZWIwMmI4OWVjOWVhNjgzYmY1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sCkBAIC0w
LDAgKzEsMjA5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0i
Li4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCI+CisKKy8vIFRlc3RzLmF1dG9ydW4gPSBmYWxzZTsKKy8vIFRlc3RzLm1lc3NhZ2UgPSAi
Q2F1dGlvbjogTWF5IGNyYXNoIHlvdXIgYnJvd3NlciI7CisKK3ZhciB2ZXJ0cyA9IFswLjAsIDAu
MCwgMC4wLCAgIDEuMCwgMC4wLCAwLjAsICAgMC4wLCAxLjAsIDAuMF07Cit2YXIgbm9ybWFscyA9
IFswLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMF07Cit2YXIg
dGV4Y29vcmRzID0gWzAuMCwwLjAsICAxLjAsMC4wLCAgMC4wLDEuMF07Cit2YXIgaW5kaWNlcyA9
IFs2MDAwMDAwMCwxLDJdCisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFy
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFw
R0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgdmFyIHByb2cgPSBuZXcgU2hhZGVy
KGdsLCAndmVydCcsICdmcmFnJyk7CisgIHByb2cudXNlKCk7CisgIHZhciBzaCA9IHByb2cuc2hh
ZGVyLnByb2dyYW07CisgIHZhciB2ID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdWZXJ0ZXgn
KTsKKyAgdmFyIG4gPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ05vcm1hbCcpOworICB2YXIg
dCA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnVGV4Jyk7CisgIHJldHVybiBbZ2wscHJvZyx2
LG4sdF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7Cisg
IGFzc2VydCgwID09IGdsLmdldEVycm9yKCkpOworICByZXR1cm4gW2dsLCBwcm9nLCB2LG4sdF07
Cit9CitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBnbC5k
aXNhYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJh
eShuKTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworfQorCitUZXN0cy5lbmRV
bml0ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHByb2cuZGVzdHJveSgpOworfQor
CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk8gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQp
IHsKKyAgICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAgICAgICAgICAgICAge3Np
emU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAgICAgICAgICAgICAge2VsZW1l
bnRzOnRydWUsIGRhdGE6WzAsMSwyLDIwMDAsIDQwODAyLCA1ODg3OTkyXX0pOworICBhc3NlcnRG
YWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtn
bC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNSoyKTt9
KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMs
IDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7Cisg
IGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBn
bC5VTlNJR05FRF9TSE9SVCwgMSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAg
dmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2
Ym8uZGVzdHJveSIpKTsKK30KKworVGVzdHMudGVzdERyYXdFbGVtZW50c1ZCT0J5dGUgPSBmdW5j
dGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAg
ICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAge2VsZW1lbnRzOnRydWUsIHR5cGU6Z2wuVU5TSUdORURfQllURSwgZGF0
YTpbMCwxLDIsMjAwMCwgNDA4MDIsIDU4ODc5OTJdfSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24o
KXt2Ym8uZHJhdyh2KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUsIDUpO30pOworICBhc3NlcnRGYWls
KGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURf
QllURSwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRS
SUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rp
b24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9CWVRFLCAx
KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJy
b3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworVGVzdHMudGVzdERyYXdFbGVtZW50c1ZCT011
bHRpID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3Ig
dGhlIHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRl
ciBhbmQgY2FsbHMgZHJhd0VsZW1lbnRzCisgIC8vIFRoZSBxdWFkIGhhcyA2IHZlcnRpY2VzCisg
IHZhciB2Ym8gPSBuZXcgVkJPKGdsLAorICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRh
OlF1YWQudmVydGljZXN9LAorICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQu
bm9ybWFsc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjIsIGRhdGE6UXVhZC50ZXhjb29y
ZHN9LAorICAgICAgICAgICAgICAgICAgICB7ZWxlbWVudHM6dHJ1ZSwgZGF0YTpbMCwxLDIsNiwy
MDAwLCAyNTZdfSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXt2Ym8uZHJhdyh2LCBuLCB0KTt9
KTsKKyAgZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQs
IDApOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24o
KXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7
fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
MiwgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRy
YXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAg
YXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDQsIGds
LlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBh
c3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMiwgZ2wu
VU5TSUdORURfU0hPUlQsIDIqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgMyoyKTt9KTsKKyAg
YXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGds
LlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7Cisg
IGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBn
bC5VTlNJR05FRF9TSE9SVCwgMSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNioyKTt9KTsKKyAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4
QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5kcmF3RWxl
bWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7CisgIGFzc2VydEZh
aWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05F
RF9TSE9SVCwgNSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0T2so
ZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9T
SE9SVCwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChm
dW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NI
T1JULCAxKjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1
bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hP
UlQsIDYqMik7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBj
aGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVu
dHNWQk9NdWx0aUJ5dGUgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgLy8gY3JlYXRl
cyBWQk9zIGZvciB0aGUgcXVhZCBhcnJheXMsIGJpbmRzIHRoZW0gd2l0aAorICAvLyB2ZXJ0ZXhB
dHRyaWJQb2ludGVyIGFuZCBjYWxscyBkcmF3RWxlbWVudHMKKyAgLy8gVGhlIHF1YWQgaGFzIDYg
dmVydGljZXMKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgIHtz
aXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjMs
IGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MiwgZGF0YTpR
dWFkLnRleGNvb3Jkc30sCisgICAgICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCB0eXBl
OmdsLlVOU0lHTkVEX0JZVEUsIGRhdGE6WzAsMSwyLDYsMjAwMCwgMjU2XX0pOworICBhc3NlcnRG
YWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodiwgbiwgdCk7fSk7CisgIGdsLmRyYXdFbGVtZW50cyhn
bC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDApOworICBhc3NlcnRGYWlsKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNCwgZ2wuVU5TSUdORURfQllURSwg
LTEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFO
R0xFUywgLTEsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUsIDUpO30p
OworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
NiwgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMiwgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFz
c2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5T
SUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCA0LCBnbC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVE
X0JZVEUsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgMiwgZ2wuVU5TSUdORURfQllURSwgMik7fSk7CisgIGFzc2VydEZhaWwoZnVu
Y3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRF
LCAzKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklB
TkdMRVMsIDUsIGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9u
KCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfQllURSwgMSk7
fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAxLCBnbC5VTlNJR05FRF9CWVRFLCA2KTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5G
TE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBn
bC5VTlNJR05FRF9CWVRFLCAwKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRFLCA1KTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVE
X0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfQllURSwg
MSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5H
TEVTLCA2LCBnbC5VTlNJR05FRF9CWVRFLCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUsIDYpO30p
OworICB2Ym8uZGVzdHJveSgpOworICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihn
bCwgInZiby5kZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0U2hhcmVkQnVmZmVycyA9IGZ1bmN0
aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICB2YXIgdmJvID0gZ2wuY3JlYXRlQnVmZmVyKCk7Cisg
IHZhciB2ZXJ0c0FyciA9IG5ldyBVaW50MTZBcnJheShbMCwxLDMsMyw0LDUsNiw3LDhdKTsKKyAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZibyk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wu
QVJSQVlfQlVGRkVSLCB2ZXJ0c0FyciwgZ2wuU1RBVElDX0RSQVcpOworICBhc3NlcnRGYWlsKGZ1
bmN0aW9uKCl7Z2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgdmJvKX0pOwor
ICBnbC5kZWxldGVCdWZmZXIodmJvKTsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0
IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgIGF0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKKyAg
YXR0cmlidXRlIHZlYzMgTm9ybWFsOworICBhdHRyaWJ1dGUgdmVjMiBUZXg7CisKKyAgdmFyeWlu
ZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX1Bvc2l0aW9uID0g
dmVjNChWZXJ0ZXggKiBOb3JtYWwsIDEuMCk7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgsMC4w
LDAuMCkgKyBnbF9Qb3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnIiB0
eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisK
KyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIHZlYzQg
YyA9IHRleENvb3JkMDsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworICB9Cis8L3NjcmlwdD4KKwor
Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJv
ZHk+CisgIDxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2NhbnZhcz4KKzwv
Ym9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJn
cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZTY5NjEzOTYwNTE2MzYzYjM1ZDRkMTcxOThjN2ZhY2JjN2QyOGU2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDEx
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgor
CitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENv
bnRleHQoY2FudmFzKSk7CisgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy50ZXN0UmVhZFBpeGVs
cyA9IGZ1bmN0aW9uKGdsKSB7CisgIC8vIHdlIGNhbid0IGtub3cgaWYgdGhpcyBpcyBnb2luZyB0
byBmYWlsIGJlY2F1c2Ugb2YgbmVnYXRpdmUgd2lkdGgKKyAgLy8gb3IgYmVjYXVzZSB0aGUgYnVm
ZmVyIHNpemUgZG9lc24ndCBtYXRjaCB0aGUgZGltZW5zaW9ucy4KKyAgYXNzZXJ0U29tZUdMRXJy
b3IoZ2wsICJuZWdhdGl2ZSB3aWR0aCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMo
MCwwLC0xLDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4
QXJyYXkoNCkpO30pOworICBhc3NlcnRTb21lR0xFcnJvcihnbCwgICJuZWdhdGl2ZSBoZWlnaHQi
LAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwxLC0xLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsKKyAgYXNzZXJ0
T2soIm5lZ2F0aXZlIHgiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKC0xLDAsMSwx
LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQp
KTt9KTsKKyAgYXNzZXJ0T2soIm5lZ2F0aXZlIHkiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFk
UGl4ZWxzKDAsLTEsMSwxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5l
dyBVaW50OEFycmF5KDQpKTt9KTsKKyAgYXNzZXJ0T2soImhlaWdodCA+IGJhY2tidWZmZXIgaGVp
Z2h0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMTYsMTcsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMTYqMTcqNCkpO30p
OworICBhc3NlcnRPaygid2lkdGggPiBiYWNrYnVmZmVyIHdpZHRoIiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wucmVhZFBpeGVscygwLDAsMTcsMTYsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisg
ICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMTcqMTYqNCkpO30pOworICBhc3NlcnRPaygid2lkdGgs
IGhlaWdodCA9IDAiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwwLDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMCkpO30p
OworICAvLyB3ZSBjYW4ndCBrbm93IGlmIHRoaXMgaXMgZ29pbmcgdG8gZmFpbCBiZWNhdXNlIG9m
IG5lZ2F0aXZlIHdpZHRoCisgIC8vIG9yIGJlY2F1c2UgdGhlIGJ1ZmZlciBzaXplIGRvZXNuJ3Qg
bWF0Y2ggdGhlIGRpbWVuc2lvbnMuCisgIGFzc2VydFNvbWVHTEVycm9yKGdsLCAiYmFkIGZvcm1h
dCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwgZ2wuRkxPQVQsIGds
LlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoNCo0KSk7fSk7CisgIC8v
IHdlIGNhbid0IGtub3cgaWYgdGhpcyBpcyBnb2luZyB0byBmYWlsIGJlY2F1c2Ugb2YgbmVnYXRp
dmUgd2lkdGgKKyAgLy8gb3IgYmVjYXVzZSB0aGUgYnVmZmVyIHNpemUgZG9lc24ndCBtYXRjaCB0
aGUgZGltZW5zaW9ucy4KKyAgYXNzZXJ0U29tZUdMRXJyb3IoZ2wsICJiYWQgdHlwZSIsCisgICAg
ICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwgZ2wuQUxQSEEsIGdsLkZMT0FULAor
ICAgICAgICAgIG5ldyBVaW50OEFycmF5KDEqNCkpO30pOworfQorCitUZXN0cy50ZXN0UmVhZFBp
eGVsc1NPUElNRyA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpIik7CisgICAgd2hpbGUgKCFpbWcuY29tcGxldGUpIHt9CisgICAgdmFyIHRl
eCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJE
LCB0ZXgpOworICAgIC8vIFNPUCBmYWlsdXJlCisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2ws
ICJ0aHJvdyBiZWNhdXNlIGltZyBpcyBmcm9tIGFub3RoZXIgZG9tYWluIiwKKyAgICAgIGZ1bmN0
aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBpbWcpO30pOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVf
MkQsIG51bGwpOworICAgIGFzc2VydE9rKCJjYW52YXMgc3RpbGwgb3JpZ2luLWNsZWFuIiwKKyAg
ICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMSwxLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsKKyAgICBnbC5kZWxldGVU
ZXh0dXJlKHRleCk7Cit9CitUZXN0cy50ZXN0UmVhZFBpeGVsc1NPUENhbnZhcyA9IGZ1bmN0aW9u
KGdsKSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpIik7CisgICAg
d2hpbGUgKCFpbWcuY29tcGxldGUpIHt9CisgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiYyIpOworICAgIGMuZ2V0Q29udGV4dCgiMmQiKS5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsK
KyAgICBhc3NlcnRGYWlsKCJjYW52YXMgdGhyb3dzIGJlY2F1c2Ugbm90IG9yaWdpbiBjbGVhbiIs
CisgICAgICBmdW5jdGlvbigpe2MuZ2V0Q29udGV4dCgiMmQiKS5nZXRJbWFnZURhdGEoMCwwLDEs
MSk7fSk7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIC8vIFNPUCBmYWlsdXJlCisgICAgYXNzZXJ0
VGhyb3dOb0dMRXJyb3IoZ2wsICJ0aHJvdyBiZWNhdXNlIGNhbnZhcyBpcyBub3Qgb3JpZ2luIGNs
ZWFuIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKKyAgICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBhc3NlcnRPaygiY2FudmFzIHN0aWxsIG9y
aWdpbi1jbGVhbiIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSg0KSk7fSk7
CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rp
b24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIg
d2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImMiIHdpZHRoPSIx
MjgiIGhlaWdodD0iMTI4Ij48L2NhbnZhcz4KKzxpbWcgaWQ9ImkiIHNyYz0iaHR0cDovL3d3dy5v
cGVuZ2wub3JnL2ltZy9vcGVuZ2xfbG9nby5qcGciPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3NzI0ODdiZjM0ZWMyNzEzMTBh
YWYzMGZkNWUwZTY4YTM0MjEzZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTA2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1
bmN0aW9uICgpIHsKKyAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ds
Jyk7CisgICAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7Cisg
ICAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2
YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIHRleCk7CisgICAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5j
dGlvbihnbCx0ZXgpIHsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsK
KyAgICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0g
ZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KDQpOworICAgIGFz
c2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRhIiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCAyLDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIGRhdGEpOworICAgIH0pOworICAg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRh
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCAxLDIsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIGRhdGEpOworICAgIH0pOwor
ICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCB0YXJnZXQiLCBmdW5j
dGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLkZMT0FULCAwLCBnbC5SR0JBLCAxLDEs
MCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCBpbnRlcm5hbCBmb3JtYXQvZm9ybWF0Iiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5G
TE9BVCwgMSwxLDAsZ2wuRkxPQVQsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgfSk7Cisg
ICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImJvcmRlciA+IDAiLCBmdW5j
dGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDEsMSw0OCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIC8v
IFRoZSBzcGVjIHNheXMgemVybyBzaXplIGlzIE9LLiBJZiB5b3UgZGlzYWdyZWUgcGxlYXNlIGxp
c3QgdGhlIHNlY3Rpb24KKyAgICAvLyBpbiB0aGUgc3BlYyB0aGF0IGRldGFpbHMgdGhpcyBpc3N1
ZS4KKyAgICBhc3NlcnRPaygiemVybyBzaXplIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsMCxnbC5SR0JBLGdsLlVOU0lH
TkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFM
SURfVkFMVUUsICJuZWdhdGl2ZSB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgLTEsMSwwLGdsLlJHQkEsZ2wuVU5TSUdO
RURfQllURSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9WQUxVRSwgIm5lZ2F0aXZlIGhlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwtMSwwLGdsLlJHQkEsZ2wuVU5TSUdO
RURfQllURSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9FTlVNLCAiYmFkIGZvcm1hdCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwxLDAsZ2wuRkxPQVQsZ2wuVU5TSUdORURfQllU
RSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVN
LCAiYmFkIHR5cGUiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIDEsMSwwLGdsLlJHQkEsZ2wuVEVYVFVSRV8yRCwgbnVsbCk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJub3Qg
ZW5vdWdoIGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIDEsMSwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVp
bnQ4QXJyYXkoMykpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAiZm9ybWF0IGFuZCB0eXBlIGluY29tcGF0aWJsZSIsZnVuY3Rpb24oKXsKKyAg
ICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLDEsMCxnbC5S
R0JBLGdsLlVOU0lHTkVEX1NIT1JUXzVfNl81LCBudWxsKTsKKyAgICB9KTsKKyAgICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvcm1hdCBhbmQgdHlwZSBpbmNvbXBh
dGlibGUiLGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCLCAxLDEsMCxnbC5SR0IsZ2wuVU5TSUdORURfU0hPUlRfNF80XzRfNCwgbnVsbCk7
CisgICAgfSk7Cit9CisKKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwv
c2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9o
ZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52
YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2Uy
REhUTUwuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTc3MmY2YjI2YzQyOWFkZGRlYzBkZjQ4YTk5YzlmM2I3OGY5NGQ1YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwKQEAgLTAsMCArMSwxNTIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKwor
VGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICAgIHZhciBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdM
Q29udGV4dChjYW52YXMpKTsKKyAgICBnbC52aWV3cG9ydCgwLDAsY2FudmFzLndpZHRoLGNhbnZh
cy5oZWlnaHQpOworICAgIGdsLmNsZWFyQ29sb3IoMCwwLDEsMSk7CisgICAgZ2wuY2xlYXIoZ2wu
Q09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgIGdsLmRpc2FibGUo
Z2wuREVQVEhfVEVTVCk7CisgICAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVu
Y3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgdmFyIHRleEN1YmVNYXAgPSBnbC5j
cmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwg
dGV4Q3ViZU1hcCk7CisgICAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5j
dGlvbihnbCwgdGV4LCB0ZXhDdWJlTWFwKSB7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworICAgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4
Q3ViZU1hcCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAg
ICBnbC5lbmFibGUoZ2wuQkxFTkQpOworICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnaScpOworICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsKKyAg
ICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpOworICAgIGN0eC5kcmF3SW1hZ2UoaW1nLDAs
MCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBh
cmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VE
R0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdf
RklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICAgIHZhciBmID0gbmV3IEZpbHRl
cihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuYmxl
bmRGdW5jKGdsLk9ORSwgZ2wuWkVSTyk7CisgICAgZi5hcHBseSgpOworICAgIGYuZGVzdHJveSgp
OworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwgYyk7CisgICAgZiA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0eS1o
ZmxpcC12ZXJ0JywgJ2lkZW50aXR5LWZyYWcnKTsKKyAgICBnbC5ibGVuZEZ1bmMoZ2wuU1JDX0FM
UEhBLCBnbC5PTkVfTUlOVVNfU1JDX0FMUEhBKTsKKyAgICBmLmFwcGx5KCk7CisgICAgZi5kZXN0
cm95KCk7CisgICAgdmFyIHZhbGlkX3RhcmdldHMgPSBbCisgICAgICAgIGdsLlRFWFRVUkVfMkQs
CisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICAgICAgZ2wuVEVY
VFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BP
U0lUSVZFX1ksCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICAg
ICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgICAgICBnbC5URVhUVVJFX0NV
QkVfTUFQX05FR0FUSVZFX1oKKyAgICBdOworICAgIHZhbGlkX3RhcmdldHMuZm9yRWFjaChmdW5j
dGlvbih0KSB7CisgICAgICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRCh0LCAw
LCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKKyAgICAgICAgYXNz
ZXJ0T2soZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKHQsIDEsIGdsLlJHQkEsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIGMpO30pOworICAgIH0pOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2Uy
RE5vblNPUCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpMicpOworICAgIHdoaWxlICghaW1nLmNvbXBsZXRlKSB7fQorICAgIHZhciBjID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsKKyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0
KCcyZCcpOworICAgIGN0eC5kcmF3SW1hZ2UoaW1nLDAsMCk7CisgICAgYXNzZXJ0VGhyb3dOb0dM
RXJyb3IoZ2wsICJ0ZXhJbWFnZTJEIHdpdGggY3Jvc3Mtb3JpZ2luIGltYWdlIHNob3VsZCB0aHJv
dyBleGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpO30pOworICAg
IGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4SW1hZ2UyRCB3aXRoIGRpcnR5IG9yaWdpbiBj
YW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rpb24oKXtnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGMpO30pOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gt
dmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwor
dmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQwID0g
dmVjNChUZXgucywgMS4wLVRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0
KFZlcnRleCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktaGZsaXAt
dmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4Owor
YXR0cmlidXRlIHZlYzIgVGV4OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWlu
KCkKK3sKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KDEuMC1UZXgucywgVGV4LnQsIDAuMCwgMC4wKTsK
KyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2Ny
aXB0IGlkPSJpZGVudGl0eS1mcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBsZXIyRCBUZXh0dXJlOworCit2YXJ5
aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB2ZWM0IGMgPSB0ZXh0dXJl
MkQoVGV4dHVyZSwgdGV4Q29vcmQwLnN0KTsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworfQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjI1NiIgaGVpZ2h0
PSIyNTYiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iYyIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYi
PjwvY2FudmFzPgorPGltZyBpZD0iaSIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiICBzcmM9ImRh
dGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBUUFBQUFFQUNBWUFB
QUJjY3FobUFBQVRWRWxFUVZSNG5PM2QrVlBVZDU3SGNmMmI5azlZK3o0NCtxSzdPWm9HRlZBNVZm
Qkd6YWg5Y3hwTnpHRU9vUnVhNWxCRXVlL0RLNGZaN01hcG1TbTNNbHNodTh4T2RDcERKdDN2L2FF
QkFVSEFPTUc0ejBmVjUzZnFVL1Y2ZmQ3ZlQvZTMyYkVEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3
T3ZCa2FyN2wrMytHd0Jzazh4VXJUMHJUYjh2eDJRNDVqYW5sdTdZc1dQbnNnWGdUZVl3YWs4NVUz
WHY1WmlNMytYYlVoL2wyZElDQmM2MDgwV1oxdXI5MmJhU0hSUUI4R2F5R2RVV3UxSHpvU05GTyta
TTFmMmNiVExNNTFsVDV3b2M1cmtET2JiWi9WbTJTRW0yM1Z2c3lqaFY1bkpRQnNDYnhHWlFWdG1O
NnA0TW8vWVBkcU5HSEtsYXlVclhKOXpXbEVTaDB4SXZ6c21ZTDNIWjU0cHpNbTZWdVJ5Uk1wZlRX
K3B5VUFiQW04Qm1WTlZuR05UVGRxUDZ2ek9NR3JHbmFNU1pxcE5zazE3eWJLbFM2RFRML2l4Ym90
UmxqNWZsT3ViTDNJNjVNcGZqVnJuYkVhbFlLSU5TbDMzNXZRR0Ezd0tiVVcyeEdkV1JES1A2Nnd5
aldoWUx3SkdpRldlYVRySk5CbkZiVTJTUDNTVDdzNnhTbW11WGNyY3pVZTUyeHN0ekhmUGxic2Rj
dWR0NXF5elgzbEtXbHhrc3pYR2VLOG14bnl6SnlTamVRUmtBcnplYlFWbGxNNnA3YlViMTQ5VUY0
RWpWU21hYVRyTFM5ZUt5cE1nZWU3b2N5TFpKbWRzaEZYbVpVcEhuWEZFR0IvT3pKc3JkanFFeXQv
Tm1XYTQ5WEpidDlKYTZNazRWdTdoRUJGNUxOcjJxM21aUXo5Z002dTlYRkVCcXNnQ2NhVHJKWEpn
RWNpMHBzdGRoa3YzWk5pbk5UWmJBb2Z3c09aU2ZKUWZ6TXFVOHo1a29kenNTWmJtT2VJWGIrWFc1
MnpGYTVuTGNLblBaSTJVTGw0akZmS0lBdkI3TU9yWEZabEJIYkFiMTF6YWora21HVWJOdUFXU202
NWRLWUhkR21oUmxXcVE4enlGSENuTGsrTDVjT1Y2VUswY0tYVks1SjFzTzVtZEtoZHNwWmF2S29E
VFgwVlBpY2lUTElIdEZHVkFJd0svTllsQlcyZlRxWHB0Qi9kaG1TSjcrTHlxQXJIUzk1SmlUSlZE
Z05FbGxRWlo0S2d1bHJycFU2cXRMSlhCc3Y1d3QzeU1uOXJ2bGFJRkxEaTh2ZzF4SDRtQis1cCtX
bDBGcGpyMmxKTWNSTE02eW55dk96amh4SUl0N0ErQlhZOUdyNnEwTDQvOVNBYVJveEw3dy9MOVdB
V1NiREpKclRaRmlkNFo0anhaSlUvMXh1ZkhoT2VtK2VrNmlsMC9MQjc0cWFUeFRKb0dqKytWczJS
NDV2ajlYamhUa3lPSGRDNDhKQzJWd2FIZm1ueXJjem4rdmNEc215bkx0UXlVNUdUZUxjekxDcFRr
MlQzR1c3Vmh4VnNhZTdkNGY0STFsMXFrdFZvTTZZak9vdnJZYTFEOHNGb0I5V1FFNDE1a0E4dTFw
Y3ZSQWpud1VPaUxETFFHNTE5MG85MjQyeWxSSG5ReUcvWEx6Nm5tSlhxcVdEM3lWMG5DNlZQeEg5
OG5ac3QxeWZGK3VIQzEwU2RYZWJEbVVueXlEcW9Mczd3N2xaMzViN25iOHNjeHQvN2RTbDMya0pD
ZWpxeVFuNDBwSlRrYlpEaVlDNE5XemFKVlZWcjJxMTJaUVBiWWExSDlmdXdCMFN3V1FsYTZYTEZP
eUFBb3lUZkxXNFQzU2Z1V00zTDNSSUEvN0w4dkQvc3Z5WmU4bCtlelcyM0t2dTFFbU8ycGxvTmtu
M1ZmUFNldmIxZksrdDFJYXo1Uko3Y2xpOFIwcGt0T2wrWEtzS0ZrR0J4ZktvSEp2MWw4UDVtZit1
U0xQOGZ2eVhNZE1tZHNSS1hjNXFvdGRHUVhidlYvQUc4V2lWOVZiOWFvWnExNDFhek9veFdiY1hB
SGtXbE9rSkM5RGFrOFh5NjFQTDhpRG5vdExCYkJVQkgyWDVZdmJsK1JCejBXNWU2TkJKdHBycEwv
Wkp6Yy9PaS9YUDNoTFdpNmVrdmM4aDZXdXVrUzhWYy9LWVBFQzhXaGh6cE9xZ3V6dkt2ZG1mWFY0
ZDJiM3dmek05dy9sWlRFTkFLK0NXYWV3V0hXcWlFMnYrdHFxVi8ydzJRTElOaGtrUDJOaC9LODlJ
bU50SWZtaTk5S3o4UGNsMTVkTDY1SjgwWHRKUHIvMXR0eS8yU2gzdXh2a3p2VjZHWStGcE8rYVY2
NS84RHVKWER3cFZ6eUhwTzdVUWhtVTVNdlJJcGRVN2MyUlE3dXo1TVIrOXgrT0ZibnVIaTNNaVZR
VnVLb1A3ODR1MnU3OUEzN1RMRnBsbFZXbjZyWHFWWSt0ZXRXUEd4YkFzZ3ZBdlU2VHZIVm90OFN1
bkpZN04rcmx5NzYxZy85bGIzSjlzV3g5ZnZ1U2ZINzdiWG5RYzFIdWRUZklURmVkakxXRnBQZWFS
N28rZUV2Q2pTZmx5b1ZEVWxkZEtzSGpCK1RDNFVJNVZad25WUVU1aWJjcTlueDF1alMvNThRQjk5
WHFZbmY1RHFZQjRPVllkTS9HZjZ0ZTlZL2s4Ly9HQmVDeUdLWEVuU0UxMVFlazU1UHpjdjltNDhy
UXJ4UDhMMjVma2k5dXZ5MmZyMXFmM2JxWW5BeHVOTWgwWjUyTVJJTnkrMU9QWFAvd2Q5Sis1WXcw
MTUrUWQ4NGZsSnFUeFhMaGNJR2NMTTc3K1VoQnp0OHVWQmEybnF2Y2UvWnN4WjZ5N2Q1TDREZGxj
ZnkzNkZWZlcvU3FINndHbGF3dWdNV3ZBVHZUbGhXQXlTQjVHYWx5ZEgrT2ZGUnpSRWFqUWZuODF0
dnJoLzZGd1Y5Y0YrV3pXeGZsd2EyTGNyL25vdHpyYnBTWjYvVXkxVlVua3gyMU10d1NrSjVQTGtq
SGUyZWxxZjY0WEQ1M1VFSW5EaVF1SEM2WXJ5N09tejFXNUhyWStGYkY0UjFNQThEbVdMVEtLc3V5
OGQ5cVVMK3dBSlovQzNDUE0xM09IdHd0YmUrZWx1bnI5ZkxGdXNGL1B2U2YzMW83K0E5Nm5xMzdQ
UmZsZmsrajNMK1ovRmp4N28wR21lNnFrNG4yR2hscThVdlB4K2VsL2NvWnVWWjNYQzZmcS9pNTds
VHgzMnBPSG5nVU9sVWMvalI0bEV0Q1lDTVduYXJlb2xmTldQU3FXYXRCOWRPYUJiREdsNEJjRnFN
VXUyMFNPblZBYm41OFR1NTJOMjdxdFA5OGc5QS9XQXo5UXZBWDE3M0ZFdWh1a0x2ZERjbkpvTE5X
eG1NMU1oanh5ODJQemtubisyY1NzWGRQejRjYlQ4eCtHS2g4K0ZId1NPME9TZ0JZbTFtbnNKaDFx
b2hGcjF3WS81WHhad1d3L3RlQXM5S1R2d3R3WkgrMlhBMVZ5WEJyVUI3MFhGei90Rjluek45SzhP
OTFOOGk5aGZBdnJqczNHdVRPalhxWlhuaEVHRyt2a2RGb1VBYkQvcDk3UGo3L3Q1NnI1Ny9wdSti
NXBPWGQ2cVBidmRmQWE4ZWkzVlZsMGFsNkxYcmxZNHRPK2FORnIwcHN0Z0QyT05MbHpNSGRFbjJu
V3FZNjYrU3pseHp6SHl3Yjg1OEwvVHJCdjN2aldmZ1gxOHoxNUpydXFwT3B6bHFaYUE4bHhtS2h2
NDlHZzMvb0QvcyszdTY5Qmw0N0ZwMmkzcUpWelZoMHlsbXJUdm1UVlorOEFGejVIc0R6QlpCak5r
cHhyazJDcHc1STkwZm41TTZOaGhlZTlsc09mdmZtZzMvbityUHd6MXl2azVtdU9wbGVXSk1kdGZI
SmpwcnZKanRxS0FCZ3VlVDRyNGlZZGNxdnpicGRQMWoweXZqcUFyQ3Y5U0pRdWw3Y3RsU3AycGN0
SHdZclphZ2xJUGR2TnE1LzJyL2dZbTlUd2IreDllQlBkOVhKVkhJU21KL3FyUDFtdXJPR1J3QmdP
Wk4yVjVWRnAreTFhQmZHZjUweXNWUUFhM3dIWUxFQXN0TDFzdHVSTHFjcjhxWDE4aW1aN0tpVkJ6
MFhYeGo2alovdk54bjg2eHNIUC9rSVVDZFRuWFh4NmM3YXYweDExUFJzOTE0RHJ4MlRUbEZ2MGlw
bXpEcmxyRVduL01taVY4bG1DaURiYkpBRHVUWUpudHd2TjY3K1RtYXUxeWREdm1ib3QzNng5eXo0
OVM4Wi9OckZOVC9kVmZ2N3FjNjZrOXU5MThCcnhheGVQZjRyNGhzVmdIUGg5d0J6clNsU1ZaUXRI
d1FxWlREaWw3dmRqVnM3N2JjWS9KbXRCMSttT21zVGt4MjFUNmE2YWtlMmU2K0IxNDVKdTZ2S3BG
UDJtclRLeDJidHMvRi84VnVBTHlxQTNmWTBPVjJlTHkyWFRzcEVlNDNjZjhHei9UWUVYeVk3YW1X
eW95WSsxVkh6L1ZSblhmTjI3elh3MmxrYS83WEtXWXRXK1pORnA1VE5GRUMyeVNEN1hWWUpuTmdu
WFIrK0pkTmRkWnMrN1grZDROZktaRWVOVEhiVXpFOTIxRHlhNVBJUFdDbE5yYkNZdGNueDM2VGQ5
WU5acDRoYmRLcU5DMkJoL0s4c3pKTDMvWWRsSU95VE96Y2F0dnd4M3NZMytyOG8rRExaRVVwTXRO
YzhtZWhnL0FlZVkxTHZxakpwbGIwbWplS3hXYXY0MGF4VkpsWVh3RnB2QW1hbTZTVGZuaWJWWlhr
U2VmdWtqTVZDY3JkN0V5UCtlcWY5bG9KZnUySHdKenBxWktLOVJzYmJRL0hKOXREM2s1MDFqUC9B
YWlhTm90NmtTWTcvWnEzaUo3Tk9LWXNYZ0M4cWdDeVRRZmJsV01WL2ZKOTBmbkJXSmp0clY0ejNX
em50bjd2UnYvNTg2TGNhL0djck5EL1JIbm8wMmM3NEQ2eVFwbFpZVEZwRnhLUlZMSTMvS3d2ZytS
ZUI3Q25KM3dGd1dWTGtjR0dXdk9jL0xQM05YcG01WHYvTFQvdE5Cbjl5RThFZlQ0WS9NUjRMUFJs
dkR6SCtBNnVaTllwS2szWlhiL3JDK0cvU0toS2JMWUM4akRRNVZaWW40WXNuWkxRdEtIZHViQzcw
bXgzemYwbnd4OXRETWg0THlWZ3NGQitQQmI4ZmIyZjhCNTZUcmxIVXAyc1YweWFOWW1uODMwd0Ja
S1hyWlYrMlJYekg5MG5IKzJkbG9xTW1XUUN2NExSLytlQ0hsb0svRUg0Wmp3WG54MlBCUjJQdFFj
Wi9ZRG1UUnBtYXJsWTBtVFM3dmtyVEtQNXEwaXArTnV1VVl0bWdBQnlwV25GWmpIS29JRk91ZUE5
Slg1TkhwcnZxTmgzNnpaNzJ2eVQ0QytGUGpMWUZuNHpIZ296L3dHb216YTdkNlpwZE1aTkc4WTFK
bzNoaTFpNDgvMitpQVBJeVV1VmtxVnVhR2svSVNEUW9NOWRmM1dtL012ZzFXdzcrV0N3a1kyMUJH
VzBMeGtmYmd0K1B4VUtNLzhCcWFacGR1OVBVaWlhVFJ2R1ZTYXY0eTlJbkFCc1VRR2E2WG9xeUxl
STlWaVR0NzUyUjhmYlFxc0MvNHROK2k4RWZhd3ZLYURRb0k5SEEvR2hiOEp1eEtPTS84QnlUNWw5
VDA5U0tRTHBHTVdUU0t2N1RyRlU4TmV1VWllVUZZRnYxWXlDT1ZLM2ttSlBqLzd2ZWc5Sjd6U05U
bmJXdjZMUi9CY0ZmV0NQUlFId2tHdmpMU0RUQW0zL0FldExWeWp5VFJ2bU9TYXVZTk9zVTM1cDF5
bjlzVkFCdVc2cWNMTTJWYXczSFpiZzFJTk5kcithMFgvc3ovSzBGZnpRYWxORm9JSG42UndPL0gy
a0w4dVlmOENJbXphNUNrMjdYZTJhdGNzcWlVOGJYTFlBVWpXU202NlF3eXl6ZVk0VVN1M0pheG1L
aHRVUC9pMC83bWhXaFh4SDh0dldDSDVTUmFFQkdvNEhFU0t2L3lXaHJnTXMvWURQU2Rjb2lzMWJ4
dmtXbmZHclJLK05yRllBOVJTdlpab01jM091VWR6d0g1ZmExQ3pMUlVmTlBQZTNIMXpqdDF3dis0
aHB1RGNSSG9vSHZSNklCTHYrQXpUTHJsRVZtbmZLaFJhZDhhbDN6NThDMDRyYWx5SW1TWExuV2NF
eUdXdjB5MlZrclUxM1BoLzZsVHZzTmdqKzZRZkJIV2dNeTNCcVE0VmIvL0hCcjRORkkxTS9sSDdB
VkZyMHFZTkdySGxyMXFxYzJneXErL0UxQVo1cE9Dck5NNGpsYUlHMVhUc3RvVy9DZmQ5cS9WUEFE
TXR6cVR3eTMrSjhNTS80REwyWG5paEl3cXVJMm8xcnNLUnJKTmhta1lxOURMbCtva0Z1Zm5KZng5
cHBub1YvdmMvdXRudmF4TmNiOFRRVS9JTU90ZmhscThjZUhXL3pmRDBjREY3WjdJNEhmcXAwMnZT
cGcwNnNlMmd6cXB4bEdUZHllb3BGY2E0b2NMM0hKcC9WSFpURGlrNG1PelkzNEwzM2FiKzdFWHd6
K3d2TE5EN2NFYm8yMEJqSzNleE9CMzdLZE5xTTZZRE9vSDJZWTFVK2RhYnA0UWFaSkxoelpLOUYz
cTJVa0dwQ0pEVS83MEtzNzdUY012bCtHV255SndZanZ5VkJMNEozdDNqemdUYkRUWmxRSE1veWFo
OWxtL2RPS1BjNzRwZlBsMHZQeE9SbUxoWDZkMDM1VHdWOVlFVjk4c01VL05SRG04Zzk0VlhiYVU3
VUJsOFg0OEVTSjYra245VWQrSGdoN0V1UHRvVmR6MnJkdEp2UXZEdjVneExld3ZIOGNpSGc3aGxv
Q2x1M2VOT0JOc3ROdFN3MzRqeGM5YkgybmVuYW94VGMzM2g2YUg0dUY0dVB0d2NSNDhuL3UvUk5P
KzgwRzN5ZERFZC8vRElSOTl3YkN2c2J0M2l6Z1RiVHphcWd5MFBQeHVmQklOQkFiYnc4OUdvK0Za
c2Rqb2JueDl0RGNhQ3c0UDlvV2pJL0Znb214V0NBeCtncE8rK0cxeHZ4VndSK00rR1F3N1AxeE1P
eDdQQmoyOWZaSHZGWGJ2VkhBbTJybjRwcnNyS2tkNndpRlI5dERzZkgybXRoSUxQUm9yQzA0TzlZ
V21odU5oZVpHMndMekk5RmdmTFF0a0JpTkJoTFBoZjRYblBhTGF5RGlrNEd3VHdiQzN2OGRhUFkr
SElqNFB1cHY5akwrQTcrQ25jdlhlSHRON1dnc0dCNk5oV0tqc1ZCc0pCcDhOQm9Oem81RUEzTUxh
MzY0TlJBZmFmVW5ocFByNVU3N2xjR1hnYkQzN3dOaHo1LzdtNzBqQTJIUG1XM2VFK0QvclpXRjBC
YXNIVzRMaGtlaWdkaElMQlFiYmcwOEdtNE56QTYzK09lR1cveHpRNjMrK2FFV2YzeW94WmRJcm1X
aGIzays5SU5Mb1Y4S3Z2UTNlK01EemQ0ZitwczkvOUVmOXJZTlJIeU9iZDREQUF0V0ZNSm9XN0Iy
dURVWUhvb0dZa1BSUUd5b3hmOW9xTVUzT3hUeHpRMUZmSE5ETGI3NW9ZZ3ZQaGp4SnBaV2VPM2dK
OFB2U2ZRM2VYOGFDSHRuKzV1OU0zM05YUDRCcjdNVmhURGNHcWdkYnZXSEIxdjlzY0ZXZjJ3dzRu
ODBHUEhORG9hOWM0TVIzOXhnMkRzM0VQYk9ENFM5OFlHd0p6RVE5aVQ2bTczUzMreVZ2bWJQZkgr
elo3NnZ5Zk8wdjluN3A3NW1iMjkvTTVkL3dHL0pjNFV3MU9JUDkwZjhzY0dJUDlZZjhjY0d3cjVI
QTJIdjdFQ3pkMjZnMlR2WGx3eDl2Sy9aODIxL3MrZS8rcG84My9ZM2VUN3JhL1kwY2ZrSC9MYnRY
TDJHV255MUEyRmZ1Qy9zamZXSHZiSCtacytqdnJEM1ptK1RaNmkzeVRQVzEreVo3R3Z5WE85cjl2
aTM5MDhIOE0rd29oQjZtN3hsdDY5NVR3NkVmZWNHdzE1ZmY1UG5uYjVtVDZEMzJvVUQyL3gzQXZn
VjdkeXhZOGZPZ1NhdnU3L0prOVYzemF2ZTdqOElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlDVi9nOXRQ
SkVRdTFYdm1RQUFBQUJKUlU1RXJrSmdnZz09Ij4KKzxpbWcgaWQ9ImkyIiBzcmM9Imh0dHA6Ly9t
YXNoYWJsZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMDgvMDgvdGh1bmRlcmJpcmQtbG9nby02
NHg2NC5wbmciPgorCis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRC
YWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZmNTM2MWQzNTJiZGRmY2ZiOWZmZTQ5Y2MyZWYwNjBm
MDFiODU1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRC
YWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9
Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkg
eworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2
YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgICByZXR1cm4g
W2dsXTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciB0ZXggPSBn
bC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4
KTsKKyAgICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLHRl
eCkgeworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGdsLmRl
bGV0ZVRleHR1cmUodGV4KTsKK30KKworVGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihn
bCkgeworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMiwyLDAs
Z2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMF0pKTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1
YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAyLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9C
WVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAxLDIs
Z2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAg
ICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX0VOVU0sICJiYWQgdGFyZ2V0
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5GTE9BVCwgMCwgMCww
LCAxLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0p
KTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAid2lk
dGggb3V0IG9mIHJhbmdlIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLDAsIDAsIDMsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBV
aW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3Nl
cnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiaGVpZ2h0IG91dCBvZiByYW5nZSIsIGZ1
bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAw
LCAxLDMsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInplcm8gc2l6ZSIsIGZ1
bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAw
LCAwLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0p
KTsKKyAgICB9KTsKKyAgICBhc3NlcnRTb21lR0xFcnJvcihnbCwgIm5lZ2F0aXZlIHdpZHRoIiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLDAs
IDAsIC0xLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAs
MF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRTb21lR0xFcnJvcihnbCwgIm5lZ2F0aXZlIGhlaWdo
dCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwwLCAwLCAxLC0xLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAs
MCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgIm5lZ2F0aXZlIHgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsLTEsMSwxLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWlu
dDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgeSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1
YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwxLC0xLDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZ
VEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCBmb3JtYXQiLCBmdW5jdGlvbigpeworICAgICAg
ICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMSwxLGdsLkZMT0FULGds
LlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0pOworICAg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCB0eXBlIiwgZnVuY3Rpb24o
KXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxn
bC5SR0JBLGdsLlRFWFRVUkVfMkQsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0p
OworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3Vn
aCBkYXRhIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCAwLDAsIDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5
KFswLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgImZvcm1hdCBkb2VzIG5vdCBtYXRjaCBpbnRlcm5hbCBmb3JtYXQiLCBmdW5jdGlv
bigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMSwx
LGdsLlJHQixnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDBdKSk7CisgICAg
fSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ0eXBlIGRv
ZXMgbm90IG1hdGNoIG9yaWdpbmFsIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX1NIT1JU
XzRfNF80XzQsIG5ldyBVaW50MTZBcnJheShbMF0pKTsKKyAgICB9KTsKK30KKworCitUZXN0cy5l
bmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBw
b3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJn
bCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjg0ZmQ4NDdjMjNjNGM3
OTFhZmMxM2I4OTU0Zjk1MmYxN2JjODRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbApAQCAtMCwwICsxLDE2NCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0
ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQg
PSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdnbCcpOworICAgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykp
OworICAgIGdsLnZpZXdwb3J0KDAsMCxjYW52YXMud2lkdGgsY2FudmFzLmhlaWdodCk7CisgICAg
Z2wuY2xlYXJDb2xvcigwLDAsMSwxKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklU
IHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsK
KyAgICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCkgeworICAg
IHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV8yRCwgdGV4KTsKKyAgICB2YXIgdGV4Q3ViZU1hcCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsK
KyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFwKTsKKyAg
ICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLCB0ZXgsIHRl
eEN1YmVNYXApIHsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAg
ICBnbC5kZWxldGVUZXh0dXJlKHRleCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9D
VUJFX01BUCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXhDdWJlTWFwKTsKK30KKwor
VGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihnbCkgeworICAgIGdsLmVuYWJsZShnbC5C
TEVORCk7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpJyk7CisgICAg
dmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycpOworICAgIHZhciBjdHggPSBjLmdl
dENvbnRleHQoJzJkJyk7CisgICAgY3R4LmRyYXdJbWFnZShpbWcsMCwwKTsKKyAgICBnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGltZyk7CisgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wu
VEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGds
LnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1Q
X1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVS
RV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICAgIHZhciBmID0gbmV3
IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAg
Z2wuYmxlbmRGdW5jKGdsLk9ORSwgZ2wuWkVSTyk7CisgICAgZi5hcHBseSgpOworICAgIGYuZGVz
dHJveSgpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTsKKyAgICBmID0g
bmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5LWhmbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOwor
ICAgIGdsLmJsZW5kRnVuYyhnbC5TUkNfQUxQSEEsIGdsLk9ORV9NSU5VU19TUkNfQUxQSEEpOwor
ICAgIGYuYXBwbHkoKTsKKyAgICBmLmRlc3Ryb3koKTsKKyAgICB2YXIgdmFsaWRfdGFyZ2V0cyA9
IFsKKyAgICAgICAgZ2wuVEVYVFVSRV8yRCwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9Q
T1NJVElWRV9YLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAg
ICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICAgICAgZ2wuVEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9ZLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZF
X1osCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWgorICAgIF07CisgICAg
dmFsaWRfdGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgYXNzZXJ0T2soZnVu
Y3Rpb24oKXsKKyAgICAgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKHQsIDAsIGdsLlJHQkEsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpOworICAgICAgICAgICAgICAgIGdsLnRleFN1Yklt
YWdlMkQodCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgICAg
IH0pOworICAgICAgICBhc3NlcnRPayhmdW5jdGlvbigpeworICAgICAgICAgICAgICAgIGdsLnRl
eEltYWdlMkQodCwgMSwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7Cisg
ICAgICAgICAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRCh0LCAxLCAwLCAwLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBjKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKK1Rlc3RzLnRlc3RU
ZXhJbWFnZTJETm9uU09QID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgaW1nID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2kyJyk7CisgICAgd2hpbGUgKCFpbWcuY29tcGxldGUpIHt9CisgICAg
dmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycpOworICAgIHZhciBjdHggPSBjLmdl
dENvbnRleHQoJzJkJyk7CisgICAgY3R4LmRyYXdJbWFnZShpbWcsMCwwKTsKKyAgICBhc3NlcnRU
aHJvd05vR0xFcnJvcihnbCwgInRleEltYWdlMkQgd2l0aCBjcm9zcy1vcmlnaW4gaW1hZ2Ugc2hv
dWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7
fSk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhTdWJJbWFnZTJEIHdpdGggY3Jv
c3Mtb3JpZ2luIGltYWdlIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIGdsLlJHQkEsIGdsLlVO
U0lHTkVEX0JZVEUsIGltZyk7fSk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhJ
bWFnZTJEIHdpdGggZGlydHkgb3JpZ2luIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIs
CisgICAgICBmdW5jdGlvbigpe2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7fSk7CisgICAgYXNzZXJ0VGhyb3dOb0dM
RXJyb3IoZ2wsICJ0ZXhTdWJJbWFnZTJEIHdpdGggZGlydHkgb3JpZ2luIGNhbnZhcyBzaG91bGQg
dGhyb3cgZXhjZXB0aW9uLiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRleFN1YkltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgMCwwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKK30K
KworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0iaWRlbnRpdHktZmxpcC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRy
aWJ1dGUgdmVjMyBWZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0
ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LnMsIDEu
MC1UZXgudCwgMC4wLCAwLjApOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7
Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWhmbGlwLXZlcnQiIHR5cGU9Ingt
c2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMy
IFRleDsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4
Q29vcmQwID0gdmVjNCgxLjAtVGV4LnMsIFRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRp
b24gPSB2ZWM0KFZlcnRleCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRp
dHktZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKKwordW5pZm9ybSBzYW1wbGVyMkQgVGV4dHVyZTsKKwordmFyeWluZyB2ZWM0IHRleENv
b3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBjID0gdGV4dHVyZTJEKFRleHR1cmUsIHRl
eENvb3JkMC5zdCk7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsKK30KKzwvc2NyaXB0PgorPC9oZWFk
Pjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZh
cz4KKzxjYW52YXMgaWQ9ImMiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZhcz4KKzxp
bWcgaWQ9ImkiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiAgc3JjPSJkYXRhOmltYWdlL3BuZzti
YXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFUVkVs
RVFWUjRuTzNkK1ZQVWQ1N0hjZjJiOWs5WSt6NDQrcUs3T1pvR0ZWQTVWZkJHemFoOWN4cE56R0VP
b1J1YTVsQkV1ZS9ESzRmWjdNYXBtU20zTWxzaHU4eE9kQ3BESnQzdi9hRUJBVUhBT01HNHowZlY1
M2ZxVS9WNmZkN2ZUL2UzMmJFREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd092QmthcjdsKzMrR3dC
c2s4eFVyVDByVGI4dngyUTQ1amFubHU3WXNXUG5zZ1hnVGVZd2FrODVVM1h2NVppTTMrWGJVaC9s
MmRJQ0JjNjA4MFdaMXVyOTJiYVNIUlFCOEdheUdkVVd1MUh6b1NORk8rWk0xZjJjYlRMTTUxbFQ1
d29jNXJrRE9iYlovVm0yU0VtMjNWdnN5amhWNW5KUUJzQ2J4R1pRVnRtTjZwNE1vL1lQZHFOR0hL
bGF5VXJYSjl6V2xFU2gweEl2enNtWUwzSFo1NHB6TW02VnVSeVJNcGZUVytweVVBYkFtOEJtVk5W
bkdOVFRkcVA2dnpPTUdyR25hTVNacXBOc2sxN3liS2xTNkRUTC9peGJvdFJsajVmbE91YkwzSTY1
TXBmalZybmJFYWxZS0lOU2wzMzV2UUdBM3dLYlVXMnhHZFdSREtQNjZ3eWpXaFlMd0pHaUZXZWFU
ckpOQm5GYlUyU1AzU1Q3czZ4U21tdVhjcmN6VWU1MnhzdHpIZlBsYnNkY3VkdDVxeXpYM2xLV2x4
a3N6WEdlSzhteG55ekp5U2plUVJrQXJ6ZWJRVmxsTTZwN2JVYjE0OVVGNEVqVlNtYWFUckxTOWVL
eXBNZ2VlN29jeUxaSm1kc2hGWG1aVXBIblhGRUdCL096SnNyZGpxRXl0L05tV2E0OVhKYnQ5SmE2
TWs0VnU3aEVCRjVMTnIycTNtWlF6OWdNNnU5WEZFQnFzZ0NjYVRySlhKZ0VjaTBwc3RkaGt2M1pO
aW5OVFpiQW9md3NPWlNmSlFmek1xVTh6NWtvZHpzU1pibU9lSVhiK1hXNTJ6RmE1bkxjS25QWkky
VUxsNGpGZktJQXZCN01PclhGWmxCSGJBYjExemFqK2ttR1ViTnVBV1NtNjVkS1lIZEdtaFJsV3FR
OHp5RkhDbkxrK0w1Y09WNlVLMGNLWFZLNUoxc081bWRLaGRzcFphdktvRFRYMFZQaWNpVExJSHRG
R1ZBSXdLL05ZbEJXMmZUcVhwdEIvZGhtU0o3K0x5cUFySFM5NUppVEpWRGdORWxsUVpaNEtndWxy
cnBVNnF0TEpYQnN2NXd0M3lNbjlydmxhSUZMRGk4dmcxeEg0bUIrNXArV2wwRnBqcjJsSk1jUkxN
NnlueXZPempoeElJdDdBK0JYWTlHcjZxMEw0LzlTQWFSb3hMN3cvTDlXQVdTYkRKSnJUWkZpZDRa
NGp4WkpVLzF4dWZIaE9lbStlazZpbDAvTEI3NHFhVHhUSm9HaisrVnMyUjQ1dmo5WGpoVGt5T0hk
QzQ4SkMyVndhSGZtbnlyY3puK3ZjRHNteW5MdFF5VTVHVGVMY3pMQ3BUazJUM0dXN1ZoeFZzYWU3
ZDRmNEkxbDFxa3RWb002WWpPb3ZyWWExRDhzRm9COVdRRTQxNWtBOHUxcGN2UkFqbndVT2lMRExR
RzUxOTBvOTI0MnlsUkhuUXlHL1hMejZubUpYcXFXRDN5VjBuQzZWUHhIOThuWnN0MXlmRit1SEMx
MFNkWGViRG1Vbnl5RHFvTHM3dzdsWjM1YjduYjhzY3h0LzdkU2wzMmtKQ2VqcXlRbjQwcEpUa2Ja
RGlZQzROV3phSlZWVnIycTEyWlFQYllhMUg5ZnV3QjBTd1dRbGE2WExGT3lBQW95VGZMVzRUM1Nm
dVdNM0wzUklBLzdMOHZEL3N2eVplOGwrZXpXMjNLdnUxRW1PMnBsb05rbjNWZlBTZXZiMWZLK3Qx
SWF6NVJKN2NsaThSMHBrdE9sK1hLc0tGa0dCeGZLb0hKdjFsOFA1bWYrdVNMUDhmdnlYTWRNbWRz
UktYYzVxb3RkR1FYYnZWL0FHOFdpVjlWYjlhb1pxMTQxYXpPb3hXYmNYQUhrV2xPa0pDOURhazhY
eTYxUEw4aURub3RMQmJCVUJIMlg1WXZibCtSQnowVzVlNk5CSnRwcnBML1pKemMvT2kvWFAzaExX
aTZla3ZjOGg2V3V1a1M4VmMvS1lQRUM4V2hoenBPcWd1enZLdmRtZlhWNGQyYjN3ZnpNOXcvbFpU
RU5BSytDV2Fld1dIV3FpRTJ2K3RxcVYvMncyUUxJTmhra1AyTmgvSzg5SW1OdElmbWk5OUt6OFBj
bDE1ZEw2NUo4MFh0SlByLzF0dHkvMlNoM3V4dmt6dlY2R1krRnBPK2FWNjUvOER1SlhEd3BWenlI
cE83VVFobVU1TXZSSXBkVTdjMlJRN3V6NU1SKzl4K09GYm51SGkzTWlWUVZ1S29QNzg0dTJ1NzlB
MzdUTEZwbGxWV242clhxVlkrdGV0V1BHeGJBc2d2QXZVNlR2SFZvdDhTdW5KWTdOK3JseTc2MWcv
OWxiM0o5c1d4OWZ2dVNmSDc3YlhuUWMxSHVkVGZJVEZlZGpMV0ZwUGVhUjdvK2VFdkNqU2ZseW9W
RFVsZGRLc0hqQitUQzRVSTVWWnduVlFVNWliY3E5bngxdWpTLzU4UUI5OVhxWW5mNURxWUI0T1ZZ
ZE0vR2Y2dGU5WS9rOC8vR0JlQ3lHS1hFblNFMTFRZWs1NVB6Y3Y5bTQ4clFyeFA4TDI1ZmtpOXV2
eTJmcjFxZjNicVluQXh1Tk1oMFo1Mk1SSU55KzFPUFhQL3dkOUorNVl3MDE1K1FkODRmbEpxVHhY
TGhjSUdjTE03NytVaEJ6dDh1VkJhMm5xdmNlL1pzeFo2eTdkNUw0RGRsY2Z5MzZGVmZXL1NxSDZ3
R2xhd3VnTVd2QVR2VGxoV0F5U0I1R2FseWRIK09mRlJ6UkVhalFmbjgxdHZyaC82RndWOWNGK1d6
V3hmbHdhMkxjci9ub3R6cmJwU1o2L1V5MVZVbmt4MjFNdHdTa0o1UExrakhlMmVscWY2NFhENTNV
RUluRGlRdUhDNllyeTdPbXoxVzVIclkrRmJGNFIxTUE4RG1XTFRLS3N1eThkOXFVTCt3QUpaL0Mz
Q1BNMTNPSHR3dGJlK2VsdW5yOWZMRnVzRi9QdlNmMzFvNytBOTZucTM3UFJmbGZrK2ozTCtaL0Zq
eDdvMEdtZTZxazRuMkdobHE4VXZQeCtlbC9jb1p1VlozWEM2ZnEvaTU3bFR4MzJwT0huZ1VPbFVj
L2pSNGxFdENZQ01XbmFyZW9sZk5XUFNxV2F0QjlkT2FCYkRHbDRCY0ZxTVV1MjBTT25WQWJuNThU
dTUyTjI3cXRQOThnOUEvV0F6OVF2QVgxNzNGRXVodWtMdmREY25Kb0xOV3htTTFNaGp4eTgyUHpr
bm4rMmNTc1hkUHo0Y2JUOHgrR0toOCtGSHdTTzBPU2dCWW0xbW5zSmgxcW9oRnIxd1kvNVh4WndX
dy90ZUFzOUtUdnd0d1pIKzJYQTFWeVhCclVCNzBYRnovdEY5bnpOOUs4TzkxTjhpOWhmQXZyanMz
R3VUT2pYcVpYbmhFR0crdmtkRm9VQWJEL3A5N1BqNy90NTZyNTcvcHUrYjVwT1hkNnFQYnZkZkFh
OGVpM1ZWbDBhbDZMWHJsWTR0TythTkZyMHBzdGdEMk9OTGx6TUhkRW4ybldxWTY2K1N6bHh6ekh5
d2I4NThML1RyQnYzdmpXZmdYMTh6MTVKcnVxcE9wemxxWmFBOGx4bUtodjQ5R2czL29EL3MrM3U2
OUJsNDdGcDJpM3FKVnpWaDB5bG1yVHZtVFZaKzhBRno1SHNEekJaQmpOa3B4cmsyQ3B3NUk5MGZu
NU02TmhoZWU5bHNPZnZmbWczL24rclB3ejF5dms1bXVPcGxlV0pNZHRmSEpqcHJ2Smp0cUtBQmd1
ZVQ0cjRpWWRjcXZ6YnBkUDFqMHl2anFBckN2OVNKUXVsN2N0bFNwMnBjdEh3WXJaYWdsSVBkdk5x
NS8yci9nWW05VHdiK3g5ZUJQZDlYSlZISVNtSi9xclAxbXVyT0dSd0JnT1pOMlY1VkZwK3kxYUJm
R2Y1MHlzVlFBYTN3SFlMRUFzdEwxc3R1UkxxY3I4cVgxOGltWjdLaVZCejBYWHhqNmpaL3ZOeG44
NnhzSFAva0lVQ2RUblhYeDZjN2F2MHgxMVBSczkxNERyeDJUVGxGdjBpcG16RHJsckVXbi9NbWlW
OGxtQ2lEYmJKQUR1VFlKbnR3dk42NytUbWF1MXlkRHZtYm90MzZ4OXl6NDlTOFovTnJGTlQvZFZm
djdxYzY2azl1OTE4QnJ4YXhlUGY0cjRoc1ZnSFBoOXdCenJTbFNWWlF0SHdRcVpURGlsN3ZkalZz
NzdiY1kvSm10QjErbU9tc1RreDIxVDZhNmFrZTJlNitCMTQ1SnU2dktwRlAybXJUS3gyYnRzL0Yv
OFZ1QUx5cUEzZlkwT1YyZUx5MlhUc3BFZTQzY2Y4R3ovVFlFWHlZN2FtV3lveVkrMVZIei9WUm5Y
Zk4yN3pYdzJsa2EvN1hLV1l0VytaTkZwNVRORkVDMnlTRDdYVllKbk5nblhSKytKZE5kZFpzKzdY
K2Q0TmZLWkVlTlRIYlV6RTkyMUR5YTVQSVBXQ2xOcmJDWXRjbngzNlRkOVlOWnA0aGJkS3FOQzJC
aC9LOHN6SkwzL1lkbElPeVRPemNhdHZ3eDNzWTMrcjhvK0RMWkVVcE10TmM4bWVoZy9BZWVZMUx2
cWpKcGxiMG1qZUt4V2F2NDBheFZKbFlYd0ZwdkFtYW02U1RmbmliVlpYa1NlZnVrak1WQ2NyZDdF
eVArZXFmOWxvSmZ1Mkh3SnpwcVpLSzlSc2JiUS9ISjl0RDNrNTAxalAvQWFpYU5vdDZrU1k3L1px
M2lKN05PS1lzWGdDOHFnQ3lUUWZibFdNVi9mSjkwZm5CV0pqdHJWNHozV3pudG43dlJ2LzU4Nkxj
YS9HY3JORC9SSG5vMDJjNzRENnlRcGxaWVRGcEZ4S1JWTEkzL0t3dmcrUmVCN0NuSjN3RndXVkxr
Y0dHV3ZPYy9MUDNOWHBtNVh2L0xUL3ROQm45eUU4RWZUNFkvTVI0TFBSbHZEekgrQTZ1Wk5ZcEtr
M1pYYi9yQytHL1NLaEtiTFlDOGpEUTVWWlluNFlzblpMUXRLSGR1YkM3MG14M3pmMG53eDl0RE1o
NEx5VmdzRkIrUEJiOGZiMmY4QjU2VHJsSFVwMnNWMHlhTlltbjgzMHdCWktYclpWKzJSWHpIOTBu
SCsyZGxvcU1tV1FDdjRMUi8rZUNIbG9LL0VINFpqd1hueDJQQlIyUHRRY1ovWURtVFJwbWFybFkw
bVRTN3ZrclRLUDVxMGlwK051dVVZdG1nQUJ5cFduRlpqSEtvSUZPdWVBOUpYNU5IcHJ2cU5oMzZ6
WjcydnlUNEMrRlBqTFlGbjR6SGdvei93R29temE3ZDZacGRNWk5HOFkxSm8zaGkxaTQ4LzIraUFQ
SXlVdVZrcVZ1YUdrL0lTRFFvTTlkZjNXbS9NdmcxV3c3K1dDd2tZMjFCR1cwTHhrZmJndCtQeFVL
TS84QnFhWnBkdTlQVWlpYVRSdkdWU2F2NHk5SW5BQnNVUUdhNlhvcXlMZUk5VmlUdDc1MlI4ZmJR
cXNDLzR0TitpOEVmYXd2S2FEUW9JOUhBL0doYjhKdXhLT00vOEJ5VDVsOVQwOVNLUUxwR01XVFNL
djdUckZVOE5ldVVpZVVGWUZ2MVl5Q09WSzNrbUpQai83dmVnOUo3elNOVG5iV3Y2TFIvQmNGZldD
UFJRSHdrR3ZqTFNEVEFtMy9BZXRMVnlqeVRSdm1PU2F1WU5Pc1UzNXAxeW45c1ZBQnVXNnFjTE0y
VmF3M0haYmcxSU5OZHIrYTBYL3N6L0swRmZ6UWFsTkZvSUhuNlJ3Ty9IMmtMOHVZZjhDSW16YTVD
azI3WGUyYXRjc3FpVThiWExZQVVqV1NtNjZRd3l5emVZNFVTdTNKYXhtS2h0VVAvaTAvN21oV2hY
eEg4dHZXQ0g1U1JhRUJHbzRIRVNLdi95V2hyZ01zL1lEUFNkY29pczFieHZrV25mR3JSSytOckZZ
QTlSU3ZaWm9NYzNPdVVkendINWZhMUN6TFJVZk5QUGUzSDF6anQxd3YrNGhwdURjUkhvb0h2UjZJ
Qkx2K0F6VExybEVWbW5mS2hSYWQ4YWwzejU4QzA0cmFseUltU1hMbldjRXlHV3YweTJWa3JVMTNQ
aC82bFR2c05nais2UWZCSFdnTXkzQnFRNFZiLy9IQnI0TkZJMU0vbEg3QVZGcjBxWU5HckhscjFx
cWMyZ3lxKy9FMUFaNXBPQ3JOTTRqbGFJRzFYVHN0b1cvQ2ZkOXEvVlBBRE10enFUd3kzK0o4TU0v
NERMMlhuaWhJd3F1STJvMXJzS1JySk5obWtZcTlETGwrb2tGdWZuSmZ4OXBwbm9WL3ZjL3V0bnZh
eE5jYjhUUVUvSU1PdGZobHE4Y2VIVy96ZkQwY0RGN1o3STRIZnFwMDJ2U3BnMDZzZTJnenFweGxH
VGR5ZW9wRmNhNG9jTDNISnAvVkhaVERpazRtT3pZMzRMMzNhYis3RVh3eit3dkxORDdjRWJvMjBC
akszZXhPQjM3S2ROcU02WURPb0gyWVkxVStkYWJwNFFhWkpMaHpaSzlGM3EyVWtHcENKRFUvNzBL
czc3VGNNdmwrR1dueUp3WWp2eVZCTDRKM3QzanpnVGJEVFpsUUhNb3lhaDlsbS9kT0tQYzc0cGZQ
bDB2UHhPUm1MaFg2ZDAzNVR3VjlZRVY5OHNNVS9OUkRtOGc5NFZYYmFVN1VCbDhYNDhFU0o2K2tu
OVVkK0hnaDdFdVB0b1ZkejJyZHRKdlF2RHY1Z3hMZXd2SDhjaUhnN2hsb0NsdTNlTk9CTnN0TnRT
dzM0anhjOWJIMm5lbmFveFRjMzNoNmFINHVGNHVQdHdjUjQ4bi91L1JOTys4MEczeWRERWQvL0RJ
Ujk5d2JDdnNidDNpemdUYlR6YXFneTBQUHh1ZkJJTkJBYmJ3ODlHbytGWnNkam9ibng5dERjYUN3
NFA5b1dqSS9GZ29teFdDQXgrZ3BPKytHMXh2eFZ3UitNK0dRdzdQMXhNT3g3UEJqMjlmWkh2Rlhi
dlZIQW0ycm40cHJzcktrZDZ3aUZSOXREc2ZIMm10aElMUFJvckMwNE85WVdtaHVOaGVaRzJ3THpJ
OUZnZkxRdGtCaU5CaExQaGY0WG5QYUxheURpazRHd1R3YkMzdjhkYVBZK0hJajRQdXB2OWpMK0E3
K0NuY3ZYZUh0TjdXZ3NHQjZOaFdLanNWQnNKQnA4TkJvTnpvNUVBM01MYTM2NE5SQWZhZlVuaHBQ
cjVVNzdsY0dYZ2JEMzd3Tmh6NS83bTcwakEySFBtVzNlRStEL3JaV0YwQmFzSFc0TGhrZWlnZGhJ
TEJRYmJnMDhHbTROekE2MytPZUdXL3h6UTYzKythRVdmM3lveFpkSXJtV2hiM2srOUlOTG9WOEt2
dlEzZStNRHpkNGYrcHM5LzlFZjlyWU5SSHlPYmQ0REFBdFdGTUpvVzdCMnVEVVlIb29HWWtQUlFH
eW94ZjlvcU1VM094VHh6UTFGZkhORExiNzVvWWd2UGhqeEpwWldlTzNnSjhQdlNmUTNlWDhhQ0h0
bis1dTlNMzNOWFA0QnI3TVZoVERjR3FnZGJ2V0hCMXY5c2NGV2Yyd3c0bjgwR1BITkRvYTljNE1S
Mzl4ZzJEczNFUGJPRDRTOThZR3dKekVROWlUNm03M1MzK3lWdm1iUGZIK3paNzZ2eWZPMHY5bjdw
NzVtYjI5L001ZC93Ry9KYzRVdzFPSVA5MGY4c2NHSVA5WWY4Y2NHd3I1SEEySHY3RUN6ZDI2ZzJU
dlhsd3g5dksvWjgyMS9zK2UvK3BvODMvWTNlVDdyYS9ZMGNma0gvTGJ0WEwyR1dueTFBMkZmdUMv
c2pmV0h2YkgrWnMranZyRDNabStUWjZpM3lUUFcxK3laN0d2eVhPOXI5dmkzOTA4SDhNK3dvaEI2
bTd4bHQ2OTVUdzZFZmVjR3cxNWZmNVBubmI1bVQ2RDMyb1VEMi94M0F2Z1Y3ZHl4WThmT2dTYXZ1
Ny9KazlWM3phdmU3ajhJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQ1YvZzl0UEpFUXUxWHZtUUFBQUFC
SlJVNUVya0pnZ2c9PSI+Cis8aW1nIGlkPSJpMiIgc3JjPSJodHRwOi8vbWFzaGFibGUuY29tL3dw
LWNvbnRlbnQvdXBsb2Fkcy8yMDA4LzA4L3RodW5kZXJiaXJkLWxvZ28tNjR4NjQucG5nIj4KKwor
PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBl
M2M1NjNkZTY1MzZhZTgyNGFkODFkYmMzNTcwMjA0MTI1NmYwMDMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sCkBAIC0wLDAgKzEsMTMwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1Qg
RURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0
OiBhY29zXzAwMV90b18wMDYuaHRtbDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIg
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBo
ZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4o
eworICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogImFjb3NfZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogImFjb3NfZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwg
CisgICAgICAibmFtZSI6ICJhY29zX2Zsb2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAg
ICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhY29zX3ZlYzJfZnJhZ194dmFyeV9y
ZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFjb3NfdmVjMl9mcmFnX3h2YXJ5LmZy
YWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFjb3NfdmVjMl9mcmFnX3h2YXJ5LnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYWNvc192ZWMz
X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAor
ICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhY29zX3ZlYzNf
ZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX3ZlYzNfZnJh
Z194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwg
CisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFk
ZXIiOiAiYWNvc19mbG9hdF92ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1v
ZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICJhY29zX2Zsb2F0X3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImFjb3NfZmxvYXRfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjog
ImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc192ZWMyX3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogImFjb3NfdmVjMl92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAg
ICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAg
fSwgCisgICAgICAibmFtZSI6ICJhY29zX3ZlYzJfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAg
ICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5j
ZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc192ZWMzX3ZlcnRfeHZh
cnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVm
YXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRl
c3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFjb3NfdmVjM192ZXJ0X3h2
YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX3ZlYzNfdmVydF94dmFyeS50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNp
bi9hc2luXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2Y3NTdlOWYwYTE4MGMxN2M2ZmZh
NGUxNjJhNDY2NDQzNTc3ODk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2lu
XzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0t
IHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogYXNpbl8wMDFfdG9fMDA2Lmh0
bWw8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3
aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJh
c2luX2Zsb2F0X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6
IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJh
c2luX2Zsb2F0X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNp
bl9mbG9hdF9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFy
ZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiYXNpbl92ZWMyX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAK
KyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJhc2luX3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAg
ICAibmFtZSI6ICJhc2luX3ZlYzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFzaW5fdmVjM19mcmFnX3h2YXJ5X3JlZi5mcmFn
IgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl92ZWMzX2ZyYWdfeHZhcnkuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl92ZWMzX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwg
CisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZl
cmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFzaW5fZmxvYXRfdmVy
dF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAg
ICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXNpbl9mbG9hdF92
ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhc2luX2Zsb2F0X3ZlcnRf
eHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogImFzaW5fdmVjMl92ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICJhc2luX3ZlYzJfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAi
YXNpbl92ZWMyX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21w
YXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogImFzaW5fdmVjM192ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAg
ICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICJhc2luX3ZlYzNfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAiYXNpbl92ZWMzX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAi
cGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRh
bi9hdGFuXzAwMV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2ZlM2E0YThkNTcxNzJlZTM0ZTcwNTcwZGQ4MTFmNjYwMDNmYzgyYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwKQEAg
LTAsMCArMSwxNTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQuIERPIE5PVCBFRElULgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBL
aHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm
cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlz
IHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiog
Ik1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh
bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVy
c29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj
dCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
CisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlh
bHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiog
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO
RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9S
IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNM
IGNvbmZvcm1hbmNlIHRlc3Q6IGF0YW5fMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMv
b2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xl
cy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDog
MTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdM
RVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNl
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5
X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fZmxvYXRfZnJhZ194dmFyeS50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgewor
ICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5f
dmVjMl9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxs
LCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9k
ZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92
ZWMyX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXRhbl92ZWMy
X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAg
IH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICJhdGFuX3ZlYzNfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImF0YW5fdmVjM19mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImF0YW5fdmVjM19mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAi
Y29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAg
ICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5eXZhcnlfcmVmLmZyYWci
CisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX2Zsb2F0X2ZyYWdfeHZhcnl5dmFyeS5mcmFn
IgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX2Zsb2F0X2ZyYWdfeHZhcnl5dmFyeS50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgewor
ICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5f
dmVjMl9mcmFnX3h2YXJ5eXZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6
IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJh
dGFuX3ZlYzJfZnJhZ194dmFyeXl2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjog
ImF0YW5fdmVjMl9mcmFnX3h2YXJ5eXZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAg
ICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzNfZnJhZ194dmFyeXl2YXJ5X3JlZi5mcmFn
IgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMzX2ZyYWdfeHZhcnl5dmFyeS5mcmFn
IgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX3ZlYzNfZnJhZ194dmFyeXl2YXJ5LnRl
c3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7Cisg
ICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhdGFu
X2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3Jp
ZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImF0
YW5fZmxvYXRfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXRhbl9m
bG9hdF92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICJhdGFuX3ZlYzJfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAiYXRhbl92ZWMyX3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJuYW1lIjogImF0YW5fdmVjMl92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRl
cm4iOiAiY29tcGFyZSIKKyAgICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xf
Zmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93
L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU3YmZhMTUxMWE2Y2Zj
NDRlMzAzZGQzNmMzNTM3YWUzMzBhYmQyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Nv
bnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMjUyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBO
T1QgRURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0
ZXN0OiBjb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAv
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMt
dGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdp
ZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsi
PjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0
UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIs
IAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAg
ICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAg
ICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAx
LjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAg
IF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
Li4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxs
LCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9k
ZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiZm9yX2Jy
ZWFrX2ZyYWcuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX2JyZWFrX2ZyYWcu
dGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsK
KyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAgICAgICAg
ICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAgICAidHlw
ZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAgICAgICAg
IDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAg
ICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwgCisgICAg
ICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisgICAgICB9
LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogImZvcl9icmVha192ZXJ0LnZlcnQiLCAKKyAgICAgICAgImZyYWdt
ZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bmFtZSI6ICJmb3JfYnJlYWtfdmVydC50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNv
bXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
InVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQi
OiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2
YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAg
ICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAg
ICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAi
dGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImZvcl9jb250aW51ZV9mcmFn
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9jb250aW51ZV9mcmFnLnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJl
c3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAi
dW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAs
IAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAg
ICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICJmb3JfY29udGludWVfdmVydC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5h
bWUiOiAiZm9yX2NvbnRpbnVlX3ZlcnQudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJj
b21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJ1bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50
IjogMSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAi
dmFsdWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAg
ICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAg
ICAgIH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0
L2V4cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAg
InRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVm
YXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJmb3JfbmVzdGVkX2JyZWFr
X2ZyYWcuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX25lc3RlZF9icmVha19m
cmFnLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAg
ICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAg
ICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAg
InR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAg
ICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAg
ICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICJmb3JfbmVzdGVkX2JyZWFrX3ZlcnQudmVydCIsIAorICAg
ICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9
LCAKKyAgICAgICJuYW1lIjogImZvcl9uZXN0ZWRfYnJlYWtfdmVydC50ZXN0Lmh0bWwiLCAKKyAg
ICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5j
ZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7Cisg
ICAgICAgICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYi
LCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAg
ICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAg
ICAgICAgICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
ImZvcl9uZXN0ZWRfY29udGludWVfZnJhZy5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6
ICJmb3JfbmVzdGVkX2NvbnRpbnVlX2ZyYWcudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAg
ICAgICJ1bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNv
dW50IjogMSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAg
ICAidmFsdWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisg
ICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAg
ICAgICAgIH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2V4cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAg
ICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImZvcl9uZXN0ZWRf
Y29udGludWVfdmVydC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX25lc3RlZF9j
b250aW51ZV92ZXJ0LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAg
ICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQ0OTljOWM5Zjc2
ZGM2MGEwZmU4NzAyMWNhYjBjMTE4YTYwZjcxMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTU2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBsb2dfMDAxX3Rv
XzAwOC5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBz
dHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2Ny
aXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6
IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAibG9nX2Zsb2F0X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJsb2dfZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6
ICJsb2dfZmxvYXRfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNv
bXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogImxvZ19mbG9hdF9mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJsb2dfZmxvYXRfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9
LCAKKyAgICAgICJuYW1lIjogImxvZ19mbG9hdF9mcmFnX3h2YXJ5MDEudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVu
Y2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfdmVjMl9mcmFnX3h2YXJ5
X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzJfZnJhZ194dmFyeS5m
cmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfdmVjMl9mcmFnX3h2YXJ5LnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzJf
ZnJhZ194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAK
KyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzJf
ZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ192ZWMyX2Zy
YWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAg
fSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImxvZ192ZWMzX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjog
ImxvZ192ZWMzX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21w
YXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9
LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5MDEuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAibG9nX3ZlYzNfZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAg
InBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2dfZmxvYXRfdmVydF94dmFyeV9y
ZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnku
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZy
YWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ19mbG9hdF92ZXJ0X3h2YXJ5LnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2dfZmxv
YXRfdmVydF94dmFyeTAxX3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQi
LCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2df
ZmxvYXRfdmVydF94dmFyeTAxLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfZmxv
YXRfdmVydF94dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhYWEx
NzhmMjhjYWYyODU5NWE3MWRkNmRjNWE3MzIwNDA2MDg5NmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTU2IEBACis8IURP
Q1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJ
VC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBs
b2cyXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWln
aHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9i
b2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oewor
ICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAi
cGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnkwMV9y
ZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeTAx
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeTAx
LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7
CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9n
Ml92ZWMyX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51
bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cy
X3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX3Zl
YzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisg
ICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVy
dGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICJsb2cyX3ZlYzJfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJuYW1lIjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0
dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFt
IjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzNfZnJhZ194dmFyeV9yZWYuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5LnRlc3QuaHRtbCIs
IAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMzX2ZyYWdf
eHZhcnkwMV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAg
ICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjM19mcmFn
X3h2YXJ5MDEuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nMl92ZWMzX2ZyYWdf
eHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwg
CisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFk
ZXIiOiAibG9nMl9mbG9hdF92ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1v
ZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImxvZzJfZmxvYXRfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjog
ImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nMl9mbG9hdF92ZXJ0X3h2YXJ5MDFfcmVmLnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgor
ICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogImxvZzJfZmxvYXRfdmVydF94dmFyeTAxLnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgor
ICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnkwMS50ZXN0Lmh0
bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NWVl
OTc5NTQ4Y2FmN2NiNmU1MjNmMzgxMmY1YjA5ZTRkODQ2MzY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsx
LDEzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9y
bWFuY2UgdGVzdDogc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9v
Z2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL29nbGVz
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBs
ZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3aWR0aDogMTZweDsgaGVpZ2h0OiAx
NnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitPcGVuR0xF
U1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAgIHsKKyAgICAgICJyZWZlcmVuY2VQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zsb2F0X2ZyYWdf
eHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
InNtb290aHN0ZXBfZmxvYXRfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfZmxvYXRfZnJhZ194dmFyeV9lZGdlY29u
c3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9
LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAic21vb3Roc3RlcF92ZWMyX2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9yZWYuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0ZXBfdmVjMl9mcmFnX3h2YXJ5X2Vk
Z2Vjb25zdHF1YXJ0ZXIuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAic21vb3Roc3Rl
cF92ZWMyX2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci50ZXN0Lmh0bWwiLCAKKyAgICAgICJw
YXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0ZXBfdmVjM19mcmFnX3h2YXJ5
X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51
bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJzbW9v
dGhzdGVwX3ZlYzNfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLmZyYWciCisgICAgICB9LCAK
KyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVjM19mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0
ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
InNtb290aHN0ZXBfZmxvYXRfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyX3JlZi52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsK
KyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zsb2F0X3ZlcnRfeHZhcnlfZWRn
ZWNvbnN0cXVhcnRlci52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAic21vb3Roc3RlcF9m
bG9hdF92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0
dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFt
IjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfdmVjMl92ZXJ0X3h2YXJ5
X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3Jp
ZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogInNt
b290aHN0ZXBfdmVjMl92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudmVydCIsIAorICAgICAg
ICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAK
KyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVjMl92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0
ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
InNtb290aHN0ZXBfdmVjM192ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfdmVjM192ZXJ0X3h2YXJ5X2VkZ2Vj
b25zdHF1YXJ0ZXIudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVj
M192ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVy
biI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0
dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDFhODRmNzAz
YjcxYWRiZjU0MjczMTgyYmE2NTIyMGEyMjZhNjM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3Jh
bXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwKQEAgLTAsMCAr
MSwxODcgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIEJpbmRBdHRyaWJMb2NhdGlvbiBMb25nIE5hbWVzIENvbmZvcm1hbmNlIFRlc3RzPC90
aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgc3R5bGU9ImJvcmRlcjogMXB4IHNv
bGlkIGJsYWNrOyIgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4K
KzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0
Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbiQoc3VmZml4KTsKK2F0dHJpYnV0ZSB2ZWM0IHZD
b2xvciQoc3VmZml4KTsKK3ZhcnlpbmcgdmVjNCBjb2xvcjsKK3ZvaWQgbWFpbigpCit7CisgIGds
X1Bvc2l0aW9uID0gdlBvc2l0aW9uJChzdWZmaXgpOworICBjb2xvciA9IHZDb2xvciQoc3VmZml4
KTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0idGV4dC9zb21ldGhp
bmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3Zhcnlpbmcg
dmVjNCBjb2xvcjsKK3ZvaWQgbWFpbigpCit7CisgIGdsX0ZyYWdDb2xvciA9IGNvbG9yOworfQor
PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCBjaGVja3MgdXNpbmcgbG9uZyBuYW1lcyB3aXRoIGJpbmRBdHRyaWJMb2NhdGlvbiB3b3JrLiIp
OworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFyIHd0dSA9
IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2FudmFzIik7
CitzaG91bGRCZU5vbk51bGwoImdsIik7CisKK2Z1bmN0aW9uIGZhaWwoeCx5LCBidWYsIHNob3Vs
ZEJlKQoreworICB2YXIgaSA9ICh5KjUwK3gpICogNDsKKyAgdmFyIHJlYXNvbiA9ICJwaXhlbCBh
dCAoIit4KyIsIit5KyIpIGlzICgiK2J1ZltpXSsiLCIrYnVmW2krMV0rIiwiK2J1ZltpKzJdKyIs
IitidWZbaSszXSsiKSwgc2hvdWxkIGJlICIrc2hvdWxkQmU7CisgIHRlc3RGYWlsZWQocmVhc29u
KTsKK30KKworZnVuY3Rpb24gcGFzcygpCit7CisgIHRlc3RQYXNzZWQoImRyYXdpbmcgaXMgY29y
cmVjdCIpOworfQorCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2tpbmcgZ2wuYmluZEF0dHJpYkxv
Y2F0aW9uIHdpdGggbG9uZyBuYW1lcy4iKTsKKwordmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9n
cmFtKCk7CisKK3ZhciBzdWZmaXggPSAibG9uZyI7Citmb3IgKHZhciBpaSA9IDA7IGlpIDwgNTsg
KytpaSkgeworICBzdWZmaXggPSBzdWZmaXggKyBzdWZmaXg7Cit9Cit2YXIgcmVwbGFjZW1lbnRz
ID0geworICBzdWZmaXg6IHN1ZmZpeAorfTsKKwordmFyIHZzcmMgPSB3dHUucmVwbGFjZVBhcmFt
cyh3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyIiksIHJlcGxhY2VtZW50cyk7Cit2YXIgZnNyYyA9IHd0
dS5yZXBsYWNlUGFyYW1zKHd0dS5nZXRTY3JpcHQoImZzaGFkZXIiKSwgcmVwbGFjZW1lbnRzKTsK
KwordmFyIHZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIHZzcmMsIGdsLlZFUlRFWF9TSEFERVIpOwor
dmFyIGZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIGZzcmMsIGdsLkZSQUdNRU5UX1NIQURFUik7CisK
K3ZhciBhdHRyaWJzID0geworICB2UG9zaXRpb246ICJ2UG9zaXRpb24iICsgc3VmZml4LAorICB2
Q29sb3I6ICJ2Q29sb3IiICsgc3VmZml4Cit9OworCitnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwg
dnMpOworZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIGZzKTsKKwordmFyIHBvc2l0aW9ucyA9IGds
LmNyZWF0ZUJ1ZmZlcigpOworZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHBvc2l0aW9u
cyk7CitnbC5idWZmZXJEYXRhKAorICBnbC5BUlJBWV9CVUZGRVIsCisgIG5ldyBGbG9hdDMyQXJy
YXkoCisgICAgICBbIDEuMCwgIDEuMCwgMC4wLAorICAgICAgIC0xLjAsICAxLjAsIDAuMCwKKyAg
ICAgICAtMS4wLCAtMS4wLCAwLjAsCisgICAgICAgIDEuMCwgIDEuMCwgMC4wLAorICAgICAgIC0x
LjAsIC0xLjAsIDAuMCwKKyAgICAgICAgMS4wLCAtMS4wLCAwLjBdKSwKKyAgZ2wuU1RBVElDX0RS
QVcpOworCit2YXIgY29sb3JzID0gZ2wuY3JlYXRlQnVmZmVyKCk7CitnbC5iaW5kQnVmZmVyKGds
LkFSUkFZX0JVRkZFUiwgY29sb3JzKTsKK2dsLmJ1ZmZlckRhdGEoCisgIGdsLkFSUkFZX0JVRkZF
UiwKKyAgbmV3IEZsb2F0MzJBcnJheSgKKyAgICAgIFsgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAs
MSwKKyAgICAgICAgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAsMSwK
KyAgICAgICAgMCwxLDAsMV0pLAorICBnbC5TVEFUSUNfRFJBVyk7CisKK2Z1bmN0aW9uIHNldEJp
bmRMb2NhdGlvbnMoY29sb3JMb2NhdGlvbiwgcG9zaXRpb25Mb2NhdGlvbikgeworICBnbC5iaW5k
QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgcG9zaXRpb25Mb2NhdGlvbiwgYXR0cmlicy52UG9zaXRp
b24pOworICBnbC5iaW5kQXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgY29sb3JMb2NhdGlvbiwgYXR0
cmlicy52Q29sb3IpOworICBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKKyAgZ2wudXNlUHJvZ3Jh
bShwcm9ncmFtKTsKKyAgdmFyIGxpbmtlZCA9IChnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dy
YW0sIGdsLkxJTktfU1RBVFVTKSAhPSAwKTsKKyAgYXNzZXJ0TXNnKGxpbmtlZCwgInByb2dyYW0g
bGlua2VkIHN1Y2Nlc3NmdWxseSIpOworCisgIGRlYnVnKCJ2UG9zaXRpb246IiArIGdsLmdldEF0
dHJpYkxvY2F0aW9uKHByb2dyYW0sIGF0dHJpYnMudlBvc2l0aW9uKSkKKyAgZGVidWcoInZDb2xv
ciAgIDoiICsgZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52Q29sb3IpKQor
ICBhc3NlcnRNc2coZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52UG9zaXRp
b24pID09IHBvc2l0aW9uTG9jYXRpb24sCisgICAgICAgICAgICAibG9jYXRpb24gb2YgdlBvc2l0
aW9uIHNob3VsZCBiZSAiICsgcG9zaXRpb25Mb2NhdGlvbik7CisgIGFzc2VydE1zZyhnbC5nZXRB
dHRyaWJMb2NhdGlvbihwcm9ncmFtLCBhdHRyaWJzLnZDb2xvcikgPT0gY29sb3JMb2NhdGlvbiwK
KyAgICAgICAgICAgICJsb2NhdGlvbiBvZiB2Q29sb3Igc2hvdWxkIGJlICIgKyBjb2xvckxvY2F0
aW9uKTsKKworICB2YXIgcGxvYyA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sIGF0dHJp
YnMudlBvc2l0aW9uKTsKKyAgdmFyIGNsb2MgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFt
LCBhdHRyaWJzLnZDb2xvcik7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBwb3Np
dGlvbnMpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uKTsK
KyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihwb3NpdGlvbkxvY2F0aW9uLCAzLCBnbC5GTE9BVCwg
ZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgY29sb3JzKTsK
KyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoY29sb3JMb2NhdGlvbik7CisgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIoY29sb3JMb2NhdGlvbiwgNCwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsK
K30KKworZnVuY3Rpb24gY2hlY2tEcmF3KGNvbG9yTG9jYXRpb24sIHBvc2l0aW9uTG9jYXRpb24s
IHIsIGcsIGIsIGEpIHsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGds
LCBbciwgZywgYiwgYV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKworICBnbC5kaXNhYmxlVmVydGV4
QXR0cmliQXJyYXkocG9zaXRpb25Mb2NhdGlvbik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJB
cnJheShjb2xvckxvY2F0aW9uKTsKK30KKworc2V0QmluZExvY2F0aW9ucygyLCAzKTsKK2NoZWNr
RHJhdygyLCAzLCAwLCAyNTUsIDAsIDI1NSk7CisKK3NldEJpbmRMb2NhdGlvbnMoMCwgMyk7Citn
bC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CitnbC52ZXJ0ZXhBdHRyaWI0ZigwLCAxLCAw
LCAwLCAxKTsKK2NoZWNrRHJhdygwLCAzLCAyNTUsIDAsIDAsIDI1NSk7CisKK2dsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOThjMmFlY2I0NGFmMzc3NWI4NWQ0ZWYyYWNmOWRjN2U1NzNlMWI1ZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sCkBAIC0wLDAgKzEsNDIy
IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
UHJvZ3JhbSBDb21waWxpbmcvTGlua2luZyBDb25mb3JtYW5jZSBUZXN0PC90aXRsZT4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIiB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
ZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyIgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0
dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAg
IGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
ImZzaGFkZXItcmVkIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICB2b2lkIG1haW4o
KQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgxLCAwLCAwLCAxKTsKKyAgICB9
Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXItZ3JlZW4iIHR5cGU9Ingtc2hhZGVyL3gt
ZnJhZ21lbnQiPgorICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3Ig
PSB2ZWM0KDAsIDEsIDAsIDEpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRl
ci1zZXR0YWJsZSIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9ybSB2ZWM0IHVfY29sb3I7CisgICAgdm9pZCBtYWluKCkK
KyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHVfY29sb3I7CisgICAgfQorPC9zY3JpcHQ+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIiIGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwor
ZnVuY3Rpb24gZ28oKSB7CisgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcHJvZ3JhbSBjb21w
aWxpbmcvbGlua2luZy91c2luZyB3b3JrcyBjb3JyZWN0bHkuIik7CisKKyAgICBkZWJ1ZygiIik7
CisgICAgZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7CisKKyAgICB2YXIgZ2wgPSB3dHUuY3Jl
YXRlM0RDb250ZXh0KCJjYW52YXMiKTsKKyAgICBpZiAoIWdsKSB7CisgICAgICAgIHRlc3RGYWls
ZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgICBnbC5jbGVhckNvbG9yKDAu
MCwgMC4wLCAwLjAsIDAuMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGds
LkRFUFRIX0JVRkZFUl9CSVQpOworCisgICAgZnVuY3Rpb24gZG9BcnJheXNIYXZlU2FtZUNvbnRl
bnRzKGEsIGIpIHsKKyAgICAgICAgdmFyIGZsYWdzID0gW107CisgICAgICAgIGZ1bmN0aW9uIGhh
c1VudXNlZFZhbHVlKGEsIHZhbHVlKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlp
IDwgYS5sZW5ndGg7ICsraWkpIHsKKyAgICAgICAgICAgICAgICBpZiAoYVtpaV0gPT09IHZhbHVl
ICYmICFmbGFnc1tpaV0pIHsKKyAgICAgICAgICAgICAgICAgICAgZmxhZ3NbaWldID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3Ig
KHZhciBpaSA9IDA7IGlpIDwgYS5sZW5ndGg7IGlpKyspIHsKKyAgICAgICAgICAgICAgICBpZiAo
IWhhc1VudXNlZFZhbHVlKGIsIGFbaWldKSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9IGNhdGNo
IChleCkgeworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKworLy8vLy8vLyBDaGVjayBjb21waWxlU2hhZGVyKCkgLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIHZhciB2cyA9IGdsLmNyZWF0ZVNoYWRlcihn
bC5WRVJURVhfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UodnMsICJhdHRyaWJ1dGUgdmVj
NCBhVmVydGV4OyBhdHRyaWJ1dGUgdmVjNCBhQ29sb3I7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZv
aWQgbWFpbigpIHsgdkNvbG9yID0gYUNvbG9yOyBnbF9Qb3NpdGlvbiA9IGFWZXJ0ZXg7IH0iKTsK
KyAgICBnbC5jb21waWxlU2hhZGVyKHZzKTsKKworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQ
YXJhbWV0ZXIodnMsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVlLAorICAgICAgICAgICAgICAi
Z29vZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBjb21waWxlIik7CisKKyAgICAvLyBWZXJpZnkgdGhh
dCBjb25zdGFudHMgcmVtb3ZlZCBmcm9tIHRoZSBXZWJHTCBzcGVjIGdlbmVyYXRlIElOVkFMSURf
RU5VTSBlcnJvcnMKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxk
IGJlIG5vIGVycm9ycyBhdCB0aGlzIHBvaW50Iik7CisgICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRl
clBhcmFtZXRlcih2cywgZGVza3RvcEdMWydJTkZPX0xPR19MRU5HVEgnXSkgPT09IG51bGwsICJp
bnZhbGlkIGNhbGwgdG8gZ2V0U2hhZGVyUGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiSU5GT19MT0dfTEVOR1RI
IGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFNoYWRlclBhcmFtZXRlciBpbiBXZWJHTCIp
OworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMsIGRlc2t0b3BHTFsnU0hB
REVSX1NPVVJDRV9MRU5HVEgnXSkgPT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0U2hhZGVy
UGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuSU5WQUxJRF9FTlVNLCAiU0hBREVSX1NPVVJDRV9MRU5HVEggaXMgbm90IGEgdmFsaWQgYXJn
dW1lbnQgdG8gZ2V0U2hhZGVyUGFyYW1ldGVyIGluIFdlYkdMIik7CisKKyAgICB2YXIgdnMyID0g
Z2wuY3JlYXRlU2hhZGVyKGdsLlZFUlRFWF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZSh2
czIsICJhdHRyaWJ1dGUgdmVjNCBhVmVydGV4OyBhdHRyaWJ1dGUgdmVjNCBhQ29sb3I7IHZhcnlp
bmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgdkNvbG9yID0gYUNvbG9yOyBnbF9Qb3NpdGlv
biA9IGFWZXJ0ZXggKiAwLjU7IH0iKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKHZzMik7CisKKyAg
ICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzMiwgZ2wuQ09NUElMRV9TVEFUVVMp
ID09IHRydWUsCisgICAgICAgICAgICAgICJnb29kIHZlcnRleCBzaGFkZXIgIzIgc2hvdWxkIGNv
bXBpbGUiKTsKKworICAgIHZhciB2c0JhZCA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hB
REVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UodnNCYWQsICJXSUxMIE5PVCBDT01QSUxFOyIpOwor
ICAgIGdsLmNvbXBpbGVTaGFkZXIodnNCYWQpOworCisgICAgLy8gR0xTTCAxLjAuMTcgc2VjdGlv
biAxMC4yNy4gY29tcGlsZSBzaGFkZXIgZG9lcyBub3QgaGF2ZSB0byByZXR1cm4gZmFpbHVyZS4K
KyAgICAvL2Fzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnNCYWQsIGdsLkNPTVBJTEVf
U1RBVFVTKSA9PSBmYWxzZSwKKyAgICAvLyAgICAgICAgICAiYmFkIHZlcnRleCBzaGFkZXIgc2hv
dWxkIGZhaWwgdG8gY29tcGlsZSIpOworCisgICAgdmFyIGZzID0gZ2wuY3JlYXRlU2hhZGVyKGds
LkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZzLCAicHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgZ2xfRnJhZ0Nv
bG9yID0gdkNvbG9yOyB9Iik7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmcyk7CisKKyAgICBhc3Nl
cnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1
ZSwKKyAgICAgICAgICAgICAgImdvb2QgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBjb21waWxlIik7
CisKKyAgICB2YXIgZnMyID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7Cisg
ICAgZ2wuc2hhZGVyU291cmNlKGZzMiwgInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyB2YXJ5aW5n
IHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IGdsX0ZyYWdDb2xvciA9IHZDb2xvciAqIDAuNTsg
fSIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMyKTsKKworICAgIGFzc2VydE1zZyhnbC5nZXRT
aGFkZXJQYXJhbWV0ZXIoZnMyLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAg
ICAgICAgImdvb2QgZnJhZ21lbnQgc2hhZGVyICMyIHNob3VsZCBjb21waWxlIik7CisKKyAgICB2
YXIgZnNCYWQgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICBnbC5z
aGFkZXJTb3VyY2UoZnNCYWQsICJXSUxMIE5PVCBDT01QSUxFOyIpOworICAgIGdsLmNvbXBpbGVT
aGFkZXIoZnNCYWQpOworCisgICAgLy8gR0xTTCAxLjAuMTcgc2VjdGlvbiAxMC4yNy4gY29tcGls
ZSBzaGFkZXIgZG9lcyBub3QgaGF2ZSB0byByZXR1cm4gZmFpbHVyZS4KKyAgICAvL2Fzc2VydE1z
ZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnNCYWQsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSBmYWxz
ZSwKKyAgICAvLyAgICAgICAgICAiYmFkIGZyYWdtZW50IHNoYWRlciBzaG91bGQgZmFpbCB0byBj
b21waWxlIik7CisKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxk
IGJlIG5vIGVycm9ycyBhdCB0aGlzIHBvaW50Iik7CisKKy8vLy8vLy8gQ2hlY2sgYXR0YWNoU2hh
ZGVyKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIGZ1bmN0aW9uIGNoZWNr
QXR0YWNoU2hhZGVyKGFscmVhZHlfYXR0YWNoZWRfc2hhZGVycywgc2hhZGVyLCBleHBlY3RlZF9l
cnJvcl9jb2RlLCBlcnJtc2cpIHsKKyAgICAgICAgdmFyIHByb2cgPSBnbC5jcmVhdGVQcm9ncmFt
KCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxyZWFkeV9hdHRhY2hlZF9zaGFkZXJz
Lmxlbmd0aDsgKytpKQorICAgICAgICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2csIGFscmVhZHlf
YXR0YWNoZWRfc2hhZGVyc1tpXSk7CisgICAgICAgIGlmKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9f
RVJST1IpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGlu
IGF0dGFjaFNoYWRlcigpIik7CisgICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nLCBzaGFkZXIp
OworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGV4cGVjdGVkX2Vycm9yX2NvZGUsIGVycm1z
Zyk7CisgICAgfQorCisgICAgY2hlY2tBdHRhY2hTaGFkZXIoW10sIHZzLCBnbC5OT19FUlJPUiwg
ImF0dGFjaGluZyBhIHZlcnRleCBzaGFkZXIgc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICBjaGVja0F0
dGFjaFNoYWRlcihbdnNdLCB2cywgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAg
ICAgICAgICAgImF0dGFjaGluZyBhbiBhbHJlYWR5IGF0dGFjaGVkIHZlcnRleCBzaGFkZXIgc2hv
dWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7CisgICAgY2hlY2tBdHRhY2hTaGFkZXIo
W10sIGZzLCBnbC5OT19FUlJPUiwgImF0dGFjaGluZyBhIGZyYWdtZW50IHNoYWRlciBzaG91bGQg
c3VjY2VlZCIpOworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFtmc10sIGZzLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAiYXR0YWNoaW5nIGFuIGFscmVhZHkgYXR0
YWNoZWQgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIp
OworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFt2c10sIHZzMiwgZ2wuSU5WQUxJRF9PUEVSQVRJT04s
CisgICAgICAgICAgICAgICAgICAgICAgImF0dGFjaGluZyBzaGFkZXJzIG9mIHRoZSBzYW1lIHR5
cGUgdG8gYSBwcm9ncmFtIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworICAg
IGNoZWNrQXR0YWNoU2hhZGVyKFtmc10sIGZzMiwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAg
ICAgICAgICAgICAgICAgICAgImF0dGFjaGluZyBzaGFkZXJzIG9mIHRoZSBzYW1lIHR5cGUgdG8g
YSBwcm9ncmFtIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworCisvLy8vLy8v
IENoZWNrIGRldGFjaFNoYWRlcigpIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAg
ICBmdW5jdGlvbiBjaGVja0RldGFjaFNoYWRlcihhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnMsIHNo
YWRlciwgZXhwZWN0ZWRfZXJyb3JfY29kZSwgZXJybXNnKSB7CisgICAgICAgIHZhciBwcm9nID0g
Z2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFscmVhZHlf
YXR0YWNoZWRfc2hhZGVycy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGdsLmF0dGFjaFNoYWRl
cihwcm9nLCBhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnNbaV0pOworICAgICAgICBpZihnbC5nZXRF
cnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5l
eHBlY3RlZCBlcnJvciBpbiBhdHRhY2hTaGFkZXIoKSIpOworICAgICAgICBnbC5kZXRhY2hTaGFk
ZXIocHJvZywgc2hhZGVyKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBleHBlY3RlZF9l
cnJvcl9jb2RlLCBlcnJtc2cpOworICAgIH0KKworICAgIGNoZWNrRGV0YWNoU2hhZGVyKFt2c10s
IHZzLCBnbC5OT19FUlJPUiwgImRldGFjaGluZyBhIHZlcnRleCBzaGFkZXIgc2hvdWxkIHN1Y2Nl
ZWQiKTsKKyAgICBjaGVja0RldGFjaFNoYWRlcihbZnNdLCB2cywgZ2wuSU5WQUxJRF9PUEVSQVRJ
T04sCisgICAgICAgICAgICAgICAgICAgICAgImRldGFjaGluZyBhIG5vdCBhbHJlYWR5IGF0dGFj
aGVkIHZlcnRleCBzaGFkZXIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7Cisg
ICAgY2hlY2tEZXRhY2hTaGFkZXIoW2ZzXSwgZnMsIGdsLk5PX0VSUk9SLCAiZGV0YWNoaW5nIGEg
ZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBzdWNjZWVkIik7CisgICAgY2hlY2tEZXRhY2hTaGFkZXIo
W3ZzXSwgZnMsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICJk
ZXRhY2hpbmcgYSBub3QgYWxyZWFkeSBhdHRhY2hlZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGdl
bmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7CisKKy8vLy8vLy8gQ2hlY2sgZ2V0QXR0YWNoZWRT
aGFkZXJzKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIGZ1bmN0aW9uIGNo
ZWNrR2V0QXR0YWNoZWRTaGFkZXJzKHNoYWRlcnNfdG9fYXR0YWNoLCBzaGFkZXJzX3RvX2RldGFj
aCwgZXhwZWN0ZWRfc2hhZGVycywgZXJybXNnKSB7CisgICAgICAgIHZhciBwcm9nID0gZ2wuY3Jl
YXRlUHJvZ3JhbSgpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNoYWRlcnNfdG9fYXR0
YWNoLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2csIHNoYWRl
cnNfdG9fYXR0YWNoW2ldKTsKKyAgICAgICAgaWYoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJP
UikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gYXR0
YWNoU2hhZGVyKCkiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaGFkZXJzX3RvX2Rl
dGFjaC5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGdsLmRldGFjaFNoYWRlcihwcm9nLCBzaGFk
ZXJzX3RvX2RldGFjaFtpXSk7CisgICAgICAgIGlmKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9fRVJS
T1IpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGluIGRl
dGFjaFNoYWRlcigpIik7CisgICAgICAgIGFzc2VydE1zZyhkb0FycmF5c0hhdmVTYW1lQ29udGVu
dHMoZ2wuZ2V0QXR0YWNoZWRTaGFkZXJzKHByb2cpLCBleHBlY3RlZF9zaGFkZXJzKSwgZXJybXNn
KTsKKyAgICB9CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW10sIFtdLCBbXSwgImdldEF0
dGFjaGVkU2hhZGVycyBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IGxpc3QgYnkgZGVmYXVsdCIpOwor
ICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmc10sIFtdLCBbZnNdLCAiYXR0YWNoaW5nIGEg
c2luZ2xlIHNoYWRlciBzaG91bGQgZ2l2ZSB0aGUgZXhwZWN0ZWQgbGlzdCIpOworICAgIGNoZWNr
R2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbXSwgW2ZzLCB2c10sCisgICAgICAgICJhdHRh
Y2hpbmcgc29tZSBzaGFkZXJzIHNob3VsZCBnaXZlIHRoZSBleHBlY3RlZCBsaXN0Iik7CisgICAg
Y2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzXSwgW2ZzXSwgW10sICJhdHRhY2hpbmcgYSBzaGFk
ZXIgYW5kIGRldGFjaGluZyBpdCBzaG91ZCBsZWF2ZSBhbiBlbXB0eSBsaXN0Iik7CisgICAgY2hl
Y2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzLCB2c10sIFtmcywgdnNdLCBbXSwKKyAgICAgICAgImF0
dGFjaGluZyBzb21lIHNoYWRlcnMgYW5kIGRldGFjaGluZyB0aGVtIGluIHNhbWUgb3JkZXIgc2hv
dWQgbGVhdmUgYW4gZW1wdHkgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtm
cywgdnNdLCBbdnMsIGZzXSwgW10sCisgICAgICAgICJhdHRhY2hpbmcgc29tZSBzaGFkZXJzIGFu
ZCBkZXRhY2hpbmcgdGhlbSBpbiByYW5kb20gb3JkZXIgc2hvdWQgbGVhdmUgYW4gZW1wdHkgbGlz
dCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbdnNdLCBbZnNdLAor
ICAgICAgICAiYXR0YWNoaW5nIGFuZCBkZXRhY2hpbmcgc29tZSBzaGFkZXJzIHNob3VsZCBsZWF2
ZSB0aGUgZGlmZmVyZW5jZSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2Zz
LCB2c10sIFtmc10sIFt2c10sCisgICAgICAgICJhdHRhY2hpbmcgYW5kIGRldGFjaGluZyBzb21l
IHNoYWRlcnMgc2hvdWxkIGxlYXZlIHRoZSBkaWZmZXJlbmNlIGxpc3QiKTsKKyAgICBjaGVja0dl
dEF0dGFjaGVkU2hhZGVycyhbZnNCYWRdLCBbXSwgW2ZzQmFkXSwKKyAgICAgICAgImF0dGFjaGlu
ZyBhIHNoYWRlciB0aGF0IGZhaWxlZCB0byBjb21waWxlIHNob3VsZCBzdGlsbCBzaG93IGl0IGlu
IHRoZSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzLCB2c0JhZF0sIFtd
LCBbZnMsIHZzQmFkXSwKKyAgICAgICAgImF0dGFjaGluZyBzaGFkZXJzLCBpbmNsdWRpbmcgb25l
IHRoYXQgZmFpbGVkIHRvIGNvbXBpbGUsIHNob3VsZCBzdGlsbCBzaG93IHRoZSBpdCBpbiB0aGUg
bGlzdCIpOworCisvLy8vLy8vIENoZWNrIGxpbmtQcm9ncmFtKCkgYW5kIHVzZVByb2dyYW0gLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIGZ1bmN0aW9uIGNoZWNrTGlua0FuZFVz
ZShzaGFkZXJzLCBkZWxldGVTaGFkZXJBZnRlckF0dGFjaCwgZXhwZWN0ZWRfc3RhdHVzLCB0ZXN0
SW52YWxpZEVudW1zLCBlcnJtc2cpIHsKKyAgICAgICAgdmFyIHByb2cgPSBnbC5jcmVhdGVQcm9n
cmFtKCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2hhZGVycy5sZW5ndGg7ICsraSkg
eworICAgICAgICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2csIHNoYWRlcnNbaV0pOworICAgICAg
ICAgICAgaWYgKGRlbGV0ZVNoYWRlckFmdGVyQXR0YWNoKQorICAgICAgICAgICAgICAgIGdsLmRl
bGV0ZVNoYWRlcihzaGFkZXJzW2ldKTsKKyAgICAgICAgfQorICAgICAgICBnbC5iaW5kQXR0cmli
TG9jYXRpb24ocHJvZywgMCwgImFWZXJ0ZXgiKTsKKyAgICAgICAgZ2wuYmluZEF0dHJpYkxvY2F0
aW9uKHByb2csIDEsICJhQ29sb3IiKTsKKyAgICAgICAgZ2wubGlua1Byb2dyYW0ocHJvZyk7Cisg
ICAgICAgIGlmIChnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNz
ZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBsaW5rUHJvZ3JhbSgpIik7CisgICAg
ICAgIGFzc2VydE1zZyhnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2csIGdsLkxJTktfU1RBVFVT
KSA9PSBleHBlY3RlZF9zdGF0dXMsIGVycm1zZyk7CisgICAgICAgIHZhciBpbmZvbG9nID0gZ2wu
Z2V0UHJvZ3JhbUluZm9Mb2cocHJvZyk7CisgICAgICAgIGlmIChnbC5nZXRFcnJvcigpICE9IGds
Lk5PX0VSUk9SKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJv
ciBpbiBnZXRQcm9ncmFtSW5mb0xvZygpIik7CisgICAgICAgIGlmICh0eXBlb2YoaW5mb2xvZykg
IT0gInN0cmluZyIpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJnZXRQcm9ncmFtSW5m
b0xvZygpIGRpZCBub3QgcmV0dXJuIGEgc3RyaW5nIik7CisgICAgICAgIGlmIChleHBlY3RlZF9z
dGF0dXMgPT0gdHJ1ZSAmJiBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2csIGdsLkxJTktfU1RB
VFVTKSA9PSBmYWxzZSkKKyAgICAgICAgICAgIGRlYnVnKGluZm9sb2cpOworICAgICAgICBpZiAo
Z2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJPUikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxz
ZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gZ2V0UHJvZ3JhbVBhcmFtZXRlcigpIik7CisgICAgICAg
IAorICAgICAgICBpZiAodGVzdEludmFsaWRFbnVtcykgeworICAgICAgICAgICAgLy8gVmVyaWZ5
IHRoYXQgY29uc3RhbnRzIHJlbW92ZWQgZnJvbSB0aGUgV2ViR0wgc3BlYyBnZW5lcmF0ZSBJTlZB
TElEX0VOVU0gZXJyb3JzCisgICAgICAgICAgICBhc3NlcnRNc2coZ2wuZ2V0UHJvZ3JhbVBhcmFt
ZXRlcihwcm9nLCBkZXNrdG9wR0xbJ0lORk9fTE9HX0xFTkdUSCddKSA9PT0gbnVsbCwgImludmFs
aWQgY2FsbCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOworICAg
ICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJJTkZPX0xPR19M
RU5HVEggaXMgbm90IGEgdmFsaWQgYXJndW1lbnQgdG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBpbiBX
ZWJHTCIpOworICAgICAgICAgICAgYXNzZXJ0TXNnKGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJv
ZywgZGVza3RvcEdMWydBQ1RJVkVfQVRUUklCVVRFX01BWF9MRU5HVEgnXSkgPT09IG51bGwsICJp
bnZhbGlkIGNhbGwgdG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsK
KyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiQUNUSVZF
X0FUVFJJQlVURV9NQVhfTEVOR1RIIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFByb2dy
YW1QYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICAgICAgICAgIGFzc2VydE1zZyhnbC5nZXRQcm9n
cmFtUGFyYW1ldGVyKHByb2csIGRlc2t0b3BHTFsnQUNUSVZFX1VOSUZPUk1fTUFYX0xFTkdUSCdd
KSA9PT0gbnVsbCwgImludmFsaWQgY2FsbCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIHNob3VsZCBy
ZXR1cm4gbnVsbCIpOworICAgICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElE
X0VOVU0sICJBQ1RJVkVfVU5JRk9STV9NQVhfTEVOR1RIIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50
IHRvIGdldFByb2dyYW1QYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICAgICAgfQorCisgICAgICAg
IGdsLnVzZVByb2dyYW0ocHJvZyk7CisgICAgICAgIGlmIChleHBlY3RlZF9zdGF0dXMgPT0gdHJ1
ZSkKKyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ1c2luZyBh
IHZhbGlkIHByb2dyYW0gc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICAgICAgaWYgKGV4cGVjdGVkX3N0
YXR1cyA9PSBmYWxzZSkKKyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJ1c2luZyBhbiBpbnZhbGlkIHByb2dyYW0gc2hvdWxkIGdlbmVyYXRlIElO
VkFMSURfT1BFUkFUSU9OIik7CisgICAgICAgIHJldHVybiBwcm9nOworICAgIH0KKworICAgIHZh
ciBwcm9nR29vZDEgPSBjaGVja0xpbmtBbmRVc2UoW3ZzLCBmc10sIGZhbHNlLCB0cnVlLCB0cnVl
LCAidmFsaWQgcHJvZ3JhbSBzaG91bGQgbGluayIpOworICAgIHZhciBwcm9nR29vZDIgPSBjaGVj
a0xpbmtBbmRVc2UoW3ZzLCBmczJdLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsICJ2YWxpZCBwcm9ncmFt
ICMyIHNob3VsZCBsaW5rIik7CisgICAgdmFyIHByb2dCYWQxID0gY2hlY2tMaW5rQW5kVXNlKFt2
c10sIGZhbHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggbm8gZnJhZ21lbnQgc2hhZGVy
IHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0JhZDIgPSBjaGVja0xpbmtBbmRV
c2UoW2ZzXSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgInByb2dyYW0gd2l0aCBubyB2ZXJ0ZXggc2hh
ZGVyIHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0JhZDMgPSBjaGVja0xpbmtB
bmRVc2UoW3ZzQmFkLCBmc10sIGZhbHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggYmFk
IHZlcnRleCBzaGFkZXIgc2hvdWxkIGZhaWwgdG8gbGluayIpOworICAgIHZhciBwcm9nQmFkNCA9
IGNoZWNrTGlua0FuZFVzZShbdnMsIGZzQmFkXSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgInByb2dy
YW0gd2l0aCBiYWQgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2
YXIgcHJvZ0JhZDUgPSBjaGVja0xpbmtBbmRVc2UoW3ZzQmFkLCBmc0JhZF0sIGZhbHNlLCBmYWxz
ZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggYmFkIHNoYWRlcnMgc2hvdWxkIGZhaWwgdG8gbGluayIp
OworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IsICJ1c2luZyBhIHZhbGlkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRl
IGEgR0wgZXJyb3IiKTsKKworICAgIHZhciB2YnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZidWYpOworICAgIGdsLmJ1ZmZlckRhdGEo
Z2wuQVJSQVlfQlVGRkVSLAorICAgICAgICAgICAgICAgICAgbmV3IEZsb2F0MzJBcnJheShbCisg
ICAgICAgICAgICAgICAgICAgICAgMC4wLCAwLjAsIDAuMCwgMS4wLAorICAgICAgICAgICAgICAg
ICAgICAgIDEuMCwgMC4wLCAwLjAsIDEuMCwKKyAgICAgICAgICAgICAgICAgICAgICAxLjAsIDEu
MCwgMC4wLCAxLjAsCisgICAgICAgICAgICAgICAgICAgICAgMC4wLCAxLjAsIDAuMCwgMS4wXSks
CisgICAgICAgICAgICAgICAgICBnbC5TVEFUSUNfRFJBVyk7CisgICAgZ2wudmVydGV4QXR0cmli
UG9pbnRlcigwLCA0LCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICAgIGdsLmVuYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDApOworICAgIGdsLnZlcnRleEF0dHJpYjNmKDEsIDEuMCwgMC4wLCAwLjAp
OworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBl
cnJvcnMgYXQgdGhpcyBwb2ludCAjMiIpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEp
OworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiZHJhd2luZyB3aXRoIGEgdmFsaWQgcHJvZ3JhbSBzaG91
bGRuJ3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nQmFk
MSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInVzaW5n
IGFuIGludmFsaWQgcHJvZ3JhbSBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsK
KyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgIlRyeSB0byB1c2UgYW4gaW52YWxpZCBwcm9ncmFtIHNob3Vs
ZCBub3QgY2hhbmdlIHRoZSBjdXJyZW50IHJlbmRlcmluZyBzdGF0ZSIpOworCisgICAgZ2wudXNl
UHJvZ3JhbShwcm9nR29vZDIpOworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAz
KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiZHJhd2luZyB3aXRoIGEg
dmFsaWQgcHJvZ3JhbSBzaG91bGRuJ3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworICAgIGdsLmRl
dGFjaFNoYWRlcihwcm9nR29vZDIsIGZzMik7CisgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2dHb29k
MiwgZnNCYWQpOworICAgIGdsLmxpbmtQcm9ncmFtKHByb2dHb29kMik7CisgICAgYXNzZXJ0TXNn
KGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ0dvb2QyLCBnbC5MSU5LX1NUQVRVUykgPT0gZmFs
c2UsCisgICAgICAgICAgICAgICJsaW5raW5nIHNob3VsZCBmYWlsIHdpdGggaW4tdXNlIGZvcm1l
cmx5IGdvb2QgcHJvZ3JhbSwgd2l0aCBuZXcgYmFkIHNoYWRlciBhdHRhY2hlZCIpOworCisgICAg
Ly8gSW52YWxpZCBsaW5rIGxlYXZlcyBwcmV2aW91cyB2YWxpZCBwcm9ncmFtIGludGFjdC4KKyAg
ICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUiwgImRyYXdpbmcgd2l0aCBhIHZhbGlkIHByb2dyYW0gc2hvdWxkbid0
IGdlbmVyYXRlIGEgR0wgZXJyb3IiKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dvb2QxKTsK
KyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNCk7CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgImRyYXdpbmcgd2l0aCBhIHZhbGlkIHdoZW4gbGFzdCB1c2Vk
IHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wgZXJyb3IiKTsKKworICAgIHZhciBwcm9n
R29vZDEgPSBjaGVja0xpbmtBbmRVc2UoW3ZzLCBmc10sIHRydWUsIHRydWUsIGZhbHNlLCAiZGVs
ZXRlIHNoYWRlcnMgYWZ0ZXIgYXR0YWNoaW5nIHRoZW0gYW5kIGJlZm9yZSBsaW5raW5nIHByb2dy
YW0gc2hvdWxkIG5vdCBhZmZlY3QgbGlua1Byb2dyYW0iKTsKKyAgICBnbC51c2VQcm9ncmFtKHBy
b2dHb29kMSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDQpOworICAgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJkcmF3aW5nIHdpdGggYSB2YWxpZCB3aGVu
IGxhc3QgdXNlZCBwcm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9yIik7CisKKy8v
Ly8vLy8gQ2hlY2sgZGVsZXRlUHJvZ3JhbSgpIGFuZCBkZWxldGVTaGFkZXIoKSAvLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEpOworICAg
IGdsLmRlbGV0ZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFO
R0xFUywgMCwgNCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImRlbGV0
ZSB0aGUgY3VycmVudCBwcm9ncmFtIHNob3VsZG4ndCBjaGFuZ2UgdGhlIGN1cnJlbnQgcmVuZGVy
aW5nIHN0YXRlIik7CisKKyAgICBnbC5saW5rUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJUaGUgY3VycmVudCBwcm9ncmFtIHNob3VsZG4n
dCBiZSBkZWxldGVkIik7CisKKyAgICB2YXIgZnMzID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdN
RU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZzMywgInByZWNpc2lvbiBtZWRpdW1w
IGZsb2F0OyB2YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IGdsX0ZyYWdDb2xvciA9
IHZDb2xvcjsgfSIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMzKTsKKworICAgIGFzc2VydE1z
ZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnMzLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwK
KyAgICAgICAgICAgICAgImdvb2QgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBjb21waWxlIik7CisK
KyAgICBnbC5kZWxldGVTaGFkZXIoZnMzKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzMyk7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiYW4gdW5hdHRhY2hlZCBz
aGFkZXIgc2hvdWxkIGJlIGRlbGV0ZWQgaW1tZWRpYXRlbHkiKTsKKworICAgIGZzMyA9IGdsLmNy
ZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZShmczMs
ICJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgdmFyeWluZyB2ZWM0IHZDb2xvcjsgdm9pZCBtYWlu
KCkgeyBnbF9GcmFnQ29sb3IgPSB2Q29sb3I7IH0iKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZz
Myk7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzMywgZ2wuQ09NUElM
RV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAgICJnb29kIGZyYWdtZW50IHNoYWRlciBz
aG91bGQgY29tcGlsZSIpOworCisgICAgZ2wuZGV0YWNoU2hhZGVyKHByb2dHb29kMSwgZnMpOwor
ICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nR29vZDEsIGZzMyk7CisKKyAgICBnbC5kZWxldGVTaGFk
ZXIoZnMzKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzMyk7CisgICAgYXNzZXJ0TXNnKGdsLmdl
dFNoYWRlclBhcmFtZXRlcihmczMsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVlLAorICAgICAg
ICAgICAgICAiYW4gYXR0YWNoZWQgc2hhZGVyIHNob3VsZG4ndCBiZSBkZWxldGVkIik7CisKKyAg
ICBnbC51c2VQcm9ncmFtKG51bGwpOworICAgIGdsLmxpbmtQcm9ncmFtKHByb2dHb29kMSk7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiYSBkZWxldGUtbWFya2Vk
IHByb2dyYW0gc2hvdWxkIGJlIGRlbGV0ZWQgb25jZSBpdCdzIG5vIGxvbmdlciB0aGUgY3VycmVu
dCBwcm9ncmFtIik7CisKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzMyk7CisgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiYSBkZWxldGUtbWFya2VkIHNoYWRlciBzaG91
bGQgYmUgZGVsZXRlZCBvbmNlIGFsbCBpdHMgYXR0YWNobWVudHMgYXJlIHJlbW92ZWQiKTsKKwor
Ly8vLy8vLy8gQ2hlY2sgbGlua1Byb2dyYW0oKSB3aXRoIHJlbGlua2VkIHByb2dyYW0gLy8vLy8v
Ly8vLworICAgIHZhciB2cyA9IHd0dS5sb2FkU2hhZGVyRnJvbVNjcmlwdChnbCwgInZzaGFkZXIi
KTsKKyAgICB2YXIgZnMgPSB3dHUubG9hZFNoYWRlckZyb21TY3JpcHQoZ2wsICJmc2hhZGVyLXJl
ZCIpOworICAgIHZhciBwcmcgPSB3dHUuY3JlYXRlUHJvZ3JhbShnbCwgdnMsIGZzKTsKKyAgICBn
bC51c2VQcm9ncmFtKHByZyk7CisgICAgdmFyIHBvc0xvYyA9IGdsLmdldEF0dHJpYkxvY2F0aW9u
KHByZywgImFfcG9zaXRpb24iKTsKKyAgICB3dHUuc2V0dXBVbml0UXVhZChnbCwgcG9zTG9jKTsK
KyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwg
MCwgMjU1XSwgInNob3VsZCBiZSByZWQiKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UoZnMsIHd0dS5n
ZXRTY3JpcHQoImZzaGFkZXItZ3JlZW4iKSk7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmcyk7Cisg
ICAgZ2wubGlua1Byb2dyYW0ocHJnKTsKKyAgICAvLyBQcm9ncmFtIHNob3VsZCBiZSBuZXcgcHJv
Z3JhbSBhdCB0aGlzIHBvaW50IHdpdGhvdXQgY2FsbGluZyB1c2VQcm9ncmFtCisgICAgd3R1LmRy
YXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJz
aG91bGQgYmUgZ3JlZW4iKTsKKyAgICB2YXIgcHJnID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2
c2hhZGVyIiwgImZzaGFkZXItc2V0dGFibGUiXSwgWyJhX3Bvc2l0aW9uIl0pOworICAgIHZhciBj
b2xvckxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcmcsICJ1X2NvbG9yIik7CisgICAgZ2wu
dW5pZm9ybTRmKGNvbG9yTG9jLCAxLCAwLCAwLCAxKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOwor
ICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwgMjU1XSwgInNob3VsZCBiZSByZWQi
KTsKKyAgICBnbC5saW5rUHJvZ3JhbShwcmcpOworICAgIC8vIFByb2dyYW0ncyB1bmlmb3JtcyBz
aG91bGQgYmUgY2xlYXJlZCBhdCB0aGlzIHBvaW50IHdpdGhvdXQgY2FsbGluZyB1c2VQcm9ncmFt
CisgICAgd3R1LmRyYXdRdWFkKGdsLCBbMCwgMjU1LCAwLCAyNTVdKTsKKyAgICB3dHUuY2hlY2tD
YW52YXMoZ2wsIFswLCAwLCAwLCAwXSwgInNob3VsZCBiZSB0cmFucGFyZW50IGJsYWNrIik7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMi
KTsKK30KKworZGVidWcoIiIpOworZ28oKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9y
ZWFkLXBpeGVscy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jNmQ4OWQ5Njg5Y2E1ZDhiZGMyOGNlZTRmYzZkMjBkMDY2M2ZmZTE5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwyNDYg
QEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IFJlYWRQaXhlbHMgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxl
PSJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Rlc2NyaXB0aW9uKCJDaGVja3MgdGhhdCBSZWFkUGl4ZWxzIHdvcmtzIGFzIGV4cGVj
dGVkLiIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImV4YW1wbGUiKTsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoY2FudmFzKTsKKworaW5pdFRlc3RpbmdIYXJuZXNzV2FpdFVudGlsRG9uZSgpOworCit2YXIg
YWN0dWFsOwordmFyIGV4cGVjdGVkOwordmFyIHdpZHRoID0gMjsKK3ZhciBoZWlnaHQgPSAyOwor
dmFyIGNvbnRpbnVlVGVzdEZ1bmMgPSBjb250aW51ZVRlc3RQYXJ0MTsKKworZ2wuY2xlYXJDb2xv
cigxLCAxLCAxLCAxKTsKK2dsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisvLyBSZXNp
emUgdGhlIGNhbnZhcyB0byAyeDIuIFRoaXMgaXMgYW4gYXR0ZW1wdCB0byBnZXQgc3R1ZmYgaW4g
dGhlIGJhY2tidWZmZXIuCisvLyB0aGF0IHNob3VsZG4ndCBiZSB0aGVyZS4KK2NhbnZhcy5hZGRF
dmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0IiwgZnVuY3Rpb24oZSkgeyBlLnByZXZlbnRE
ZWZhdWx0KCk7IH0sIGZhbHNlKTsKK2NhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRl
eHRyZXN0b3JlZCIsIGNvbnRpbnVlVGVzdEFmdGVyQ29udGV4dFJlc3RvcmVkLCBmYWxzZSk7Citj
YW52YXMud2lkdGggPSB3aWR0aDsKK2NhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CitpZiAoZ2wuZ2V0
RXJyb3IoKSAhPSBnbC5DT05URVhUX0xPU1RfV0VCR0wpIHsKKyAgY29udGludWVUZXN0UGFydDEo
KTsKK30KKworZnVuY3Rpb24gY29udGludWVUZXN0QWZ0ZXJDb250ZXh0UmVzdG9yZWQoKSB7Cisg
IHdpbmRvdy5nbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKyAgdmFyIGZ1bmMgPSBj
b250aW51ZVRlc3RGdW5jOworICB3aW5kb3cuY29udGludWVUZXN0RnVuYyA9IGZ1bmN0aW9uKCkg
eyB0ZXN0RmFpbGVkKCJzaG91bGQgbm90IGJlIGhlcmUiKTsgfTsKKyAgZnVuYygpOworfQorCitm
dW5jdGlvbiBjb250aW51ZVRlc3RQYXJ0MSgpIHsKKyAgZ2wuY2xlYXJDb2xvcigwLjUsIDAuNywg
MS4wLCAxKTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgdmFyIGlubmVy
Q29sb3IgPSBbMC41LCAwLjcsIDEuMCwgMV07CisgIHZhciBvdXRlckNvbG9yID0gWzAsIDAsIDAs
IDBdOworCisgIHZhciB0ZXN0cyA9IFsKKyAgICB7IG1zZzogJ2luIHJhbmdlJywgY2hlY2tDb2xv
cjogaW5uZXJDb2xvciwgeDogIDAsIHk6ICAwLAorICAgICAgb25lQ29sb3I6IGlubmVyQ29sb3Is
IG9uZVg6IDAsIG9uZVk6IDB9LAorICAgIHsgbXNnOiAnb2ZmIHRvcCBsZWZ0JywgY2hlY2tDb2xv
cjogb3V0ZXJDb2xvciwgeDogLTEsIHk6IC0xLAorICAgICAgb25lQ29sb3I6IGlubmVyQ29sb3Is
IG9uZVg6IDEsIG9uZVk6IDF9LAorICAgIHsgbXNnOiAnb2ZmIGJvdHRvbSByaWdodCcsIGNoZWNr
Q29sb3I6IG91dGVyQ29sb3IsIHg6ICAxLCB5OiAgMSwKKyAgICAgIG9uZUNvbG9yOiBpbm5lckNv
bG9yLCBvbmVYOiAwLCBvbmVZOiAwfSwKKyAgICB7IG1zZzogJ2NvbXBsZXRlbHkgb2ZmIHRvcCAn
LCBjaGVja0NvbG9yOiBvdXRlckNvbG9yLCB4OiAgMCwgeTogLTIsCisgICAgICBvbmVDb2xvcjog
b3V0ZXJDb2xvciwgb25lWDogMCwgb25lWTogMH0sCisgICAgeyBtc2c6ICdjb21wbGV0ZWx5IG9m
ZiBib3R0b20nLCBjaGVja0NvbG9yOiBvdXRlckNvbG9yLCB4OiAgMCwgeTogIDIsCisgICAgICBv
bmVDb2xvcjogb3V0ZXJDb2xvciwgb25lWDogMCwgb25lWTogMH0sCisgICAgeyBtc2c6ICdjb21w
bGV0ZWx5IG9mZiBsZWZ0JywgY2hlY2tDb2xvcjogb3V0ZXJDb2xvciwgeDogLTIsIHk6ICAwLAor
ICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9LAorICAgIHsgbXNn
OiAnY29tcGxldGVsZXkgb2ZmIHJpZ2h0JywgY2hlY2tDb2xvcjogb3V0ZXJDb2xvciwgeDogIDIs
IHk6ICAwLAorICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9Cisg
IF07CisKKyAgZm9yICh2YXIgdHQgPSAwOyB0dCA8IHRlc3RzLmxlbmd0aDsgKyt0dCkgeworICAg
IHZhciB0ZXN0ID0gdGVzdHNbdHRdOworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiY2hlY2tp
bmc6ICIgKyB0ZXN0Lm1zZyk7CisgICAgY2hlY2tCdWZmZXIodGVzdC5jaGVja0NvbG9yLCB0ZXN0
LngsIHRlc3QueSwKKyAgICAgICAgICAgICAgICB0ZXN0Lm9uZUNvbG9yLCB0ZXN0Lm9uZVgsIHRl
c3Qub25lWSk7CisgIH0KKworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhl
cmUgc2hvdWxkIGJlIG5vIEdMIGVycm9ycyIpOworCisgIGZ1bmN0aW9uIGNoZWNrQnVmZmVyKGNo
ZWNrQ29sb3IsIHgsIHksIG9uZUNvbG9yLCBvbmVYLCBvbmVZKSB7CisgICAgdmFyIGJ1ZiA9IG5l
dyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0ICogNCk7CisgICAgZ2wucmVhZFBpeGVscyh4LCB5
LCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIGZv
ciAodmFyIHl5ID0gMDsgeXkgPCBoZWlnaHQ7ICsreXkpIHsKKyAgICAgIGZvciAodmFyIHh4ID0g
MDsgeHggPCB3aWR0aDsgKyt4eCkgeworICAgICAgICB2YXIgb2Zmc2V0ID0gKHl5ICogd2lkdGgg
KyB4eCkgKiA0OworICAgICAgICB2YXIgZXhwZWN0ZWRDb2xvcnMgPSAob25lWCA9PSB4eCAmJiBv
bmVZID09IHl5KSA/IG9uZUNvbG9yIDogY2hlY2tDb2xvcjsKKyAgICAgICAgZm9yICh2YXIgY2Mg
PSAwOyBjYyA8IDQ7ICsrY2MpIHsKKyAgICAgICAgICB2YXIgZXhwZWN0ZWRDb2xvciA9IGV4cGVj
dGVkQ29sb3JzW2NjXSAqIDI1NTsKKyAgICAgICAgICB2YXIgY29sb3IgPSBidWZbb2Zmc2V0ICsg
Y2NdOworICAgICAgICAgIHZhciBkaWZmID0gTWF0aC5hYnMoZXhwZWN0ZWRDb2xvciAtIGNvbG9y
KTsKKyAgICAgICAgICBhc3NlcnRNc2coZGlmZiA8IDMsCisgICAgICAgICAgICAgICAgICAgICJj
b2xvciBwaXhlbCBhdCAiICsgeHggKyAiLCAiICsgeXkgKyAiIHNob3VsZCBiZSBhYm91dCAiICsg
ZXhwZWN0ZWRDb2xvcik7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KKworICB2YXIg
YmFkRm9ybWF0cyA9IFsKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLlJHQiwKKyAgICAgIHR5cGU6
IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICBkZXN0OiBuZXcgVWludDhBcnJheSgzKSwKKyAgICAg
IGVycm9yOiBnbC5JTlZBTElEX09QRVJBVElPTgorICAgIH0sCisgICAgeworICAgICAgZm9ybWF0
OiBnbC5SR0IsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVF81XzZfNSwKKyAgICAgIGRl
c3Q6IG5ldyBVaW50OEFycmF5KDMpLAorICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9O
CisgICAgfSwKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLlJHQkEsCisgICAgICB0eXBlOiBnbC5V
TlNJR05FRF9TSE9SVF81XzVfNV8xLAorICAgICAgZGVzdDogbmV3IFVpbnQxNkFycmF5KDEpLAor
ICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAgICBm
b3JtYXQ6IGdsLlJHQkEsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVF80XzRfNF80LAor
ICAgICAgZGVzdDogbmV3IFVpbnQxNkFycmF5KDEpLAorICAgICAgZXJyb3I6IGdsLklOVkFMSURf
T1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLkFMUEhBLAorICAgICAg
dHlwZTogZ2wuVU5TSUdORURfQllURSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50OEFycmF5KDEpLAor
ICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAgICBm
b3JtYXQ6IGdsLkxVTUlOQU5DRSwKKyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsCisgICAg
ICBkZXN0OiBuZXcgVWludDhBcnJheSgxKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX0VOVU0K
KyAgICB9LAorICAgIHsKKyAgICAgIGZvcm1hdDogZ2wuTFVNSU5BTkNFX0FMUEhBLAorICAgICAg
dHlwZTogZ2wuVU5TSUdORURfQllURSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50OEFycmF5KDIpLAor
ICAgICAgZXJyb3I6IGdsLklOVkFMSURfRU5VTQorICAgIH0KKyAgXTsKKyAgZGVidWcoIiIpOwor
ICBkZWJ1ZygiY2hlY2sgZGlzYWxsb3dlZCBmb3JtYXRzIik7CisgIGZvciAodmFyIHR0ID0gMDsg
dHQgPCBiYWRGb3JtYXRzLmxlbmd0aDsgKysgdHQpIHsKKyAgICB2YXIgaW5mbyA9IGJhZEZvcm1h
dHNbdHRdCisgICAgdmFyIGZvcm1hdCA9IGluZm8uZm9ybWF0OworICAgIHZhciB0eXBlID0gaW5m
by50eXBlOworICAgIHZhciBkZXN0ID0gaW5mby5kZXN0OworICAgIHZhciBlcnJvciA9IGluZm8u
ZXJyb3I7CisgICAgZ2wucmVhZFBpeGVscygwLCAwLCAxLCAxLCBmb3JtYXQsIHR5cGUsIGRlc3Qp
OworICAgIC8vIG5vdGUgdGhhdCB0aGUgR0wgZXJyb3IgaXMgSU5WQUxJRF9PUEVSQVRJT04gaWYg
Ym90aCBmb3JtYXQgYW5kIHR5cGUgYXJlIGludmFsaWQsIGJ1dAorICAgIC8vIElOVkFMSURfRU5V
TSBpZiBvbmx5IG9uZSBpcy4KKyAgICBnbEVycm9yU2hvdWxkQmUoCisgICAgICAgIGdsLCBlcnJv
ciwKKyAgICAgICAgIlNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFzICIgKyB3dHUuZ2xFbnVt
VG9TdHJpbmcoZ2wsIGZvcm1hdCkgKworICAgICAgICAiIC8gIiArIHd0dS5nbEVudW1Ub1N0cmlu
ZyhnbCwgdHlwZSkpOworICB9CisKKyAgZGVidWcoIiIpOworICBkZWJ1ZygiY2hlY2sgcmVhZGlu
ZyB3aXRoIGxvdHMgb2YgZHJhd2luZyIpOworICBjb250aW51ZVRlc3RGdW5jID0gY29udGludWVU
ZXN0UGFydDI7CisgIHdpZHRoID0gMTAyNDsKKyAgaGVpZ2h0ID0gMTAyNDsKKyAgY2FudmFzLndp
ZHRoID0gd2lkdGg7CisgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CisgIGlmIChnbC5nZXRFcnJv
cigpICE9IGdsLkNPTlRFWFRfTE9TVF9XRUJHTCkgeworICAgIGNvbnRpbnVlVGVzdFBhcnQyKCk7
CisgIH0KK30KKworZnVuY3Rpb24gY29udGludWVUZXN0UGFydDIoKSB7CisgIGdsLnZpZXdwb3J0
KDAsIDAsIDEwMjQsIDEwMjQpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVh
ZChnbCk7CisgIHZhciBsb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIp
OworICBnbC5kaXNhYmxlKGdsLkJMRU5EKTsKKyAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsK
KyAgdmFyIGNvbG9ycyA9IFtbMjU1LCAwLCAwLCAyNTVdLCBbMCwgMjU1LCAwLCAyNTVdLCBbMCwg
MCwgMjU1LCAyNTVdXTsKKyAgdmFyIHRleHR1cmVzID0gW107CisgIHZhciByZXN1bHRzID0gW107
CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBjb2xvcnMubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wu
YWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMCArIGlpKTsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRl
VGV4dHVyZSgpOworICAgIHd0dS5maWxsVGV4dHVyZShnbCwgdGV4LCAxLCAxLCBjb2xvcnNbaWld
KTsKKyAgICB0ZXh0dXJlcy5wdXNoKHRleCk7CisgIH0KKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8
IGNvbG9ycy5sZW5ndGg7ICsraWkpIHsKKyAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgMzAwICsg
aWkgKyAxOyArK2pqKSB7CisgICAgICBnbC51bmlmb3JtMWkobG9jLCBqaiAlIDMpOworICAgICAg
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICAgIH0KKyAgICB2YXIgYnVmID0g
bmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgZ2wucmVhZFBpeGVscyg1MTIsIDUxMiwgMSwgMSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICByZXN1bHRzLnB1c2goYnVmKTsKKyAg
ICBmb3IgKHZhciBrayA9IDA7IGtrIDwgOTk7ICsra2spIHsKKyAgICAgIGdsLnVuaWZvcm0xaShs
b2MsIChqaiArIGtrKSAlIDMpOworICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAs
IDYpOworICAgIH0KKyAgfQorICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgY29sb3JzLmxlbmd0aDsg
KytpaSkgeworICAgIHZhciBidWYgPSByZXN1bHRzW2lpXTsKKyAgICB2YXIgY29sb3IgPSBjb2xv
cnNbaWldOworICAgIGFjdHVhbCA9IFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dOwor
ICAgIGV4cGVjdGVkID0gW2NvbG9yWzBdLCBjb2xvclsxXSwgY29sb3JbMl0sIGNvbG9yWzNdXTsK
KyAgICBzaG91bGRCZSgiYWN0dWFsIiwgImV4cGVjdGVkIik7CisgIH0KKyAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBHTCBlcnJvcnMiKTsKKwor
ICBkZWJ1ZygiIik7CisgIGZpbmlzaFRlc3QoKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRh
Y2htZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzY3N2Y1MTNjODIyZmNmOTZmNGIyMTA5ZDcxNGQ5ZGQ2ZjY1ZjEz
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0
dGFjaG1lbnQuaHRtbApAQCAtMCwwICsxLDU1OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0
cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2w7Cit2YXIgZmJvOwordmFy
IGRlcHRoQnVmZmVyOwordmFyIHN0ZW5jaWxCdWZmZXI7Cit2YXIgZGVwdGhTdGVuY2lsQnVmZmVy
OwordmFyIGNvbG9yQnVmZmVyOwordmFyIHdpZHRoOwordmFyIGhlaWdodDsKKwordmFyIEFMTE9X
X0NPTVBMRVRFICAgICAgICAgICAgICA9IDB4MDE7Cit2YXIgQUxMT1dfVU5TVVBQT1JURUQgICAg
ICAgICAgID0gMHgwMjsKK3ZhciBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQgPSAweDA0Owor
CitmdW5jdGlvbiBjaGVja0ZyYW1lYnVmZmVyRm9yQWxsb3dlZFN0YXR1c2VzKGFsbG93ZWRTdGF0
dXNlcykKK3sKKyAgICAvLyBJZiB0aGUgZnJhbWVidWZmZXIgaXMgaW4gYW4gZXJyb3Igc3RhdGUg
Zm9yIG11bHRpcGxlIHJlYXNvbnMsCisgICAgLy8gd2UgY2FuJ3QgZ3VhcmFudGVlIHdoaWNoIG9u
ZSB3aWxsIGJlIHJlcG9ydGVkLgorICAgIHZhciBzdGF0dXMgPSBnbC5jaGVja0ZyYW1lYnVmZmVy
U3RhdHVzKGdsLkZSQU1FQlVGRkVSKTsKKyAgICB2YXIgc3RhdHVzQWxsb3dlZCA9ICgoYWxsb3dl
ZFN0YXR1c2VzICYgQUxMT1dfQ09NUExFVEUpICYmIChzdGF0dXMgPT0gZ2wuRlJBTUVCVUZGRVJf
Q09NUExFVEUpKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgKChhbGxvd2VkU3RhdHVzZXMg
JiBBTExPV19VTlNVUFBPUlRFRCkgJiYgKHN0YXR1cyA9PSBnbC5GUkFNRUJVRkZFUl9VTlNVUFBP
UlRFRCkpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAoKGFsbG93ZWRTdGF0dXNlcyAmIEFM
TE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCkgJiYgKHN0YXR1cyA9PSBnbC5GUkFNRUJVRkZFUl9J
TkNPTVBMRVRFX0FUVEFDSE1FTlQpKTsKKyAgICB2YXIgbXNnID0gImdsLmNoZWNrRnJhbWVidWZm
ZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIHJldHVybmVkICIgKyBzdGF0dXM7CisgICAgaWYgKHN0
YXR1c0FsbG93ZWQpCisgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgICBlbHNlCisgICAgICAg
IHRlc3RGYWlsZWQobXNnKTsKK30KKworZnVuY3Rpb24gY2hlY2tCdWZmZXJCaXRzKGF0dGFjaG1l
bnQwLCBhdHRhY2htZW50MSkKK3sKKyAgICBpZiAoZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhn
bC5GUkFNRUJVRkZFUikgIT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpCisgICAgICByZXR1cm47
CisKKyAgICB2YXIgaGF2ZURlcHRoQnVmZmVyID0gYXR0YWNobWVudDAgPT0gZ2wuREVQVEhfQVRU
QUNITUVOVCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50MCA9PSBnbC5E
RVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0
YWNobWVudDEgPT0gZ2wuREVQVEhfQVRUQUNITUVOVCB8fAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBhdHRhY2htZW50MSA9PSBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQ7CisgICAgdmFy
IGhhdmVTdGVuY2lsQnVmZmVyID0gYXR0YWNobWVudDAgPT0gZ2wuU1RFTkNJTF9BVFRBQ0hNRU5U
IHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDAgPT0gZ2wuREVQVEhf
U1RFTkNJTF9BVFRBQ0hNRU5UIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNo
bWVudDEgPT0gZ2wuU1RFTkNJTF9BVFRBQ0hNRU5UIHx8CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYXR0YWNobWVudDEgPT0gZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UOworCisgICAg
c2hvdWxkQmVUcnVlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuUkVEX0JJVFMpICsgZ2wuZ2V0UGFyYW1l
dGVyKGdsLkdSRUVOX0JJVFMpICsgZ2wuZ2V0UGFyYW1ldGVyKGdsLkJMVUVfQklUUykgKyBnbC5n
ZXRQYXJhbWV0ZXIoZ2wuQUxQSEFfQklUUykgPj0gMTYiKTsKKworICAgIGlmIChoYXZlRGVwdGhC
dWZmZXIpCisgICAgICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5ERVBUSF9CSVRT
KSA+PSAxNiIpOworICAgIGVsc2UKKyAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVy
KGdsLkRFUFRIX0JJVFMpID09IDAiKTsKKworICAgIGlmIChoYXZlU3RlbmNpbEJ1ZmZlcikKKyAg
ICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlNURU5DSUxfQklUUykgPj0gOCIp
OworICAgIGVsc2UKKyAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlNURU5D
SUxfQklUUykgPT0gMCIpOworfQorCitmdW5jdGlvbiB0ZXN0QXR0YWNobWVudChhdHRhY2htZW50
LCBidWZmZXIsIGFsbG93ZWRTdGF0dXNlcykKK3sKKyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9
IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJB
TUVCVUZGRVIsIGZibyk7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVy
KTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgYXR0YWNo
bWVudCwgZ2wuUkVOREVSQlVGRkVSLCBidWZmZXIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IpOworICAgIGNoZWNrRnJhbWVidWZmZXJGb3JBbGxvd2VkU3RhdHVzZXMoYWxs
b3dlZFN0YXR1c2VzKTsKKyAgICBpZiAoKGFsbG93ZWRTdGF0dXNlcyAmIEFMTE9XX0NPTVBMRVRF
KSA9PSAwKSB7CisgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgICAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OKTsK
KyAgICAgICAgZ2wucmVhZFBpeGVscygwLCAwLCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheSh3aWR0aCAqIGhlaWdodCAqIDQpKTsKKyAgICAg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTik7
CisgICAgfQorICAgIGNoZWNrQnVmZmVyQml0cyhhdHRhY2htZW50KTsKKyAgICBnbC5kZWxldGVG
cmFtZWJ1ZmZlcihmYm8pOworfQorCitmdW5jdGlvbiB0ZXN0QXR0YWNobWVudHMoYXR0YWNobWVu
dDAsIGJ1ZmZlcjAsIGF0dGFjaG1lbnQxLCBidWZmZXIxLCBhbGxvd2VkU3RhdHVzZXMpCit7Cisg
ICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAg
Z2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIGdsLmZyYW1lYnVm
ZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wu
UkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZm
ZXIoZ2wuRlJBTUVCVUZGRVIsIGF0dGFjaG1lbnQwLCBnbC5SRU5ERVJCVUZGRVIsIGJ1ZmZlcjAp
OworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIGdsLmZyYW1lYnVm
ZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBhdHRhY2htZW50MSwgZ2wuUkVOREVSQlVG
RkVSLCBidWZmZXIxKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAg
ICBjaGVja0ZyYW1lYnVmZmVyRm9yQWxsb3dlZFN0YXR1c2VzKGFsbG93ZWRTdGF0dXNlcyk7Cisg
ICAgY2hlY2tCdWZmZXJCaXRzKGF0dGFjaG1lbnQwLCBhdHRhY2htZW50MSk7CisgICAgZ2wuZGVs
ZXRlRnJhbWVidWZmZXIoZmJvKTsKK30KKworZnVuY3Rpb24gdGVzdENvbG9yUmVuZGVyYnVmZmVy
KGludGVybmFsZm9ybWF0LCBhbGxvd2VkU3RhdHVzZXMpCit7CisgICAgc2hvdWxkQmVOb25OdWxs
KCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJl
bmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJi
dWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWln
aHQpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIHRlc3RBdHRh
Y2htZW50KGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBjb2xvckJ1ZmZlciwgYWxsb3dlZFN0YXR1c2Vz
KTsKK30KKworZnVuY3Rpb24gdGVzdERlcHRoU3RlbmNpbFJlbmRlcmJ1ZmZlcihhbGxvd2VkU3Rh
dHVzZXMpCit7CisgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aFN0ZW5jaWxCdWZmZXIgPSBnbC5j
cmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVS
QlVGRkVSLCBkZXB0aFN0ZW5jaWxCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2Uo
Z2wuUkVOREVSQlVGRkVSLCBnbC5ERVBUSF9TVEVOQ0lMLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICAgIC8vIE9wZW5HTCBpdHNlbGYg
ZG9lc24ndCBzZWVtIHRvIGd1YXJhbnRlZSB0aGF0IGUuZy4gYSAyIHggMAorICAgIC8vIHJlbmRl
cmJ1ZmZlciB3aWxsIHJlcG9ydCAyIGZvciBpdHMgd2lkdGggd2hlbiBxdWVyaWVkLgorICAgIGlm
ICghKGhlaWdodCA9PSAwICYmIHdpZHRoID4gMCkpCisgICAgICAgIHNob3VsZEJlKCJnbC5nZXRS
ZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfV0lE
VEgpIiwgIndpZHRoIik7CisgICAgaWYgKCEod2lkdGggPT0gMCAmJiBoZWlnaHQgPiAwKSkKKyAg
ICAgICAgc2hvdWxkQmUoImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZG
RVIsIGdsLlJFTkRFUkJVRkZFUl9IRUlHSFQpIiwgImhlaWdodCIpOworICAgIHNob3VsZEJlKCJn
bC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZG
RVJfSU5URVJOQUxfRk9STUFUKSIsICJnbC5ERVBUSF9TVEVOQ0lMIik7CisgICAgc2hvdWxkQmUo
ImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJV
RkZFUl9SRURfU0laRSkiLCAiMCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQ
YXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfR1JFRU5fU0laRSkiLCAi
MCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVS
QlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfQkxVRV9TSVpFKSIsICIwIik7CisgICAgc2hvdWxkQmUo
ImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJV
RkZFUl9BTFBIQV9TSVpFKSIsICIwIik7CisgICAgLy8gQXZvaWQgdmVyaWZ5aW5nIHRoZXNlIGZv
ciB6ZXJvLXNpemVkIHJlbmRlcmJ1ZmZlcnMgZm9yIHRoZSB0aW1lCisgICAgLy8gYmVpbmcgc2lu
Y2UgaXQgYXBwZWFycyB0aGF0IGV2ZW4gT3BlbkdMIGRvZXNuJ3QgZ3VhcmFudGVlIHRoZW0uCisg
ICAgaWYgKHdpZHRoID4gMCAmJiBoZWlnaHQgPiAwKSB7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgi
Z2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVG
RkVSX0RFUFRIX1NJWkUpID4gMCIpOworICAgICAgICBzaG91bGRCZVRydWUoImdsLmdldFJlbmRl
cmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9TVEVOQ0lM
X1NJWkUpID4gMCIpOworICAgIH0KKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
KTsKKyAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRo
U3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c2VzKTsKKyAgICB0ZXN0RGVwdGhTdGVuY2lsRGVw
dGhTdGVuY2lsKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3REZXB0aFN0ZW5jaWxEZXB0aFN0ZW5jaWwo
KQoreworICAgIGlmICghd2lkdGggfHwgIWhlaWdodCkgeworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgdmFyIHRlc3RzID0gWworICAgICAgICB7ICAgZmlyc3RGb3JtYXQ6IGdsLkRFUFRI
X0NPTVBPTkVOVDE2LAorICAgICAgICAgICAgZmlyc3RBdHRhY2g6IGdsLkRFUFRIX0FUVEFDSE1F
TlQsCisgICAgICAgICAgICBzZWNvbmRGb3JtYXQ6IGdsLkRFUFRIX1NURU5DSUwsCisgICAgICAg
ICAgICBzZWNvbmRBdHRhY2g6IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVAorICAgICAgICB9
LAorICAgICAgICB7ICAgZmlyc3RGb3JtYXQ6IGdsLkRFUFRIX1NURU5DSUwsCisgICAgICAgICAg
ICBmaXJzdEF0dGFjaDogZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULAorICAgICAgICAgICAg
c2Vjb25kRm9ybWF0OiBnbC5ERVBUSF9DT01QT05FTlQxNiwKKyAgICAgICAgICAgIHNlY29uZEF0
dGFjaDogZ2wuREVQVEhfQVRUQUNITUVOVAorICAgICAgICB9CisgICAgXTsKKyAgICBmb3IgKHZh
ciBpaSA9IDA7IGlpIDwgdGVzdHMubGVuZ3RoOyArK2lpKSB7CisgICAgICAgIHZhciB0ZXN0ID0g
dGVzdHNbaWldOworICAgICAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgMjsgKytqaikgeworICAg
ICAgICAgICAgdmFyIGZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgICAgICAgICAgICB2
YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgICAgICAgICAgdmFyIGZpcnN0UmIgPSBn
bC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAg
ICAgICAgZGVidWcoInRlc3Q6ICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRlc3QuZmlyc3RG
b3JtYXQpICsgIiB2cyAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LnNlY29uZEZvcm1h
dCkgKyAiIHdpdGggIiArIChqaiA/ICJ1bmJpbmQiIDogImRlbGV0ZSIpKTsKKworICAgICAgICAg
ICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgICAgICAgICAg
Ly8gYXR0YWNoIHRleHR1cmUgYXMgY29sb3IKKyAgICAgICAgICAgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfMkQsIHRleCk7CisgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIHdpZHRoLCBoZWlnaHQsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIG51bGwpOworICAgICAgICAgICAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXgsIDApOworCisg
ICAgICAgICAgICAvLyBhdHRhY2ggZmlyc3QKKyAgICAgICAgICAgIGdsLmJpbmRSZW5kZXJidWZm
ZXIoZ2wuUkVOREVSQlVGRkVSLCBmaXJzdFJiKTsKKyAgICAgICAgICAgIGdsLnJlbmRlcmJ1ZmZl
clN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCB0ZXN0LmZpcnN0Rm9ybWF0LCB3aWR0aCwgaGVpZ2h0
KTsKKyAgICAgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVS
LCB0ZXN0LmZpcnN0QXR0YWNoLCBnbC5SRU5ERVJCVUZGRVIsIGZpcnN0UmIpOworCisgICAgICAg
ICAgICBzaG91bGRCZSgnZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikn
LCAnZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUnKTsKKyAgICAgICAgICAgIGdsLmVuYWJsZShnbC5E
RVBUSF9URVNUKTsKKyAgICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwQ29sb3JRdWFk
KGdsKTsKKyAgICAgICAgICAgIC8vIFRlc3QgaXQgd29ya3MKKyAgICAgICAgICAgIHd0dS5kcmF3
VUJ5dGVDb2xvclF1YWQoZ2wsIFswLCAyNTUsIDAsIDI1NV0pOworICAgICAgICAgICAgd3R1LmRy
YXdVQnl0ZUNvbG9yUXVhZChnbCwgWzI1NSwgMCwgMCwgMjU1XSk7ICAvLyBzaG91bGQgbm90IGRy
YXcgc2luY2UgREVQVEhfRlVOQyA9PSBMRVNTCisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNS
ZWN0KGdsLCAwLCAwLCB3aWR0aCwgaGVpZ2h0LCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJl
IGdyZWVuIik7CisKKyAgICAgICAgICAgIHZhciBzZWNvbmRSYiA9IGdsLmNyZWF0ZVJlbmRlcmJ1
ZmZlcigpOworCisgICAgICAgICAgICAvLyBhdHRhY2ggc2Vjb25kCisgICAgICAgICAgICBnbC5i
aW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgc2Vjb25kUmIpOworICAgICAgICAgICAg
Z2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIHRlc3Quc2Vjb25kRm9ybWF0
LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVy
KGdsLkZSQU1FQlVGRkVSLCB0ZXN0LnNlY29uZEF0dGFjaCwgZ2wuUkVOREVSQlVGRkVSLCBzZWNv
bmRSYik7CisKKyAgICAgICAgICAgIGlmIChqaiA9PSAwKSB7CisgICAgICAgICAgICAgIC8vIG5v
dyBkZWxldGUgaXQKKyAgICAgICAgICAgICAgZGVidWcoInRlc3QgZGVsZXRpbmcgc2Vjb25kIHJl
bmRlcmJ1ZmZlciIpOworICAgICAgICAgICAgICBnbC5kZWxldGVSZW5kZXJidWZmZXIoc2Vjb25k
UmIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgLy8gdW5iaW5kIGl0Cisg
ICAgICAgICAgICAgIGRlYnVnKCJ0ZXN0IHVuYmluZGluZyBzZWNvbmQgcmVuZGVyYnVmZmVyIik7
CisgICAgICAgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVS
LCB0ZXN0LnNlY29uZEF0dGFjaCwgZ2wuUkVOREVSQlVGRkVSLCBudWxsKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgLy8gSWYgdGhlIGZpcnN0IGF0dGFjaG1lbnQgaXMgbm90IHJlc3Rv
cmVkIHRoaXMgbWF5IGZhaWwKKyAgICAgICAgICAgIHNob3VsZEJlKCdnbC5jaGVja0ZyYW1lYnVm
ZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKScsICdnbC5GUkFNRUJVRkZFUl9DT01QTEVURScpOwor
ICAgICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKKyAgICAgICAg
ICAgIC8vIElmIHRoZSBmaXJzdCBhdHRhY2htZW50IGlzIG5vdCByZXN0b3JlZCB0aGlzIG1heSBm
YWlsLgorICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAg
ICAgICB3dHUuZHJhd1VCeXRlQ29sb3JRdWFkKGdsLCBbMCwgMjU1LCAwLCAyNTVdKTsKKyAgICAg
ICAgICAgIHd0dS5kcmF3VUJ5dGVDb2xvclF1YWQoZ2wsIFsyNTUsIDAsIDAsIDI1NV0pOyAgLy8g
c2hvdWxkIG5vdCBkcmF3IHNpbmNlIERFUFRIX0ZVTkMgPT0gTEVTUworICAgICAgICAgICAgd3R1
LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgd2lkdGgsIGhlaWdodCwgWzAsIDI1NSwgMCwgMjU1
XSwgInNob3VsZCBiZSBncmVlbiIpOworICAgICAgICAgICAgZ2wuZGlzYWJsZShnbC5ERVBUSF9U
RVNUKTsKKworICAgICAgICAgICAgaWYgKGpqID09IDEpIHsKKyAgICAgICAgICAgICAgZ2wuZGVs
ZXRlUmVuZGVyYnVmZmVyKHNlY29uZFJiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
Z2wuZGVsZXRlUmVuZGVyYnVmZmVyKHNlY29uZFJiKTsKKyAgICAgICAgICAgIGdsLmRlbGV0ZUZy
YW1lYnVmZmVyKGZibyk7CisgICAgICAgIH0KKyAgICB9CisgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUik7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGZyYW1lYnVmZmVyIG9iamVj
dCBhdHRhY2htZW50IGJlaGF2aW9ycyIpOworCitmb3IgKHdpZHRoID0gMDsgd2lkdGggPD0gMjsg
d2lkdGggKz0gMikKK3sKKyAgICBmb3IgKGhlaWdodCA9IDA7IGhlaWdodCA8PSAyOyBoZWlnaHQg
Kz0gMikKKyAgICB7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgZGVidWcoIkRpbWVuc2lv
bnMgIiArIHdpZHRoICsgIiB4ICIgKyBoZWlnaHQpOworCisgICAgICAgIGRlYnVnKCJDcmVhdGUg
cmVuZGVyYnVmZmVycyIpOworICAgICAgICBzaG91bGRCZU5vbk51bGwoImdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dCgpIik7CisgICAgICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBn
bC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGds
LlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9y
YWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxs
KCJkZXB0aEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgICAgIGdsLmJp
bmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAgICAgIGds
LnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5ERVBUSF9DT01QT05FTlQx
Niwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IpOworICAgICAgICBzaG91bGRCZU5vbk51bGwoInN0ZW5jaWxCdWZmZXIgPSBnbC5jcmVhdGVS
ZW5kZXJidWZmZXIoKSIpOworICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJV
RkZFUiwgc3RlbmNpbEJ1ZmZlcik7CisgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wu
UkVOREVSQlVGRkVSLCBnbC5TVEVOQ0lMX0lOREVYOCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgICAgICBzaG91bGRCZU5vbk51
bGwoImRlcHRoU3RlbmNpbEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAg
ICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aFN0ZW5jaWxCdWZm
ZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wu
REVQVEhfU1RFTkNJTCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IpOworCisgICAgICAgIHZhciBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UK
KyAgICAgICAgICAgID0gKHdpZHRoID09IDAgfHwgaGVpZ2h0ID09IDApID8gQUxMT1dfSU5DT01Q
TEVURV9BVFRBQ0hNRU5UIDogQUxMT1dfQ09NUExFVEU7CisKKyAgICAgICAgLy8gc29tZSBjYXNl
cyBpbnZvbHZpbmcgc3RlbmNpbCBzZWVtIHRvIGJlIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudAor
ICAgICAgICB2YXIgYWxsb3dlZFN0YXR1c0ZvckltcGxEZXBlbmRlbnRDYXNlID0gYWxsb3dlZFN0
YXR1c0Zvckdvb2RDYXNlIHwgQUxMT1dfVU5TVVBQT1JURUQ7CisKKyAgICAgICAgZGVidWcoIkF0
dGFjaCBkZXB0aCB1c2luZyBERVBUSF9BVFRBQ0hNRU5UIik7CisgICAgICAgIHRlc3RBdHRhY2ht
ZW50KGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yR29v
ZENhc2UpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoIHVzaW5nIFNURU5DSUxfQVRUQUNI
TUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIGRl
cHRoQnVmZmVyLCBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQpOworICAgICAgICBkZWJ1Zygi
QXR0YWNoIGRlcHRoIHVzaW5nIERFUFRIX1NURU5DSUxfQVRUQUNITUVOVCIpOworICAgICAgICB0
ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBB
TExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIHN0ZW5j
aWwgdXNpbmcgU1RFTkNJTF9BVFRBQ0hNRU5UIik7CisgICAgICAgIHRlc3RBdHRhY2htZW50KGds
LlNURU5DSUxfQVRUQUNITUVOVCwgc3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0ZvckltcGxE
ZXBlbmRlbnRDYXNlKTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2lsIHVzaW5nIERFUFRI
X0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuREVQVEhfQVRUQUNITUVO
VCwgc3RlbmNpbEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKyAgICAgICAg
ZGVidWcoIkF0dGFjaCBzdGVuY2lsIHVzaW5nIERFUFRIX1NURU5DSUxfQVRUQUNITUVOVCIpOwor
ICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5j
aWxCdWZmZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisgICAgICAgIGRlYnVnKCJB
dHRhY2ggZGVwdGhTdGVuY2lsIHVzaW5nIERFUFRIX1NURU5DSUxfQVRUQUNITUVOVCIpOworICAg
ICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3Rl
bmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlKTsKKyAgICAgICAgZGVidWcoIkF0
dGFjaCBkZXB0aFN0ZW5jaWwgdXNpbmcgREVQVEhfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0
QXR0YWNobWVudChnbC5ERVBUSF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIEFMTE9X
X0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVu
Y2lsIHVzaW5nIFNURU5DSUxfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChn
bC5TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVU
RV9BVFRBQ0hNRU5UKTsKKworICAgICAgICB2YXIgYWxsb3dlZFN0YXR1c0ZvckNvbmZsaWN0ZWRB
dHRhY2htZW50CisgICAgICAgICAgICA9ICh3aWR0aCA9PSAwIHx8IGhlaWdodCA9PSAwKSA/IEFM
TE9XX1VOU1VQUE9SVEVEIHwgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEFMTE9XX1VOU1VQUE9SVEVEOworCisg
ICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGgsIHRoZW4gc3RlbmNpbCwgY2F1c2luZyBjb25mbGlj
dCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuREVQVEhfQVRUQUNITUVOVCwgZGVwdGhC
dWZmZXIsIGdsLlNURU5DSUxfQVRUQUNITUVOVCwgc3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1
c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2ls
LCB0aGVuIGRlcHRoLCBjYXVzaW5nIGNvbmZsaWN0Iik7CisgICAgICAgIHRlc3RBdHRhY2htZW50
cyhnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIGdsLkRFUFRIX0FUVEFDSE1F
TlQsIGRlcHRoQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOwor
ICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoLCB0aGVuIGRlcHRoU3RlbmNpbCwgY2F1c2luZyBj
b25mbGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuREVQVEhfQVRUQUNITUVOVCwg
ZGVwdGhCdWZmZXIsIGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVm
ZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOworICAgICAgICBkZWJ1
ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCwgdGhlbiBkZXB0aCwgY2F1c2luZyBjb25mbGljdCIpOwor
ICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0
aFN0ZW5jaWxCdWZmZXIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBhbGxvd2Vk
U3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIHN0
ZW5jaWwsIHRoZW4gZGVwdGhTdGVuY2lsLCBjYXVzaW5nIGNvbmZsaWN0Iik7CisgICAgICAgIHRl
c3RBdHRhY2htZW50cyhnbC5ERVBUSF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgZ2wuREVQVEhf
U1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JD
b25mbGljdGVkQXR0YWNobWVudCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVuY2ls
LCB0aGVuIHN0ZW5jaWwsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1l
bnRzKGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBnbC5T
VEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGlj
dGVkQXR0YWNobWVudCk7CisKKyAgICAgICAgZGVidWcoIkF0dGFjaCBjb2xvciByZW5kZXJidWZm
ZXIgd2l0aCBpbnRlcm5hbGZvcm1hdCA9PSBSR0JBNCIpOworICAgICAgICB0ZXN0Q29sb3JSZW5k
ZXJidWZmZXIoZ2wuUkdCQTQsIGFsbG93ZWRTdGF0dXNGb3JHb29kQ2FzZSk7CisKKyAgICAgICAg
ZGVidWcoIkF0dGFjaCBjb2xvciByZW5kZXJidWZmZXIgd2l0aCBpbnRlcm5hbGZvcm1hdCA9PSBS
R0I1X0ExIik7CisgICAgICAgIHRlc3RDb2xvclJlbmRlcmJ1ZmZlcihnbC5SR0I1X0ExLCBhbGxv
d2VkU3RhdHVzRm9yR29vZENhc2UpOworCisgICAgICAgIGRlYnVnKCJBdHRhY2ggY29sb3IgcmVu
ZGVyYnVmZmVyIHdpdGggaW50ZXJuYWxmb3JtYXQgPT0gUkdCNTY1Iik7CisgICAgICAgIHRlc3RD
b2xvclJlbmRlcmJ1ZmZlcihnbC5SR0I1NjUsIGFsbG93ZWRTdGF0dXNGb3JHb29kQ2FzZSk7CisK
KyAgICAgICAgZGVidWcoIkNyZWF0ZSBhbmQgYXR0YWNoIGRlcHRoU3RlbmNpbCByZW5kZXJidWZm
ZXIiKTsKKyAgICAgICAgdGVzdERlcHRoU3RlbmNpbFJlbmRlcmJ1ZmZlcihhbGxvd2VkU3RhdHVz
Rm9yR29vZENhc2UpOworICAgIH0KK30KKworLy8gRGV0ZXJtaW5lIGlmIHdlIGNhbiBhdHRhY2gg
Ym90aCBjb2xvciBhbmQgZGVwdGggb3IgY29sb3IgYW5kIGRlcHRoX3N0ZW5jaWwKK3ZhciBkZXB0
aEZvcm1hdDsKK3ZhciBkZXB0aEF0dGFjaG1lbnQ7CisKK2Z1bmN0aW9uIGNoZWNrVmFsaWRDb2xv
ckRlcHRoQ29tYmluYXRpb24oKSB7CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVh
dGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVS
LCBmYm8pOworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5k
ZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBj
b2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGds
LkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xv
ckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGds
LlJHQkE0LCAxNiwgMTYpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aEJ1ZmZlciA9IGds
LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5E
RVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKworICAgIHJldHVybiB0cnlEZXB0aChnbC5ERVBUSF9D
T01QT05FTlQxNiwgZ2wuREVQVEhfQVRUQUNITUVOVCkgfHwgdHJ5RGVwdGgoZ2wuREVQVEhfU1RF
TkNJTCwgZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UKTsKKworICAgIGZ1bmN0aW9uIHRyeURl
cHRoKHRyeV9mb3JtYXQsIHRyeV9hdHRhY2htZW50KSB7CisgICAgICAgIGlmIChkZXB0aEF0dGFj
aG1lbnQpIHsKKyAgICAgICAgICAgIC8vIElmIHdlJ3ZlIHRyaWVkIG9uY2UgdW5hdHRhY2ggdGhl
IG9sZCBvbmUuCisgICAgICAgICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAg
ICAgICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZGVwdGhBdHRhY2htZW50LCBnbC5SRU5ERVJCVUZG
RVIsIG51bGwpOworICAgICAgICB9CisgICAgICAgIGRlcHRoRm9ybWF0ID0gdHJ5X2Zvcm1hdDsK
KyAgICAgICAgZGVwdGhBdHRhY2htZW50ID0gdHJ5X2F0dGFjaG1lbnQ7CisgICAgICAgIGdsLmZy
YW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGRlcHRo
QXR0YWNobWVudCwgZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAgICAgIGdsLnJl
bmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEZvcm1hdCwgMTYsIDE2KTsK
KyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgICAgIHJldHVy
biBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSA9PSBnbC5GUkFNRUJV
RkZFUl9DT01QTEVURTsKKyAgICB9Cit9CisKK2lmIChjaGVja1ZhbGlkQ29sb3JEZXB0aENvbWJp
bmF0aW9uKCkpIHsKKyAgICB0ZXN0RnJhbWVidWZmZXJJbmNvbXBsZXRlRGltZW5zaW9ucygpOwor
ICAgIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxldGVBdHRhY2htZW50KCk7CisgICAgdGVzdEZyYW1l
YnVmZmVySW5jb21wbGV0ZU1pc3NpbmdBdHRhY2htZW50KCk7CisgICAgdGVzdFVzaW5nSW5jb21w
bGV0ZUZyYW1lYnVmZmVyKCk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrRnJhbWVidWZmZXIoZXhwZWN0
ZWQpIHsKKyAgICB2YXIgYWN0dWFsID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFN
RUJVRkZFUik7CisgICAgdmFyIG1zZyA9ICJnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZS
QU1FQlVGRkVSKSBzaG91bGQgYmUgIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgZXhwZWN0ZWQp
ICsgIiB3YXMgIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgYWN0dWFsKTsKKyAgICBpZiAoZXhw
ZWN0ZWQgIT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpIHsKKyAgICAgICAgbXNnICs9ICIgb3Ig
RlJBTUVCVUZGRVJfVU5TVVBQT1JURUQiOworICAgIH0KKyAgICBpZiAoYWN0dWFsID09IGV4cGVj
dGVkIHx8CisgICAgICAgIChleHBlY3RlZCAhPSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSAmJgor
ICAgICAgICAgYWN0dWFsID09IGdsLkZSQU1CVUZGRVJfVU5TVVBQT1JURUQpKSB7CisgICAgICAg
IHRlc3RQYXNzZWQobXNnKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7
CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0VXNpbmdJbmNvbXBsZXRlRnJhbWVidWZmZXIoKSB7
CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJUZXN0IGRyYXdpbmcgb3IgcmVhZGluZyBmcm9t
IGFuIGluY29tcGxldGUgZnJhbWVidWZmZXIiKTsKKyAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1
cFRleHR1cmVkUXVhZChnbCk7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAg
ICB3dHUuZmlsbFRleHR1cmUoZ2wsIHRleCwgMSwgMSwgWzAsMjU1LDAsMjU1XSk7CisKKyAgICBz
aG91bGRCZU5vbk51bGwoImZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5i
aW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisgICAgc2hvdWxkQmVOb25OdWxs
KCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJl
bmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1
ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFD
SE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZm
ZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisKKyAgICBzaG91
bGRCZU5vbk51bGwoImRlcHRoQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAg
ICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAg
IGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZGVw
dGhBdHRhY2htZW50LCBnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKyAgICBnbC5yZW5k
ZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDE2LCAxNik7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgY2hlY2tGcmFtZWJ1ZmZl
cihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisKKyAgICAvLyBXZSBwaWNrIHRoaXMgY29tYmlu
YXRpb24gYmVjYXVzZSBpdCB3b3JrcyBvbiBkZXNrdG9wIE9wZW5HTCBidXQgc2hvdWxkIG5vdCB3
b3JrIG9uIE9wZW5HTCBFUyAyLjAKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRF
UkJVRkZFUiwgZGVwdGhGb3JtYXQsIDMyLCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5G
UkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMpOworICAgIGRlYnVnKCIiKTsKKyAgICBk
ZWJ1ZygiRHJhd2luZyBvciByZWFkaW5nIGZyb20gYW4gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciBz
aG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04iKTsKKyAgICB0ZXN0
UmVuZGVyaW5nQW5kUmVhZGluZygpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8yID0gZ2wu
Y3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJV
RkZFUiwgZmJvMik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBM
RVRFX01JU1NJTkdfQVRUQUNITUVOVCk7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJEcmF3
aW5nIG9yIHJlYWRpbmcgZnJvbSBhbiBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIHNob3VsZCBnZW5l
cmF0ZSBJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiIpOworICAgIHRlc3RSZW5kZXJpbmdB
bmRSZWFkaW5nKCk7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3Jl
YXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJV
RkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAg
ICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZF
UiwgY29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVG
RkVSLCBnbC5SR0JBNCwgMCwgMCk7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJEcmF3aW5n
IG9yIHJlYWRpbmcgZnJvbSBhbiBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIHNob3VsZCBnZW5lcmF0
ZSBJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiIpOworICAgIHRlc3RSZW5kZXJpbmdBbmRS
ZWFkaW5nKCk7CisKKyAgICBmdW5jdGlvbiB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygpIHsKKyAg
ICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgICAgIHd0dS5kcmF3
UXVhZChnbCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFNRUJV
RkZFUl9PUEVSQVRJT04sICJkcmF3QXJyYXlzIHdpdGggaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIp
OworICAgICAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIDEsIDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIG5ldyBVaW50OEFycmF5KDQpKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgInJlYWRQaXhlbHMgZnJvbSBpbmNvbXBs
ZXRlIGZyYW1lYnVmZmVyIik7CisgICAgICAgIC8vIGNvcHlUZXhJbWFnZSBhbmQgY29weVRleFN1
YkltYWdlIGNhbiBiZSBlaXRoZXIgSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04gYmVjYXVz
ZQorICAgICAgICAvLyB0aGUgZnJhbWVidWZmZXIgaXMgaW52YWxpZCBPUiBJTlZBTElEX09QRVJB
VElPTiBiZWNhdXNlIGluIHRoZSBjYXNlIG9mIG5vIGF0dGFjaG1lbnRzCisgICAgICAgIC8vIHRo
ZSBmcmFtZWJ1ZmZlciBpcyBub3Qgb2YgYSBjb21wYXRpYmxlIHR5cGUuCisgICAgICAgIGdsLmNv
cHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAsIDAsIDEsIDEpOworICAg
ICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIFtnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElP
TiwgZ2wuSU5WQUxJRF9PUEVSQVRJT05dLCAiY29weVRleEltYWdlMkQgZnJvbSBpbmNvbXBsZXRl
IGZyYW1lYnVmZmVyIik7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIDAsIDAsIDEsIDEsIDApOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IFtnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgZ2wuSU5WQUxJRF9PUEVSQVRJT05d
LCAiY29weVRleFN1YkltYWdlMkQgZnJvbSBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIik7CisgICAg
ICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsK
KyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJB
VElPTiwgImNsZWFyIHdpdGggaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAgIH0KK30KKwor
ZnVuY3Rpb24gdGVzdEZyYW1lYnVmZmVySW5jb21wbGV0ZUF0dGFjaG1lbnQoKSB7CisgICAgc2hv
dWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmlu
ZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIHNob3VsZEJlTm9uTnVsbCgi
Y29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5k
ZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZm
ZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hN
RU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVy
U3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworICAgIGNoZWNrRnJh
bWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOworCisgICAgZGVidWcoIiIpOworICAg
IGRlYnVnKCJXcm9uZyBzdG9yYWdlIHR5cGUgZm9yIHR5cGUgb2YgYXR0YWNobWVudCBiZSBGUkFN
RUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQgKE9wZW5HTCBFUyAyLjAgNC40LjUpIik7Cisg
ICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAx
NiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9B
VFRBQ0hNRU5UKTsKKworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVS
LCBnbC5SR0JBNCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVS
X0NPTVBMRVRFKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiMCBzaXplIGF0dGFjaG1l
bnQgc2hvdWxkIGJlIEZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCAoT3BlbkdMIEVT
IDIuMCA0LjQuNSkiKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZF
UiwgZ2wuUkdCQTQsIDAsIDApOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJf
SU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IpOworfQorCitmdW5jdGlvbiB0ZXN0RnJhbWVidWZmZXJJbmNvbXBsZXRlTWlzc2luZ0F0
dGFjaG1lbnQoKSB7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJObyBhdHRhY2htZW50cyBz
aG91bGQgYmUgSU5DT01QTEVURV9GUkFNRUJVRkZFUl9NSVNTSU5HX0FUVEFDSE1FTlQgKE9wZW5H
TCBFUyAyLjAgNC40LjUpIik7CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVG
cmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBm
Ym8pOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNT
SU5HX0FUVEFDSE1FTlQpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGds
LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5E
RVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigK
KyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJC
VUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRF
UkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFN
RUJVRkZFUl9DT01QTEVURSk7CisKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAg
ICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZG
RVIsIG51bGwpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVU
RV9NSVNTSU5HX0FUVEFDSE1FTlQpOworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7Cit9CisKK2Z1bmN0aW9uIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxldGVEaW1lbnNpb25z
KCkgeworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiQXR0YWNobWVudHMgb2YgZGlmZmVyZW50
IHNpemVzIHNob3VsZCBiZSBGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMgKE9wZW5H
TCBFUyAyLjAgNC40LjUpIik7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9IGdsLmNyZWF0
ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIs
IGZibyk7CisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRl
cmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNv
bG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wu
RlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9y
QnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wu
UkdCQTQsIDE2LCAxNik7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImRlcHRoQnVmZmVyID0gZ2wu
Y3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRF
UkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAor
ICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZGVwdGhBdHRhY2htZW50LCBnbC5SRU5ERVJCVUZGRVIs
IGRlcHRoQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZF
UiwgZGVwdGhGb3JtYXQsIDE2LCAxNik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisK
KyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQs
IDMyLCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRF
X0RJTUVOU0lPTlMpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVS
LCBkZXB0aEZvcm1hdCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVG
RkVSX0NPTVBMRVRFKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwg
Y29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVS
LCBnbC5SR0JBNCwgMTYsIDMyKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVS
X0lOQ09NUExFVEVfRElNRU5TSU9OUyk7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5S
RU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wu
RlJBTUVCVUZGRVJfQ09NUExFVEUpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IpOworCisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgZ2wuUkdCQSwgMTYsIDE2LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxs
KTsKKyAgICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1Jf
QVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRleCwgMCk7CisgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUik7CisgICAgaWYgKGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wu
RlJBTUVCVUZGRVIpICE9IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKSB7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDMyLCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgY2hlY2tG
cmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMpOworICAgIGds
LnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMTYsIDE2LCAwLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1F
QlVGRkVSX0NPTVBMRVRFKTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2U4YjUzZDdlZDJi
MGM4ZDBhNTA4MWE0Yjk0NTgzMDFhMmM2NjliNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmlu
Zy9nbC1zY2lzc29yLXRlc3QuaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgU2Npc3NvciBUZXN0PC90aXRs
ZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29u
c3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2RlYnVnL3dlYmdsLWRlYnVnLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZh
cyBpZD0iY2FudmFzMSIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzdHlsZT0id2lkdGg6IDQwcHg7
IGhlaWdodDogNDBweDsiPiA8L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImNhbnZhczIiIHdpZHRoPSIx
NiIgaGVpZ2h0PSIxNiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij4gPC9jYW52
YXM+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIkNoZWNrIGlmIGdsU2Np
c3NvciBzZXR0aW5nIHdvcmtzLiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENv
bnRleHQiKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCitmdW5jdGlvbiB0ZXN0KGNh
bnZhcywgYXR0cmlicykgeworICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywg
YXR0cmlicyk7CisKKyAgZnVuY3Rpb24gdGVzdChmdW5jKSB7CisgICAgZ2wuZGlzYWJsZShnbC5T
Q0lTU09SX1RFU1QpOworICAgIGdsLmNsZWFyQ29sb3IoMCwwLDAsMCk7CisgICAgZ2wuY2xlYXIo
Z2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgZ2wuZW5hYmxlKGdsLlNDSVNTT1JfVEVTVCk7CisK
KyAgICB2YXIgc2l6ZSA9IDE2OworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzaXplOyArK2lp
KSB7CisgICAgICAvLyBjbGVhciBhIHBvcnRpb24gb2Ygb3VyIEZCTworICAgICAgZ2wuc2Npc3Nv
cihpaSwgaWksIDEsIDEpOworICAgICAgZnVuYygpOworICAgIH0KKworICAgIGZvciAodmFyIGlp
ID0gMDsgaWkgPCBzaXplOyArK2lpKSB7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAw
LCBpaSwgaWksIDEsIFswLCAwLCAwLCAwXSwgInNob3VsZCBiZSBibGFjayIpOworICAgICAgd3R1
LmNoZWNrQ2FudmFzUmVjdChnbCwgaWksIGlpLCAxLCAxLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hv
dWxkIGJlIGdyZWVuIik7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCBpaSArIDEsIGlp
LCBzaXplIC0gaWkgLSAxLCAxLCBbMCwgMCwgMCwgMF0sICJzaG91bGQgYmUgYmxhY2siKTsKKyAg
ICB9CisgIH0KKworICBpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5v
dCBleGlzdCIpOworICB9IGVsc2UgeworICAgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7
CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoInRlc3Qgd2l0aCBjbGVhciIpOworICAgIHRl
c3QoZnVuY3Rpb24oKSB7CisgICAgICBnbC5jbGVhckNvbG9yKDAsIDEsIDAsIDEpOworICAgICAg
Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgfSk7CisKKyAgICB3dHUuc2V0dXBD
b2xvclF1YWQoZ2wpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJ0ZXN0IHdpdGggZHJh
dyIpOworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICB3dHUuZHJhd0Zsb2F0Q29sb3JRdWFk
KGdsLCBbMCwgMSwgMCwgMV0pOworICAgIH0pOworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBlcnJvcnMiKTsKKyAgfQorfQorCitkZWJ1
ZygiIik7CitkZWJ1ZygidGVzdCBhbnRpYWxpYXM6IGZhbHNlIik7Cit0ZXN0KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjYW52YXMxIiksIHthbnRpYWxpYXM6IGZhbHNlfSk7CisKK2RlYnVnKCIi
KTsKK2RlYnVnKCJ0ZXN0IGFudGlhbGlhczogdHJ1ZSIpOwordGVzdChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2FudmFzMiIpLCB7YW50aWFsaWFzOiB0cnVlfSk7CisKK2RlYnVnKCIiKTsKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMWY1
OTliODI2MWU2Y2M0N2E2OTYwOGJmYzkzNWY2MmU2ZDg0NTdkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwKQEAgLTAsMCArMSwxNDUgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIE1v
cmUgdGhhbiA2NTUzNiBpbmRpY2VzLjwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBzdHlsZT0id2lkdGg6IDQw
cHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2cyIgdHlwZT0idGV4dC9z
b21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworYXR0
cmlidXRlIHZlYzQgdkNvbG9yOwordmFyeWluZyB2ZWM0IGNvbG9yOwordm9pZCBtYWluKCkgewor
ICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgIGNvbG9yID0gdkNvbG9yOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJmcyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3Jp
cHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzQgY29sb3I7Cit2b2lk
IG1haW4oKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gY29sb3I7Cit9Cis8L3NjcmlwdD4KKzxzY3Jp
cHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiY2hlY2tzIHRoYXQgcmVuZGVyaW5nIHdp
dGggbW9yZSB0aGFuIDY1NTM2IGluZGljZXMgd29ya3MuIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0
VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7Cit2YXIgcHJv
Z3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnMiLCAiZnMiXSwgWyJ2UG9zaXRpb24iLCAi
dkNvbG9yIl0pOwordmFyIGJ1ZmZlck9iamVjdHMgPSB3dHUuc2V0dXBVbml0UXVhZChnbCwgMCwg
MSk7CisKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXJPYmplY3RzWzBdKTsK
K2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsKKyAgICAg
IC0xLCAgMSwKKyAgICAgICAxLCAgMSwKKyAgICAgIC0xLCAtMSwKKyAgICAgICAxLCAtMSwKKyAg
ICAgIC0xLCAgMSwKKyAgICAgICAxLCAgMSwKKyAgICAgIC0xLCAtMSwKKyAgICAgICAxLCAtMV0p
LCBnbC5TVEFUSUNfRFJBVyk7CitnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDIsIGdsLkZMT0FU
LCBmYWxzZSwgMCwgMCk7CitnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyT2Jq
ZWN0c1sxXSk7CitnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IFVpbnQ4QXJyYXko
WworICAgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAyNTUsIDAsIDAsIDI1NSwKKyAgICAgIDI1
NSwgMCwgMCwgMjU1LAorICAgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAwLCAyNTUsIDAsIDI1
NSwKKyAgICAgIDAsIDI1NSwgMCwgMjU1LAorICAgICAgMCwgMjU1LCAwLCAyNTUsCisgICAgICAw
LCAyNTUsIDAsIDI1NV0pLCBnbC5TVEFUSUNfRFJBVyk7CitnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KDEsIDQsIGdsLlVOU0lHTkVEX0JZVEUsIHRydWUsIDAsIDApOword3R1LmdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IsICJhZnRlciBwcm9ncmFtIHNldHVwIik7CisKK3d0dS5nbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIgY3JlYXRpbmcgdGV4dHVyZSIpOwordmFy
IG51bVF1YWRzID0gTWF0aC5mbG9vcig2NTUzNiAvIDYpICsgNDsKK3ZhciBudW1Qb2ludHMgPSBu
dW1RdWFkcyAqIDY7CitkZWJ1ZygibnVtUXVhZHM6ICIgKyBudW1RdWFkcyk7CitkZWJ1ZygibnVt
UG9pbnRzOiAiICsgbnVtUG9pbnRzKTsKK3ZhciBpbmRleEJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcihu
dW1Qb2ludHMpOwordmFyIGluZGljZXMgPSBuZXcgVWludDhBcnJheShpbmRleEJ1Zik7Cit2YXIg
aW5kZXhCdWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2dsLmJpbmRCdWZmZXIoZ2wuRUxFTUVO
VF9BUlJBWV9CVUZGRVIsIGluZGV4QnVmZmVyKTsKK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SLCAiYWZ0ZXIgc2V0dGluZyB1cCBpbmRpY2VzIik7CisKK3ZhciBtb2RlcyA9IFsK
KyAge21vZGU6ICdQT0lOVFMnLCAgICAgICAgIG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwg
c2tpcDogMH0sCisgIHttb2RlOiAnTElORVMnLCAgICAgICAgICBvZmZzZXRzOiBbMCwgMSwgMiwg
MywgMiwgMV0sIHNraXA6IDB9LAorICB7bW9kZTogJ0xJTkVfTE9PUCcsICAgICAgb2Zmc2V0czog
WzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAxfSwKKyAge21vZGU6ICdMSU5FX1NUUklQJywgICAg
IG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwgc2tpcDogMH0sCisgIHttb2RlOiAnVFJJQU5H
TEVTJywgICAgICBvZmZzZXRzOiBbMCwgMSwgMiwgMywgMiwgMV0sIHNraXA6IDB9LAorICB7bW9k
ZTogJ1RSSUFOR0xFX1NUUklQJywgb2Zmc2V0czogWzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAw
fSwKKyAge21vZGU6ICdUUklBTkdMRV9GQU4nLCAgIG9mZnNldHM6IFswLCAxLCAzLCAyLCAyLCAx
XSwgc2tpcDogMX0KK107CisKK2ZvciAodmFyIG1tID0gMDsgbW0gPCBtb2Rlcy5sZW5ndGg7ICsr
bW0pIHsKKyAgdmFyIG1vZGVJbmZvID0gbW9kZXNbbW1dOworICB2YXIgbW9kZSA9IG1vZGVJbmZv
Lm1vZGU7CisgIHZhciBvZmZzZXRzID0gbW9kZUluZm8ub2Zmc2V0czsKKyAgdmFyIHNraXAgPSBt
b2RlSW5mby5za2lwOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBudW1RdWFkczsgKytpaSkg
eworICAgIHZhciBvZmZzZXQgPSBpaSAqIDY7CisgICAgdmFyIHF1YWQgPSAoaWkgPT0gMCB8fCBp
aSA9PSAobnVtUXVhZHMgLSAxKSkgPyA0IDogMDsKKyAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwg
NjsgKytqaikgeworICAgICAgaW5kaWNlc1tvZmZzZXQgKyBqal0gPSBxdWFkICsgb2Zmc2V0c1tq
al07CisgICAgfQorICB9CisgIGdsLmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIs
IGluZGljZXMsIGdsLlNUQVRJQ19EUkFXKTsKKworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJ0ZXN0
aW5nOiAiICsgbW9kZSk7CisgIC8vIERyYXcgd2l0aG91dCBsYXN0IDYgcG9pbnRzLgorICBnbC5k
cmF3RWxlbWVudHMoZ2xbbW9kZV0sIG51bVBvaW50cyAtIChza2lwICsgMSkgKiA2LCBnbC5VTlNJ
R05FRF9CWVRFLCBza2lwICogNik7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwg
MjU1XSwgIlNob3VsZCBiZSByZWQuIik7CisgIC8vIERyYXcgd2l0aCBsYXN0IDYgcG9pbnRzLgor
ICBnbC5kcmF3RWxlbWVudHMoZ2xbbW9kZV0sIG51bVBvaW50cywgZ2wuVU5TSUdORURfQllURSwg
MCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgIlNob3VsZCBiZSBn
cmVlbi4iKTsKK30KK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIg
ZHJhd2luZyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CisKKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1w
bGUtY29ycnVwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wNWU4MTkxYWZmNjY5M2FkNjQ3NmNiOTQzOGI1Yjc3ZTJkMTZjNjI4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbApA
QCAtMCwwICsxLDEyNSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBL
aHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm
cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlz
IHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiog
Ik1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh
bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVy
c29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj
dCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
CisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlh
bHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiog
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO
RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9S
IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgor
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKyAgICA8dGl0bGU+V2ViR0wgTXVsdGlzYW1wbGUgUmVuZGVyYnVmZmVyIENvcnJ1cHRpb24g
VGVzdDwvdGl0bGU+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNh
bnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIwNDgiIGhlaWdodD0iMjA0OCIgc3R5bGU9IndpZHRo
OiAxMjhweDsgaGVpZ2h0OiAxMjhweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNjcmlwdCBpZD0idnNoYWRl
ciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgICAgICBhdHRyaWJ1dGUgdmVjNCB2UG9z
aXRpb247CisgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGdsX1Bv
c2l0aW9uID0gdlBvc2l0aW9uOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8c2Ny
aXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICAgICAgdm9p
ZCBtYWluKCkKKyAgICAgICAgeworICAgICAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLjAs
MC4wLDAuMCwwLjApOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0Pgor
ICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgIGZ1bmN0aW9uIGluaXQoKQorICAgICAgICB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbihkb2N1bWVudC50aXRsZSk7CisKKyAgICAgICAgICAg
IHZhciBsYXN0Q29udGV4dCA9IG51bGw7CisgICAgICAgICAgICB2YXIgY3ljbGVDb3VudCA9IDA7
CisgICAgICAgICAgICB2YXIgbWF4Q3ljbGVzID0gMTAwOworICAgICAgICAgICAgdmFyIGZhaWxl
ZCA9IGZhbHNlOworICAgICAgICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgICAg
ICAgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIsIHthbnRpYWxpYXM6
IHRydWUsIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZX0pOworCisgICAgICAgICAgICBnbC5j
bGVhckNvbG9yKDEuMCwgMC4wLCAwLjAsIDEuMCk7CisgICAgICAgICAgICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUKTsKKworICAgICAgICAgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQ
cm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlciJdLCBbInZQb3NpdGlvbiJdKTsKKyAgICAg
ICAgICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICAgICAgICAg
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICAgICAgICAg
ICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoWyAwLDIu
NSwwLCAxLjUsMS41LDAsIDIuNSwxLjUsMCBdKSwgZ2wuU1RBVElDX0RSQVcpOworICAgICAgICAg
ICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisgICAgICAgICAgICBnbC52ZXJ0ZXhB
dHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIGN5Y2xlQW5kVGVzdCgpIHsKKyAgICAgICAgICAgICAgICB2YXIgZ2wyID0gd3R1
LmNyZWF0ZTNEQ29udGV4dChudWxsLCB7YW50aWFsaWFzOiB0cnVlfSk7CisKKyAgICAgICAgICAg
ICAgICBnbDIuY2FudmFzLndpZHRoID0gZ2wyLmNhbnZhcy5oZWlnaHQgPSAxMDI0OworICAgICAg
ICAgICAgICAgIGdsMi5jYW52YXMuc3R5bGUud2lkdGggPSBnbDIuY2FudmFzLnN0eWxlLmhlaWdo
dCA9ICIxcHgiOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZ2wy
LmNhbnZhcyk7CisKKyAgICAgICAgICAgICAgICBnbDIuY2xlYXJDb2xvcigxLjAsIDAuMCwgMC4w
LCAxLjApOworICAgICAgICAgICAgICAgIGdsMi5jbGVhcihnbDIuQ09MT1JfQlVGRkVSX0JJVCk7
CisKKyAgICAgICAgICAgICAgICBpZihsYXN0Q29udGV4dCkgeworICAgICAgICAgICAgICAgICAg
ICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgICAgICAgICAgICAgICAg
IHZhciBtc2cgPSAiU2hvdWxkIGJlIHJlZCBhZnRlciBsb29wICIgKyBjeWNsZUNvdW50OworICAg
ICAgICAgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0Q29sb3IoZ2wsCisgICAgICAgICAg
ICAgICAgICAgICAgICAwLCAwLCBnbC5jYW52YXMud2lkdGgsIGdsLmNhbnZhcy5oZWlnaHQsCisg
ICAgICAgICAgICAgICAgICAgICAgICBbMjU1LCAwLCAwLCAyNTVdLCBudWxsLAorICAgICAgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZChtc2cpOworICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsZWQgPSB0cnVl
OworICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgZGVidWcp
OworICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxhc3RDb250
ZXh0LmNhbnZhcyk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgbGFzdENv
bnRleHQgPSBnbDI7CisgICAgICAgICAgICAgICAgY3ljbGVDb3VudCsrOworCisgICAgICAgICAg
ICAgICAgaWYoY3ljbGVDb3VudCA8PSBtYXhDeWNsZXMgJiYgIWZhaWxlZCkgeworICAgICAgICAg
ICAgICAgICAgICB3dHUud2FpdEZvckNvbXBvc2l0ZShnbDIsIGN5Y2xlQW5kVGVzdCk7CisgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY3ljbGVBbmRU
ZXN0KCk7CisgICAgICAgfQorCisgICAgICAgaW5pdCgpOworICAgICAgIHZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworICAgIDwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xNGViZTM1MmQ0ZTVlZmQ3YTFjNWE0NjNjZTY0Yjc0M2MxZWQ4MGNm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbApAQCAtMCwwICsx
LDE1MSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1
dGUgdmVjMyBwb3M7CisgICAgYXR0cmlidXRlIHZlYzQgY29sb3JJbjsKKyAgICB1bmlmb3JtIGZs
b2F0IHBvaW50U2l6ZTsKKyAgICB2YXJ5aW5nIHZlYzQgY29sb3I7CisKKyAgICB2b2lkIG1haW4o
KQorICAgIHsKKyAgICAgICAgZ2xfUG9pbnRTaXplID0gcG9pbnRTaXplOworICAgICAgICBjb2xv
ciA9IGNvbG9ySW47CisgICAgICAgIGdsX1Bvc2l0aW9uID0gdmVjNChwb3MsIDEuMCk7CisgICAg
fQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJh
Z21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHZhcnlpbmcgdmVjNCBj
b2xvcjsKKworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSBj
b2xvcjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0idGVz
dGJlZCIgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgInVzZSBz
dHJpY3QiOworICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkgR0xfVkVSVEVYX1BST0dSQU1fUE9JTlRf
U0laRSBpcyBlbmFibGVkIGluIFdlYkdMJyk7CisKKyAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CisgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgndGVzdGJlZCcsIHsgYW50aWFs
aWFzOiBmYWxzZSB9KTsKKyAgICBzaG91bGRCZU5vbk51bGwoImdsIik7CisKKyAgICBnbC5kaXNh
YmxlKGdsLkJMRU5EKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQ
VEhfQlVGRkVSX0JJVCk7CisKKyAgICAvLyBUaGUgY2hvaWNlIG9mICgwLjQsIDAuNCkgZW5zdXJl
cyB0aGF0IHRoZSBjZW50ZXJzIG9mIHRoZSBzdXJyb3VuZGluZworICAgIC8vIHBpeGVscyBhcmUg
bm90IGNvbnRhaW5lZCB3aXRoaW4gdGhlIHBvaW50IHdoZW4gaXQgaXMgb2Ygc2l6ZSAxLCBidXQK
KyAgICAvLyB0aGF0IHRoZXkgZGVmaW5pdGVseSBhcmUgd2hlbiBpdCBpcyBvZiBzaXplIDIuCisg
ICAgdmFyIHZlcnRpY2VzID0gbmV3IEZsb2F0MzJBcnJheShbCisgICAgICAgIDAuNCwgMC40LCAw
LjBdKTsKKyAgICB2YXIgY29sb3JzID0gbmV3IFVpbnQ4QXJyYXkoWworICAgICAgICAyNTUsIDAs
IDAsIDI1NV0pOworCisgICAgdmFyIGNvbG9yT2Zmc2V0ID0gdmVydGljZXMuYnl0ZUxlbmd0aDsK
KworICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSgyICogMiAqIDQpOworICAgIHZhciBpbmRl
eCA9IDA7CisKKyAgICB2YXIgdmJvID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgZ2wuYmluZEJ1
ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZibyk7CisgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9C
VUZGRVIsIGNvbG9yT2Zmc2V0ICsgY29sb3JzLmJ5dGVMZW5ndGgsIGdsLlNUQVRJQ19EUkFXKTsK
KyAgICBnbC5idWZmZXJTdWJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgMCwgdmVydGljZXMpOworICAg
IGdsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBjb2xvck9mZnNldCwgY29sb3JzKTsK
KworICAgIGZ1bmN0aW9uIHRlc3QocHJvZ3JhbSkgeworICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQ
b2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgICAgICAgIGdsLmVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KDApOworICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDQs
IGdsLlVOU0lHTkVEX0JZVEUsIHRydWUsIDAsIGNvbG9yT2Zmc2V0KTsKKyAgICAgICAgZ2wuZW5h
YmxlVmVydGV4QXR0cmliQXJyYXkoMSk7CisKKyAgICAgICAgdmFyIGxvY1BvaW50U2l6ZSA9IGds
LmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAncG9pbnRTaXplJyk7CisKKyAgICAgICAgc2hv
dWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9fRVJST1InKTsKKworICAgICAgICBkZWJ1Zygn
RHJhdyBhIHBvaW50IG9mIHNpemUgMSBhbmQgdmVyaWZ5IGl0IGRvZXMgbm90IHRvdWNoIGFueSBv
dGhlciBwaXhlbHMuJyk7CisKKyAgICAgICAgZ2wudW5pZm9ybTFmKGxvY1BvaW50U2l6ZSwgMS4w
KTsKKyAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIHZlcnRpY2VzLmxlbmd0aCAv
IDMpOworICAgICAgICAKKyAgICAgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9f
RVJST1InKTsKKworICAgICAgICBmb3IgKHZhciB5ID0gMDsgeSA8IDI7ICsreSkgeworICAgICAg
ICAgICAgZm9yICh2YXIgeCA9IDA7IHggPCAyOyArK3gpIHsKKyAgICAgICAgICAgICAgICB2YXIg
Y29ycmVjdENvbG9yID0gKHggPT0gMSAmJiB5ID09IDEpID8gWzI1NSwgMCwgMF0gOiBbMCwgMCwg
MF07CisgICAgICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgeCwgeSwgMSwgMSwg
Y29ycmVjdENvbG9yKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgICAgICAg
ZGVidWcoJ0RyYXcgYSBwb2ludCBvZiBzaXplIDIgYW5kIHZlcmlmeSBpdCBmaWxscyB0aGUgYXBw
cm9wcmlhdGUgcmVnaW9uLicpOworCisgICAgICAgIHZhciBwb2ludFNpemVSYW5nZSA9IGdsLmdl
dFBhcmFtZXRlcihnbC5BTElBU0VEX1BPSU5UX1NJWkVfUkFOR0UpOworICAgICAgICBpZiAocG9p
bnRTaXplUmFuZ2VbMV0gPj0gMi4wKSB7CisgICAgICAgICAgICBnbC51bmlmb3JtMWYobG9jUG9p
bnRTaXplLCAyLjApOworICAgICAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIHZl
cnRpY2VzLmxlbmd0aCAvIDMpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCkn
LCAnZ2wuTk9fRVJST1InKTsKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAs
IDAsIDIsIDIsIFsyNTUsIDAsIDBdKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGRlYnVnKCcn
KTsKKyAgICBkZWJ1ZygnUGFzcyAxJyk7CisgICAgdmFyIHByb2dyYW0xID0gd3R1LnNldHVwUHJv
Z3JhbShnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWydwb3MnLCAnY29sb3JJbiddKTsKKyAg
ICBzaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICdnbC5OT19FUlJPUicpOworICAgIHRlc3QocHJv
Z3JhbTEpOworCisgICAgLy8gVW5kZXIgc29tZSB2ZXJzaW9ucyBvZiBBTkdMRSBwb2ludCBzcHJp
dGUgc2hhZGVyIHByb2dyYW1zIHdlcmUgCisgICAgLy8gaW5jb3JyZWN0bHkgcmVsb2FkZWQgZnJv
bSBjYWNoZS4gUmVidWlsZGluZyB0aGUgc2hhZGVyIHByb2dyYW0gYW5kCisgICAgLy8gcmVwZWF0
aW5nIHRoZSB0ZXN0IHNpbXVsYXRlcyB0aGUgY29uZGl0aW9ucyB0aGF0IGNhdXNlZCBpdCB0byBm
YWlsCisgICAgZGVidWcoJycpOworICAgIGRlYnVnKCdQYXNzIDInKTsKKyAgICB2YXIgcHJvZ3Jh
bTIgPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBbJ3Bvcycs
ICdjb2xvckluJ10pOworICAgIHNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9S
Jyk7CisgICAgdGVzdChwcm9ncmFtMik7CisKKyAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRl
L2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wYzA3NDE2NGYzM2ZiYzA0OThmYjMxMjJmNTMxYWU0MzlhYTVkYzRhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sCkBAIC0wLDAg
KzEsNDYzIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKK2Rlc2NyaXB0aW9uKCJUZXN0IG9mIGdldCBjYWxscyBhZ2FpbnN0IEdMIG9i
amVjdHMgbGlrZSBnZXRCdWZmZXJQYXJhbWV0ZXIsIGV0Yy4iKTsKKworZnVuY3Rpb24gc2l6ZUlu
Qnl0ZXModHlwZSkgeworICBzd2l0Y2ggKHR5cGUpIHsKKyAgY2FzZSBnbC5CWVRFOgorICBjYXNl
IGdsLlVOU0lHTkVEX0JZVEU6CisgICAgcmV0dXJuIDE7CisgIGNhc2UgZ2wuU0hPUlQ6CisgIGNh
c2UgZ2wuVU5TSUdORURfU0hPUlQ6CisgICAgcmV0dXJuIDI7CisgIGNhc2UgZ2wuSU5UOgorICBj
YXNlIGdsLlVOU0lHTkVEX0lOVDoKKyAgY2FzZSBnbC5GTE9BVDoKKyAgICByZXR1cm4gNDsKKyAg
ZGVmYXVsdDoKKyAgICB0aHJvdyAidW5rbm93biB0eXBlIjsKKyAgfQorfQorCit2YXIgZ2wgPSB3
dHUuY3JlYXRlM0RDb250ZXh0KCk7CisKK2RlYnVnKCJ0ZXN0IGdldEF0dGFjaGVkU2hhZGVycyIp
OwordmFyIHN0YW5kYXJkVmVydCA9IHd0dS5sb2FkU3RhbmRhcmRWZXJ0ZXhTaGFkZXIoZ2wpOwor
dmFyIHN0YW5kYXJkRnJhZyA9IHd0dS5sb2FkU3RhbmRhcmRGcmFnbWVudFNoYWRlcihnbCk7Cit2
YXIgc3RhbmRhcmRQcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworZ2wuYXR0YWNoU2hhZGVy
KHN0YW5kYXJkUHJvZ3JhbSwgc3RhbmRhcmRWZXJ0KTsKK2dsLmF0dGFjaFNoYWRlcihzdGFuZGFy
ZFByb2dyYW0sIHN0YW5kYXJkRnJhZyk7CitnbC5saW5rUHJvZ3JhbShzdGFuZGFyZFByb2dyYW0p
OwordmFyIHNoYWRlcnMgPSBnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRhcmRQcm9ncmFtKTsK
K3Nob3VsZEJlKCdzaGFkZXJzLmxlbmd0aCcsICcyJyk7CitzaG91bGRCZVRydWUoJ3NoYWRlcnNb
MF0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMV0gPT0gc3RhbmRhcmRGcmFnIHx8IHNoYWRl
cnNbMV0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMF0gPT0gc3RhbmRhcmRGcmFnJyk7Citn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK3Nob3VsZEJlTnVsbCgnZ2wuZ2V0QXR0
YWNoZWRTaGFkZXJzKG51bGwpJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFM
VUUpOworc2hvdWxkVGhyb3coJ2dsLmdldEF0dGFjaGVkU2hhZGVycyhzdGFuZGFyZFZlcnQpJyk7
CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworZnVuY3Rpb24gdGVzdEludmFs
aWRBcmd1bWVudChmdW5jTmFtZSwgYXJndW1lbnROYW1lLCB2YWxpZEFyZ3VtZW50QXJyYXksIGZ1
bmMpIHsKKyAgdmFyIHZhbGlkQXJndW1lbnRzID0ge307CisgIGZvciAodmFyIGlpID0gMDsgaWkg
PCB2YWxpZEFyZ3VtZW50QXJyYXkubGVuZ3RoOyArK2lpKSB7CisgICAgdmFsaWRBcmd1bWVudHNb
dmFsaWRBcmd1bWVudEFycmF5W2lpXV0gPSB0cnVlOworICB9CisgIHZhciBzdWNjZXNzID0gdHJ1
ZTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IDB4MTAwMDA7ICsraWkpIHsKKyAgICBpZiAoIXZh
bGlkQXJndW1lbnRzW2lpXSkgeworICAgICAgdmFyIHJlc3VsdCA9IGZ1bmMoaWkpOworICAgICAg
aWYgKHJlc3VsdCAhPT0gbnVsbCkgeworICAgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgICAg
IHRlc3RGYWlsZWQoZnVuY05hbWUgKyAiIHJldHVybmVkICIgKyByZXN1bHQgKyAiIGluc3RlYWQg
b2YgbnVsbCBmb3IgaW52YWxpZCAiICsgYXJndW1lbnROYW1lICsgIiBlbnVtOiAiICsgd3R1Lmds
RW51bVRvU3RyaW5nKGdsLCBpaSkpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIHZh
ciBlcnIgPSBnbC5nZXRFcnJvcigpOworICAgICAgaWYgKGVyciAhPSBnbC5JTlZBTElEX0VOVU0p
IHsKKyAgICAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgICB0ZXN0RmFpbGVkKGZ1bmNOYW1l
ICsgIiBkaWQgbm90IGdlbmVyYXRlIElOVkFMSURfRU5VTSBmb3IgaW52YWxpZCAiICsgYXJndW1l
bnROYW1lICsgIiBlbnVtOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBpaSkpOworICAgICAg
ICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0KKyAgaWYgKHN1Y2Nlc3MpIHsKKyAgICB0ZXN0
UGFzc2VkKGZ1bmNOYW1lICsgIiBjb3JyZWN0bHkgaGFuZGxlZCBpbnZhbGlkICIgKyBhcmd1bWVu
dE5hbWUgKyAiIGVudW1zIik7CisgIH0KK30KKworZGVidWcoIiIpOworZGVidWcoInRlc3QgZ2V0
QnVmZmVyUGFyYW1ldGVyIik7CisvLyBUZXN0IGdldEJ1ZmZlclBhcmFtZXRlcgordmFyIGJ1ZmZl
clR5cGVzID0gW2dsLkFSUkFZX0JVRkZFUiwgZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVJdOworZm9y
ICh2YXIgYmIgPSAwOyBiYiA8IGJ1ZmZlclR5cGVzLmxlbmd0aDsgKytiYikgeworICB2YXIgYnVm
ZmVyVHlwZSA9IGJ1ZmZlclR5cGVzW2JiXTsKKyAgdmFyIGJ1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZl
cigpOworICBnbC5iaW5kQnVmZmVyKGJ1ZmZlclR5cGUsIGJ1ZmZlcik7CisgIGdsLmJ1ZmZlckRh
dGEoYnVmZmVyVHlwZSwgMTYsIGdsLkRZTkFNSUNfRFJBVyk7CisgIHZhciBleHByZXNzaW9uMSA9
ICJnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgYnVm
ZmVyVHlwZSkgKyAiLCBnbC5CVUZGRVJfU0laRSkiOworICB2YXIgZXhwcmVzc2lvbjIgPSAiZ2wu
Z2V0QnVmZmVyUGFyYW1ldGVyKGdsLiIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGJ1ZmZlclR5
cGUpICsgIiwgZ2wuQlVGRkVSX1VTQUdFKSI7CisgIHNob3VsZEJlKGV4cHJlc3Npb24xLCAnMTYn
KTsKKyAgc2hvdWxkQmUoZXhwcmVzc2lvbjIsICdnbC5EWU5BTUlDX0RSQVcnKTsKKyAgdGVzdElu
dmFsaWRBcmd1bWVudCgiZ2V0QnVmZmVyUGFyYW1ldGVyIiwgInBhcmFtZXRlciIsIFtnbC5CVUZG
RVJfU0laRSwgZ2wuQlVGRkVSX1VTQUdFXSwgZnVuY3Rpb24oYnVmZmVyVHlwZSkgeworICAgIHJl
dHVybiBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRCdWZmZXJQYXJh
bWV0ZXIoYnVmZmVyVHlwZSwgcGFyYW1ldGVyKTsKKyAgICB9OworICB9KGJ1ZmZlclR5cGUpKTsK
K30KK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldEJ1ZmZlclBhcmFtZXRlciIsCisgICAg
InRhcmdldCIsCisgICAgYnVmZmVyVHlwZXMsCisgICAgZnVuY3Rpb24odGFyZ2V0KSB7CisgICAg
ICByZXR1cm4gZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKHRhcmdldCwgZ2wuQlVGRkVSX1NJWkUpOwor
ICAgIH0KKyk7CisKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgZ2V0RnJhbWVidWZmZXJBdHRh
Y2htZW50UGFyYW1ldGVyIik7Cit2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKK2ds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworZ2wudGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0JBLCAyLCAyLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRF
LAorICAgICAgICAgICAgICBuZXcgVWludDhBcnJheShbCisgICAgICAgICAgICAgICAgICAwLCAw
LCAwLCAyNTUsCisgICAgICAgICAgICAgICAgICAyNTUsIDI1NSwgMjU1LCAyNTUsCisgICAgICAg
ICAgICAgICAgICAyNTUsIDI1NSwgMjU1LCAyNTUsCisgICAgICAgICAgICAgICAgICAwLCAwLCAw
LCAyNTVdKSk7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlO
X0ZJTFRFUiwgZ2wuTElORUFSKTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wu
VEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgbnVsbCk7Cit2YXIgZnJhbWVidWZmZXIgPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpOwor
Z2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmcmFtZWJ1ZmZlcik7CitnbC5mcmFt
ZWJ1ZmZlclRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGds
LlRFWFRVUkVfMkQsIHRleHR1cmUsIDApOwordmFyIHJlbmRlcmJ1ZmZlciA9IGdsLmNyZWF0ZVJl
bmRlcmJ1ZmZlcigpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitnbC5iaW5k
UmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVyKTsKK2dsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJC
VUZGRVIsIGdsLkRFUFRIX0NPTVBPTkVOVDE2LCAyLCAyKTsKK2dsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IpOworZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIs
IGdsLkRFUFRIX0FUVEFDSE1FTlQsIGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVyKTsKKy8v
IEZJWE1FOiBvbiBzb21lIG1hY2hpbmVzIChpbiBwYXJ0aWN1bGFyIHRoZSBXZWJLaXQgY29tbWl0
IGJvdHMpIHRoZQorLy8gZnJhbWVidWZmZXIgc3RhdHVzIGlzIEZSQU1FQlVGRkVSX1VOU1VQUE9S
VEVEOyBtb3JlIGludmVzdGlnYXRpb24KKy8vIGlzIG5lZWRlZCB3aHkgdGhpcyBpcyB0aGUgY2Fz
ZSwgYmVjYXVzZSB0aGUgRkJPIGFsbG9jYXRlZAorLy8gaW50ZXJuYWxseSBieSB0aGUgV2ViS2l0
IGltcGxlbWVudGF0aW9uIGhhcyBhbG1vc3QgaWRlbnRpY2FsCisvLyBwYXJhbWV0ZXJzIHRvIHRo
aXMgb25lLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODQz
Lgorc2hvdWxkQmUoJ2dsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpJywg
J2dsLkZSQU1FQlVGRkVSX0NPTVBMRVRFJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJB
dHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwg
Z2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSknLCAnZ2wuVEVYVFVSRScpOwor
c2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJV
RkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JK
RUNUX05BTUUpJywgJ3RleHR1cmUnKTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFj
aG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5G
UkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfTEVWRUwpJywgJzAnKTsKK3Nob3VsZEJlKCdn
bC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNP
TE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfQ1VCRV9N
QVBfRkFDRSknLCAnMCcpOworCitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50
UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJV
RkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKScsICdnbC5SRU5ERVJCVUZGRVInKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIs
IGdsLkRFUFRIX0FUVEFDSE1FTlQsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05B
TUUpJywgJ3JlbmRlcmJ1ZmZlcicpOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0RnJh
bWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBbIGds
LkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUsCisgICAgICBnbC5GUkFNRUJVRkZF
Ul9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FLAorICAgICAgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVO
VF9URVhUVVJFX0xFVkVMLAorICAgICAgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJF
X0NVQkVfTUFQX0ZBQ0UKKyAgICBdLAorICAgIGZ1bmN0aW9uKHBhcmFtZXRlcikgeworICAgICAg
cmV0dXJuIGdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZF
UiwgZ2wuQ09MT1JfQVRUQUNITUVOVCwgcGFyYW1ldGVyKTsKKyAgICB9CispOwordGVzdEludmFs
aWRBcmd1bWVudCgKKyAgICAiZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyIiwKKyAg
ICAidGFyZ2V0IiwKKyAgICBbIGdsLkZSQU1FQlVGRkVSIF0sCisgICAgZnVuY3Rpb24odGFyZ2V0
KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKHRh
cmdldCwgZ2wuQ09MT1JfQVRUQUNITUVOVCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpF
Q1RfVFlQRSk7CisgICAgfQorKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldEZyYW1l
YnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciIsCisgICAgImF0dGFjaG1lbnQiLAorICAgIFsgZ2wu
Q09MT1JfQVRUQUNITUVOVDAsCisgICAgICBnbC5ERVBUSF9BVFRBQ0hNRU5ULAorICAgICAgZ2wu
U1RFTkNJTF9BVFRBQ0hNRU5ULAorICAgICAgZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UCisg
ICAgXSwKKyAgICBmdW5jdGlvbihhdHRhY2htZW50KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0RnJh
bWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBhdHRhY2htZW50LCBn
bC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKTsKKyAgICB9CispOworCisKK2Rl
YnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFByb2dyYW1QYXJhbWV0ZXIiKTsKK3Nob3VsZEJlKCdn
bC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wuREVMRVRFX1NUQVRVUykn
LCAnZmFsc2UnKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJv
Z3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3Nob3VsZEJlKCd0eXBlb2YgZ2wuZ2V0
UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLlZBTElEQVRFX1NUQVRVUyknLCAn
ImJvb2xlYW4iJyk7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFBy
b2dyYW0sIGdsLkFUVEFDSEVEX1NIQURFUlMpJywgJzInKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9n
cmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wuQUNUSVZFX0FUVFJJQlVURVMpJywgJzIn
KTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wu
QUNUSVZFX1VOSUZPUk1TKScsICcxJyk7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRQ
cm9ncmFtUGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLkRFTEVURV9TVEFU
VVMsCisgICAgICBnbC5MSU5LX1NUQVRVUywKKyAgICAgIGdsLlZBTElEQVRFX1NUQVRVUywKKyAg
ICAgIGdsLkFUVEFDSEVEX1NIQURFUlMsCisgICAgICBnbC5BQ1RJVkVfQVRUUklCVVRFUywKKyAg
ICAgIGdsLkFDVElWRV9VTklGT1JNUworICAgIF0sCisgICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7
CisgICAgICByZXR1cm4gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIHBh
cmFtZXRlcik7CisgICAgfQorKTsKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgZ2V0UmVuZGVy
YnVmZmVyUGFyYW1ldGVyIik7CitzaG91bGRCZSgnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVy
KGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX1dJRFRIKScsICcyJyk7CitzaG91bGRC
ZSgnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVS
QlVGRkVSX0hFSUdIVCknLCAnMicpOworLy8gTm90ZTogd2UgY2FuJ3QgdGVzdCB0aGUgYWN0dWFs
IHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBmb3JtYXQgc2luY2UKKy8vIHRoZSBpbXBsZW1lbnRhdGlv
biBpcyBhbGxvd2VkIHRvIGNoYW5nZSBpdC4KK3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVy
YnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0lOVEVSTkFM
X0ZPUk1BVCknKTsKK3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVy
KGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0RFUFRIX1NJWkUpJyk7Cit2YXIgY29s
b3JidWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKK2dsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IpOworZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHJlbmRl
cmJ1ZmZlcik7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK2dsLnJlbmRlcmJ1
ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMiwgMik7CitzaG91bGRCZU5v
blplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJF
TkRFUkJVRkZFUl9SRURfU0laRSknKTsKK3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVm
ZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUp
Jyk7CitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5E
RVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9CTFVFX1NJWkUpJyk7CitzaG91bGRCZU5vblplcm8o
J2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJV
RkZFUl9BTFBIQV9TSVpFKScpOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0UmVuZGVy
YnVmZmVyUGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLlJFTkRFUkJVRkZF
Ul9XSURUSCwKKyAgICAgIGdsLlJFTkRFUkJVRkZFUl9IRUlHSFQsCisgICAgICBnbC5SRU5ERVJC
VUZGRVJfSU5URVJOQUxfRk9STUFULAorICAgICAgZ2wuUkVOREVSQlVGRkVSX1JFRF9TSVpFLAor
ICAgICAgZ2wuUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUsCisgICAgICBnbC5SRU5ERVJCVUZGRVJf
QkxVRV9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0FMUEhBX1NJWkUsCisgICAgICBnbC5S
RU5ERVJCVUZGRVJfREVQVEhfU0laRSwKKyAgICAgIGdsLlJFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJ
WkUsCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5n
ZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBwYXJhbWV0ZXIpOworICAg
IH0pOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVy
IiwKKyAgICAidGFyZ2V0IiwKKyAgICBbIGdsLlJFTkRFUkJVRkZFUiBdLAorICAgIGZ1bmN0aW9u
KHRhcmdldCkgeworICAgICAgcmV0dXJuIGdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcih0YXJn
ZXQsIGdsLlJFTkRFUkJVRkZFUl9XSURUSCk7CisgICAgfSk7CisKK2RlYnVnKCIiKTsKK2RlYnVn
KCJUZXN0IGdldFNoYWRlclBhcmFtZXRlciIpOworc2hvdWxkQmUoJ2dsLmdldFNoYWRlclBhcmFt
ZXRlcihzdGFuZGFyZFZlcnQsIGdsLlNIQURFUl9UWVBFKScsICdnbC5WRVJURVhfU0hBREVSJyk7
CitzaG91bGRCZSgnZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHN0YW5kYXJkVmVydCwgZ2wuREVMRVRF
X1NUQVRVUyknLCAnZmFsc2UnKTsKK3Nob3VsZEJlKCdnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc3Rh
bmRhcmRWZXJ0LCBnbC5DT01QSUxFX1NUQVRVUyknLCAndHJ1ZScpOwordGVzdEludmFsaWRBcmd1
bWVudCgKKyAgICAiZ2V0U2hhZGVyUGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBb
IGdsLkRFTEVURV9TVEFUVVMsCisgICAgICBnbC5DT01QSUxFX1NUQVRVUywKKyAgICAgIGdsLlNI
QURFUl9UWVBFCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVy
biBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc3RhbmRhcmRWZXJ0LCBwYXJhbWV0ZXIpOworICAgIH0K
Kyk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFRleFBhcmFtZXRlciIpOworZ2wuYmlu
ZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmcmFtZWJ1ZmZlcik7CitnbC5iaW5kVGV4dHVy
ZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8y
RCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKK2dsLnRleFBhcmFtZXRlcmko
Z2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKK2dsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RP
X0VER0UpOworZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBf
VCwgZ2wuQ0xBTVBfVE9fRURHRSk7CitzaG91bGRCZSgnZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiknLCAnZ2wuTkVBUkVTVCcpOworc2hvdWxk
QmUoJ2dsLmdldFRleFBhcmFtZXRlcihnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxU
RVIpJywgJ2dsLk5FQVJFU1QnKTsKK3Nob3VsZEJlKCdnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVY
VFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MpJywgJ2dsLkNMQU1QX1RPX0VER0UnKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1Qp
JywgJ2dsLkNMQU1QX1RPX0VER0UnKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldFRl
eFBhcmFtZXRlciIsCisgICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5URVhUVVJFX01BR19GSUxU
RVIsCisgICAgICBnbC5URVhUVVJFX01JTl9GSUxURVIsCisgICAgICBnbC5URVhUVVJFX1dSQVBf
UywKKyAgICAgIGdsLlRFWFRVUkVfV1JBUF9UCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0
ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwgcGFy
YW1ldGVyKTsKKyAgICB9CispOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0VGV4UGFy
YW1ldGVyIiwKKyAgICAidGFyZ2V0IiwKKyAgICBbIGdsLlRFWFRVUkVfMkQsCisgICAgICBnbC5U
RVhUVVJFX0NVQkVfTUFQCisgICAgXSwKKyAgICBmdW5jdGlvbih0YXJnZXQpIHsKKyAgICAgIHJl
dHVybiBnbC5nZXRUZXhQYXJhbWV0ZXIodGFyZ2V0LCBnbC5URVhUVVJFX01BR19GSUxURVIpOwor
ICAgIH0KKyk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFVuaWZvcm0gd2l0aCBhbGwg
dmFyaWFudHMgb2YgZGF0YSB0eXBlcyIpOworLy8gQm9vbGVhbiB1bmlmb3JtIHZhcmlhYmxlcwor
dmFyIGJvb2xQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJj
ZXMvYm9vbFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFk
ZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoYm9vbFByb2dyYW0s
IGdsLkxJTktfU1RBVFVTKScsICd0cnVlJyk7Cit2YXIgYnZhbExvYyA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihib29sUHJvZ3JhbSwgImJ2YWwiKTsKK3ZhciBidmFsMkxvYyA9IGdsLmdldFVuaWZv
cm1Mb2NhdGlvbihib29sUHJvZ3JhbSwgImJ2YWwyIik7Cit2YXIgYnZhbDNMb2MgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24oYm9vbFByb2dyYW0sICJidmFsMyIpOwordmFyIGJ2YWw0TG9jID0gZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKGJvb2xQcm9ncmFtLCAiYnZhbDQiKTsKK2dsLnVzZVByb2dyYW0o
Ym9vbFByb2dyYW0pOworZ2wudW5pZm9ybTFpKGJ2YWxMb2MsIDEpOworZ2wudW5pZm9ybTJpKGJ2
YWwyTG9jLCAxLCAwKTsKK2dsLnVuaWZvcm0zaShidmFsM0xvYywgMSwgMCwgMSk7CitnbC51bmlm
b3JtNGkoYnZhbDRMb2MsIDEsIDAsIDEsIDApOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShib29sUHJvZ3JhbSwgYnZhbExvYyknLCAn
dHJ1ZScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oYm9vbFByb2dyYW0sIGJ2YWwyTG9jKScs
ICdbdHJ1ZSwgZmFsc2VdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShib29sUHJvZ3JhbSwg
YnZhbDNMb2MpJywgJ1t0cnVlLCBmYWxzZSwgdHJ1ZV0nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlm
b3JtKGJvb2xQcm9ncmFtLCBidmFsNExvYyknLCAnW3RydWUsIGZhbHNlLCB0cnVlLCBmYWxzZV0n
KTsKKy8vIEludGVnZXIgdW5pZm9ybSB2YXJpYWJsZXMKK3ZhciBpbnRQcm9ncmFtID0gd3R1Lmxv
YWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJjZXMvaW50VW5pZm9ybVNoYWRlci52ZXJ0
IiwgIi4uL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci5mcmFnIik7CitzaG91bGRCZSgnZ2wu
Z2V0UHJvZ3JhbVBhcmFtZXRlcihpbnRQcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyknLCAndHJ1ZScp
OwordmFyIGl2YWxMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oaW50UHJvZ3JhbSwgIml2YWwi
KTsKK3ZhciBpdmFsMkxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihpbnRQcm9ncmFtLCAiaXZh
bDIiKTsKK3ZhciBpdmFsM0xvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihpbnRQcm9ncmFtLCAi
aXZhbDMiKTsKK3ZhciBpdmFsNExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihpbnRQcm9ncmFt
LCAiaXZhbDQiKTsKK2dsLnVzZVByb2dyYW0oaW50UHJvZ3JhbSk7CitnbC51bmlmb3JtMWkoaXZh
bExvYywgMSk7CitnbC51bmlmb3JtMmkoaXZhbDJMb2MsIDIsIDMpOworZ2wudW5pZm9ybTNpKGl2
YWwzTG9jLCA0LCA1LCA2KTsKK2dsLnVuaWZvcm00aShpdmFsNExvYywgNywgOCwgOSwgMTApOwor
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9y
bShpbnRQcm9ncmFtLCBpdmFsTG9jKScsICcxJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShp
bnRQcm9ncmFtLCBpdmFsMkxvYyknLCAnWzIsIDNdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9y
bShpbnRQcm9ncmFtLCBpdmFsM0xvYyknLCAnWzQsIDUsIDZdJyk7CitzaG91bGRCZSgnZ2wuZ2V0
VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsNExvYyknLCAnWzcsIDgsIDksIDEwXScpOworLy8gRmxv
YXQgdW5pZm9ybSB2YXJpYWJsZXMKK3ZhciBmbG9hdFByb2dyYW0gPSB3dHUubG9hZFByb2dyYW1G
cm9tRmlsZShnbCwgIi4uL3Jlc291cmNlcy9mbG9hdFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9y
ZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dy
YW1QYXJhbWV0ZXIoZmxvYXRQcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyknLCAndHJ1ZScpOwordmFy
IGZ2YWxMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oZmxvYXRQcm9ncmFtLCAiZnZhbCIpOwor
dmFyIGZ2YWwyTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGZsb2F0UHJvZ3JhbSwgImZ2YWwy
Iik7Cit2YXIgZnZhbDNMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oZmxvYXRQcm9ncmFtLCAi
ZnZhbDMiKTsKK3ZhciBmdmFsNExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihmbG9hdFByb2dy
YW0sICJmdmFsNCIpOworZ2wudXNlUHJvZ3JhbShmbG9hdFByb2dyYW0pOworZ2wudW5pZm9ybTFm
KGZ2YWxMb2MsIDExKTsKK2dsLnVuaWZvcm0yZihmdmFsMkxvYywgMTIsIDEzKTsKK2dsLnVuaWZv
cm0zZihmdmFsM0xvYywgMTQsIDE1LCAxNik7CitnbC51bmlmb3JtNGYoZnZhbDRMb2MsIDE3LCAx
OCwgMTksIDIwKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxkQmUo
J2dsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsTG9jKScsICcxMScpOworc2hvdWxkQmUo
J2dsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsMkxvYyknLCAnWzEyLCAxM10nKTsKK3No
b3VsZEJlKCdnbC5nZXRVbmlmb3JtKGZsb2F0UHJvZ3JhbSwgZnZhbDNMb2MpJywgJ1sxNCwgMTUs
IDE2XScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsNExvYykn
LCAnWzE3LCAxOCwgMTksIDIwXScpOworLy8gU2FtcGxlciB1bmlmb3JtIHZhcmlhYmxlcwordmFy
IHNhbXBsZXJQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJj
ZXMvbm9vcFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvc2FtcGxlclVuaWZvcm1T
aGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoc2FtcGxlclBy
b2dyYW0sIGdsLkxJTktfU1RBVFVTKScsICd0cnVlJyk7Cit2YXIgczJEVmFsTG9jID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKHNhbXBsZXJQcm9ncmFtLCAiczJEIik7Cit2YXIgc0N1YmVWYWxMb2Mg
PSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oc2FtcGxlclByb2dyYW0sICJzQ3ViZSIpOworZ2wudXNl
UHJvZ3JhbShzYW1wbGVyUHJvZ3JhbSk7CitnbC51bmlmb3JtMWkoczJEVmFsTG9jLCAwKTsKK2ds
LnVuaWZvcm0xaShzQ3ViZVZhbExvYywgMSk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKHNhbXBsZXJQcm9ncmFtLCBzMkRWYWxMb2Mp
JywgJzAnKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKHNhbXBsZXJQcm9ncmFtLCBzQ3ViZVZh
bExvYyknLCAnMScpOworLy8gTWF0cml4IHVuaWZvcm0gdmFyaWFibGVzCit2YXIgbWF0UHJvZ3Jh
bSA9IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGdsLCAiLi4vcmVzb3VyY2VzL21hdFVuaWZvcm1T
aGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hv
dWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIobWF0UHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMp
JywgJ3RydWUnKTsKK3ZhciBtdmFsMkxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihtYXRQcm9n
cmFtLCAibXZhbDIiKTsKK3ZhciBtdmFsM0xvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihtYXRQ
cm9ncmFtLCAibXZhbDMiKTsKK3ZhciBtdmFsNExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbiht
YXRQcm9ncmFtLCAibXZhbDQiKTsKK2dsLnVzZVByb2dyYW0obWF0UHJvZ3JhbSk7CitnbC51bmlm
b3JtTWF0cml4MmZ2KG12YWwyTG9jLCBmYWxzZSwgWzEsIDIsIDMsIDRdKTsKK2dsLnVuaWZvcm1N
YXRyaXgzZnYobXZhbDNMb2MsIGZhbHNlLCBbNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTNd
KTsKK2dsLnVuaWZvcm1NYXRyaXg0ZnYobXZhbDRMb2MsIGZhbHNlLCBbMTQsIDE1LCAxNiwgMTcs
IDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjldKTsKK2dsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0obWF0
UHJvZ3JhbSwgbXZhbDJMb2MpJywgJ1sxLCAyLCAzLCA0XScpOworc2hvdWxkQmUoJ2dsLmdldFVu
aWZvcm0obWF0UHJvZ3JhbSwgbXZhbDNMb2MpJywgJ1s1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEy
LCAxM10nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKG1hdFByb2dyYW0sIG12YWw0TG9jKScs
ICdbMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3
LCAyOCwgMjldJyk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJ0ZXN0IGdldFZlcnRleEF0dHJpYiIp
OwordmFyIGFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwg
OSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTZdKTsKK3ZhciBidWZmZXIgPSBnbC5jcmVhdGVC
dWZmZXIoKTsKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpOworZ2wuYnVm
ZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5LCBnbC5EWU5BTUlDX0RSQVcpOworLy8gVmVy
dGV4IGF0dHJpYnV0ZSAwIGlzIHNwZWNpYWwgaW4gdGhhdCBpdCBoYXMgbm8gY3VycmVudCBzdGF0
ZSwgc28KKy8vIGZldGNoaW5nIEdMX0NVUlJFTlRfVkVSVEVYX0FUVFJJQiBnZW5lcmF0ZXMgYW4g
ZXJyb3IuIFVzZSBhdHRyaWJ1dGUKKy8vIDEgZm9yIHRoZXNlIHRlc3RzIGluc3RlYWQuCitnbC5l
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgxKTsKK2dsLnZlcnRleEF0dHJpYlBvaW50ZXIoMSwgNCwg
Z2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwg
Z2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORyknLCAnYnVmZmVyJyk7CitzaG91
bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfRU5BQkxF
RCknLCAndHJ1ZScpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhf
QVRUUklCX0FSUkFZX1NJWkUpJywgJzQnKTsKKy8vIFN0cmlkZSBNVVNUIGJlIHRoZSB2YWx1ZSB0
aGUgdXNlciBwdXQgaW4uCitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRF
WF9BVFRSSUJfQVJSQVlfU1RSSURFKScsICcwJyk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0
cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfVFlQRSknLCAnZ2wuRkxPQVQnKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9OT1JNQUxJ
WkVEKScsICdmYWxzZScpOworZ2wudmVydGV4QXR0cmliUG9pbnRlcigxLCA0LCBnbC5GTE9BVCwg
ZmFsc2UsIDM2LCAxMik7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRF
WF9BVFRSSUJfQVJSQVlfU1RSSURFKScsICczNicpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0
dHJpYk9mZnNldCgxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1BPSU5URVIpJywgJzEyJyk7Citn
bC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMSk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0
cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfRU5BQkxFRCknLCAnZmFsc2UnKTsKK2dsLnZl
cnRleEF0dHJpYjRmKDEsIDUsIDYsIDcsIDgpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YigxLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpJywgJ1s1LCA2LCA3LCA4XScpOworZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJn
ZXRWZXJ0ZXhBdHRyaWIiLAorICAgICJwYXJhbWV0ZXIiLAorICAgIFsgZ2wuVkVSVEVYX0FUVFJJ
Ql9BUlJBWV9CVUZGRVJfQklORElORywKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfRU5B
QkxFRCwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU0laRSwKKyAgICAgIGdsLlZFUlRF
WF9BVFRSSUJfQVJSQVlfU1RSSURFLAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9UWVBF
LAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9OT1JNQUxJWkVELAorICAgICAgZ2wuVkVS
VEVYX0FUVFJJQl9BUlJBWV9TVFJJREUsCisgICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0VO
QUJMRUQsCisgICAgICBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIKKyAgICBdLAorICAgIGZ1bmN0
aW9uKHBhcmFtZXRlcikgeworICAgICAgcmV0dXJuIGdsLmdldFZlcnRleEF0dHJpYigxLCBwYXJh
bWV0ZXIpOworICAgIH0KKyk7Cit2YXIgbnVtVmVydGV4QXR0cmlicyA9IGdsLmdldFBhcmFtZXRl
cihnbC5NQVhfVkVSVEVYX0FUVFJJQlMpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5J
TlZBTElEX1ZBTFVFLCAnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBudW1WZXJ0ZXhBdHRyaWJzICsg
JywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKScpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVz
dCBjYXNlcyB3aGVyZSBuYW1lID09IDAiKTsKK2dsLmRlbGV0ZVRleHR1cmUodGV4dHVyZSk7Citz
aG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVG
RkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpF
Q1RfVFlQRSknLCAnZ2wuTk9ORScpOworZ2wuZGVsZXRlUmVuZGVyYnVmZmVyKHJlbmRlcmJ1ZmZl
cik7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZS
QU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5U
X09CSkVDVF9UWVBFKScsICdnbC5OT05FJyk7CitnbC5kZWxldGVCdWZmZXIoYnVmZmVyKTsKK3No
b3VsZEJlTnVsbCgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlf
QlVGRkVSX0JJTkRJTkcpJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBh
N2QwZTNiYjhkZDcxMDY0MzMwNzFlZTQzNTNjYTlhOWM2NzdhNjYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwKQEAgLTAsMCArMSwxODMg
QEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlZlcmlmeSBjb3B5VGV4SW1hZ2UyRCBmb2xsb3dz
IGZvcm1hdCByZXN0aWN0aW9uczwvdGl0bGU+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImNh
bnZhc05vQWxwaGEiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPjwvY2FudmFzPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCitmdW5jdGlvbiBnZXRDaGFu
bmVsc0Zyb21Gb3JtYXQoZm9ybWF0KSB7CisgIHN3aXRjaCAoZ2xbZm9ybWF0XSkgeworICBjYXNl
IGdsLkFMUEhBOgorICAgIHJldHVybiAweDAwMDE7CisgIGNhc2UgZ2wuTFVNSU5BTkNFOgorICBj
YXNlIGdsLlJHQjoKKyAgICByZXR1cm4gMHgxMTEwOworICBjYXNlIGdsLkxVTUlOQU5DRV9BTFBI
QToKKyAgY2FzZSBnbC5SR0JBOgorICAgIHJldHVybiAweDExMTE7CisgIGRlZmF1bHQ6CisgICAg
cmV0dXJuIDA7CisgIH0KK30KKwordmFyIGZvcm1hdHMgPSBbCisgICdBTFBIQScsCisgICdMVU1J
TkFOQ0UnLAorICAnTFVNSU5BTkNFX0FMUEhBJywKKyAgJ1JHQicsCisgICdSR0JBJworXTsKKwor
dmFyIGdsID0gbnVsbDsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKworZGVzY3JpcHRpb24o
KTsKKwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKK3Zh
ciBjYW52YXNOb0FscGhhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhc05vQWxwaGEi
KTsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB7YWxwaGE6dHJ1ZX0pOwor
dmFyIGdsTm9BbHBoYSA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzTm9BbHBoYSwge2FscGhh
OmZhbHNlfSk7CisKK2RlYnVnKCJ0ZXN0IHdpdGggYW4gUkdCQSBiYWNrYnVmZmVyIik7Cit2YXIg
cHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CitnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAiRHVyaW5nIEluaXRpYWxpemF0aW9uIik7Cit0ZXN0Rm9ybWF0cygnUkdC
QScpOworCit0ZXN0QmFja2J1ZmZlckZvcm1hdHMoKTsKKworZGVidWcoInRlc3Qgd2l0aCBhbiBS
R0IgYmFja2J1ZmZlciIpOwordmFyIGdsID0gZ2xOb0FscGhhOwordmFyIHByb2dyYW0gPSB3dHUu
c2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
IkR1cmluZyBJbml0aWFsaXphdGlvbiIpOwordGVzdEZvcm1hdHMoJ1JHQicpOworCitmdW5jdGlv
biB0ZXN0QmFja2J1ZmZlckZvcm1hdHMoKSB7CisgIHZhciBmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1
ZmZlcigpOworICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisKKyAg
Zm9yICh2YXIgaWkgPSAwOyBpaSA8IGZvcm1hdHMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIGJh
Y2tGb3JtYXQgPSBmb3JtYXRzW2lpXTsKKworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJl
KCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICBnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsW2JhY2tGb3JtYXRdLCAyLCAyLCAwLCBnbFtiYWNr
Rm9ybWF0XSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShn
bC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGds
LnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5O
RUFSRVNUKTsKKworICAgIGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBn
bC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4LCAwKTsKKyAgICB2YXIgc3Rh
dHVzID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUik7CisKKyAgICBk
ZWJ1ZygnJyk7CisgICAgaWYgKHN0YXR1cyA9PSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkgewor
ICAgICAgZGVidWcoJ3Rlc3Qgd2l0aCAnICsgYmFja0Zvcm1hdCArICcgZmJvJyk7CisgICAgICB0
ZXN0Rm9ybWF0cyhiYWNrRm9ybWF0KTsKKyAgICB9IGVsc2UgeworICAgICAgZGVidWcoYmFja0Zv
cm1hdCArICcgbm90IHN1cHBvcnRlZCBhcyBhIHJlbmRlcmJ1ZmZlciBhdHRhY2htZW50Jyk7Cisg
ICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RGb3JtYXRzKGJhY2tGb3JtYXQpIHsKKyAgZm9y
ICh2YXIgaWkgPSAwOyBpaSA8IGZvcm1hdHMubGVuZ3RoOyArK2lpKSB7CisgICAgdGVzdENvcHlU
ZXhJbWFnZTJEKGJhY2tGb3JtYXQsIGZvcm1hdHNbaWldKTsKKyAgfQorfQorCitmdW5jdGlvbiB0
b0NoYW5uZWxzKHZhbHVlKSB7CisgIHJldHVybiAoKHZhbHVlICYgMHgxMDAwKSA/ICdSJyA6ICdf
JykgKworICAgICAgICAgKCh2YWx1ZSAmIDB4MDEwMCkgPyAnRycgOiAnXycpICsKKyAgICAgICAg
ICgodmFsdWUgJiAweDAwMTApID8gJ0InIDogJ18nKSArCisgICAgICAgICAoKHZhbHVlICYgMHgw
MDAxKSA/ICdBJyA6ICdfJyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5VGV4SW1hZ2UyRChiYWNr
Rm9ybWF0LCB0ZXhGb3JtYXQpIHsKKyAgdmFyIG5lZWQgPSBnZXRDaGFubmVsc0Zyb21Gb3JtYXQo
dGV4Rm9ybWF0KTsKKyAgdmFyIGhhdmUgPSBnZXRDaGFubmVsc0Zyb21Gb3JtYXQoYmFja0Zvcm1h
dCk7CisgIHZhciBzaG91bGRQYXNzID0gKG5lZWQgJiBoYXZlKSA9PSBuZWVkCisKKyAgLy9kZWJ1
ZygibmVlZDogIiArIHRvQ2hhbm5lbHMobmVlZCkpOworICAvL2RlYnVnKCJoYXZlOiAiICsgdG9D
aGFubmVscyhoYXZlKSk7CisgIC8vZGVidWcoImJvdGg6ICIgKyB0b0NoYW5uZWxzKGhhdmUgJiBu
ZWVkKSk7CisKKyAgLy8gY2xlYXIgYmFja2J1ZmZlcgorICBnbC5jbGVhckNvbG9yKDAuMjUsIDEs
IDAuNzUsIDAuNSk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisgIHZhciB0
ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAvLyBCaW5kIHRoZSB0ZXh0dXJlIHRvIHRl
eHR1cmUgdW5pdCAwCisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOwor
ICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwg
Z2wuTkVBUkVTVCk7CisgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVS
RV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKKworICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbFt0ZXhGb3JtYXRdLCAwLCAwLCAyLCAyLCAwKTsKKyAgaWYgKCFzaG91bGRQ
YXNzKSB7CisgICAgZ2xFcnJvclNob3VsZEJlKAorICAgICAgICBnbCwgZ2wuSU5WQUxJRF9PUEVS
QVRJT04sCisgICAgICAgICJzaG91bGQgbm90IGJlIGFibGUgdG8gY29weVRleEltYWdlMkQgIiAr
IHRleEZvcm1hdCArICIgZnJvbSAiICsgYmFja0Zvcm1hdCk7CisgICAgcmV0dXJuOworICB9CisK
KyAgZ2xFcnJvclNob3VsZEJlKAorICAgICAgZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgInNob3Vs
ZCBiZSBhYmxlIHRvIGNvcHlUZXhJbWFnZTJEICIgKyB0ZXhGb3JtYXQgKyAiIGZyb20gIiArIGJh
Y2tGb3JtYXQpOworCisgIC8vIERyYXcKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKworICB2YXIgZXhw
ZWN0ZWRDb2xvcnMgPSB7CisgICAgJ0FMUEhBJzogWzAsIDAsIDAsIDEyN10sCisgICAgJ0xVTUlO
QU5DRSc6IFs2NCwgNjQsIDY0LCAyNTVdLAorICAgICdMVU1JTkFOQ0VfQUxQSEEnOiBbNjQsIDY0
LCA2NCwgMTI3XSwKKyAgICAnUkdCJzogWzY0LCAyNTUsIDE5MSwgMjU1XSwKKyAgICAnUkdCQSc6
IFs2NCwgMjU1LCAxOTEsIDEyN10KKyAgfTsKKworICB2YXIgY29sb3IgPSBleHBlY3RlZENvbG9y
c1t0ZXhGb3JtYXRdOworCisgIHd0dS5jaGVja0NhbnZhcyhnbCwgY29sb3IsICJzaG91bGQgYmUg
IiArIGNvbG9yLCAxNik7CisKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNo
b3VsZCBiZSBubyBlcnJvcnMiKTsKK30KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhl
bHN0b3JlaS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
YzBjNDUxNGY2OTFlMDI1YzUxMmFiNThjZWZlMDk3ZGI0MzcxOTI1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCEtLQor
CisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisq
KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl
cnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lh
dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGlu
IHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0
IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp
c2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl
IE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlh
bHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl
cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1
YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFM
UyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoq
IEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS
UkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFV
VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBE
QU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB
Q1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O
TkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO
R1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgcGl4ZWxTdG9y
ZWkgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNr
dG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUw
Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9IjJkMDAiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9j
YW52YXM+Cis8Y2FudmFzIGlkPSIyZDAxIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFz
PgorPGNhbnZhcyBpZD0iMmQwMiIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxj
YW52YXMgaWQ9IjJkMDMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
aWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQ
b3NpdGlvbjsKK3ZvaWQgbWFpbigpIHsKKyAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247Cit9Cis8
L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVu
dCI+Cit2b2lkIG1haW4oKSB7CisgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLDAuMCwwLjAsMS4w
KTsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gaW5p
dCgpIHsKKyAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhhdCBkcmF3SW1hZ2UgYW5k
IHJlYWRQaXhlbHMgYXJlIG5vdCBlZmZlY3RlZCBieSBnbC5QaXhlbHN0b3JlaShnbC5QQUNLX0FM
SUdOTUVOVCkgYW5kIHZpc2EgdmVyc2EiKTsKKworICBkZWJ1ZygiVGhlcmUgc2hvdWxkIGJlIDUg
cmVkIHRyaWFuZ2xlcyBvbiA1IGJsYWNrIHNxdWFyZXMgYWJvdmUiKTsKKyAgZGVidWcoIiIpOwor
CisgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgdmFyIGNhbnZhczNkID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImV4YW1wbGUiKTsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4
dCgiZXhhbXBsZSIpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNo
YWRlciIsICJmc2hhZGVyIl0sIFsidlBvc2l0aW9uIl0pOworCisgIHZhciB2ZXJ0ZXhPYmplY3Qg
PSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZl
cnRleE9iamVjdCk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQz
MkFycmF5KFsgMCwwLjUsMCwgLTAuNSwtMC41LDAsIDAuNSwtMC41LDAgXSksIGdsLlNUQVRJQ19E
UkFXKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisgIGdsLnZlcnRleEF0dHJp
YlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKworICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgIGdsLmRyYXdBcnJheXMo
Z2wuVFJJQU5HTEVTLCAwLCAzKTsKKworICBmdW5jdGlvbiBjaGVja0RhdGEoY3R4LCBuYW1lKSB7
CisgICAgLy8gVGVzdCBzZXZlcmFsIGxvY2F0aW9ucworICAgIC8vIEZpcnN0IGxpbmUgc2hvdWxk
IGJlIGFsbCBibGFjaworICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoY3R4LCAwLCAwLCA1MCwgMSwg
WzAsIDAsIDAsIDBdKTsKKworICAgIC8vIExpbmUgMjUgc2hvdWxkIGJlIHJlZCBmb3IgYXQgbGVh
c3QgNiByZWQgcGl4ZWxzIHN0YXJ0aW5nIDIyIHBpeGVscyBpbgorICAgIHd0dS5jaGVja0NhbnZh
c1JlY3QoY3R4LCAyMiwgMjUsIDYsIDEsIFsyNTUsIDAsIDAsIDI1NV0pOworCisgICAgLy8gTGFz
dCBsaW5lIHNob3VsZCBiZSBhbGwgYmxhY2sKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwg
MCwgNDksIDUwLCAxLCBbMCwgMCwgMCwgMF0pOworICB9CisKKyAgdmFyIGN0eDJkOworCisgIGZ1
bmN0aW9uIGNoZWNrQ29sb3JzKCkgeworICAgIGNoZWNrRGF0YShnbCwgIjNkIGNvbnRleHQiKTsK
KyAgICBjaGVja0RhdGEoY3R4MmQsICIyZCBjb250ZXh0Iik7CisgIH0KKworICB2YXIgdGFibGUg
PSBbMSwgMiwgNCwgOF07CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0YWJsZS5sZW5ndGg7ICsr
aWkpIHsKKyAgICBnbC5waXhlbFN0b3JlaShnbC5QQUNLX0FMSUdOTUVOVCwgdGFibGVbaWldKTsK
KyAgICBjdHgyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCIyZDAiICsgaWkpLmdldENvbnRl
eHQoIjJkIik7CisgICAgY3R4MmQuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknOwor
ICAgIGN0eDJkLmRyYXdJbWFnZShjYW52YXMzZCwgMCwgMCk7CisgICAgY2hlY2tDb2xvcnMoKTsK
KyAgICBhc3NlcnRNc2coZ2wuZ2V0UGFyYW1ldGVyKGdsLlBBQ0tfQUxJR05NRU5UKSA9PSB0YWJs
ZVtpaV0sCisgICAgICAgICJQQUNLX0FMSUdOTUVOVCBpcyAiICsgdGFibGVbaWldKTsKKyAgfQor
fQorCitpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29u
Zm9ybWFuY2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI0MTg1YjVkMmIxNTNmMWQ5NDlmNWRmNDdjYTM2ZmRhZTU2MWU1ODAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbApAQCAt
MCwwICsxLDE1NyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgT3JpZ2luIFJlc3RyaWN0aW9ucyBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0
YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJp
Y3QiOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5z
IHRoZSBsYXN0IDIgd29yZHMgb2YgdGhlIGRvbWFpbiBvZiBhIFVSTAorLy8gVGhpcyBpcyBwcm9i
YWJseSBub3QgdGhlIGNvcnJlY3QgY2hlY2sgYnV0IGl0IHdpbGwgZG8gZm9yIG5vdy4KK2Z1bmN0
aW9uIGdldEJhc2VEb21haW4oc3RyKSB7CisgIHN0ciA9IHN0ci5yZXBsYWNlKCJcXCIsICIvIik7
CisgIHZhciBwb3MgPSBzdHIuaW5kZXhPZigiOi8vIik7CisgIGlmIChwb3MgPj0gMCkgeworICAg
IHN0ciA9IHN0ci5zdWJzdHIocG9zICsgMyk7CisgIH0KKyAgdmFyIHBhcnRzID0gc3RyLnNwbGl0
KCcvJyk7CisgIHZhciBkb21haW4gPSBwYXJ0c1swXS5tYXRjaCgvXHcrXC5cdyskLyk7CisgIHJl
dHVybiBkb21haW4gfHwgJyc7Cit9CisKKy8vIENoZWNrcyBpZiBmdW5jdGlvbiB0aHJvd3MgYW4g
ZXhjZXB0aW9uLgorZnVuY3Rpb24gY2F1c2VkRXhjZXB0aW9uKGZ1bmMpIHsKKyAgdmFyIGhhZEV4
Y2VwdGlvbiA9IGZhbHNlOworICB0cnkgeworICAgIGZ1bmMoKTsKKyAgfSBjYXRjaChlKSB7Cisg
ICAgaGFkRXhjZXB0aW9uID0gdHJ1ZTsKKyAgfQorICByZXR1cm4gaGFkRXhjZXB0aW9uOworfQor
Cit2YXIgaW1nRG9tYWluOwordmFyIHBhZ2VEb21haW47Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
OworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CisgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgZW5zdXJlcyBXZWJHTCBpbXBsZW1lbnRhdGlvbnMgZm9sbG93IHByb3BlciBzYW1lLW9yaWdp
biByZXN0cmljdGlvbnMuIik7CisgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aW1nIik7CisgIGFzc2VydE1zZyhpbWcud2lkdGggPiAwICYmIGltZy5oZWlnaHQgPiAwLCAiaW1n
IHdhcyBsb2FkZWQiKTsKKyAgaW1nRG9tYWluID0gZ2V0QmFzZURvbWFpbihpbWcuc3JjKTsKKyAg
cGFnZURvbWFpbiA9IGdldEJhc2VEb21haW4od2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkpOwor
ICBhc3NlcnRNc2coaW1nRG9tYWluICE9IHBhZ2VEb21haW4sCisgICAgICAgICAgICAiaW1nIGRv
bWFpbiAoIiArIGltZ0RvbWFpbiArICIpIGFuZCBwYWdlIGRvbWFpbiAoIiArIHBhZ2VEb21haW4g
KyAiKSBhcmUgbm90IHRoZSBzYW1lLiIpOworCisgIGZ1bmN0aW9uIG1ha2VUZXhJbWFnZTJEKGds
LCBzcmMpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICBnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHNyYyk7
CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VUZXhTdWJJbWFnZTJEKGdsLCBzcmMpIHsK
KyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHNyYyk7CisgICAgfTsK
KyAgfQorCisgIGZ1bmN0aW9uIG1ha2VSZWFkUGl4ZWxzKGdsKSB7CisgICAgcmV0dXJuIGZ1bmN0
aW9uKCkgeworICAgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KDQpOworICAgICAgZ2wucmVh
ZFBpeGVscygwLCAwLCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAg
IH07CisgIH0KKworICBmdW5jdGlvbiBtYWtlVG9EYXRhVVJMKGNhbnZhcykgeworICAgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBkYXRhID0gY2FudmFzLnRvRGF0YVVSTCgpOworICAg
IH0KKyAgfQorCisgIHZhciBjYW52YXMxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
czEiKTsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMxKTsKKworICBkZWJ1
ZygiIik7CisgIGRlYnVnKCJjaGVjayB0aGF0IGFuIGF0dGVtcHQgdG8gdXBsb2FkIGFuIGltYWdl
IGZyb20gYW5vdGhlciBvcmlnaW4gdGhyb3dzIGFuIGV4Y2VwdGlvbi4iKTsKKyAgdmFyIHRleCA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4
KTsKKyAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAyNTYsIDI1Niwg
MCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgIGFzc2VydE1zZyhjYXVzZWRF
eGNlcHRpb24obWFrZVRleEltYWdlMkQoZ2wsIGltZykpLAorICAgICAgICAgICAgInRleEltYWdl
MkQgd2l0aCBjcm9zcy1vcmlnaW4gaW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iKTsKKyAg
YXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlVGV4U3ViSW1hZ2UyRChnbCwgaW1nKSksCisg
ICAgICAgICAgICAidGV4U3ViSW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdpbiBpbWFnZSBzaG91bGQg
dGhyb3cgZXhjZXB0aW9uLiIpOworCisgIGRlYnVnKCJjaGVjayB0aGF0IHJlYWRQaXhlbHMgYW5k
IHRvRGF0YVVSTCBjb250aW51ZSB0byB3b3JrIGFnYWluc3QgdGhpcyBjYW52YXMuIik7CisgIGFz
c2VydE1zZyghY2F1c2VkRXhjZXB0aW9uKG1ha2VSZWFkUGl4ZWxzKGdsKSksCisgICAgICAgICAg
ICAicmVhZFBpeGVscyBzaG91bGQgbmV2ZXIgdGhyb3cgZXhjZXB0aW9uIC0tIG5vdCBwb3NzaWJs
ZSB0byBkaXJ0eSBvcmlnaW4gb2YgV2ViR0wgY2FudmFzLiIpOworICBhc3NlcnRNc2coIWNhdXNl
ZEV4Y2VwdGlvbihtYWtlVG9EYXRhVVJMKGNhbnZhczEpKSwKKyAgICAgICAgICAgICJzaG91bGQg
bm90IHRocm93IGV4Y2VwdGlvbiBieSB0b0RhdGFVUkwgZm9yIFdlYkdMIGNhbnZhcywgd2hpY2gg
c2hvdWxkIHN0YXkgb3JpZ2luIGNsZWFuLiIpOworCisgIGRlYnVnKCJjaGVjayB0aGF0IGFuIGF0
dGVtcHQgdG8gdXBsb2FkIGEgdGFpbnRlZCBjYW52YXMgdGhyb3dzIGFuIGV4Y2VwdGlvbi4iKTsK
KyAgdmFyIGNhbnZhczIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMiIpOworICB2
YXIgY3R4MmQgPSBjYW52YXMyLmdldENvbnRleHQoIjJkIik7CisgIGN0eDJkLmRyYXdJbWFnZShp
bWcsIDAsIDApOworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1ha2VUb0RhdGFVUkwoY2Fu
dmFzMikpLAorICAgICAgICAgICAgInNob3VsZCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJM
IGZvciBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcy4iKTsKKyAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2Vw
dGlvbihtYWtlVGV4SW1hZ2UyRChnbCwgY2FudmFzMikpLAorICAgICAgICAgICAgInRleEltYWdl
MkQgd2l0aCBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIp
OworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1ha2VUZXhTdWJJbWFnZTJEKGdsLCBjYW52
YXMyKSksCisgICAgICAgICAgICAidGV4U3ViSW1hZ2UyRCB3aXRoIE5PTiBvcmlnaW4gY2xlYW4g
Y2FudmFzIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIik7CisKKyAgZGVidWcoImNoZWNrIHRoYXQg
cmVhZFBpeGVscyBhbmQgdG9EYXRhVVJMIGNvbnRpbnVlIHRvIHdvcmsgYWdhaW5zdCB0aGlzIGNh
bnZhcy4iKTsKKyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRpb24obWFrZVJlYWRQaXhlbHMoZ2wp
KSwKKyAgICAgICAgICAgICJyZWFkUGl4ZWxzIHNob3VsZCBuZXZlciB0aHJvdyBleGNlcHRpb24g
LS0gbm90IHBvc3NpYmxlIHRvIGRpcnR5IG9yaWdpbiBvZiBXZWJHTCBjYW52YXMuIik7CisgIGFz
c2VydE1zZyghY2F1c2VkRXhjZXB0aW9uKG1ha2VUb0RhdGFVUkwoY2FudmFzMSkpLAorICAgICAg
ICAgICAgInNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3IgV2ViR0wg
Y2FudmFzLCB3aGljaCBzaG91bGQgc3RheSBvcmlnaW4gY2xlYW4uIik7CisKKyAgLy8gVE9ETzog
U2hvdWxkIGNoZWNrIHZpZGVvLgorICAvLyBUT0RPOiBTaG91bGQgY2hlY2sgQ09SUyBzdXBwb3J0
LgorCisgIGRlYnVnKCIiKTsKKyAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgc2hvdWxk
QmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJzZWQiKTsKKyAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNz
PSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOworICBub3RpZnlGaW5pc2hlZFRvSGFybmVz
cygpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzMSI+
PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXMyIj48L2NhbnZhcz4KKzxpbWcgaWQ9ImltZyIg
c3JjPSJodHRwOi8vd3d3Lm9wZW5nbC5vcmcvaW1nL29wZW5nbF9sb2dvLmpwZyIgc3R5bGU9ImRp
c3BsYXk6bm9uZTsiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40ODkwOGQ4ZDc5ZTlmM2UwYTZmOGFlZDQzMzgwZTliOTkyNWVkM2I0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtcmdiNTY1Lmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1
c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVl
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdC
IiwgIlVOU0lHTkVEX1NIT1JUXzVfNl81IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9
ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmZDM4ZWQzNTA1YzcyNzBm
MjA4YTY1ZTQzODhmZDg4ZmU0YWE0MmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAg
KzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0
ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNF80
XzRfNCIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIi
IGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1
NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lOTBhMzhhMDY2MDA0YTRhNGUzMjAxNWE1MTllN2RkODcwYzY4
YTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7Cisg
ICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2Vu
ZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzVfNV81XzEiLCB0ZXN0UHJvbG9ndWUp
KCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZh
cz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODUyMzJiMWYzMDdkZTlhZDI0
ZTcwM2YxMzY2NzA5ZTIxMjU0ZjYxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKQEAgLTAsMCArMSw0OSBAQAor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1
ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9CWVRFIiwgdGVzdFByb2xvZ3Vl
KSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52
YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1MDI1
YjE4NWQ0YTQwMmRlMTNkMTExNzRiMjU1NmE0NmU0M2EyNWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1s
CkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1
bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCIiwgIlVOU0lHTkVEX1NI
T1JUXzVfNl81IiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTQ0NDQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1h
Z2UtcmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzMzYjQ4MmQ4MzkxNDhiOGUzZjMzOTRlOGY3
MjJkYTU5OGZjYTU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShn
bCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9TSE9SVF80XzRfNF80IiwgIi4uIiwg
dGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0
PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMDQwNTU0YzUxNTMwOGM2MWJmYzVkOGNmYmQ2ZDM1OTg5MjM3Mzg5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0
cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgi
UkdCQSIsICJVTlNJR05FRF9TSE9SVF81XzVfNV8xIiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgpJz4K
KzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGYyZDU1ZDM0OWIwYjMyZTdjZWJiNDMz
ZTlmNmRmM2M2NWY4M2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKwor
LyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiog
UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz
b24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0
aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo
LAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBN
YXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxz
IGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJz
dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMg
QVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBF
WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFN
QUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F
Q1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT
IElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgewor
ICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dl
bmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9CWVRFIiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgp
Jz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhYzExZTI2
OTZjMmIzNGE1OTlmYzdhZGVmNjNmYzljZmY5NDJmYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCkBA
IC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKwor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0
aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCIiwgIlVOU0lHTkVEX1NIT1JU
XzVfNl81IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIz
MiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0
NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYTkxMWFhMDM3NmNlZmQ5NWJhN2U2MDY3YTE0OWQ0Y2JhNjc4
NmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAg
IHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVy
YXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9TSE9SVF80XzRfNF80IiwgdGVzdFByb2xvZ3VlKSgp
Jz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yN2Vm
NjJmZjdkOGZiYzFkNmM3ZDkyZDkyZjI2ZDU2OTI3N2VhZTUwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5o
dG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
K2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05F
RF9TSE9SVF81XzVfNV8xIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42NWM0YTdmNTM0YjY5YmZiOWZkOGUyNGE3M2Q0MDMzNTA0ZjY5MDlhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJV
TlNJR05FRF9CWVRFIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdp
ZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1hY3RpdmUtYmluZC0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk5NjIyMTVjOGFjMjVmNGI2ODNhYTg3
NGYzZGQxNzFjNjczZGEwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0
aXZlLWJpbmQtMi5odG1sCkBAIC0wLDAgKzEsMTkyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZT5XZWJHTCBBY3RpdmVUZXh0dXJlIEJpbmRU
ZXh0dXJlIGNvbmZvcm1hbmNlIHRlc3QgIzI8L3RpdGxlPgorICAgIDxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9
IjIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8Y2FudmFz
IGlkPSJjYW52YXMyZCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgc3R5bGU9IndpZHRoOiA0MHB4OyBo
ZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFk
ZXIveC12ZXJ0ZXgiPgordW5pZm9ybSBtYXQ0IHdvcmxkOworYXR0cmlidXRlIHZlYzMgdlBvc2l0
aW9uOworYXR0cmlidXRlIHZlYzIgdGV4Q29vcmQwOwordmFyeWluZyB2ZWMyIHRleENvb3JkOwor
dm9pZCBtYWluKCkKK3sKKyAgZ2xfUG9zaXRpb24gPSB3b3JsZCAqIHZlYzQodlBvc2l0aW9uLCAx
KTsKKyAgdGV4Q29vcmQgPSB0ZXhDb29yZDA7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZz
aGFkZXIyZCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKKwordW5pZm9ybSBzYW1wbGVyMkQgdGV4MmQ7Cit2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7
Cit2b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlMkQodGV4MmQsIHRleENv
b3JkKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlckN1YmUiIHR5cGU9Ingtc2hh
ZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2Ft
cGxlckN1YmUgdGV4Q3ViZTsKK3ZvaWQgbWFpbigpCit7CisgIGdsX0ZyYWdDb2xvciA9IHRleHR1
cmVDdWJlKHRleEN1YmUsIHZlYzMoMCwxLDApKTsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0Pgor
InVzZSBzdHJpY3QiOworZnVuY3Rpb24gaW5pdCgpCit7CisgIGRlc2NyaXB0aW9uKAorICAgICAg
IlRlc3RzIHRoYXQgYmluZGluZyBib3RoIFRFWFRVUkVfMkQgYW5kIFRFWFRVUkVfQ1VCRV9NQVAg
dG8gdGhlIHNhbWUiICsKKyAgICAgICJhY3RpdmUgdGV4dHVyZSB1bml0IHdvcmtzIGFzIGxvbmcg
YXMgdGhleSBhcmUgbm90IHVzZWQiICsKKyAgICAgICJzaW11bHRhbmVvdXNseSBpbiB0aGUgc2Ft
ZSBzaGFkZXIgcHJvZ3JhbS4iKTsKKworICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2FudmFzMmQiKTsKKyAgdmFyIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgi
MmQiKTsKKyAgY3R4MmQuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gImNvcHkiOworCisgIHZh
ciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgi
ZXhhbXBsZSIpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oCisgICAgICBnbCwg
WyJ2c2hhZGVyIiwgImZzaGFkZXIyZCJdLCBbInZQb3NpdGlvbiIsICJ0ZXhDb29yZDAiXSk7CisK
KyAgdmFyIHByb2dyYW0yZCA9IHByb2dyYW07CisgIHZhciBwcm9ncmFtQ3ViZSA9IHd0dS5zZXR1
cFByb2dyYW0oCisgICAgICBnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXJDdWJlIl0sIFsidlBvc2l0
aW9uIiwgInRleENvb3JkMCJdKTsKKworICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVm
ZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOwor
ICBnbC5idWZmZXJEYXRhKAorICAgICAgZ2wuQVJSQVlfQlVGRkVSLAorICAgICAgbmV3IEZsb2F0
MzJBcnJheShbLTEsIDEsMCwgMSwxLDAsIC0xLC0xLDAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAtMSwtMSwwLCAxLDEsMCwgIDEsLTEsMF0pLAorICAgICAgZ2wuU1RBVElDX0RSQVcpOworICBn
bC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigw
LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5j
cmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9i
amVjdCk7CisgIGdsLmJ1ZmZlckRhdGEoCisgICAgICBnbC5BUlJBWV9CVUZGRVIsCisgICAgICBu
ZXcgRmxvYXQzMkFycmF5KFsgMCwwLCAxLDAsIDAsMSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAwLDEsIDEsMCwgMSwxXSksCisgICAgICBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLmVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KDEpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDIsIGdsLkZM
T0FULCBmYWxzZSwgMCwgMCk7CisKKyAgLy8gTWFrZSB0ZXh0dXJlIHVuaXQgMSBhY3RpdmUuCisg
IGdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTEpOworCisgIC8vIE1ha2UgYSAyZCB0ZXh0dXJl
CisgIHZhciB0ZXgyZCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wu
VEVYVFVSRV8yRCwgdGV4MmQpOworICBjdHgyZC5maWxsU3R5bGUgPSAicmdiYSgwLCAwLCAyNTUs
IDI1NSkiOworICBjdHgyZC5maWxsUmVjdCgwLCAwLCAxLCAxKTsKKyAgZ2wudGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52
YXMyZCk7CisKKyAgLy8gbWFrZSBhIGN1YmUgdGV4dHVyZQorICB2YXIgdGV4Q3ViZSA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4
Q3ViZSk7CisgIGN0eDJkLmZpbGxTdHlsZSA9ICJyZ2JhKDI1NSwgMCwgMjU1LCAyNTUpIjsKKyAg
Y3R4MmQuZmlsbFJlY3QoMCwgMCwgMSwgMSk7CisgIHZhciB0YXJnZXRzID0gWworICAgIGdsLlRF
WFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FU
SVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZF
X1osCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aXTsKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IHRhcmdldHMubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wudGV4SW1hZ2UyRCh0YXJn
ZXRzW2lpXSwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzMmQp
OworICB9CisKKyAgLy8gU2V0dXAgcHJvZ3JhbTJkIGFuZCBwcm9ncmFtQ3ViZQorICB2YXIgdGV4
MmRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbTJkLCAidGV4MmQiKTsKKyAgdmFy
IHdvcmxkMmRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbTJkLCAid29ybGQiKTsK
KyAgdmFyIHRleEN1YmVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbUN1YmUsICJ0
ZXhDdWJlIik7CisgIHZhciB3b3JsZEN1YmVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJv
Z3JhbUN1YmUsICJ3b3JsZCIpOworCisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbTJkKTsKKyAgZ2wu
dW5pZm9ybTFpKHRleDJkTG9jLCAxKTsKKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtQ3ViZSk7Cisg
IGdsLnVuaWZvcm0xaSh0ZXhDdWJlTG9jLCAxKTsKKworICBnbC5jbGVhckNvbG9yKDEsMCwwLDEp
OworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7
CisKKyAgdmFyIHByb2dyYW1zID0gW3Byb2dyYW0yZCwgcHJvZ3JhbUN1YmVdOworICB2YXIgd29y
bGRMb2NzID0gW3dvcmxkMmRMb2MsIHdvcmxkQ3ViZUxvY107CisgIGZvciAodmFyIGlpID0gMDsg
aWkgPCA0OyArK2lpKSB7CisgICAgdmFyIHggPSBpaSAlIDI7CisgICAgdmFyIHkgPSBNYXRoLmZs
b29yKGlpIC8gMik7CisgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtc1t4XSk7CisgICAgZ2wudW5p
Zm9ybU1hdHJpeDRmdigKKyAgICAgICAgd29ybGRMb2NzW3hdLCBmYWxzZSwKKyAgICAgICAgWzAu
NSwgMCwgMCwgMCwKKyAgICAgICAgIDAsIDAuNSwgMCwgMCwKKyAgICAgICAgIDAsIDAsIDEsIDAs
CisgICAgICAgICAtMC41ICsgeCwgLTAuNSArIHksIDAsIDFdKTsKKyAgICBnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMCwgNik7CisgIH0KKworICB2YXIgY29sb3JzID0gWworICAgICAgWzAs
MCwyNTUsMjU1XSwKKyAgICAgIFsyNTUsMCwyNTUsMjU1XSwKKyAgICAgIFswLDAsMjU1LDI1NV0s
CisgICAgICBbMjU1LDAsMjU1LDI1NV1dOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBjb2xv
cnMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIGMgPSBjb2xvcnNbaWldOworICAgIHZhciB4ID0g
aWkgJSAyOworICAgIHZhciB5ID0gTWF0aC5mbG9vcihpaSAvIDIpOworICAgIHd0dS5jaGVja0Nh
bnZhc1JlY3QoZ2wsIHgsIHksIDEsIDEsIGMpOworICB9Cit9CisKK2luaXQoKTsKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViOWE3OTIxNTQ4NGE1YjlkMDhl
YzgyZGJkYzViMTkzNmI5ZjIzYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LWFjdGl2ZS1iaW5kLmh0bWwKQEAgLTAsMCArMSwxNTcgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEFjdGl2ZVRleHR1cmUgQmluZFRleHR1
cmUgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2Fu
dmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBzdHlsZT0id2lkdGg6IDQwcHg7
IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iY2FudmFzMmQiIHdpZHRoPSIx
IiBoZWlnaHQ9IjEiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK3VuaWZvcm0g
bWF0NCB3b3JsZDsKK2F0dHJpYnV0ZSB2ZWMzIHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWMyIHRl
eENvb3JkMDsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgIGdsX1Bv
c2l0aW9uID0gd29ybGQgKiB2ZWM0KHZQb3NpdGlvbiwgMSk7CisgIHRleENvb3JkID0gdGV4Q29v
cmQwOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIGdsOworCitm
dW5jdGlvbiBpbml0KCkKK3sKKyAgZGVzY3JpcHRpb24oCisgICAgICAiVGVzdHMgdGhhdCBnbEFj
dGl2ZVRleHR1cmUgYW5kIGdsQmluZFRleHR1cmUgd29yayBhcyBleHBlY3RlZCIgKworICAgICAg
IlNwZWNpZmljYWxseSB0ZXh0dXJlIHRhcmdldHMgYXJlIHBlciBhY3RpdmUgdGV4dHVyZSB1bml0
LiIpOworCisgIHZhciBjYW52YXMyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMy
ZCIpOworICB2YXIgY3R4MmQgPSBjYW52YXMyZC5nZXRDb250ZXh0KCIyZCIpOworCisgIHZhciB3
dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxl
Iik7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICAgIGdsLAorICAgICAg
WyJ2c2hhZGVyIiwgd3R1LnNldHVwU2ltcGxlVGV4dHVyZUZyYWdtZW50U2hhZGVyKGdsKV0sCisg
ICAgICBbJ3ZQb3NpdGlvbicsICd0ZXhDb29yZDAnXSk7CisgIHd0dS5zZXR1cFVuaXRRdWFkKGds
KTsKKyAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKyAgZ2wuZGlzYWJsZShnbC5CTEVORCk7
CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIHZhciBjb2xvcnMgPSBb
CisgICAgICBbMCwxOTIsMTI4LDI1NV0sCisgICAgICBbMTI4LDY0LDI1NSwyNTVdLAorICAgICAg
WzE5MiwyNTUsNjQsMjU1XSwKKyAgICAgIFsyMDAsMCwyNTUsMjU1XV07CisKKyAgLy8gTWFrZSA0
IHRleHR1cmVzIGJ5IHVzaW5nIDQgYWN0aXZlIHRleHR1cmUgdW5pdHMgaWYgYXZhaWxhYmxlLgor
ICB2YXIgdGV4dW5pdHMgPSBNYXRoLm1pbihjb2xvcnMubGVuZ3RoLCBnbC5nZXRQYXJhbWV0ZXIo
Z2wuTUFYX0NPTUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFMpKQorICB2YXIgdGV4dHVyZXMgPSBb
XTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRleHVuaXRzOyArK2lpKSB7CisgICAgdmFyIHRl
eCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUw
ICsgaWkpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgdGV4
dHVyZXNbaWldID0gdGV4OworICB9CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OworCisgIC8vIG5vdyB1c2UgZWFjaCB0ZXh0dXJlIHVuaXQgdG8gd3JpdGUgaW50byB0aGUgdGV4
dHVyZXMsCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXh1bml0czsgKytpaSkgeworICAgIHZh
ciBjID0gY29sb3JzW2lpXTsKKyAgICBjdHgyZC5maWxsU3R5bGUgPQorICAgICAgICAicmdiYSgi
ICsgY1swXSArICIsIiArIGNbMV0gKyAiLCIgKyBjWzJdICsgIiwiICsgY1szXSArICIpIjsKKyAg
ICBjdHgyZC5maWxsUmVjdCgwLCAwLCAxLCAxKTsKKyAgICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRF
WFRVUkUwICsgaWkpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzMmQpOworICB9CisgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIHZhciB0ZXh0dXJlTG9jID0gZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKyAgdmFyIHdvcmxkTG9jID0gZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHByb2dyYW0sICJ3b3JsZCIpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SKTsKKworICBnbC5jbGVhckNvbG9yKDEsMCwwLDEpOworICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IHRleHVuaXRzOyArK2lpKSB7CisgICAgdmFyIHggPSBpaSAlIDI7CisgICAgdmFy
IHkgPSBNYXRoLmZsb29yKGlpIC8gMik7CisgICAgZ2wudW5pZm9ybTFpKHRleHR1cmVMb2MsIGlp
KTsKKyAgICBnbC51bmlmb3JtTWF0cml4NGZ2KAorICAgICAgICB3b3JsZExvYywgZmFsc2UsCisg
ICAgICAgIFswLjUsIDAsIDAsIDAsCisgICAgICAgICAwLCAwLjUsIDAsIDAsCisgICAgICAgICAw
LCAwLCAxLCAwLAorICAgICAgICAgLTAuNSArIHgsIC0wLjUgKyB5LCAwLCAxXSk7CisgICAgZ2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICB9CisgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IpOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXh1bml0czsgKytp
aSkgeworICAgIHZhciBjID0gY29sb3JzW2lpXTsKKyAgICB2YXIgeCA9IGlpICUgMjsKKyAgICB2
YXIgeSA9IE1hdGguZmxvb3IoaWkgLyAyKTsKKyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXko
NCk7CisgICAgZ2wucmVhZFBpeGVscyh4LCB5LCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLCBidWYpOworICAgIHZhciBtc2cgPSAnZXhwZWN0ZWQ6JyArCisgICAgICAgIGNbMF0gKyAn
LCAnICsgY1sxXSArICcsICcgKyBjWzJdICsgJywgJyArIGNbM10gKyAnIGZvdW5kOiAnICsKKyAg
ICAgICAgYnVmWzBdICsgJywgJyArCisgICAgICAgIGJ1ZlsxXSArICcsICcgKworICAgICAgICBi
dWZbMl0gKyAnLCAnICsKKyAgICAgICAgYnVmWzNdOworICAgIGlmIChidWZbMF0gIT0gY1swXSB8
fAorICAgICAgICBidWZbMV0gIT0gY1sxXSB8fAorICAgICAgICBidWZbMl0gIT0gY1syXSB8fAor
ICAgICAgICBidWZbM10gIT0gY1szXSkKKyAgICAgIHRlc3RGYWlsZWQobXNnKTsKKyAgICBlbHNl
CisgICAgICB0ZXN0UGFzc2VkKG1zZyk7CisgIH0KK30KKworaW5pdCgpOwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1t
aXBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFkMmU2ZmE5NWU0NjZlZjVhOGEyMWI1OWY4ODEzMjA1Mjc1
Y2U0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sCkBAIC0w
LDAgKzEsMzE5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCB0ZXh0dXJlIG1pcHMgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIy
IiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlk
PSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+Cit1bmlmb3JtIHZlYzQgdU11bHQ7
CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CithdHRyaWJ1dGUgdmVjMiB0ZXhDb29yZDA7Cit2
YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0g
dlBvc2l0aW9uICogdU11bHQ7CisgICAgdGV4Q29vcmQgPSB0ZXhDb29yZDA7Cit9Cis8L3Njcmlw
dD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+Citw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gc2FtcGxlcjJEIHRleDsKK3Zhcnlpbmcg
dmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVy
ZTJEKHRleCwgdGV4Q29vcmQpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3Qi
OwordmFyIGNhbnZhczsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Z1bmN0aW9uIGluaXQo
KQoreworICBkZXNjcmlwdGlvbigiQ2hlY2tzIG1pcCBpc3N1ZXMiKTsKKworICBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOworICBzaG91bGRCZSgiY2FudmFzLndp
ZHRoIiwgIjIiKTsKKyAgc2hvdWxkQmUoImNhbnZhcy5oZWlnaHQiLCAiMiIpOworCisgIHZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKworICB2YXIgdGV4ID0gZ2wuY3JlYXRl
VGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICBnbC5n
ZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwgImZvciBnZW5lcmF0ZU1pcG1hcCB3aXRoIG1pcCAwIGlzIDB4MCIp
OworICBnbC50ZXhJbWFnZTJEKAorICAgICAgZ2wuVEVYVFVSRV8yRCwgMSwgZ2wuUkdCQSwgMSwg
MSwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgIG5ldyBVaW50OEFycmF5KDQp
KTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7CisgIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3IgZ2VuZXJhdGVNaXBtYXAgd2l0aCBtaXAg
MCBpcyAweDAiKTsKKworICB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRleCk7CisgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRF
WFRVUkVfQ1VCRV9NQVApOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFU
SU9OLCAiZm9yIGdlbmVyYXRlTWlwbWFwIHdpdGggbWlwIDAgaXMgMHgwIik7CisKKyAgdmFyIGZh
Y2VzID0gWworICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhU
VVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElW
RV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9a
CisgIF07CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBmYWNlcy5sZW5ndGg7ICsraWkpIHsKKyAg
ICBnbC50ZXhJbWFnZTJEKAorICAgICAgICBmYWNlc1tpaV0sIDAsIGdsLlJHQkEsIDIsIDIsIDAs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgIG5ldyBVaW50OEFycmF5KDQgKiAy
ICogMikpOworICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfQ1VCRV9NQVApOworICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgaWkgPT0gNSA/IGdsLk5PX0VSUk9SIDogZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICJmb3IgZ2VuZXJhdGVNaXBtYXAgd2l0aCAiICsgKGlpICsgMSkgKyAiIGZhY2Vz
Iik7CisgIH0KKworICB3dHUuc2V0dXBVbml0UXVhZChnbCwgMCwgMSk7CisgIHZhciBwcm9ncmFt
ID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICAgIGdsLCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBb
J3ZQb3NpdGlvbicsICd0ZXhDb29yZDAnXSwgWzAsIDFdKTsKKworICBnbC5kaXNhYmxlKGdsLkRF
UFRIX1RFU1QpOworICBnbC5kaXNhYmxlKGdsLkJMRU5EKTsKKworICB2YXIgY29sb3JzID0gewor
ICAgIGJsdWU6IFswLCAwLCAyNTUsIDI1NV0sCisgICAgcmVkOiBbMjU1LCAwLCAwLCAyNTVdLAor
ICAgIGdyZWVuOiAgWzAsIDI1NSwgMCwgMjU1XSwKKyAgICBjeWFuOiBbMTI4LCAyNTUsIDI1NSwg
MjU1XSwKKyAgICBibGFjazogWzAsIDAsIDAsIDI1NV0sCisgICAgYmxhbms6IFswLCAwLCAwLCAw
XQorICB9OworCisgIHZhciBtaXBzID0gWworICBdOworCisgIHZhciB0ZXhMb2MgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOworICBnbC51bmlmb3JtMWkodGV4TG9jLCAw
KTsKKyAgdmFyIG11bHRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVNdWx0
Iik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorICB2YXIgY2xlYXJUZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGdsLnVuaWZvcm00
ZihtdWx0TG9jLCAxLCAxLCAxLCAxKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwg
Y2xlYXJUZXgpOworICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE2
LCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgIGRlYnVnKCdnbC50
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE2LCAxNiwgMCwgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwgbnVsbCk7Jyk7CisgIHNldE1pcERhdGEoMCwgMTYsICdibGFuaycp
OworICBtYWtlRGl2TWlwQ2hhaW4oKTsKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKyAgY2hlY2soJ2Js
YW5rJywgInRleHR1cmUgY3JlYXRlZCB3aXRoIG51bGwgdGhhdCBoYXMgYWxsIG1pcHMiKTsKKwor
ICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CisgIHZhciB0ZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAx
LCAxLCAxLCAxKTsKKworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAv
LyAxNngxNiB0ZXh0dXJlIG5vIG1pcHMKKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdjeWFuJyk7
CisKKyAgY2hlY2soJ2JsYWNrJywKKyAgICAgICAgInRleHR1cmUgdGhhdCBpcyBtaXNzaW5nIG1p
cHMgd2hlbiBURVhUVVJFX01JTl9GSUxURVIgbm90IE5FQVJFU1Qgb3IgTElORUFSIik7CisKKyAg
Z2VuZXJhdGVNaXBtYXAoKTsKKworICBjaGVjaygnY3lhbicsICJ0ZXh0dXJlIHRoYXQgaGFzIGFs
bCBtaXBzIik7CisKKyAgLy8gRmlsbCBpbiB0aGUgYm90dG9tIDIgbWlwcyB3aXRoIGEgZGlmZmVy
ZW50IGNvbG9yLgorICBmaWxsTGV2ZWwodGV4LCA0LCAxLCAnZ3JlZW4nKTsKKyAgZmlsbExldmVs
KHRleCwgMywgMiwgJ2dyZWVuJyk7CisKKyAgLy8gQ2hvb3NlIHRoZSBuZWFyZXN0IG1pcAorICB0
ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElO
RUFSX01JUE1BUF9ORUFSRVNUKTsKKworICBjaGVjaygnZ3JlZW4nLCAidGV4dHVyZSB0aGF0IGlz
IG9ubHkgdXNpbmcgdGhlIHNtYWxsZXN0IDIgbWlwcyIpOworCisgIGdsLnVuaWZvcm00ZihtdWx0
TG9jLCAxNiwgMTYsIDEsIDEpOworCisgIGNoZWNrKCdjeWFuJywgInRleHR1cmUgdGhhdCBpcyB1
c2luZyBvbmx5IHRoZSBsYXJnZXN0IDIgbWlwcyIpOworCisgIC8vIFNldCB0aGUgdG9wIGxldmVs
CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDEsICdyZWQnKTsKKyAgY2hlY2soJ3JlZCcsCisgICAgICAg
ICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0aGUgdG9wIGxldmVsIGV2ZW4gdGhvdWdoIG90
aGVyIGxldmVscyBhcmUgZGVmaW5lZCIpOworCisgIC8vIFNldCB0aGUgdG9wIDIgbGV2ZWxzIHVz
aW5nIGdlbmVyYXRlTWlwbWFwCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDIsICdibHVlJyk7CisgIGdl
bmVyYXRlTWlwbWFwKCk7CisKKyAgY2hlY2soJ2JsdWUnLAorICAgICAgICAidGV4dHVyZSB0aGF0
IGlzIG9ubHkgdXNpbmcgdGhlIHRvcCAyIGxldmVscyBldmVuIHRob3VnaCBvdGhlciBsZXZlbHMg
YXJlIGRlZmluZWQiKTsKKworICAvLyBTZXQgdGhlIHRvcCAyIGxldmVscyBiYWNrIHRvIHNpemVz
IHRoYXQgZW5kIHVwIHVzaW5nIGxldmVscyAyLCAzLCBhbmQgNCBhZ2Fpbi4KKyAgZmlsbExldmVs
KHRleCwgMCwgMTYsICdibHVlJyk7CisgIGZpbGxMZXZlbCh0ZXgsIDEsIDgsICdibHVlJyk7Cisg
IGNoZWNrKCdibHVlJywgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRoZSBsYXJnZXN0IDIg
bWlwcyIpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGNoZWNrKCdn
cmVlbicsICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0aGUgc21hbGxlc3QgMiBtaXBzIik7
CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorICB2YXIgdGV4ID0gY3JlYXRlVGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExv
YywgMSwgMSwgMSwgMSk7CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDgsICdjeWFuJyk7CisgIGdlbmVy
YXRlTWlwbWFwKCk7CisgIGNoZWNrKCdjeWFuJywgInRleHR1cmUgdGhhdCBoYXMgMyBtaXBzIik7
CisKKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdibHVlJyk7CisgIHRleFBhcmFtZXRlcmkoZ2wu
VEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICBjaGVjaygn
Ymx1ZScsICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0b3AgbWlwcyIpOworCisgIGZpbGxM
ZXZlbCh0ZXgsIDAsIDgsICdyZWQnKTsKKyAgdGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCk7CisgIGNoZWNr
KCdjeWFuJywgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHNtYWxsZXN0IG1pcHMiKTsKKwor
ICBnbC51bmlmb3JtNGYobXVsdExvYywgMTYsIDE2LCAxLCAxKTsKKyAgY2hlY2soJ3JlZCcsICJ0
ZXh0dXJlIHRoYXQgaXMgdXNpbmcgb25seSB0aGUgbGFyZ2VzdCBtaXAiKTsKKworICAvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIHZhciB0
ZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAxLCAxLCAxLCAx
KTsKKyAgZmlsbExldmVsKHRleCwgMiwgMSwgJ2dyZWVuJyk7CisgIGZpbGxMZXZlbCh0ZXgsIDEs
IDIsICdncmVlbicpOworICBmaWxsTGV2ZWwodGV4LCAwLCA0LCAnZ3JlZW4nKTsKKyAgY2hlY2so
J2dyZWVuJywgInRleHR1cmUgdGhhdCB3YXMgYnVpbHQgc21hbGxlc3QgbWlwIGZpcnN0Iik7CisK
KyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorICB2YXIgdGV4ID0gY3JlYXRlVGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExvYywg
MSwgMSwgMSwgMSk7CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2LCAncmVkJyk7CisgIGdlbmVyYXRl
TWlwbWFwKCk7CisgIGNoZWNrKCdyZWQnLCAidGV4dHVyZSB3aXRoIDEgZ2VubWlwbWFwcyIpOwor
ICBmaWxsTGV2ZWwodGV4LCAwLCAxNiwgJ2JsdWUnKTsKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKyAg
ZmlsbExldmVsKHRleCwgMCwgMTYsICdncmVlbicpOworICBnZW5lcmF0ZU1pcG1hcCgpOworICBj
aGVjaygnZ3JlZW4nLCAidGV4dHVyZSB3aXRoIDIgZ2VubWlwbWFwcyIpOworCisgIC8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBiZSBubyBlcnJvcnMuIik7CisKKyAg
ZnVuY3Rpb24gY3JlYXRlVGV4dHVyZSgpIHsKKyAgICBkZWJ1ZygiPGhyLz5nbC5jcmVhdGVUZXh0
dXJlKCkiKTsKKyAgICBtaXBzID0gW107CisgICAgbWFrZURpdk1pcENoYWluKCk7CisgICAgcmV0
dXJuIGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRleFBhcmFtZXRlcmko
dGFyZ2V0LCBwbmFtZSwgdmFsdWUpIHsKKyAgICBkZWJ1ZygiZ2wudGV4UGFyYW1ldGVyaSgiICsK
KyAgICAgICAgICB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRhcmdldCkgKyAiLCAiICsKKyAgICAg
ICAgICB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHBuYW1lKSArICIsICIgKworICAgICAgICAgIHd0
dS5nbEVudW1Ub1N0cmluZyhnbCwgdmFsdWUpICsgIikiKQorICAgIGdsLnRleFBhcmFtZXRlcmko
dGFyZ2V0LCBwbmFtZSwgdmFsdWUpOworICB9CisKKyAgZnVuY3Rpb24gZ2VuZXJhdGVNaXBtYXAo
KSB7CisgICAgZGVidWcoImdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpIik7CisgICAg
Z2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7CisgICAgdmFyIG1pcDAgPSBtaXBzWzBd
OworICAgIHZhciBzaXplID0gbWlwMC5zaXplOworICAgIHZhciBsZXZlbCA9IDE7CisgICAgZm9y
KDs7KSB7CisgICAgICBzaXplID0gTWF0aC5mbG9vcihzaXplIC8gMik7CisgICAgICBpZiAoIXNp
emUpIHsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBzZXRNaXBEYXRhKGxldmVsLCBz
aXplLCBtaXAwLmNvbG9yKTsKKyAgICAgICsrbGV2ZWw7CisgICAgfQorICAgIG1ha2VEaXZNaXBD
aGFpbigpOworICB9CisKKyAgZnVuY3Rpb24gY2hlY2soY29sb3IsIG1zZykgeworICAgIHd0dS5k
cmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBjb2xvcnNbY29sb3JdLCBtc2cg
KyAiIHNob3VsZCBkcmF3IHdpdGggIiArIGNvbG9yKTsKKyAgfQorCisgIGZ1bmN0aW9uIGZpbGxM
ZXZlbCh0ZXgsIGxldmVsLCBzaXplLCBjb2xvcikgeworICAgIHNldE1pcERhdGEobGV2ZWwsIHNp
emUsIGNvbG9yKTsKKyAgICBkZWJ1ZygiZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAiICsg
bGV2ZWwgKyAiLCBnbC5SR0JBLCAiICsgc2l6ZSArICIsICIgKyBzaXplICsKKyAgICAgICAgICAi
LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCAiICsgY29sb3IgKyAiKTsiKTsKKyAgICB3
dHUuZmlsbFRleHR1cmUoZ2wsIHRleCwgc2l6ZSwgc2l6ZSwgY29sb3JzW2NvbG9yXSwgbGV2ZWwp
OworICAgIG1ha2VEaXZNaXBDaGFpbigpOworICB9CisKKyAgZnVuY3Rpb24gc2V0TWlwRGF0YShs
ZXZlbCwgc2l6ZSwgY29sb3IpIHsKKyAgICBtaXBzW2xldmVsXSA9IHsKKyAgICAgIHNpemU6IHNp
emUsCisgICAgICBjb2xvcjogY29sb3IKKyAgICB9OworICB9CisKKyAgZnVuY3Rpb24gbWFrZURp
dk1pcENoYWluKGNvbG9yKSB7CisgICAgdmFyIGh0bWwgPSBbCisgICAgICAnPGRpdiBzdHlsZT0i
aGVpZ2h0OiA2OHB4OyBtYXJnaW4tdG9wOiA1cHgiPicsCisgICAgICAnPGRpdiBzdHlsZT0iZmxv
YXQ6bGVmdDsiPm1pcHM6IDwvZGl2PiddOworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCA1OyAr
K2lpKSB7CisgICAgICB2YXIgbWlwID0gbWlwc1tpaV07CisgICAgICBpZiAobWlwKSB7CisgICAg
ICAgIGh0bWwucHVzaChtYWtlRGl2U3F1YXJlKG1pcC5zaXplLCBtaXAuY29sb3IpKTsKKyAgICAg
IH0gZWxzZSB7CisgICAgICAgIGh0bWwucHVzaChtYWtlRGl2U3F1YXJlKDE2LCB1bmRlZmluZWQp
KTsKKyAgICAgIH0KKyAgICB9CisgICAgaHRtbC5wdXNoKCI8L2Rpdj4iKTsKKyAgICBkZWJ1Zyho
dG1sLmpvaW4oIiIpKTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VEaXZTcXVhcmUoc2l6ZSwgY29s
b3IpIHsKKyAgICBzaXplICo9IDQ7CisgICAgdmFyIGMgPSBjb2xvciA/IGNvbG9yc1tjb2xvcl0g
OiBbMjU1LDI1NSwyNTVdOworICAgIHZhciBib3JkZXIgPSBjb2xvciA/ICdzb2xpZCcgOiAnZGFz
aGVkJzsKKyAgICByZXR1cm4gJzxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOiAnICsgc2l6
ZSArICdweDsgaGVpZ2h0OiAnICsgc2l6ZSArCisgICAgICAgICAgICdweDsgYmFja2dyb3VuZC1j
b2xvcjogJyArIHJnYihjKSArCisgICAgICAgICAgICc7IGJvcmRlcjogMXB4ICcgKyBib3JkZXIg
KyAnIGJsYWNrOyBtYXJnaW4tcmlnaHQ6IDNweDsiPjwvZGl2Pic7CisgIH0KKworICBmdW5jdGlv
biByZ2IoYykgeworICAgIHJldHVybiAncmdiKCcgKyBjWzBdICsgJywnICsgY1sxXSArICcsJyAr
IGNbMl0gKycpJzsKKyAgfQorfQorCitpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVv
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWVmODNiNmZkODUxZTNjNzFiMjg3Y2UwODBjNWJkZjNlZGEyNzYz
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sCkBA
IC0wLDAgKzEsMTc5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2
YXIgZ2wgPSBudWxsOwordmFyIHRleHR1cmVMb2MgPSBudWxsOwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IGZhbHNlOworCitpbml0VGVzdGluZ0hhcm5lc3NXYWl0VW50aWxEb25lKCk7CisKK2Z1
bmN0aW9uIGluaXQoKQoreworICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkgbnBvdCB2aWRlbycpOwor
CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFtcGxlIik7Cisg
ICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisgICAgdmFyIHByb2dyYW0gPSB3
dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworCisgICAgZ2wuY2xlYXJDb2xvcigwLDAsMCwxKTsK
KyAgICBnbC5jbGVhckRlcHRoKDEpOworCisgICAgdGV4dHVyZUxvYyA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CisKKyAgICB2YXIgdmlkZW8gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidmlkIik7CisgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigKKyAgICAgICAg
InBsYXlpbmciLCBmdW5jdGlvbigpIHsgcnVuVGVzdCh2aWRlbyk7IH0sIHRydWUpOworICAgIHZp
ZGVvLmxvb3AgPSB0cnVlOworICAgIHZpZGVvLnBsYXkoKTsKK30KKworLy8gVGhlc2UgdHdvIGRl
Y2xhcmF0aW9ucyBuZWVkIHRvIGJlIGdsb2JhbCBmb3IgInNob3VsZEJlIiB0byBzZWUgdGhlbQor
dmFyIGJ1ZiA9IG51bGw7Cit2YXIgaWR4ID0gMDsKK3ZhciBwaXhlbCA9IFswLCAwLCAwXTsKK3Zh
ciBjb3JyZWN0Q29sb3IgPSBudWxsOwordmFyIHRleHR1cmU7CisKK2Z1bmN0aW9uIHJ1bk9uZUl0
ZXJhdGlvbih2aWRlb0VsZW1lbnQsIHVzZVRleFN1YkltYWdlMkQsIGZsaXBZLCB0b3BDb2xvciwg
Ym90dG9tQ29sb3IsIGJhZE1pbkZpbHRlciwgYmFkQ2xhbXAsIGdlbk1pcHMpCit7CisgICAgZGVi
dWcoJ1Rlc3RpbmcgJyArICh1c2VUZXhTdWJJbWFnZTJEID8gJ3RleFN1YkltYWdlMkQnIDogJ3Rl
eEltYWdlMkQnKSArCisgICAgICAgICAgJyB3aXRoIGZsaXBZPScgKyBmbGlwWSk7CisgICAgZ2wu
Y2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgIC8v
IERpc2FibGUgYW55IHdyaXRlcyB0byB0aGUgYWxwaGEgY2hhbm5lbAorICAgIGdsLmNvbG9yTWFz
aygxLCAxLCAxLCAwKTsKKyAgICBpZiAoIXRleHR1cmUpIHsKKyAgICAgICAgdGV4dHVyZSA9IGds
LmNyZWF0ZVRleHR1cmUoKTsKKyAgICB9CisgICAgLy8gQmluZCB0aGUgdGV4dHVyZSB0byB0ZXh0
dXJlIHVuaXQgMAorICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOwor
ICAgIC8vIFNldCB1cCBwaXhlbCBzdG9yZSBwYXJhbWV0ZXJzCisgICAgZ2wucGl4ZWxTdG9yZWko
Z2wuVU5QQUNLX0ZMSVBfWV9XRUJHTCwgZmxpcFkpOworICAgIC8vIFVwbG9hZCB0aGUgdmlkZW9F
bGVtZW50IGludG8gdGhlIHRleHR1cmUKKyAgICBkZWJ1Zygic2l6ZTogIiArIHZpZGVvRWxlbWVu
dC52aWRlb1dpZHRoICsgIngiICsgdmlkZW9FbGVtZW50LnZpZGVvSGVpZ2h0KTsKKyAgICBpZiAo
dXNlVGV4U3ViSW1hZ2UyRCkgeworICAgICAgICAvLyBJbml0aWFsaXplIHRoZSB0ZXh0dXJlIHRv
IGJsYWNrIGZpcnN0CisgICAgICAgIGRlYnVnKCJ1c2UgdGV4U3ViSW1hZ2UyRCIpOworICAgICAg
ICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsCisgICAgICAgICAgICAg
ICAgICAgICAgdmlkZW9FbGVtZW50LnZpZGVvV2lkdGgsIHZpZGVvRWxlbWVudC52aWRlb0hlaWdo
dCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBu
dWxsKTsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB2aWRlb0VsZW1lbnQpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIGRlYnVnKCJ1c2UgdGV4SW1hZ2UyRCIpOworICAgICAgICBnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVv
RWxlbWVudCk7CisgICAgfQorCisgICAgLy8gU2V0IHVwIHRleHR1cmUgcGFyYW1ldGVycworICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBn
bC5MSU5FQVIpOworICAgIGlmIChiYWRNaW5GaWx0ZXIpIHsKKyAgICAgICAgZGVidWcoImJhZCBt
aW4gZmlsdGVyIik7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wu
VEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVJfTUlQTUFQX05FQVJFU1QpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIGRlYnVnKCJnb29kIG1pbiBmaWx0ZXIiKTsKKyAgICAgICAgZ2wudGV4UGFy
YW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7
CisgICAgfQorICAgIGlmIChiYWRDbGFtcCkgeworICAgICAgICBkZWJ1ZygiYmFkIGNsYW1wIik7
CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQ
X1MsIGdsLlJFUEVBVCk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9XUkFQX1QsIGdsLlJFUEVBVCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVi
dWcoImdvb2QgY2xhbXAiKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJE
LCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgICAgIGdsLnRleFBh
cmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VE
R0UpOworICAgIH0KKyAgICBpZiAoZ2VuTWlwcykgeworICAgICAgICBkZWJ1ZygiZ2VuZXJhdGUg
bWlwcyIpOworICAgICAgICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKTsKKyAgICAg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInNob3VsZCBiZSBJ
TlZBTElEX09QRVJBVElPTiIpOworICAgIH0KKworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIG51bGwpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUp
OworCisvLyAgICB2YXIgYyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworLy8g
ICAgYy53aWR0aCA9IDE2OworLy8gICAgYy5oZWlnaHQgPSAxNjsKKy8vICAgIGMuc3R5bGUuYm9y
ZGVyID0gIjFweCBzb2xpZCBibGFjayI7CisvLyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCIy
ZCIpOworLy8gICAgY3R4LmRyYXdJbWFnZSh2aWRlb0VsZW1lbnQsIDAsIDAsIDE2LCAxNik7Cisv
LyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGMpOworCisgICAgLy8gUG9pbnQgdGhlIHVu
aWZvcm0gc2FtcGxlciB0byB0ZXh0dXJlIHVuaXQgMAorICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJl
TG9jLCAwKTsKKyAgICAvLyBEcmF3IHRoZSB0cmlhbmdsZXMKKyAgICB3dHUuZHJhd1F1YWQoZ2ws
IFswLCAwLCAwLCAyNTVdKTsKKyAgICAvLyBDaGVjayBhIGZldyBwaXhlbHMgbmVhciB0aGUgdG9w
IGFuZCBib3R0b20gYW5kIG1ha2Ugc3VyZSB0aGV5IGhhdmUKKyAgICAvLyB0aGUgcmlnaHQgY29s
b3IuCisgICAgZGVidWcoIkNoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyIik7CisgICAgd3R1LmNo
ZWNrQ2FudmFzUmVjdChnbCwgNCwgNCwgMiwgMiwgYm90dG9tQ29sb3IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAic2hvdWxkQmUgIiArIGJvdHRvbUNvbG9yKTsKKyAgICBkZWJ1ZygiQ2hlY2tp
bmcgdXBwZXIgbGVmdCBjb3JuZXIiKTsKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCA0LCBn
bC5jYW52YXMuaGVpZ2h0IC0gOCwgMiwgMiwgdG9wQ29sb3IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAic2hvdWxkQmUgIiArIHRvcENvbG9yKTsKKyAgICBkZWJ1ZygiIik7Cit9CisKK2Z1bmN0
aW9uIHJ1blRlc3QodmlkZW9FbGVtZW50KQoreworICAgIHZhciByZWQgPSBbMjU1LCAwLCAwXTsK
KyAgICB2YXIgZ3JlZW4gPSBbMCwgMjU1LCAwXTsKKyAgICB2YXIgYmxhY2sgPSBbMCwgMCwgMF07
CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgZmFsc2UsIHRydWUsIGJsYWNrLCBi
bGFjaywgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVu
dCwgZmFsc2UsIHRydWUsIGJsYWNrLCBibGFjaywgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBy
dW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxzZSwgdHJ1ZSwgYmxhY2ssIGJsYWNrLCBm
YWxzZSwgdHJ1ZSwgZmFsc2UpOworICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZh
bHNlLCB0cnVlLCBibGFjaywgYmxhY2ssIHRydWUsIHRydWUsIGZhbHNlKTsKKyAgICBydW5PbmVJ
dGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxzZSwgdHJ1ZSwgZ3JlZW4sIHJlZCwgZmFsc2UsIGZh
bHNlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgZmFsc2UsIGZh
bHNlLCByZWQsIGdyZWVuLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBydW5PbmVJdGVyYXRp
b24odmlkZW9FbGVtZW50LCB0cnVlLCB0cnVlLCBncmVlbiwgcmVkLCBmYWxzZSwgZmFsc2UsIGZh
bHNlKTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCB0cnVlLCBmYWxzZSwgcmVk
LCBncmVlbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIGVycm9ycyIpOworICAgIHZpZGVvRWxlbWVudC5y
ZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIiwgcnVuVGVzdCk7CisgICAgZmluaXNoVGVzdCgp
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQoKSI+Cis8Y2FudmFz
IGlkPSJleGFtcGxlIiB3aWR0aD0iNjQiIGhlaWdodD0iNDgiPjwvY2FudmFzPgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8dmlkZW8gaWQ9
InZpZCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorICA8c291cmNlIHNyYz0iLi4vcmVzb3VyY2Vz
L25wb3QtdmlkZW8ubXA0IiAgdHlwZT0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDJFMDFFIicg
Lz4KKyAgPHNvdXJjZSBzcmM9Ii4uL3Jlc291cmNlcy9ucG90LXZpZGVvLndlYm12cDgud2VibSIg
dHlwZT0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDgiJyAvPgorICA8c291cmNlIHNyYz0iLi4vcmVz
b3VyY2VzL25wb3QtdmlkZW8udGhlb3JhLm9ndiIgIHR5cGU9J3ZpZGVvL29nZzsgY29kZWNzPSJ0
aGVvcmEiJyAvPgorPC92aWRlbz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDNkYTlhNjNkM2UxNzgxMzRlMjA1OTcxNTVhY2M3OThkODIzZTU2
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCkBA
IC0wLDAgKzEsMTU5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCB0ZXh0dXJlIHNpemUgbGltaXQgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIi
IGhlaWdodD0iMzIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiQ2hlY2tzIHRoYXQgdmFyaW91
cyBzaXplcyBsaW1pdHMgb2YgdGV4dHVyZXMgIikKK3ZhciBjYW52YXM7CisKK2Z1bmN0aW9uIG51
bUxldmVsc0Zyb21TaXplKHNpemUpIHsKKyAgdmFyIGxldmVscyA9IDA7CisgIHdoaWxlICgoc2l6
ZSA+PiBsZXZlbHMpID4gMCkgeworICAgICsrbGV2ZWxzOworICB9CisgIHJldHVybiBsZXZlbHM7
Cit9CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENv
bnRleHQoImV4YW1wbGUiKTsKK3ZhciB0ZXN0cyA9IFsKKyAgeyBmb3JtYXQ6IGdsLkFMUEhBLCAg
ICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwgICAgICAgICAgc2l6ZTogMSwgZGF0YVR5
cGU6IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5MVU1JTkFOQ0UsICAgICAgIHR5cGU6
IGdsLlVOU0lHTkVEX0JZVEUsICAgICAgICAgIHNpemU6IDEsIGRhdGFUeXBlOiBVaW50OEFycmF5
ICB9LAorICB7IGZvcm1hdDogZ2wuTFVNSU5BTkNFX0FMUEhBLCB0eXBlOiBnbC5VTlNJR05FRF9C
WVRFLCAgICAgICAgICBzaXplOiAyLCBkYXRhVHlwZTogVWludDhBcnJheSAgfSwKKyAgeyBmb3Jt
YXQ6IGdsLlJHQiwgICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwgICAgICAgICAg
c2l6ZTogMywgZGF0YVR5cGU6IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5SR0IsICAg
ICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzVfNl81LCAgIHNpemU6IDEsIGRhdGFU
eXBlOiBVaW50MTZBcnJheSB9LAorICB7IGZvcm1hdDogZ2wuUkdCQSwgICAgICAgICAgICB0eXBl
OiBnbC5VTlNJR05FRF9CWVRFLCAgICAgICAgICBzaXplOiA0LCBkYXRhVHlwZTogVWludDhBcnJh
eSAgfSwKKyAgeyBmb3JtYXQ6IGdsLlJHQkEsICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURf
U0hPUlRfNF80XzRfNCwgc2l6ZTogMSwgZGF0YVR5cGU6IFVpbnQxNkFycmF5IH0sCisgIHsgZm9y
bWF0OiBnbC5SR0JBLCAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzVfNV81XzEs
IHNpemU6IDEsIGRhdGFUeXBlOiBVaW50MTZBcnJheSB9CitdOworCisvLyBOb3RlOiBXZSBleHBy
ZXNzbHkgb25seSB1c2UgMiB0ZXh0dXJlcyBiZWNhdXNlIGZpcnN0IGEgdGV4dHVyZSB3aWxsIGJl
IGRlZmluZWQKKy8vIGFzIHVzaW5nIGFsbCBtaXBzIG9mIDEgZm9ybWF0LCB0aGVuIGZvciBhIG1v
bWVudCBpdCB3aWxsIGhhdmUgbWl4ZWQgZm9ybWF0cyB3aGljaAorLy8gbWF5IHVuY292ZXIgYnVn
cy4KK3ZhciB0YXJnZXRzID0gWworICB7IHRhcmdldDogZ2wuVEVYVFVSRV8yRCwKKyAgICBtYXhT
aXplOiBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1RFWFRVUkVfU0laRSksCisgICAgbWF4TGV2ZWw6
IDEwMDAsCisgICAgdGV4OiBnbC5jcmVhdGVUZXh0dXJlKCksCisgICAgdGFyZ2V0czogW2dsLlRF
WFRVUkVfMkRdCisgIH0sCisgIHsgdGFyZ2V0OiBnbC5URVhUVVJFX0NVQkVfTUFQLAorICAgIG1h
eFNpemU6IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfQ1VCRV9NQVBfVEVYVFVSRV9TSVpFKSwKKyAg
ICBtYXhMZXZlbDogNSwKKyAgICB0ZXg6IGdsLmNyZWF0ZVRleHR1cmUoKSwKKyAgICB0YXJnZXRz
OiBbCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgICBnbC5URVhU
VVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lU
SVZFX1ksCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgICBnbC5U
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05F
R0FUSVZFX1oKKyAgICBdCisgIH0KK107CisKK2dsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19BTElH
Tk1FTlQsIDEpOworCit2YXIgdHJnID0gMDsKK3ZhciB0dCA9IDA7CitydW5OZXh0VGVzdCgpOwor
CitmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsKKyAgdmFyIHQgPSB0YXJnZXRzW3RyZ107CisKKyAg
aWYgKHR0ID09IDApIHsKKyAgICB2YXIgdGV4ID0gdC50ZXg7CisgICAgZ2wuYmluZFRleHR1cmUo
dC50YXJnZXQsIHRleCk7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIm1heCBzaXplIGZv
ciAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0LnRhcmdldCkgKyAiOiAiICsgdC5tYXhTaXpl
KTsKKyAgICB2YXIgbnVtTGV2ZWxzID0gbnVtTGV2ZWxzRnJvbVNpemUodC5tYXhTaXplKTsKKyAg
ICBkZWJ1ZygibnVtIGxldmVscyAiICsgbnVtTGV2ZWxzKTsKKyAgfQorCisgIHZhciB0ZXN0ID0g
dGVzdHNbdHRdOworICB0ZXN0Rm9ybWF0VHlwZSh0LCB0ZXN0KTsKKyAgKyt0dDsKKyAgaWYgKHR0
ID09IHRlc3RzLmxlbmd0aCkgeworICAgIHR0ID0gMDsKKyAgICArK3RyZzsKKyAgICBpZiAodHJn
ID09IHRhcmdldHMubGVuZ3RoKSB7CisgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICByZXR1cm47
CisgICAgfQorICB9CisgIHd0dS53YWl0Rm9yQ29tcG9zaXRlKGdsLCBydW5OZXh0VGVzdCkKK30K
KworZnVuY3Rpb24gdGVzdEZvcm1hdFR5cGUodCwgdGVzdCkgeworICBkZWJ1ZygiIik7CisgIGRl
YnVnKCJ0ZXN0aW5nOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LmZvcm1hdCkgKyAi
LCAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LnR5cGUpKTsKKyAgZm9yICh2YXIgaiA9
IDA7IGogPCB0LnRhcmdldHMubGVuZ3RoOyArK2opIHsKKyAgICB2YXIgdGFyZ2V0ID0gdC50YXJn
ZXRzW2pdOworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1Zyh3dHUuZ2xFbnVtVG9TdHJpbmcoZ2ws
IHRhcmdldCkpOworICAgIHZhciBudW1MZXZlbHMgPSBudW1MZXZlbHNGcm9tU2l6ZSh0Lm1heFNp
emUpOworICAgIHZhciBudW1UZXN0TGV2ZWxzID0gTWF0aC5taW4obnVtTGV2ZWxzLCB0Lm1heExl
dmVsKTsKKyAgICBmb3IgKHZhciBsID0gMDsgbCA8IG51bVRlc3RMZXZlbHM7ICsrbCkgeworICAg
ICAgLy8gRG8gYm90dG9tIGxldmVscyBmaXJzdDsKKyAgICAgIHZhciBzaXplID0gMSA8PCBsOwor
ICAgICAgdmFyIGxldmVsID0gbnVtTGV2ZWxzIC0gbCAtIDE7CisgICAgICB2YXIgb3RoZXJEaW1l
bnNpb24gPSB0LnRhcmdldCA9PSBnbC5URVhUVVJFXzJEID8gMSA6IHNpemU7CisgICAgICB2YXIg
YmFkU2l6ZSA9IHNpemUgKiAyOworICAgICAgdmFyIGJhZE90aGVyRGltZW5zaW9uID0gdC50YXJn
ZXQgPT0gZ2wuVEVYVFVSRV8yRCA/IDEgOiBiYWRTaXplOworICAgICAgdmFyIHBpeGVscyA9IG5l
dyB0ZXN0LmRhdGFUeXBlKGJhZFNpemUgKiBiYWRPdGhlckRpbWVuc2lvbiAqIHRlc3Quc2l6ZSk7
CisgICAgICBnbC50ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHRlc3QuZm9ybWF0LCBzaXplLCBv
dGhlckRpbWVuc2lvbiwgMCwgdGVzdC5mb3JtYXQsIHRlc3QudHlwZSwgcGl4ZWxzKTsKKyAgICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBzaG91bGQgYmUgbm8gZXJy
b3IgZm9yIGxldmVsOiAiICsgbGV2ZWwgKyAiICIgKyBzaXplICsgIngiICsgb3RoZXJEaW1lbnNp
b24pOworICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB0ZXN0LmZvcm1hdCwgb3Ro
ZXJEaW1lbnNpb24sIHNpemUsIDAsIHRlc3QuZm9ybWF0LCB0ZXN0LnR5cGUsIHBpeGVscyk7Cisg
ICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5v
IGVycm9yIGZvciBsZXZlbDogIiArIGxldmVsICsgIiAiICsgb3RoZXJEaW1lbnNpb24gKyAieCIg
KyBzaXplKTsKKyAgICAgIGdsLnRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgdGVzdC5mb3JtYXQs
IGJhZFNpemUsIGJhZE90aGVyRGltZW5zaW9uLCAwLCB0ZXN0LmZvcm1hdCwgdGVzdC50eXBlLCBw
aXhlbHMpOworICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAic2hv
dWxkIGdlbmVyYXRlIElOVkFMSURfVkFMVUUgZm9yIGxldmVsOiAiICsgbGV2ZWwgKyAiICIgKyBi
YWRTaXplICsgIngiICsgYmFkT3RoZXJEaW1lbnNpb24pOworICAgICAgZ2wudGV4SW1hZ2UyRCh0
YXJnZXQsIGxldmVsLCB0ZXN0LmZvcm1hdCwgYmFkT3RoZXJEaW1lbnNpb24sIGJhZFNpemUsIDAs
IHRlc3QuZm9ybWF0LCB0ZXN0LnR5cGUsIHBpeGVscyk7CisgICAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLklOVkFMSURfVkFMVUUsICJzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9WQUxVRSBmb3Ig
bGV2ZWw6ICIgKyBsZXZlbCArICIgIiArIGJhZE90aGVyRGltZW5zaW9uICsgIngiICsgYmFkU2l6
ZSk7CisgICAgfQorICB9Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUt
c2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E4NzVk
OGI5N2MzMWM0ZWU5NTFmMjRjMjZkYTNkMWQxMmVkNWU1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sCkBAIC0wLDAgKzEsMjM4IEBACis8IS0tCisKKy8qCisq
KiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9j
dW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1h
dGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRh
dGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoq
IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJp
YWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUg
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQ
Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP
UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMg
T1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoq
IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O
IFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU
SEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB0ZXh0dXJlIHNpemUgY29u
Zm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlk
PSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVp
Z2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWMzIHRl
eENvb3JkMDsKK3ZhcnlpbmcgdmVjMyB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xf
UG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgdGV4Q29vcmQgPSB0ZXhDb29yZDA7Cit9Cis8L3Nj
cmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gc2FtcGxlckN1YmUgdGV4OwordmFy
eWluZyB2ZWMzIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB0
ZXh0dXJlQ3ViZSh0ZXgsIG5vcm1hbGl6ZSh0ZXhDb29yZCkpOworfQorPC9zY3JpcHQ+Cis8c2Ny
aXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHZhcmlvdXMgc2l6
ZXMgb2YgdGV4dHVyZXMgcmVuZGVyIikKK3ZhciBjYW52YXM7CisKK3ZhciB3dHUgPSBXZWJHTFRl
c3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKK3ZhciBw
cm9ncmFtMkQgPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOwordmFyIHByb2dyYW1DdWJlTWFw
ID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICBnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWyd2
UG9zaXRpb24nLCAndGV4Q29vcmQwJ10sIFswLCAxXSk7CitnbC5kaXNhYmxlKGdsLkRFUFRIX1RF
U1QpOworZ2wuZGlzYWJsZShnbC5CTEVORCk7Cit2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgp
OwordmFyIG1heDJEU2l6ZSA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVEVYVFVSRV9TSVpFKTsK
K3ZhciBtYXhDdWJlTWFwU2l6ZSA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfQ1VCRV9NQVBfVEVY
VFVSRV9TSVpFKTsKK2RlYnVnKCJNQVhfVEVYVFVSRV9TSVpFOiIgKyBtYXgyRFNpemUpOworZGVi
dWcoIk1BWF9DVUJFX01BUF9URVhUVVJFX1NJWkU6IiArIG1heEN1YmVNYXBTaXplKTsKKy8vIEFz
c3VtaW5nIDIwNDh4MjA0OHhSR0JBICgyMm1lZyB3aXRoIG1pcHMpIHdpbGwgcnVuIG9uIGFsbCBX
ZWJHTCBwbGF0Zm9ybXMKK3ZhciBtYXgyRFNxdWFyZVNpemUgPSBNYXRoLm1pbihtYXgyRFNpemUs
IDIwNDgpOworLy8gSSdkIHByZWZlciB0aGlzIHRvIGJlIDIwNDggYnV0IHRoYXQncyAxNm1lZyB4
IDYgZmFjZXMgb3IgMTI4bWVnICh3aXRoIG1pcHMpCisvLyAxMDI0IGlzIDMzLjUgbWVnICh3aXRo
IG1pcHMpCit2YXIgbWF4Q3ViZU1hcFNpemUgPSBNYXRoLm1pbihtYXhDdWJlTWFwU2l6ZSwgMTAy
NCk7CisKK3ZhciBjb2xvcnMgPSBbCisgIHsgbmFtZTogImdyZWVuIiwgcmdiYTogWzAsIDAsIDI1
NSwgMjU1XSB9LAorICB7IG5hbWU6ICJyZWQiLCByZ2JhOiBbMjU1LCAwLCAwLCAyNTVdIH0sCisg
IHsgbmFtZTogImJsdWUiLCByZ2JhOiBbMCwgMjU1LCAwLCAyNTVdIH0sCisgIHsgbmFtZTogInll
bGxvdyIsIHJnYmE6IFsyNTUsIDI1NSwgMCwgMjU1XSB9LAorICB7IG5hbWU6ICJtYWdlbnRhIiwg
cmdiYTogWzI1NSwgMCwgMjU1LCAyNTVdIH0sCisgIHsgbmFtZTogImN5YW4iLCByZ2JhOiBbMCwg
MjU1LCAyNTUsIDI1NV0gfQorXTsKKwordmFyIGNvdW50ID0gMDsKK3ZhciBwb3dlciA9IDA7City
dW5UZXN0KCk7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgIGZ1bmN0aW9uIGRvVGVzdCgpIHsK
KyAgICB2YXIgc2l6ZSA9IE1hdGgucG93KDIsIHBvd2VyKTsKKyAgICBpZiAoc2l6ZSA+IG1heDJE
U2l6ZSkgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBnbC51c2VQcm9ncmFtKHBy
b2dyYW0yRCk7CisgICAgaWYgKCFjaGVja1RleHR1cmUoc2l6ZSwgMSwgZmFsc2UpKSByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKCFjaGVja1RleHR1cmUoMSwgc2l6ZSwgZmFsc2UpKSByZXR1cm4gZmFs
c2U7CisgICAgaWYgKHNpemUgPD0gbWF4MkRTcXVhcmVTaXplKSB7CisgICAgICBpZiAoIWNoZWNr
VGV4dHVyZShzaXplLCBzaXplLCBmYWxzZSkpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgfQorICAgIH0KKyAgICBpZiAoc2l6ZSA8PSBtYXhDdWJlTWFwU2l6ZSkgeworICAgICAgZ2wu
dXNlUHJvZ3JhbShwcm9ncmFtQ3ViZU1hcCk7CisgICAgICBpZiAoIWNoZWNrVGV4dHVyZShzaXpl
LCBzaXplLCB0cnVlKSkgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9CisgICAgfQor
ICAgIHJldHVybiB0cnVlOworICB9CisKKyAgaWYgKGRvVGVzdCgpKSB7CisgICAgKytwb3dlcjsK
KyAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDEwMCk7CisgIH0gZWxzZSB7CisgICAgZmluaXNoVGVz
dCgpOworICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrVGV4dHVyZSh3aWR0aCwgaGVpZ2h0LCBjdWJl
TWFwKSB7CisgIGRlYnVnKCIiKTsKKyAgY291bnQgPSAoY291bnQgKyAxKSAlIGNvbG9ycy5sZW5n
dGg7CisgIHZhciBjb2xvciA9IGNvbG9yc1tjb3VudF07CisgIHZhciB0ZXggPSBnbC5jcmVhdGVU
ZXh0dXJlKCk7CisgIHZhciB0YXJnZXQgPSBjdWJlTWFwID8gZ2wuVEVYVFVSRV9DVUJFX01BUCA6
IGdsLlRFWFRVUkVfMkQ7CisgIHZhciB0eXBlID0gY3ViZU1hcCA/ICJjdWJlIG1hcCIgOiAiMkQg
dGV4dHVyZSI7CisgIGRlYnVnKCJjaGVjayAiICsgd2lkdGggKyAiLCAiICsgaGVpZ2h0ICsgIiAi
ICsgdHlwZSk7CisgIGdsLmJpbmRUZXh0dXJlKHRhcmdldCwgdGV4KTsKKyAgZ2wudGV4UGFyYW1l
dGVyaSh0YXJnZXQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgZ2wudGV4
UGFyYW1ldGVyaSh0YXJnZXQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsK
KyAgZ2wudGV4UGFyYW1ldGVyaSh0YXJnZXQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9U
T19FREdFKTsKKyAgZmlsbExldmVsKDAsIHdpZHRoLCBoZWlnaHQsIGNvbG9yLnJnYmEsIGN1YmVN
YXApOworICB2YXIgZXJyID0gZ2wuZ2V0RXJyb3IoKTsKKyAgaWYgKGVyciA9PSBnbC5PVVRfT0Zf
TUVNT1JZKSB7CisgICAgZGVidWcoIm91dCBvZiBtZW1vcnkiKTsKKyAgICByZXR1cm4gZmFsc2U7
CisgIH0KKyAgaWYgKGVyciAhPSBnbC5OT19FUlJPUikgeworICAgIHRlc3RGYWlsZWQoInVuZXhw
ZWN0ZWQgZ2wgZXJyb3I6ICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGVycikpOworICB9Cisg
IHd0dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgY29sb3IucmdiYSwKKyAg
ICAgIHR5cGUgKyAiIG9mIHNpemUgIiArIHdpZHRoICsgIngiICsgaGVpZ2h0ICsgIiB3aXRoIG5v
IG1pcHMgc2hvdWxkIGRyYXcgd2l0aCAiICsgY29sb3IubmFtZSk7CisgIGNvdW50ID0gKGNvdW50
ICsgMSkgJSBjb2xvcnMubGVuZ3RoOworICBjb2xvciA9IGNvbG9yc1tjb3VudF07CisgIGZpbGxM
ZXZlbCgwLCB3aWR0aCwgaGVpZ2h0LCBjb2xvci5yZ2JhLCBjdWJlTWFwKTsKKyAgZ2wuZ2VuZXJh
dGVNaXBtYXAodGFyZ2V0KTsKKyAgdmFyIGVyciA9IGdsLmdldEVycm9yKCk7CisgIGlmIChlcnIg
PT0gZ2wuT1VUX09GX01FTU9SWSkgeworICAgIGRlYnVnKCJvdXQgb2YgbWVtb3J5Iik7CisgICAg
cmV0dXJuIGZhbHNlOworICB9CisgIGlmIChlcnIgIT0gZ2wuTk9fRVJST1IpIHsKKyAgICB0ZXN0
RmFpbGVkKCJ1bmV4cGVjdGVkIGdsIGVycm9yOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBl
cnIpKTsKKyAgfQorICBnbC50ZXhQYXJhbWV0ZXJpKHRhcmdldCwgZ2wuVEVYVFVSRV9NSU5fRklM
VEVSLCBnbC5MSU5FQVJfTUlQTUFQX05FQVJFU1QpOworICB3dHUuZHJhd1F1YWQoZ2wpOworICB3
dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yLnJnYmEsCisgICAgICB0eXBlICsgIiBvZiBzaXplICIg
KyB3aWR0aCArICJ4IiArIGhlaWdodCArICIgd2l0aCBtaXBzIHNob3VsZCBkcmF3IHdpdGggIiAr
IGNvbG9yLm5hbWUpOworCisgIGNvdW50ID0gKGNvdW50ICsgMSkgJSBjb2xvcnMubGVuZ3RoOwor
ICBjb2xvciA9IGNvbG9yc1tjb3VudF07CisgIGZpbGxMZXZlbCgwLCB3aWR0aCwgaGVpZ2h0LCBj
b2xvci5yZ2JhLCBjdWJlTWFwLCB0cnVlKTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAodGFyZ2V0KTsK
KworICB3dHUuZHJhd1F1YWQoZ2wpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yLnJnYmEs
CisgICAgICB0eXBlICsgIiBvZiBzaXplICIgKyB3aWR0aCArICJ4IiArIGhlaWdodCArICIgd2l0
aCBtaXBzIHNob3VsZCBkcmF3IHdpdGggIiArIGNvbG9yLm5hbWUpOworCisgIGdsLmRlbGV0ZVRl
eHR1cmUodGV4KTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBi
ZSBubyBlcnJvcnMuIik7CisgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlvbiBmaWxsTGV2ZWwo
bGV2ZWwsIHdpZHRoLCBoZWlnaHQsIGNvbG9yLCBvcHRfY3ViZW1hcCwgb3B0X3N1YlRleCkgewor
ICB2YXIgbnVtUGl4ZWxzID0gd2lkdGggKiBoZWlnaHQ7CisgIHZhciBwaXhlbHMgPSBudWxsOwor
ICB2YXIgbGFyZ2VEaW0gPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTsKKyAgdmFyIHNtYWxsRGlt
ID0gTWF0aC5taW4od2lkdGgsIGhlaWdodCk7CisKKyAgdmFyIHBpeGVsUm93ID0gbmV3IFVpbnQ4
QXJyYXkobGFyZ2VEaW0gKiA0KTsKKyAgZm9yICh2YXIgamogPSAwOyBqaiA8IGxhcmdlRGltOyAr
K2pqKSB7CisgICAgdmFyIG9mZiA9IGpqICogNDsKKyAgICBwaXhlbFJvd1tvZmYgKyAwXSA9IGNv
bG9yWzBdOworICAgIHBpeGVsUm93W29mZiArIDFdID0gY29sb3JbMV07CisgICAgcGl4ZWxSb3db
b2ZmICsgMl0gPSBjb2xvclsyXTsKKyAgICBwaXhlbFJvd1tvZmYgKyAzXSA9IGNvbG9yWzNdOwor
ICB9CisKKyAgaWYgKGxhcmdlRGltID09IG51bVBpeGVscykgeworICAgIHBpeGVscyA9IHBpeGVs
Um93OworICB9IGVsc2UgeworICAgIHZhciBwaXhlbHMgPSBuZXcgVWludDhBcnJheShudW1QaXhl
bHMgKiA0KTsKKyAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgc21hbGxEaW07ICsramopIHsKKyAg
ICAgIHZhciBvZmYgPSBqaiAqIGxhcmdlRGltICogNDsKKyAgICAgIHBpeGVscy5zZXQocGl4ZWxS
b3csIG9mZik7CisgICAgfQorICB9CisgCisgIHZhciB0YXJnZXRzID0gb3B0X2N1YmVtYXAgPyBb
CisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VC
RV9NQVBfTkVHQVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisg
ICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWiwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1pdIDoKKyAg
ICBbZ2wuVEVYVFVSRV8yRF07CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRhcmdldHMubGVu
Z3RoOyArK2lpKSB7CisgICAgLy8gZGVidWcod3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0YXJnZXRz
W2lpXSkpOworICAgIHZhciBpbmRleCA9IChpaSArIHBvd2VyKSAlIHRhcmdldHMubGVuZ3RoOwor
ICAgIHZhciB0YXJnZXQgPSB0YXJnZXRzW2luZGV4XTsKKyAgICBpZiAob3B0X3N1YlRleCkgewor
ICAgICAgZ2wudGV4U3ViSW1hZ2UyRCgKKyAgICAgICAgICB0YXJnZXQsIGxldmVsLCAwLCAwLCB3
aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIHBpeGVs
cyk7CisgICAgfSBlbHNlIHsKKyAgICAgIGdsLnRleEltYWdlMkQoCisgICAgICAgICAgdGFyZ2V0
LCBsZXZlbCwgZ2wuUkdCQSwgd2lkdGgsIGhlaWdodCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwKKyAgICAgICAgICBwaXhlbHMpOworICAgIH0KKyAgfQorfQorCit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9y
bS1hcnJheXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODhhMTgzOTM4ZjUzNGNjMmJkOGUyMzA5MjBiY2I5
YWU4Mjc1NjYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMu
aHRtbApAQCAtMCwwICsxLDUwMiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
Ky0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgdW5pZm9ybSBhcnJheSBDb25mb3JtYW5jZSBUZXN0czwvdGl0
bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIg
aGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRl
ci94LXZlcnRleCI+CisgICAgYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKyAgICB2b2lkIG1h
aW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgIH0KKzwv
c2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50
Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICB1bmlmb3JtICQodHlwZSkgY29s
b3JbM107CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZl
YzQoY29sb3JbMF0kKGVsZW0pLCBjb2xvclsxXSQoZWxlbSksIGNvbG9yWzJdJChlbGVtKSwgMSk7
CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyLW1heCIgdHlwZT0ieC1zaGFk
ZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9y
bSB2ZWM0IGNvbG9yYVskKG1heFVuaWZvcm1WZWN0b3JzKV07CisgICAgdm9pZCBtYWluKCkKKyAg
ICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoY29sb3JhWyQodXNlZFVuaWZvcm1WZWN0
b3IpXSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyLW1heC1hYi1hYiIg
dHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7
CisgICAgdW5pZm9ybSB2ZWM0ICQoZGVjbDEpOworICAgIHVuaWZvcm0gdmVjNCAkKGRlY2wyKTsK
KyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgkKHVz
YWdlMSkgKyAkKHVzYWdlMikpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1ZygiIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKK3ZhciB2U3Jj
ID0gd3R1LmdldFNjcmlwdCgidnNoYWRlciIpOwordmFyIGZUZW1wbGF0ZSA9IHd0dS5nZXRTY3Jp
cHQoImZzaGFkZXIiKTsKKwordmFyIHR5cGVJbmZvcyA9IFsKKyAgeyB0eXBlOiAnZmxvYXQnLAor
ICAgIGpzVHlwZU9mOiAnbnVtYmVyJywKKyAgICBzZXR0ZXI6ICd1bmlmb3JtMWZ2JywKKyAgICBl
bGVtOiAnJywKKyAgICBudW1TcmNWYWx1ZXM6IDMsCisgICAgaW52YWxpZFNldDogZnVuY3Rpb24o
bG9jKSB7CisgICAgICBnbC51bmlmb3JtMmZ2KGxvYywgWzEsIDJdKTsKKyAgICB9LAorICAgIHNy
Y1ZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKGluZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAgIHJldHVy
biBzcmNWYWx1ZXNbaW5kZXhdLnRvU3RyaW5nKCk7CisgICAgfSwKKyAgICByZXR1cm5WYWx1ZUFz
U3RyaW5nOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8g
J251bGwnIDogdmFsdWUudG9TdHJpbmcoKTsKKyAgICB9LAorICAgIGNoZWNrVHlwZTogZnVuY3Rp
b24odmFsdWUpIHsKKyAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInOworICAg
IH0sCisgICAgY2hlY2tWYWx1ZTogZnVuY3Rpb24odHlwZUluZm8sIGluZGV4LCB2YWx1ZSkgewor
ICAgICAgcmV0dXJuIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleF0gPT0gdmFsdWU7CisgICAgfSwK
KyAgICBzcmNWYWx1ZXM6IFsxNiwgMTUsIDE0XSwKKyAgICBzcmNWYWx1ZXNMZXNzOiBbXSwKKyAg
ICBzcmNWYWx1ZXNMZXNzTXVsdGlwbGU6IFsxNl0sCisgICAgc3JjVmFsdWVzTW9yZU11bHRpcGxl
OiBbMTYsIDE1LCAxNCwgMTNdLAorICAgIHNyY1ZhbHVlc05vbk11bHRpcGxlOiBudWxsLAorICB9
LAorICB7IHR5cGU6ICd2ZWMyJywKKyAgICBqc1R5cGVPZjogJ0Zsb2F0MzJBcnJheScsCisgICAg
c2V0dGVyOiAndW5pZm9ybTJmdicsCisgICAgZWxlbTogJ1sxXScsCisgICAgbnVtU3JjVmFsdWVz
OiAzLAorICAgIGludmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFm
dihsb2MsIFsyXSk7CisgICAgfSwKKyAgICBpbGxlZ2FsU2V0OiBmdW5jdGlvbihsb2MpIHsKKyAg
ICAgIGdsLnVuaWZvcm0xZnYobG9jLCAyKTsKKyAgICB9LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6
IGZ1bmN0aW9uKGluZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAgIHJldHVybiAiWyIgKyBzcmNWYWx1
ZXNbaW5kZXggKiAyICsgMF0udG9TdHJpbmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAg
IHNyY1ZhbHVlc1tpbmRleCAqIDIgKyAxXS50b1N0cmluZygpICsgIl0iOworICAgIH0sCisgICAg
cmV0dXJuVmFsdWVBc1N0cmluZzogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1
ZSA9PT0gbnVsbCA/ICdudWxsJyA6ICgiWyIgKyB2YWx1ZVswXSArICIsICIgKyB2YWx1ZVsxXSAr
ICJdIik7CisgICAgfSwKKyAgICBjaGVja1R5cGU6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICBy
ZXR1cm4gdmFsdWUgJiYKKyAgICAgICAgICAgICB0eXBlb2YgdmFsdWUubGVuZ3RoID09PSAnbnVt
YmVyJyAmJgorICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCA9PSAyOworICAgIH0sCisgICAgY2hl
Y2tWYWx1ZTogZnVuY3Rpb24odHlwZUluZm8sIGluZGV4LCB2YWx1ZSkgeworICAgICAgcmV0dXJu
IHZhbHVlICE9PSBudWxsICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4
ICogMiArIDBdID09IHZhbHVlWzBdICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVz
W2luZGV4ICogMiArIDFdID09IHZhbHVlWzFdOworICAgIH0sCisgICAgc3JjVmFsdWVzOiBbMTYs
IDE1LCAxNCwgMTMsIDEyLCAxMV0sCisgICAgc3JjVmFsdWVzTGVzczogWzE2XSwKKyAgICBzcmNW
YWx1ZXNMZXNzTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxM10sCisgICAgc3JjVmFsdWVzTW9yZU11
bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDldLAorICAgIHNyY1ZhbHVlc05v
bk11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTBdLAorICB9LAorICB7IHR5cGU6
ICd2ZWMzJywKKyAgICBqc1R5cGVPZjogJ0Zsb2F0MzJBcnJheScsCisgICAgc2V0dGVyOiAndW5p
Zm9ybTNmdicsCisgICAgZWxlbTogJ1syXScsCisgICAgbnVtU3JjVmFsdWVzOiAzLAorICAgIGlu
dmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFmdihsb2MsIFsyXSk7
CisgICAgfSwKKyAgICBpbGxlZ2FsU2V0OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGdsLnVuaWZv
cm0xZnYobG9jLCAyKTsKKyAgICB9LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKGlu
ZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAgIHJldHVybiAiWyIgKyBzcmNWYWx1ZXNbaW5kZXggKiAz
ICsgMF0udG9TdHJpbmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tp
bmRleCAqIDMgKyAxXS50b1N0cmluZygpICsgIiwgIiArCisgICAgICAgICAgICAgICAgICAgc3Jj
VmFsdWVzW2luZGV4ICogMyArIDJdLnRvU3RyaW5nKCkgKyAiXSI7CisgICAgfSwKKyAgICByZXR1
cm5WYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlID09
PSBudWxsID8gJ251bGwnIDoKKyAgICAgICAgICAoIlsiICsgdmFsdWVbMF0gKyAiLCAiICsgdmFs
dWVbMV0gKyAiLCAiICsgdmFsdWVbMl0gKyAiXSIpOworICAgIH0sCisgICAgY2hlY2tUeXBlOiBm
dW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlICYmCisgICAgICAgICAgICAgdHlw
ZW9mIHZhbHVlLmxlbmd0aCA9PT0gJ251bWJlcicgJiYKKyAgICAgICAgICAgICB2YWx1ZS5sZW5n
dGggPT0gMzsKKyAgICB9LAorICAgIGNoZWNrVmFsdWU6IGZ1bmN0aW9uKHR5cGVJbmZvLCBpbmRl
eCwgdmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJgorICAgICAgICAgICAg
IHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDMgKyAwXSA9PSB2YWx1ZVswXSAmJgorICAgICAg
ICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDMgKyAxXSA9PSB2YWx1ZVsxXSAmJgor
ICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDMgKyAyXSA9PSB2YWx1ZVsy
XTsKKyAgICB9LAorICAgIHNyY1ZhbHVlczogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5
LCA4XSwKKyAgICBzcmNWYWx1ZXNMZXNzOiBbMTYsIDE1XSwKKyAgICBzcmNWYWx1ZXNMZXNzTXVs
dGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExXSwKKyAgICBzcmNWYWx1ZXNNb3JlTXVsdGlw
bGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMl0s
CisgICAgc3JjVmFsdWVzTm9uTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwg
OSwgOCwgN10sCisgIH0sCisgIHsgdHlwZTogJ3ZlYzQnLAorICAgIGpzVHlwZU9mOiAnRmxvYXQz
MkFycmF5JywKKyAgICBzZXR0ZXI6ICd1bmlmb3JtNGZ2JywKKyAgICBlbGVtOiAnWzNdJywKKyAg
ICBudW1TcmNWYWx1ZXM6IDMsCisgICAgaW52YWxpZFNldDogZnVuY3Rpb24obG9jKSB7CisgICAg
ICBnbC51bmlmb3JtMWZ2KGxvYywgWzJdKTsKKyAgICB9LAorICAgIGlsbGVnYWxTZXQ6IGZ1bmN0
aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFmdihsb2MsIDIpOworICAgIH0sCisgICAgc3Jj
VmFsdWVBc1N0cmluZzogZnVuY3Rpb24oaW5kZXgsIHNyY1ZhbHVlcykgeworICAgICAgcmV0dXJu
ICJbIiArIHNyY1ZhbHVlc1tpbmRleCAqIDQgKyAwXS50b1N0cmluZygpICsgIiwgIiArCisgICAg
ICAgICAgICAgICAgICAgc3JjVmFsdWVzW2luZGV4ICogNCArIDFdLnRvU3RyaW5nKCkgKyAiLCAi
ICsKKyAgICAgICAgICAgICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiA0ICsgMl0udG9TdHJpbmco
KSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDQgKyAzXS50
b1N0cmluZygpICsgIl0iOworICAgIH0sCisgICAgcmV0dXJuVmFsdWVBc1N0cmluZzogZnVuY3Rp
b24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCA/ICdudWxsJyA6CisgICAg
ICAgICAgKCJbIiArIHZhbHVlWzBdICsgIiwgIiArIHZhbHVlWzFdICsKKyAgICAgICAgICAgIiwg
IiArIHZhbHVlWzJdICsgIiwgIiArIHZhbHVlWzNdICsgIl0iKTsKKyAgICB9LAorICAgIGNoZWNr
VHlwZTogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSAmJgorICAgICAgICAg
ICAgIHR5cGVvZiB2YWx1ZS5sZW5ndGggPT09ICdudW1iZXInICYmCisgICAgICAgICAgICAgdmFs
dWUubGVuZ3RoID09IDQ7CisgICAgfSwKKyAgICBjaGVja1ZhbHVlOiBmdW5jdGlvbih0eXBlSW5m
bywgaW5kZXgsIHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYKKyAgICAg
ICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0ICsgMF0gPT0gdmFsdWVbMF0gJiYK
KyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0ICsgMV0gPT0gdmFsdWVb
MV0gJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0ICsgMl0gPT0g
dmFsdWVbMl0gJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0ICsg
M10gPT0gdmFsdWVbM107CisgICAgfSwKKyAgICBzcmNWYWx1ZXM6IFsxNiwgMTUsIDE0LCAxMywg
MTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNV0sCisgICAgc3JjVmFsdWVzTGVzczogWzE2LCAxNSwg
MTRdLAorICAgIHNyY1ZhbHVlc0xlc3NNdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTEs
IDEwLCA5XSwKKyAgICBzcmNWYWx1ZXNNb3JlTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIs
IDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMiwgMV0sCisgICAgc3JjVmFsdWVzTm9uTXVs
dGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNF0sCisg
IH0KK107CisKK2ZvciAodmFyIHR0ID0gMDsgdHQgPCB0eXBlSW5mb3MubGVuZ3RoOyArK3R0KSB7
CisgIHZhciB0eXBlSW5mbyA9IHR5cGVJbmZvc1t0dF07CisgIGRlYnVnKCIiKTsKKyAgZGVidWco
ImNoZWNrICIgKyB0eXBlSW5mby50eXBlKTsKKyAgdmFyIGZTcmMgPSB3dHUucmVwbGFjZVBhcmFt
cyhmVGVtcGxhdGUsIHR5cGVJbmZvKTsKKyAgLy9kZWJ1ZygiZlNyYzogIiArIGZTcmMpOworICB2
YXIgcHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbShnbCwgdlNyYywgZlNyYyk7CisKKyAgdmFyIG51
bVVuaWZvcm1zID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5BQ1RJVkVfVU5J
Rk9STVMpOworICBhc3NlcnRNc2cobnVtVW5pZm9ybXMgPT0gMSwgIjEgdW5pZm9ybSBmb3VuZCIp
OworICB2YXIgaW5mbyA9IGdsLmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgMCk7CisgIGFzc2Vy
dE1zZyhpbmZvLm5hbWUgPT0gImNvbG9yWzBdIiwKKyAgICAgICAgICAgICJ1bmlmb3JtIG5hbWUg
aXMgJ2NvbG9yWzBdJyBub3QgJ2NvbG9yJyBhcyBwZXIgT3BlbkdMIEVTIDIuMC4yNCBzZWN0aW9u
IDIuMTAiKTsKKyAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAiY29s
b3JbMF0iKTsKKyAgdmFyIHNyY1ZhbHVlcyA9IHR5cGVJbmZvLnNyY1ZhbHVlczsKKyAgdmFyIHNy
Y1ZhbHVlc0xlc3MgPSB0eXBlSW5mby5zcmNWYWx1ZXNMZXNzOworICB2YXIgc3JjVmFsdWVzTGVz
c011bHRpcGxlID0gdHlwZUluZm8uc3JjVmFsdWVzTGVzc011bHRpcGxlOworICB2YXIgc3JjVmFs
dWVzTW9yZU11bHRpcGxlID0gdHlwZUluZm8uc3JjVmFsdWVzTW9yZU11bHRpcGxlOworICB2YXIg
c3JjVmFsdWVzTm9uTXVsdGlwbGUgPSB0eXBlSW5mby5zcmNWYWx1ZXNOb25NdWx0aXBsZTsKKwor
ICAvLyBUcnkgc2V0dGluZyB0aGUgdmFsdWUgYmVmb3JlIHVzaW5nIHRoZSBwcm9ncmFtCisgIGds
W3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1ZXMpOworICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgInNob3VsZCBmYWlsIGlm
IHRoZXJlIGlzIG5vIGN1cnJlbnQgcHJvZ3JhbSIpOworCisgIGdsLnVzZVByb2dyYW0ocHJvZ3Jh
bSk7CisgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1ZXNMZXNzKTsKKyAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLAorICAgICAgICAgICAgICAgICAgInNob3Vs
ZCBmYWlsIHdpdGggaW5zdWZmaWNpZW50IGFycmF5IHNpemUgd2l0aCBnbC4iICsgdHlwZUluZm8u
c2V0dGVyKTsKKyAgaWYgKHNyY1ZhbHVlc05vbk11bHRpcGxlKSB7CisgICAgZ2xbdHlwZUluZm8u
c2V0dGVyXShsb2MsIHNyY1ZhbHVlc05vbk11bHRpcGxlKTsKKyAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLklOVkFMSURfVkFMVUUsCisgICAgICAgICAgICAgICAgICAgICJzaG91bGQgZmFpbCB3
aXRoIG5vbi1tdWx0aXBsZSBhcnJheSBzaXplIHdpdGggZ2wuIiArIHR5cGVJbmZvLnNldHRlcik7
CisgIH0KKyAgZ2xbdHlwZUluZm8uc2V0dGVyXShsb2MsIHNyY1ZhbHVlcyk7CisgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAiY2FuIHNldCBhbiBh
cnJheSBvZiB1bmlmb3JtcyB3aXRoIGdsLiIgKyB0eXBlSW5mby5zZXR0ZXIpOworICBnbFt0eXBl
SW5mby5zZXR0ZXJdKGxvYywgc3JjVmFsdWVzTGVzc011bHRpcGxlKTsKKyAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICJjYW4gcGFydGlhbGx5IHNl
dCBhbiBhcnJheSBvZiB1bmlmb3JtcyB3aXRoIGdsLiIgKyB0eXBlSW5mby5zZXR0ZXIgKyAiIHdp
dGggYSBzbWFsbGVyIGFycmF5Iik7CisgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1
ZXNNb3JlTXVsdGlwbGUpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAg
ICAgICAgICAgICAgICAgImNhbiBzZXQgYW4gYXJyYXkgb2YgdW5pZm9ybXMgd2l0aCBnbC4iICsg
dHlwZUluZm8uc2V0dGVyICsgIiB3aXRoIGEgbGFyZ2VyIGFycmF5Iik7CisKKyAgdmFyIHZhbHVl
cyA9IGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgbG9jKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICJjYW4gY2FsbCBnbC5nZXRVbmlmb3JtIik7
CisgIGFzc2VydE1zZyh0eXBlSW5mby5jaGVja1R5cGUodmFsdWVzKSwKKyAgICAgICAgICAgICJn
bC5nZXRVbmlmb3JtIHJldHVybnMgdGhlIGNvcnJlY3QgdHlwZS4iKTsKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IHR5cGVJbmZvLm51bVNyY1ZhbHVlczsgKytpaSkgeworICAgIHZhciBlbGVtTG9j
ID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJjb2xvclsiICsgaWkgKyAiXSIpOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAg
ICJjYW4gZ2V0IGxvY2F0aW9uIG9mIGVsZW1lbnQgIiArIGlpICsKKyAgICAgICAgICAgICAgICAg
ICAgIiBvZiBhcnJheSBmcm9tIGdsLmdldFVuaWZvcm1Mb2NhdGlvbiIpOworICAgIHZhciB2YWx1
ZSA9IGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgZWxlbUxvYyk7CisgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgImNhbiBnZXQgdmFsdWUgb2Yg
ZWxlbWVudCAiICsgaWkgKyAiIG9mIGFycmF5IGZyb20gZ2wuZ2V0VW5pZm9ybSIpOworICAgIGFz
c2VydE1zZyh0eXBlSW5mby5jaGVja1ZhbHVlKHR5cGVJbmZvLCBpaSwgdmFsdWUpLAorICAgICAg
ICAgICAgICAidmFsdWUgcHV0IGluICgiICsgdHlwZUluZm8uc3JjVmFsdWVBc1N0cmluZyhpaSwg
c3JjVmFsdWVzKSArCisgICAgICAgICAgICAgICIpIG1hdGNoZXMgdmFsdWUgcHVsbGVkIG91dCAo
IiArCisgICAgICAgICAgICAgIHR5cGVJbmZvLnJldHVyblZhbHVlQXNTdHJpbmcodmFsdWUpICsg
IikiKTsKKyAgfQorICB0eXBlSW5mby5pbnZhbGlkU2V0KGxvYyk7CisgIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAgICAidXNpbmcgdGhl
IHdyb25nIHNpemUgb2YgZ2wuVW5pZm9ybSBmYWlscyIpOworICB2YXIgZXhjZXB0aW9uQ2F1Z2h0
ID0gZmFsc2U7CisgIGlmICh0eXBlSW5mby5pbGxlZ2FsU2V0KSB7CisgICAgdHJ5IHsKKyAgICAg
IHR5cGVJbmZvLmlsbGVnYWxTZXQobG9jKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICBleGNl
cHRpb25DYXVnaHQgPSB0cnVlOworICAgIH0KKyAgICBhc3NlcnRNc2coZXhjZXB0aW9uQ2F1Z2h0
LCAicGFzc2luZyBub24tYXJyYXkgdG8gZ2xVbmlmb3JtKmZ2IHNob3VsZCB0aHJvdyBUeXBlRXJy
b3IiKTsKKyAgfQorCisgIGdsLnVzZVByb2dyYW0obnVsbCk7CisgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAiY2FuIGNhbGwgZ2wudXNlUHJvZ3Jh
bShudWxsKSIpOworfQorCisvLyBUaGlzIHRlc3QgaXMgdG8gdGVzdCBkcml2ZXJzIHRoZSBoYXZl
IGJ1Z3MgcmVsYXRlZCB0byBvcHRpbWl6aW5nCisvLyBhbiBhcnJheSBvZiB1bmlmb3JtcyB3aGVu
IG9ubHkgMSBvZiB0aG9zZSB1bmlmb3JtcyBpcyB1c2VkLgorZGVidWcoIiIpOworZGVidWcoIlRl
c3QgZHJpdmVycyBkb24ndCBvdmVyIG9wdGltaXplIHVudXNlZCBhcnJheSBlbGVtZW50cyIpOwor
dmFyIG1heFVuaWZvcm1WZWN0b3JzID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9GUkFHTUVOVF9V
TklGT1JNX1ZFQ1RPUlMpOwordmFyIHRlc3RzID0gWworIHsgZGVzYzogInVzaW5nIGxhc3QgZWxl
bWVudCIsCisgICBtYXhVbmlmb3JtVmVjdG9yczogbWF4VW5pZm9ybVZlY3RvcnMsCisgICB1c2Vk
VW5pZm9ybVZlY3RvcjogbWF4VW5pZm9ybVZlY3RvcnMgLSAxLAorICAgc2hhZGVyOiAiZnNoYWRl
ci1tYXgiLAorICAgY29sb3I6IFswLCAxLCAwLCAxXSwKKyAgIGFycmF5TmFtZTogImNvbG9yYSIs
CisgICBleHRyYU5hbWU6ICJjb2xvcmIiLAorIH0sCisgeyBkZXNjOiAidXNpbmcgZmlyc3QgZWxl
bWVudCIsCisgICBtYXhVbmlmb3JtVmVjdG9yczogbWF4VW5pZm9ybVZlY3RvcnMsCisgICB1c2Vk
VW5pZm9ybVZlY3RvcjogMCwKKyAgIHNoYWRlcjogImZzaGFkZXItbWF4IiwKKyAgIGNvbG9yOiBb
MCwgMSwgMCwgMV0sCisgICBhcnJheU5hbWU6ICJjb2xvcmEiLAorICAgZXh0cmFOYW1lOiAiY29s
b3JiIiwKKyB9LAorXTsKKworLy8gR2VuZXJhdGUgdGVzdCBzaGFkZXJzLiBXZSdyZSB0cnlpbmcg
dG8gZm9yY2UgdGhlIGRyaXZlciB0bworLy8gb3ZlcmZsb3cgZnJvbSAxIGFycmF5IGludG8gdGhl
IG5leHQgaWYgaXQgb3B0aW1pemVzLiBTbyBmb3IgZXhhbXBsZSBpZiBpdCB3YXMgQworLy8KKy8v
ICAgaW50IGJpZ1s0XTsKKy8vICAgaW50IGxpdHRsZVsxXTsKKy8vICAgYmlnWzVdID0gMTI0Owor
Ly8KKy8vIFdvdWxkIGVuZCB1cCBzZXR0aW5nIGxpdHRsZVswXSBpbnN0ZWFkIG9mIGJpZy4gU29t
ZSBkcml2ZXJzIG9wdGltaXplCisvLyB3aGVyZSBpZiB5b3Ugb25seSB1c2Ugc2F5ICdiaWdbM10n
IGl0IHdpbGwgYWN0dWFsbHkgb25seSBhbGxvY2F0ZSBqdXN0IDEgZWxlbWVudAorLy8gZm9yIGJp
Zy4KKy8vCisvLyBCdXQsIHNvbWUgZHJpdmVycyBoYXZlIGEgYnVnIHdoZXJlIHRoZSBmYWN0IHRo
YXQgdGhleSBvcHRpbWl6ZWQgYmlnIHRvIDEgZWxlbWVudAorLy8gZG9lcyBub3QgZ2V0IHBhc3Nl
ZCBkb3duIHRvIGdsVW5pZm9ybSBzbyB3aGVuIHNldHRpbmcgdGhlIHVuaWZvcm0gJ2JpZ1szXScg
dGhleQorLy8gb3ZlcndyaXRlIG1lbW9yeS4KKy8vCisvLyBJZiB0aGUgZHJpdmVyIGNyYXNoZXMs
IHllYS4gV2UgZm91bmQgYSBidWcuIFdlIGNhbiBibGFja2xpc3QgdGhlIGRyaXZlci4KKy8vIE90
aGVyd2lzZSB3ZSB0cnkgdmFyaW91cyBjb21iaW5hdGlvbnMgc28gdGhhdCBzZXR0aW5nICdsaXR0
bGVbMF0nIGZpcnN0CisvLyBhbmQgdGhlbiBzZXR0aW5nIGFsbCBlbGVtZW50cyBvZiAnYmlnJyB3
ZSBob3BlIGl0IHdpbGwgb3ZlcndyaXRlICdsaXR0bGVbMF0nCisvLyB3aGljaCB3aWxsIHNob3cg
dGhlIGJ1ZyBhbmQgYWdhaW4gd2UgY2FuIGJsYWNrbGlzdCB0aGUgZHJpdmVyLgorLy8KKy8vIFdl
IGRvbid0IGtub3cgaG93IHRoZSBkcml2ZXIgd2lsbCBvcmRlciwgaW4gbWVtb3J5LCB0aGUgdmFy
aW91cyB1bmlmb3JtcworLy8gb3IgZm9yIHRoYXQgbWF0dGVyIHdlIGRvbid0IGV2ZW4ga25vdyBp
ZiB0aGV5IHdpbGwgYmUgY29udGlndW91cyBpbiBtZW1vcnkKKy8vIGJ1dCB0byBob3BlZnVsbHkg
ZXhwb3NlIGFueSBidWdzIHdlIHRyeSB2YXJpb3VzIGNvbWJpbmF0aW9ucy4KKy8vCisvLyAgICBJ
dCBjb3VsZCBiZSB0aGUgY29tcGlsZXIgb3JkZXJzIHVuaWZvcm1zIGFscGhhYmV0aWNhbGx5Lgor
Ly8gICAgSXQgY291bGQgYmUgaXQgb3JkZXJzIHRoZW0gaW4gb3JkZXIgb2YgZGVjbGFyYXRpb24u
CisvLyAgICBJdCBjb3VsZCBiZSBpdCBvcmRlcnMgdGhlbSBpbiBvcmRlciBvZiB1c2FnZS4KKy8v
CisvLyBXZSBhbHNvIHRlc3QgdXNpbmcgb25seSBmaXJzdCBlbGVtZW50IG9mIGJpZyBvciBqdXN0
IHRoZSBsYXN0IGVsZW1lbnQgb2YgYmlnLgorLy8KK2ZvciAodmFyIG5hbWVPcmRlciA9IDA7IG5h
bWVPcmRlciA8IDI7ICsrbmFtZU9yZGVyKSB7CisgIHZhciBuYW1lMSA9IG5hbWVPcmRlciA/ICJj
b2xvcmEiIDogImNvbG9yYiI7CisgIHZhciBuYW1lMiA9IG5hbWVPcmRlciA/ICJjb2xvcmIiIDog
ImNvbG9yYSI7CisgIGZvciAodmFyIGxhc3QgPSAwOyBsYXN0IDwgMjsgKytsYXN0KSB7CisgICAg
dmFyIHVzZWRVbmlmb3JtVmVjdG9yID0gbGFzdCA/IG1heFVuaWZvcm1WZWN0b3JzIC0gMiA6IDA7
CisgICAgZm9yICh2YXIgZGVjbE9yZGVyID0gMDsgZGVjbE9yZGVyIDwgMjsgKytkZWNsT3JkZXIp
IHsKKyAgICAgIHZhciBiaWdOYW1lICAgID0gZGVjbE9yZGVyID8gbmFtZTEgOiBuYW1lMjsKKyAg
ICAgIHZhciBsaXR0bGVOYW1lID0gZGVjbE9yZGVyID8gbmFtZTIgOiBuYW1lMTsKKyAgICAgIHZh
ciBkZWNsMSA9IGJpZ05hbWUgKyAiWyIgKyAobWF4VW5pZm9ybVZlY3RvcnMgLSAxKSArICJdIjsK
KyAgICAgIHZhciBkZWNsMiA9IGxpdHRsZU5hbWUgKyAiWzFdIjsKKyAgICAgIGlmIChkZWNsT3Jk
ZXIpIHsKKyAgICAgICAgdmFyIHQgPSBkZWNsMTsKKyAgICAgICAgZGVjbDEgPSBkZWNsMjsKKyAg
ICAgICAgZGVjbDIgPSB0OworICAgICAgfQorICAgICAgZm9yICh2YXIgdXNhZ2VPcmRlciA9IDA7
IHVzYWdlT3JkZXIgPCAyOyArK3VzYWdlT3JkZXIpIHsKKyAgICAgICAgdmFyIHVzYWdlMSA9IGJp
Z05hbWUgKyAiWyIgKyB1c2VkVW5pZm9ybVZlY3RvciArICJdIjsKKyAgICAgICAgdmFyIHVzYWdl
MiA9IGxpdHRsZU5hbWUgKyAiWzBdIjsKKyAgICAgICAgaWYgKHVzYWdlT3JkZXIpIHsKKyAgICAg
ICAgICB2YXIgdCA9IHVzYWdlMTsKKyAgICAgICAgICB1c2FnZTEgPSB1c2FnZTI7CisgICAgICAg
ICAgdXNhZ2UyID0gdDsKKyAgICAgICAgfQorICAgICAgICB2YXIgZlNyYyA9IHd0dS5yZXBsYWNl
UGFyYW1zKHd0dS5nZXRTY3JpcHQoImZzaGFkZXItbWF4LWFiLWFiIiksIHsKKyAgICAgICAgICBk
ZWNsMTogZGVjbDEsCisgICAgICAgICAgZGVjbDI6IGRlY2wyLAorICAgICAgICAgIHVzYWdlMTog
dXNhZ2UxLAorICAgICAgICAgIHVzYWdlMjogdXNhZ2UyLAorICAgICAgICB9KTsKKyAgICAgICAg
dmFyIGRlc2MgPSAidGVzdGluZzogIiArIG5hbWUxICsgIjoiICsgbmFtZTIgKyAiIHVzaW5nICIg
KyAobGFzdCA/ICJsYXN0IiA6ICJmaXJzdCIpICsKKyAgICAgICAgICAgICIgY3JlYXRpbmcgdW5p
Zm9ybXMgIiArIGRlY2wxICsgIiAiICsgZGVjbDIgKyAiIGFuZCBhY2Nlc3NpbmcgIiArIHVzYWdl
MSArICIgIiArIHVzYWdlMjsKKyAgICAgICAgdGVzdHMucHVzaCh7CisgICAgICAgICAgZGVzYzog
ZGVzYywKKyAgICAgICAgICBtYXhVbmlmb3JtVmVjdG9yczogbWF4VW5pZm9ybVZlY3RvcnMgLSAx
LAorICAgICAgICAgIHVzZWRVbmlmb3JtVmVjdG9yOiB1c2VkVW5pZm9ybVZlY3RvciwKKyAgICAg
ICAgICBzb3VyY2U6IGZTcmMsCisgICAgICAgICAgY29sb3I6IFswLCAwLCAwLCAxXSwKKyAgICAg
ICAgICBhcnJheU5hbWU6IGJpZ05hbWUsCisgICAgICAgICAgZXh0cmFOYW1lOiBsaXR0bGVOYW1l
LAorICAgICAgICB9KTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKwordmFyIGFsbFJlcXVpcmVk
VW5pZm9ybUxvY2F0aW9uc1F1ZXJ5YWJsZSA9IHRydWU7CitmdW5jdGlvbiB0ZXN0VW5pZm9ybU9w
dGltaXphdGlvbklzc3Vlcyh0ZXN0SW5kZXgpIHsKKyAgdmFyIHRlc3QgPSB0ZXN0c1t0ZXN0SW5k
ZXhdOworICBkZWJ1ZygiIik7CisgIGRlYnVnKHRlc3QuZGVzYyk7CisgIHZhciBmU3JjID0gdGVz
dC5zb3VyY2U7CisgIGlmICghZlNyYykgeworICAgIGZTcmMgPSB3dHUucmVwbGFjZVBhcmFtcyh3
dHUuZ2V0U2NyaXB0KHRlc3Quc2hhZGVyKSwgdGVzdCk7CisgIH0KKworICB2YXIgY29uc29sZUVs
ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICB3dHUuYWRkU2hhZGVy
U291cmNlKAorICAgICAgY29uc29sZUVsZW0sICJ2ZXJ0ZXggc2hhZGVyIiwgdlNyYyk7CisgIHd0
dS5hZGRTaGFkZXJTb3VyY2UoCisgICAgICBjb25zb2xlRWxlbSwgImZyYWdtZW50IHNoYWRlciIs
IGZTcmMpOworCisgIHZhciBwcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtKGdsLCB2U3JjLCBmU3Jj
KTsKKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKworICB2YXIgY29sb3JiTG9jYXRpb24gPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgdGVzdC5leHRyYU5hbWUgKyAiWzBdIik7Cisg
IGlmIChjb2xvcmJMb2NhdGlvbikgeworICAgIGdsLnVuaWZvcm00ZnYoY29sb3JiTG9jYXRpb24s
IFswLCAxLCAwLCAwXSk7CisgIH0KKworICAvLyBTZXQganVzdCB0aGUgdXNlZCB1bmlmb3JtCisg
IHZhciBuYW1lID0gdGVzdC5hcnJheU5hbWUgKyAiWyIgKyB0ZXN0LnVzZWRVbmlmb3JtVmVjdG9y
ICsgIl0iOworICB2YXIgdW5pZm9ybUxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHBy
b2dyYW0sIG5hbWUpOworICBnbC51bmlmb3JtNGZ2KHVuaWZvcm1Mb2NhdGlvbiwgdGVzdC5jb2xv
cik7CisgIHd0dS5zZXR1cFF1YWQoZ2wsIDEsIHBvc2l0aW9uTG9jKTsKKyAgd3R1LmRyYXdJbmRl
eGVkUXVhZChnbCwgMSk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwg
InNob3VsZCBiZSBncmVlbiIpOworCisgIC8vIFNldCBhbGwgdGhlIHVudXNlZCB1bmlmb3Jtcwor
ICB2YXIgbG9jYXRpb25zID0gW107CisgIGFsbFJlcXVpcmVkVW5pZm9ybUxvY2F0aW9uc1F1ZXJ5
YWJsZSA9IHRydWU7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0Lm1heFVuaWZvcm1WZWN0
b3JzOyArK2lpKSB7CisgICAgdmFyIG5hbWUgPSB0ZXN0LmFycmF5TmFtZSArICJbIiArIGlpICsg
Il0iOworICAgIHZhciB1bmlmb3JtTG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJv
Z3JhbSwgbmFtZSk7CisgICAgbG9jYXRpb25zLnB1c2godW5pZm9ybUxvY2F0aW9uKTsKKyAgICBp
ZiAoaWkgPT0gdGVzdC51c2VkVW5pZm9ybVZlY3RvcikgeworICAgICAgY29udGludWU7CisgICAg
fQorICAgIC8vIExvY2F0aW9ucyA+IHVzZWRVbmZvcm1WZWN0b3IgbWF5IG5vdCBleGlzdC4KKyAg
ICAvLyBMb2NhdGlvbnMgPD0gdXNlZFVuaWZvcm1WZWN0b3IgTVVTVCBleGlzdC4KKyAgICBpZiAo
aWkgPD0gdGVzdC51c2VkVW5pZm9ybVZlY3RvciAmJiAodW5pZm9ybUxvY2F0aW9uID09PSB1bmRl
ZmluZWQgfHwgdW5pZm9ybUxvY2F0aW9uID09PSBudWxsKSkgeworICAgICAgYWxsUmVxdWlyZWRV
bmlmb3JtTG9jYXRpb25zUXVlcnlhYmxlID0gZmFsc2U7CisgICAgfQorICAgIGdsLnVuaWZvcm00
ZnYodW5pZm9ybUxvY2F0aW9uLCBbMSwgMCwgMCwgMV0pOworICB9CisgIHNob3VsZEJlVHJ1ZSgi
YWxsUmVxdWlyZWRVbmlmb3JtTG9jYXRpb25zUXVlcnlhYmxlIik7CisgIHZhciBwb3NpdGlvbkxv
YyA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICJhX3Bvc2l0aW9uIik7CisgIHd0dS5z
ZXR1cFF1YWQoZ2wsIDEsIHBvc2l0aW9uTG9jKTsKKyAgd3R1LmRyYXdJbmRleGVkUXVhZChnbCwg
MSk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBn
cmVlbiIpOworCisgIC8vIENoZWNrIHdlIGNhbiByZWFkICYgd3JpdGUgZWFjaCB1bmlmb3JtLgor
ICAvLyBOb3RlOiB1bmlmb3JtcyBwYXN0IHRlc3QudXNlZFVuaWZvcm1WZWN0b3IgbWlnaHQgbm90
IGV4aXN0LgorICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdC5tYXhVbmlmb3JtVmVjdG9yczsg
KytpaSkgeworICAgIGdsLnVuaWZvcm00ZnYobG9jYXRpb25zW2lpXSwgW2lpICsgNCwgaWkgKyAy
LCBpaSArIDMsIGlpICsgMV0pOworICB9CisKKyAgdmFyIGtFcHNpbG9uID0gMC4wMTsKKyAgdmFy
IGlzU2FtZSA9IGZ1bmN0aW9uKHYxLCB2MikgeworICAgIHJldHVybiBNYXRoLmFicyh2MSAtIHYy
KSA8IGtFcHNpbG9uOworICB9OworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0Lm1heFVu
aWZvcm1WZWN0b3JzOyArK2lpKSB7CisgICAgdmFyIGxvY2F0aW9uID0gbG9jYXRpb25zW2lpXTsK
KyAgICBpZiAobG9jYXRpb24pIHsKKyAgICAgIHZhciB2YWx1ZSA9IGdsLmdldFVuaWZvcm0ocHJv
Z3JhbSwgbG9jYXRpb25zW2lpXSk7CisgICAgICBpZiAoIWlzU2FtZSh2YWx1ZVswXSwgaWkgKyA0
KSB8fAorICAgICAgICAgICFpc1NhbWUodmFsdWVbMV0sIGlpICsgMikgfHwKKyAgICAgICAgICAh
aXNTYW1lKHZhbHVlWzJdLCBpaSArIDMpIHx8CisgICAgICAgICAgIWlzU2FtZSh2YWx1ZVszXSwg
aWkgKyAxKSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJsb2NhdGlvbjogIiArIGlpICsgIiB3YXMg
bm90IGNvcnJlY3QgdmFsdWUiKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9
Cit9CisKK3ZhciB0ZXN0SW5kZXggPSAwOworZnVuY3Rpb24gcnVuTmV4dFRlc3QoKSB7CisgIHRl
c3RVbmlmb3JtT3B0aW1pemF0aW9uSXNzdWVzKHRlc3RJbmRleCsrKTsKKyAgaWYgKHRlc3RJbmRl
eCA8IHRlc3RzLmxlbmd0aCkgeworICAgIHNldFRpbWVvdXQocnVuTmV4dFRlc3QsIDEwKTsKKyAg
fSBlbHNlIHsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hv
dWxkIGJlIG5vIGVycm9ycyIpOworICAgIGRlYnVnKCIiKTsKKyAgICBmaW5pc2hUZXN0KCk7Cisg
IH0KK30KK3J1bk5leHRUZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZv
cm0tZGVmYXVsdC12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iMWVhZTgwYzAwYTQyNzMxODZmYjM0ZTUwNzhkOGFiYTAyNTU5ZWI0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1s
CkBAIC0wLDAgKzEsMzYyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCB1bmlmb3JtIGRlZmF1bHQgdmFsdWVzPC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdC1ldmFsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJleGFt
cGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2c2hhZGVy
MCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwor
dm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKK30KKzwvc2NyaXB0
PgorPHNjcmlwdCBpZD0iZnNoYWRlcjAiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtICQodHlwZSkgdV91bmlmb3JtOworCitib29s
IGlzWmVybygkKHR5cGUpIHZhbHVlKSB7CisgJChjaGVjayk7Cit9CisKK3ZvaWQgbWFpbigpCit7
CisgIGdsX0ZyYWdDb2xvciA9IGlzWmVybyh1X3VuaWZvcm0pID8gdmVjNCgwLDEsMCwxKSA6IHZl
YzQoMSwwLDAsMSk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXIxIiB0eXBlPSJ4
LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247Cit2YXJ5aW5nIHZl
YzQgdl9jb2xvcjsKK3VuaWZvcm0gJCh0eXBlKSB1X3VuaWZvcm07CisKK2Jvb2wgaXNaZXJvKCQo
dHlwZSkgdmFsdWUpIHsKKyAgICQoY2hlY2spOworfQorCit2b2lkIG1haW4oKQoreworICAgIGds
X1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgIHZfY29sb3IgPSBpc1plcm8odV91bmlmb3JtKSA/
IHZlYzQoMCwxLDAsMSkgOiB2ZWM0KDEsMCwwLDEpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSJmc2hhZGVyMSIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVt
cCBmbG9hdDsKK3ZhcnlpbmcgdmVjNCB2X2NvbG9yOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9G
cmFnQ29sb3IgPSB2X2NvbG9yOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyMiIg
dHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlcjIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtICQodHlwZSkgdV91bmlmb3JtWzJdOworCitib29s
IGlzWmVybygkKHR5cGUpIHZhbHVlKSB7CisgICQoY2hlY2spOworfQorCit2b2lkIG1haW4oKQor
eworICBnbF9GcmFnQ29sb3IgPSBpc1plcm8odV91bmlmb3JtWzFdKSA/IHZlYzQoMCwxLDAsMSkg
OiB2ZWM0KDEsMCwwLDEpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyMyIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwordmFyeWlu
ZyB2ZWM0IHZfY29sb3I7Cit1bmlmb3JtICQodHlwZSkgdV91bmlmb3JtWzJdOworCitib29sIGlz
WmVybygkKHR5cGUpIHZhbHVlKSB7CisgICAkKGNoZWNrKTsKK30KKwordm9pZCBtYWluKCkKK3sK
KyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICB2X2NvbG9yID0gaXNaZXJvKHVfdW5p
Zm9ybVsxXSkgPyB2ZWM0KDAsMSwwLDEpIDogdmVjNCgxLDAsMCwxKTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlcjMiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzQgdl9jb2xvcjsKK3ZvaWQgbWFpbigpCit7
CisgICAgZ2xfRnJhZ0NvbG9yID0gdl9jb2xvcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1
c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciB0ZXN0cyA9IFsKK3sgdHlwZTogJ2Zs
b2F0JywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWUgPT0gMC4wIiwKKyAgc2V0Rm46IGZ1bmN0aW9u
KGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFmKGxvYywgMy4wKTsgfQorfSwKK3sgdHlwZTogJ2ludCcs
CisgIGNoZWNrOiAicmV0dXJuIHZhbHVlID09IDAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxv
YykgeyBnbC51bmlmb3JtMWkobG9jLCAzLjApOyB9Cit9LAoreyB0eXBlOiAnYm9vbCcsCisgIGNo
ZWNrOiAicmV0dXJuIHZhbHVlID09IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2Mp
IHsgZ2wudW5pZm9ybTFpKGxvYywgMSk7IH0KK30sCit7IHR5cGU6ICd2ZWMyJywKKyAgY2hlY2s6
ICJyZXR1cm4gdmFsdWVbMF0gPT0gMC4wICYmIHZhbHVlWzFdID09IDAuMCIsCisgIHNldEZuOiBm
dW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0yZihsb2MsIDMuMCwgMy4wKTsgfQorfSwKK3sg
dHlwZTogJ3ZlYzMnLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSAwLjAgJiYgdmFsdWVb
MV0gPT0gMC4wICYmIHZhbHVlWzJdID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9j
KSB7IGdsLnVuaWZvcm0zZihsb2MsIDMuMCwgMy4wLCAzLjApOyB9Cit9LAoreyB0eXBlOiAndmVj
NCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IDAuMCAmJiB2YWx1ZVsxXSA9PSAwLjAg
JiYgdmFsdWVbMl0gPT0gMC4wICYmIHZhbHVlWzNdID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlv
bihnbCwgbG9jKSB7IGdsLnVuaWZvcm00Zihsb2MsIDMuMCwgMy4wLCAzLjAsIDMuMCk7IH0KK30s
Cit7IHR5cGU6ICdpdmVjMicsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IDAgJiYgdmFs
dWVbMV0gPT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0yaShs
b2MsIDMsIDMpOyB9Cit9LAoreyB0eXBlOiAnaXZlYzMnLAorICBjaGVjazogInJldHVybiB2YWx1
ZVswXSA9PSAwICYmIHZhbHVlWzFdID09IDAgJiYgdmFsdWVbMl0gPT0gMCIsCisgIHNldEZuOiBm
dW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0zaShsb2MsIDMsIDMsIDMpOyB9Cit9LAoreyB0
eXBlOiAnaXZlYzQnLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSAwICYmIHZhbHVlWzFd
ID09IDAgJiYgdmFsdWVbMl0gPT0gMCAmJiB2YWx1ZVszXSA9PSAwIiwKKyAgc2V0Rm46IGZ1bmN0
aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTRpKGxvYywgMywgMywgMywgMyk7IH0KK30sCit7IHR5
cGU6ICdidmVjMicsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IGZhbHNlICYmIHZhbHVl
WzFdID09IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTJp
KGxvYywgMSwgMSk7IH0KK30sCit7IHR5cGU6ICdidmVjMycsCisgIGNoZWNrOiAicmV0dXJuIHZh
bHVlWzBdID09IGZhbHNlICYmIHZhbHVlWzFdID09IGZhbHNlICYmIHZhbHVlWzJdID09IGZhbHNl
IiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTNpKGxvYywgMSwgMSwg
MSk7IH0KK30sCit7IHR5cGU6ICdidmVjNCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09
IGZhbHNlICYmIHZhbHVlWzFdID09IGZhbHNlICYmIHZhbHVlWzJdID09IGZhbHNlICYmIHZhbHVl
WzNdID09IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTRp
KGxvYywgMSwgMSwgMSwgMSk7IH0KK30sCit7IHR5cGU6ICdtYXQyJywKKyAgY2hlY2s6CisgICAg
InJldHVybiAiICsKKyAgICAidmFsdWVbMF1bMF0gPT0gMC4wICYmIHZhbHVlWzBdWzFdID09IDAu
MCAmJiAiICsKKyAgICAidmFsdWVbMV1bMF0gPT0gMC4wICYmIHZhbHVlWzFdWzBdID09IDAuMCIs
CisgIHZhbHVlQ2hlY2s6CisgICAgInJldHVybiAiICsKKyAgICAidmFsdWVbMF0gPT0gMC4wICYm
IHZhbHVlWzFdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMl0gPT0gMC4wICYmIHZhbHVlWzNd
ID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm1NYXRyaXgy
ZnYobG9jLCBmYWxzZSwgWzEsIDEsIDEsIDFdKTsgfQorfSwKK3sgdHlwZTogJ21hdDMnLAorICBj
aGVjazoKKyAgICAicmV0dXJuICIgKworICAgICJ2YWx1ZVswXVswXSA9PSAwLjAgJiYgdmFsdWVb
MV1bMF0gPT0gMC4wICYmIHZhbHVlWzJdWzBdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMF1b
MV0gPT0gMC4wICYmIHZhbHVlWzFdWzFdID09IDAuMCAmJiB2YWx1ZVsyXVsxXSA9PSAwLjAgJiYg
IiArCisgICAgInZhbHVlWzBdWzJdID09IDAuMCAmJiB2YWx1ZVsxXVsyXSA9PSAwLjAgJiYgdmFs
dWVbMl1bMl0gPT0gMC4wIiwKKyAgdmFsdWVDaGVjazoKKyAgICAicmV0dXJuICIgKworICAgICJ2
YWx1ZVswXSA9PSAwLjAgJiYgdmFsdWVbMV0gPT0gMC4wICYmIHZhbHVlWzJdID09IDAuMCAmJiAi
ICsKKyAgICAidmFsdWVbM10gPT0gMC4wICYmIHZhbHVlWzRdID09IDAuMCAmJiB2YWx1ZVs1XSA9
PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzZdID09IDAuMCAmJiB2YWx1ZVs3XSA9PSAwLjAgJiYg
dmFsdWVbOF0gPT0gMC4wIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9y
bU1hdHJpeDNmdihsb2MsIGZhbHNlLCBbMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMV0pOyB9Cit9
LAoreyB0eXBlOiAnbWF0NCcsCisgIGNoZWNrOgorICAgICJyZXR1cm4gIiArCisgICAgInZhbHVl
WzBdWzBdID09IDAuMCAmJiB2YWx1ZVsxXVswXSA9PSAwLjAgJiYgdmFsdWVbMl1bMF0gPT0gMC4w
ICYmIHZhbHVlWzNdWzBdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMF1bMV0gPT0gMC4wICYm
IHZhbHVlWzFdWzFdID09IDAuMCAmJiB2YWx1ZVsyXVsxXSA9PSAwLjAgJiYgdmFsdWVbM11bMV0g
PT0gMC4wICYmICIgKworICAgICJ2YWx1ZVswXVsyXSA9PSAwLjAgJiYgdmFsdWVbMV1bMl0gPT0g
MC4wICYmIHZhbHVlWzJdWzJdID09IDAuMCAmJiB2YWx1ZVszXVsyXSA9PSAwLjAgJiYgIiArCisg
ICAgInZhbHVlWzBdWzNdID09IDAuMCAmJiB2YWx1ZVsxXVszXSA9PSAwLjAgJiYgdmFsdWVbMl1b
M10gPT0gMC4wICYmIHZhbHVlWzNdWzNdID09IDAuMCIsCisgIHZhbHVlQ2hlY2s6CisgICAgInJl
dHVybiAiICsKKyAgICAidmFsdWVbIDBdID09IDAuMCAmJiB2YWx1ZVsgMV0gPT0gMC4wICYmIHZh
bHVlWyAyXSA9PSAwLjAgJiYgdmFsdWVbIDNdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbIDRd
ID09IDAuMCAmJiB2YWx1ZVsgNV0gPT0gMC4wICYmIHZhbHVlWyA2XSA9PSAwLjAgJiYgdmFsdWVb
IDddID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbIDhdID09IDAuMCAmJiB2YWx1ZVsgOV0gPT0g
MC4wICYmIHZhbHVlWzEwXSA9PSAwLjAgJiYgdmFsdWVbMTFdID09IDAuMCAmJiAiICsKKyAgICAi
dmFsdWVbMTJdID09IDAuMCAmJiB2YWx1ZVsxM10gPT0gMC4wICYmIHZhbHVlWzE0XSA9PSAwLjAg
JiYgdmFsdWVbMTVdID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVu
aWZvcm1NYXRyaXg0ZnYobG9jLCBmYWxzZSwgWzEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsIDEsIDEsIDFdKTsgfQorfSwKK3sgdHlwZTogJ3NhbXBsZXIyRCcsCisgIGNoZWNr
OgorICAgICJ2ZWM0IHYgPSB0ZXh0dXJlMkQodmFsdWUsIHZlYzIoMCwgMCkpOyIgKworICAgICJy
ZXR1cm4gdi54ID09IDEuMCAmJiB2LnkgPT0gMS4wICYmIHYueiA9PSAxLjAgJiYgdi53ID09IDEu
MCIsCisgIHZhbHVlQ2hlY2s6CisgICAgInJldHVybiB2YWx1ZSA9PSAwIiwKKyAgc2V0Rm46IGZ1
bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFpKGxvYywgMSk7IH0KK30sCit7IHR5cGU6ICdz
YW1wbGVyQ3ViZScsCisgIGNoZWNrOgorICAgICJ2ZWM0IHYgPSB0ZXh0dXJlQ3ViZSh2YWx1ZSwg
dmVjMygwLCAwLCAwKSk7IiArCisgICAgInJldHVybiB2LnggPT0gMS4wICYmIHYueSA9PSAxLjAg
JiYgdi56ID09IDEuMCAmJiB2LncgPT0gMS4wIiwKKyAgdmFsdWVDaGVjazoKKyAgICAicmV0dXJu
IHZhbHVlID09IDAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMWko
bG9jLCAxKTsgfQorfSwKK107CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9
IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKK3ZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnNvbGUiKTsKK3ZhciBjaGVja0ZuOworCit3dHUuc2V0dXBVbml0UXVhZChnbCwgWzAsIDFd
KTsKKworLy8gU2V0IHVuaXQgMCB0byBhIG5vbi0wIHRleHR1cmUuCit2YXIgaGF2ZVZlcnRleFRl
eHR1cmVJbWFnZVVuaXRzID0KKyAgICBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRFWF9URVhU
VVJFX0lNQUdFX1VOSVRTKSA+PSAyOwordmFyIHRleDJEID0gZ2wuY3JlYXRlVGV4dHVyZSgpOwor
dmFyIHRleEN1YmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CitnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXgyRCk7CitnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhD
dWJlKTsKKwordmFyIHBpeGVsID0gbmV3IFVpbnQ4QXJyYXkoWzI1NSwgMjU1LCAyNTUsIDI1NV0p
OwordmFyIHRhcmdldHMgPSBbCisgIGdsLlRFWFRVUkVfMkQsCisgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWCwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICBnbC5U
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJ
VkVfWSwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICBnbC5URVhUVVJFX0NV
QkVfTUFQX05FR0FUSVZFX1oKK107Citmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGFyZ2V0cy5sZW5n
dGg7ICsraWkpIHsKKyAgICBnbC50ZXhJbWFnZTJEKAorICAgICAgICB0YXJnZXRzW2lpXSwgMCwg
Z2wuUkdCQSwgMSwgMSwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgcGl4ZWwpOworfQor
Cit2YXIgc2hhZGVyVGVtcGxhdGVzID0gWworeyB2czogInZzaGFkZXIwIiwgZnM6ICJmc2hhZGVy
MCIsIHR5cGU6ICdmJyB9LAoreyB2czogInZzaGFkZXIxIiwgZnM6ICJmc2hhZGVyMSIsIHR5cGU6
ICd2JyB9LAoreyB2czogInZzaGFkZXIyIiwgZnM6ICJmc2hhZGVyMiIsIHR5cGU6ICdmJyB9LAor
eyB2czogInZzaGFkZXIzIiwgZnM6ICJmc2hhZGVyMyIsIHR5cGU6ICd2JyB9LAorXTsKKworLy8g
R2V0IHNoYWRlciB0ZW1wbGF0ZXMKK2ZvciAodmFyIGlpID0gMDsgaWkgPCBzaGFkZXJUZW1wbGF0
ZXMubGVuZ3RoOyArK2lpKSB7CisgIHZhciB0ZW1wbGF0ZSA9IHNoYWRlclRlbXBsYXRlc1tpaV07
CisgIHRlbXBsYXRlLnZzID0gd3R1LmdldFNjcmlwdCh0ZW1wbGF0ZS52cyk7CisgIHRlbXBsYXRl
LmZzID0gd3R1LmdldFNjcmlwdCh0ZW1wbGF0ZS5mcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RUeXBl
KHRlc3QpIHsKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZzogIiArIHRlc3QudHlwZSk7
CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHNoYWRlclRlbXBsYXRlcy5sZW5ndGg7ICsraWkp
IHsKKyAgICB2YXIgdGVtcGxhdGUgPSBzaGFkZXJUZW1wbGF0ZXNbaWldOworCisgICAgaWYgKHRl
c3QudHlwZS5zdWJzdHJpbmcoMCwgNykgPT0gInNhbXBsZXIiICYmCisgICAgICAgIHRlbXBsYXRl
LnR5cGUgPT0gJ3YnICYmCisgICAgICAgICFoYXZlVmVydGV4VGV4dHVyZUltYWdlVW5pdHMpIHsK
KyAgICAgIGNvbnRpbnVlOworICAgIH0KKworICAgIHZhciB2cyA9IHd0dS5yZXBsYWNlUGFyYW1z
KHRlbXBsYXRlLnZzLCB0ZXN0KTsKKyAgICB2YXIgZnMgPSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1w
bGF0ZS5mcywgdGVzdCk7CisKKyAgICB3dHUuYWRkU2hhZGVyU291cmNlKGMsICJ2ZXJ0ZXggc2hh
ZGVyIiwgdnMpOworICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywgImZyYWdtZW50IHNoYWRlciIs
IGZzKTsKKworICAgIHZhciB2cyA9IHd0dS5sb2FkU2hhZGVyKGdsLCB2cywgZ2wuVkVSVEVYX1NI
QURFUik7CisgICAgdmFyIGZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIGZzLCBnbC5GUkFHTUVOVF9T
SEFERVIpOworICAgIHZhciBwcm9ncmFtID0gd3R1LmNyZWF0ZVByb2dyYW0oZ2wsIHZzLCBmcyk7
CisKKyAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworCisgICAgdmFyIGxvYyA9IGdsLmdldFVu
aWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV91bmlmb3JtWzFdIik7CisgICAgaWYgKCFsb2MpIHsK
KyAgICAgICAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV91bmlm
b3JtIik7CisgICAgfQorCisgICAgdmFyIHZhbHVlID0gZ2wuZ2V0VW5pZm9ybShwcm9ncmFtLCBs
b2MpOworICAgIFRlc3RFdmFsKCJjaGVja0ZuID0gZnVuY3Rpb24odmFsdWUpIHsiICsgKHRlc3Qu
dmFsdWVDaGVjayA/IHRlc3QudmFsdWVDaGVjayA6IHRlc3QuY2hlY2spICsgIjt9Iik7CisgICAg
aWYgKGNoZWNrRm4odmFsdWUpKSB7CisgICAgICAgIHRlc3RQYXNzZWQoInVuaWZvcm0gaXMgemVy
byIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RGYWlsZWQoInVuaWZvcm0gaXMgbm90IHpl
cm8iKTsKKyAgICB9CisKKyAgICBkZWJ1ZygiZGVmYXVsdCB2YWx1ZSBzaG91bGQgYmUgemVybyIp
OworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1
LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIiwgMCk7CisKKyAgICBkZWJ1ZygidGVzdCB0ZXN0
IGJ5IHNldHRpbmcgdmFsdWUiKTsKKyAgICB0ZXN0LnNldEZuKGdsLCBsb2MpOworCisgICAgd3R1
LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0s
ICJzaG91bGQgYmUgcmVkIiwgMCk7CisKKyAgICBkZWJ1ZygicmUtbGlua2luZyBzaG91bGQgcmVz
ZXQgdG8gZGVmYXVsdHMiKTsKKyAgICBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKKworICAgIHd0
dS5kcmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVd
LCAic2hvdWxkIGJlIGdyZWVuIiwgMCk7CisKKyAgICBnbC5kZWxldGVQcm9ncmFtKHByb2dyYW0p
OworICAgIGdsLmRlbGV0ZVNoYWRlcih2cyk7CisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzKTsKKwor
ICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIEdM
IGVycm9ycyIpOworICB9Cit9CisKK3ZhciB0ZXN0TmR4ID0gMDsKK2Z1bmN0aW9uIHJ1bk5leHRU
ZXN0KCkgeworICAgIHRlc3RUeXBlKHRlc3RzW3Rlc3ROZHgrK10pOworICAgIGlmICh0ZXN0TmR4
ID49IHRlc3RzLmxlbmd0aCkgeworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgc2V0VGltZW91dChydW5OZXh0VGVzdCwgMSk7CisgICAgfQorfQorCitydW5OZXh0
VGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM1YzZkNzkw
MTc4ZTM5MjYxYjI5YmFmZmU1ODRlYmE2NGQzMjc3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZv
cm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCEtLQorLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGVzdHMgdGhlIFdlYkdMVW5pZm9ybUxvY2F0aW9u
IEFQSSIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY29udGV4dEEgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCk7Cit2YXIgY29udGV4dEIgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7
Cit2YXIgcHJvZ3JhbUExID0gd3R1LmxvYWRTdGFuZGFyZFByb2dyYW0oY29udGV4dEEpOwordmFy
IHByb2dyYW1BMiA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHRBKTsKK3ZhciBwcm9n
cmFtQiA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHRCKTsKK3ZhciBwcm9ncmFtUyA9
IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGNvbnRleHRBLCAiLi4vcmVzb3VyY2VzL3N0cnVjdFVu
aWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvZnJhZ21lbnRTaGFkZXIuZnJhZyIpOwor
dmFyIHByb2dyYW1WID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoY29udGV4dEEsICIuLi9yZXNv
dXJjZXMvZmxvYXRVbmlmb3JtU2hhZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3Jt
U2hhZGVyLmZyYWciKTsKK3ZhciBsb2NhdGlvbkEgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRp
b24ocHJvZ3JhbUExLCAndV9tb2RlbFZpZXdQcm9qTWF0cml4Jyk7Cit2YXIgbG9jYXRpb25CID0g
Y29udGV4dEIuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1CLCAndV9tb2RlbFZpZXdQcm9qTWF0
cml4Jyk7Cit2YXIgbG9jYXRpb25TeCA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9n
cmFtUywgInVfc3RydWN0LngiKTsKK3ZhciBsb2NhdGlvblN4MjsKK3ZhciBsb2NhdGlvbkFycmF5
MCA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfYXJyYXlbMF0iKTsK
K3ZhciBsb2NhdGlvbkFycmF5MSA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFt
UywgInVfYXJyYXlbMV0iKTsKK3ZhciBsb2NhdGlvblZlYzQgPSBjb250ZXh0QS5nZXRVbmlmb3Jt
TG9jYXRpb24ocHJvZ3JhbVYsICJmdmFsNCIpOworCit2YXIgdmVjID0gWzEsIDIsIDMsIDRdOwor
dmFyIG1hdCA9IFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQs
IDE1LCAxNl07CisKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9f
RVJST1IsICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1BMikiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS51
bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uQSwgZmFsc2UsIG1hdCkiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51c2VQcm9ncmFt
KHByb2dyYW1BMSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEu
Tk9fRVJST1IsICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uQSwgZmFsc2UsIG1h
dCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1Is
ICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2KG51bGwsIGZhbHNlLCBtYXQpIik7CisKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51
c2VQcm9ncmFtKHByb2dyYW1TKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBj
b250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0xaShsb2NhdGlvblN4LCAzMzMpIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29u
dGV4dEEudW5pZm9ybTFmKGxvY2F0aW9uQXJyYXkwLCA0LjApIik7CitzaG91bGRHZW5lcmF0ZUdM
RXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTFmKGxv
Y2F0aW9uQXJyYXkxLCA1LjApIik7CisKK3Nob3VsZEJlKCJjb250ZXh0QS5nZXRVbmlmb3JtKHBy
b2dyYW1TLCBsb2NhdGlvblN4KSIsICIzMzMiKTsKK3Nob3VsZEJlKCJjb250ZXh0QS5nZXRVbmlm
b3JtKHByb2dyYW1TLCBsb2NhdGlvbkFycmF5MCkiLCAiNC4wIik7CitzaG91bGRCZSgiY29udGV4
dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25BcnJheTEpIiwgIjUuMCIpOworCitzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEu
dXNlUHJvZ3JhbShwcm9ncmFtVikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwg
Y29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51bmlmb3JtNGZ2KGxvY2F0aW9uVmVjNCwgdmVj
KSIpOworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0ocHJvZ3JhbVYsIGxvY2F0aW9uVmVj
NCkiLCAidmVjIik7CisKK3Nob3VsZEJlTnVsbCgiY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9u
KHByb2dyYW1WLCBcIklEb250RXhpc3RcIikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250
ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS5saW5rUHJvZ3JhbShwcm9ncmFtQTEp
Iik7CisvLyBBZnRlciBsaW5raW5nIGFsbCBib3hlcyBhcmUgYmFkLgorc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHRBLnVu
aWZvcm1NYXRyaXg0ZnYobG9jYXRpb25BLCBmYWxzZSwgbWF0KSIpOworCisvLyBhZnRlciByZS1s
aW5raW5nIHRoZSBzYW1lIHByb2dyYW0sIGFsbCB1bmlmb3JtIGxvY2F0aW9ucyBiZWNvbWUgaW52
YWxpZC4KK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1Is
ICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1TKSIpOworY29udGV4dEEuc3RlbmNpbE1hc2so
MSk7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAi
Y29udGV4dEEubGlua1Byb2dyYW0ocHJvZ3JhbVMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Y29udGV4dEEsIGNvbnRleHRBLklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dEEudW5pZm9ybTFp
KGxvY2F0aW9uU3gsIDMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRl
eHRBLklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9j
YXRpb25TeCkiKTsKKworLy8gUmV0cmlldmUgdGhlIGxvY2F0aW9ucyBhZ2FpbiwgYW5kIHRoZXkg
c2hvdWxkIGJlIGdvb2QuCitsb2NhdGlvblN4ID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9u
KHByb2dyYW1TLCAidV9zdHJ1Y3QueCIpOworbG9jYXRpb25BcnJheTAgPSBjb250ZXh0QS5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X2FycmF5WzBdIik7CitkZWJ1ZygiaGVyZSIpOwor
Y29udGV4dEEuc3RlbmNpbE1hc2soMCk7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEs
IGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTFpKGxvY2F0aW9uU3gsIDMpIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29u
dGV4dEEudW5pZm9ybTFmKGxvY2F0aW9uQXJyYXkwLCAxMjMpIik7CitzaG91bGRCZSgiY29udGV4
dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25TeCkiLCAiMyIpOworc2hvdWxkQmUoImNv
bnRleHRBLmdldFVuaWZvcm0ocHJvZ3JhbVMsIGxvY2F0aW9uQXJyYXkwKSIsICIxMjMiKTsKKwor
Ly8gZ2V0VW5pZm9ybUxvY2F0aW9uIHNob3VsZCByZXR1cm4gYSBkaWZmZXJlbnQgb2JqZWN0IGV2
ZXJ5dGltZSwgc2hvdWxkIG5vdCBjYWNoZSBhbmQgcmV0dXJuIHRoZSBzYW1lIG9iamVjdAorZGVi
dWcoIlRlc3RpbmcgdGhhdCBnZXRVbmlmb3JtTG9jYXRpb24gcmV0dXJucyBhIGRpZmZlcmVudCBv
YmplY3QgZXZlcnl0aW1lIik7Citsb2NhdGlvblN4ICA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2Nh
dGlvbihwcm9ncmFtUywgInVfc3RydWN0LngiKTsKK2xvY2F0aW9uU3gyID0gY29udGV4dEEuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1TLCAidV9zdHJ1Y3QueCIpOworc2hvdWxkQmVGYWxzZSgi
bG9jYXRpb25TeCA9PT0gbG9jYXRpb25TeDIiKTsKK2xvY2F0aW9uU3guZm9vICA9IHt9OworbG9j
YXRpb25TeDIuZm9vID0ge307CitzaG91bGRCZUZhbHNlKCJsb2NhdGlvblN4LmZvbyA9PT0gbG9j
YXRpb25TeDIuZm9vIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2Ft
cGxlcnMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjBlZDU3N2QxNjAzNDExYzU3ZTBkOTY4M2U1OWM3MDA1MTQ3YzlkNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCkBAIC0wLDAg
KzEsMTEwIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAg
IDx0aXRsZT5XZWJHTCBzYW1wbGVyIHVuaWZvcm1zIGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4K
KyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyI+IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4
OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKworICA8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gaW5pdCgp
Cit7CisgIGRlc2NyaXB0aW9uKAorICAgICAgIlRlc3RzIHRoYXQgb25seSBVbmlmb3JtMWkgYW5k
IFVuaWZvcm0xaXYgY2FuIGJlIHVzZWQgdG8gc2V0IiArCisgICAgICAic2FtcGxlciB1bmlmb3Jt
cy4iKTsKKworICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFz
MmQiKTsKKworICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgIHZhciBnbCA9IHd0dS5jcmVh
dGUzRENvbnRleHQoImV4YW1wbGUiKTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJl
ZFF1YWQoZ2wpOworCisgIHZhciB0ZXh0dXJlTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHBy
b2dyYW0sICJ0ZXgiKTsKKworICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgMSk7CisgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAidW5pZm9ybTFpIGNhbiBz
ZXQgYSBzYW1wbGVyIHVuaWZvcm0iKTsKKyAgZ2wudW5pZm9ybTFpdih0ZXh0dXJlTG9jLCBbMV0p
OworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgInVuaWZv
cm0xaXYgY2FuIHNldCBhIHNhbXBsZXIgdW5pZm9ybSIpOworICBnbC51bmlmb3JtMWYodGV4dHVy
ZUxvYywgMSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisg
ICAgICAgICAgICAidW5pZm9ybTFmIHJldHVybnMgSU5WQUxJRF9PUEVSQVRJT04gaWYgYXR0ZW1w
dGluZyB0byBzZXQgYSBzYW1wbGVyIHVuaWZvcm0iKTsKKyAgZ2wudW5pZm9ybTFmdih0ZXh0dXJl
TG9jLCBbMV0pOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLAor
ICAgICAgICAgICAgInVuaWZvcm0xZnYgcmV0dXJucyBJTlZBTElEX09QRVJBVElPTiBpZiBhdHRl
bXB0aW5nIHRvIHNldCBhIHNhbXBsZXIgdW5pZm9ybSIpOworCisgIHZhciBtYXhUZXh0dXJlVW5p
dHMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX0NPTUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFMp
OworCisgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IG1heFRl
eHR1cmVVbml0czsgKytpaSkgeworICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCBpaSk7Cisg
ICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGdsLmdldEVycm9yKCkgPT0gZ2wuTk9fRVJST1IpOwor
ICB9CisgIGV4cGVjdFRydWUoc3VjY2VzcywgInVuaWZvcm0xaSB3b3JrcyBmb3IgYW55IHZhbGlk
IHRleHR1cmUgdW5pdCIpOworCisgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IG1heFRleHR1cmVVbml0czsgKytpaSkgeworICAgIGdsLnVuaWZvcm0xaXYodGV4
dHVyZUxvYywgW2lpXSk7CisgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGdsLmdldEVycm9yKCkg
PT0gZ2wuTk9fRVJST1IpOworICB9CisgIGV4cGVjdFRydWUoc3VjY2VzcywgInVuaWZvcm0xaXYg
d29ya3MgZm9yIGFueSB2YWxpZCB0ZXh0dXJlIHVuaXQiKTsKKworICB2YXIgc3VjY2VzcyA9IHRy
dWU7CisgIGZvciAodmFyIGlpID0gbWF4VGV4dHVyZVVuaXRzOyBpaSA8IDB4MTAwMDA7ICsraWkp
IHsKKyAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgaWkpOworICAgIHN1Y2Nlc3MgPSBzdWNj
ZXNzICYmIChnbC5nZXRFcnJvcigpID09IGdsLklOVkFMSURfVkFMVUUpOworICB9CisgIGV4cGVj
dFRydWUoc3VjY2VzcywgInVuaWZvcm0xaSBnZW5lcmF0ZXMgSU5WQUxJRF9WQUxVRSBmb3IgaW52
YWxpZCB0ZXh0dXJlIHVuaXRzIik7CisKKyAgdmFyIHN1Y2Nlc3MgPSB0cnVlOworICBmb3IgKHZh
ciBpaSA9IG1heFRleHR1cmVVbml0czsgaWkgPCAweDEwMDAwOyArK2lpKSB7CisgICAgZ2wudW5p
Zm9ybTFpdih0ZXh0dXJlTG9jLCBbaWldKTsKKyAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiAoZ2wu
Z2V0RXJyb3IoKSA9PSBnbC5JTlZBTElEX1ZBTFVFKTsKKyAgfQorICBleHBlY3RUcnVlKHN1Y2Nl
c3MsICJ1bmlmb3JtMWl2IGdlbmVyYXRlcyBJTlZBTElEX1ZBTFVFIGZvciBpbnZhbGlkIHRleHR1
cmUgdW5pdHMiKTsKKworfQorCitpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187399</attachid>
            <date>2013-02-08 19:14:12 -0800</date>
            <delta_ts>2013-02-11 09:48:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109075-20130208191045.patch</filename>
            <type>text/plain</type>
            <size>710368</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMzQyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjlkYTQzMTFhZDc4ZDU5YTU0OGVi
N2MzNTljN2JjYzJkZTkzYzJhNy4uOThiNjcwYzg4NzNlYjk4Njg0ZTVmMGEwODljNDA4OTdmMDVl
ZTc5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2NCBAQAogMjAxMy0wMi0wOCAgR3JlZ2cgVGF2YXJlcyAg
PGdtYW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIEFkZHMgZmFpbGluZyBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwOTA3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2
ZS10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRh
LXVybC10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1
ZmZlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2Nv
bnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9u
LWFuZC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1m
dW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJl
c3RyaWN0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlp
bmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmlu
Zy1hcnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQt
d29yZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJj
dWl0aW5nLW9wZXJhdG9ycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9y
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWls
YXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12
YXJ5aW5ncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3Zh
cmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
TF9TLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZl
ckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2Uy
RC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZGVsZXRlQnVmZmVyQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0Fy
cmF5cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0FycmF5c091dE9mQm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFk
QXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1Yklt
YWdlMkRIVE1MLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29z
L2Fjb3NfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRh
bl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18w
MDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29n
bGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFf
dG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVw
XzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxz
LXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9y
ZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29y
LXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmpl
Y3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29w
eS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1j
b25mb3JtYW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YjU2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiYTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiNTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1
NjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1p
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW1pcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1h
cnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZh
dWx0LXZhbHVlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLWxvY2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3Qt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3Jl
ZW4tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11
cmwtdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRy
YXdpbmctYnVmZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVz
dHJ1Y3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhz
dGVwLWdlbnR5cGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250
YWluaW5nLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1z
aG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXJzLXdpdGgtdmFyeWluZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29y
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1MX1MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLVNfVi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1Yklt
YWdlMkRCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3Vi
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhU
TUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9h
dGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xf
Zmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFt
cy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgt
aW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLXJnYmE1NTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5k
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9n
bC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFs
dWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWw6IEFkZGVkLgorCisyMDEzLTAyLTA4ICBH
cmVnZyBUYXZhcmVzICA8Z21hbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgRGlzYWJsZSBBbGwg
V2ViR0wgVGVzdHMgb24gV2ViS2l0IGZvciBXaW5kb3dzCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkyMDcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTE3Yjk0ZWVmODU3MzgzMjFlY2M0
ZTIxM2U4MzVmYTQ1ZWE0ZGUxYS4uYWJiMDFkZGU5YTFlZTRmMDY5NmU1OGRiZDJmZmEyOGE2ZTZk
MTkxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xNDQ5LDcgKzE0NDksNDYgQEAgd2Via2l0Lm9yZy9iLzc1Mjc2IFsgQW5kcm9pZCBd
IGZhc3QvcmVwYWludC9zaGFkb3ctbXVsdGlwbGUtc3RyaWN0LXZlcnRpY2FsLmh0bWwKICMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KICMgV2ViR0wgVGVzdHMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sIFsgU2tp
cCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1j
bGVhbi1jb25mb3JtYW5jZS5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20v
MTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwg
WyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5p
Zm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmds
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbCBbIFNraXAgXQorY3Ji
dWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJz
LXRlc3QuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwgWyBTa2lw
IF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVs
cy10ZXN0Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uv
c3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4
IHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFj
aG1lbnQuaHRtbCBbIFNraXAgXQogY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9h
dHRyaWJzL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMuaHRtbCBbIFNraXAgXQorY3JidWcu
Y29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9u
LXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwg
WyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbCBbIFNraXAg
XQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8x
NzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5o
dG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFy
aWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIFsgU2tpcCBd
CitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8w
MDFfdG9fMDA2Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbCBbIFNraXAgXQorY3JidWcuY29t
LzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRt
bCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9s
b2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmds
L2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAw
OC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVz
L0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwgWyBTa2lwIF0KKworY3Ji
dWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0t
cGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0
bWwgWyBTa2lwIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0
NDY2IHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0
bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIFsgU2tp
cCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eFN1YkltYWdlMkRIVE1MLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29u
Zm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sIFsgU2tpcCBdCitjcmJ1
Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVz
dC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZh
cy90by1kYXRhLXVybC10ZXN0Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wv
Y29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1
ZmZlci5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2Nv
bnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbCBbIFNraXAgXQogCiB3
ZWJraXQub3JnL2IvMTA4OTAxIHdlYmdsL2NvbmZvcm1hbmNlL2F0dHJpYnMvZ2wtdmVydGV4YXR0
cmlicG9pbnRlci5odG1sIFsgU2xvdyBdCiB3ZWJraXQub3JnL2IvMTA5MTE0IHdlYmdsL2NvbmZv
cm1hbmNlL2NvbnRleHQvY29udGV4dC1yZWxlYXNlLXVwb24tcmVsb2FkLmh0bWwgWyBQYXNzIFRp
bWVvdXQgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAz
ZTU1N2E4Y2VmY2VjMzJjN2MyNjMwYTBlZjI2YTkxMzVhN2I5Nzc3Li5hMTBiMmVkM2RkNGFhZTJm
YTc4NDVlMTk0YzYzOWMzZDZlNTZjOWIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtOTczLDYgKzk3Myw4MSBAQCBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtZ2xvYmFsLXNlbGVjdGlvbi5odG1sCiAjIEN1cnJlbnRseSBmYWlsaW5nIFdlYkdMIHRlc3Rz
IDxyZGFyOi8vcHJvYmxlbS85MzU1NDYwPgogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCiAKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwOTA4MQord2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdp
bmdidWZmZXItdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvdG8t
ZGF0YS11cmwtdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2Nv
bnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwgWyBTa2lwIF0KK3dl
YmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24u
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5j
dGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1w
YWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1s
IFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQt
Y2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwgWyBTa2lwIF0K
K3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1s
IFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjIuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUIzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ku
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUxfUy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sIFsg
U2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2Uy
RC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbCBbIFNr
aXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJn
cy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4
ZWxzQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIFsgU2tp
cCBdCit3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1s
IFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAw
Ni5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAx
X3RvXzAwOC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9n
XzAwMV90b18wMDguaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9n
Mi9sb2cyXzAwMV90b18wMDguaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwgWyBTa2lwIF0KK3dl
YmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2
Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmli
LWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5o
dG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29y
cnVwdGlvbi5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQt
c2l6ZS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0
b3JlaS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xl
YW4tY29uZm9ybWFuY2UuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwg
WyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1
MS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2Jh
NTU1MS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwgWyBTa2lwIF0KK3dl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbCBbIFNr
aXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRt
bCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5o
dG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJz
LXRlc3QuaHRtbCBbIFNraXAgXQorCiAjIFNlbmRpbmcgdGhlIG1vdXNlIGRvd24gZXZlbnQgdG8g
dGhlIHNjcm9sbGJhciBzdGFydHMgYSBuZXN0ZWQgcnVuIGxvb3Agd2hpY2ggY2F1c2VzIGEgaGFu
Zy4KIGZhc3QvZXZlbnRzL21vdXNlZG93bi1pbi1zdWJmcmFtZS1zY3JvbGxiYXIuaHRtbAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9m
ZnNjcmVlbi10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNm
MDM1YjdiMjEzNjkxNjYwZTE0MjU3Njg4NmRhZjk1YjY0ZWE3MGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10
ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9j
YW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3Jl
ZW4tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjN2Q1MWE2YzlmODlmNDNkNmUyNTQwYzc3ODA4ZjQx
ZjBlMjZkMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVm
ZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zm
c2NyZWVuLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNTVjNWNiODVlOGE1ZmM2MDA0YjhjYWYyNDg1YjY5NWRkMWNl
OGUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2Fu
dmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVm
ZmVyLXByZXNlcnZlLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2Nh
bnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkMjJjMDIyZjE2NTA4
ZTRmZDVhYmNmZDAxOWY3ZTA3Mjk1Mzg3YjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0
ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFu
Y2UgVGVzdCBXcmFwcGVyIGZvciBidWZmZXItcHJlc2VydmUtdGVzdC5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2Fu
dmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10
ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzNjNjA0MjRhYjE5OGNiNzM0M2IzN2YxZTYx
ODU4N2M5ZGM3YTc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1
IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZh
cy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWI3YWM1YTU4ZDI1
NjliZTBmZGE5M2QzMjUyMjUyYWQ2MDM4NjUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdpbmdidWZmZXItdGVzdC5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJh
d2luZ2J1ZmZlci10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJlNGFiOWNjYjkzMjA3Yzg0ZjRjNTdkNWFjZWI1M2M2NGRhNDRhYzIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMv
dG8tZGF0YS11cmwtdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVz
dC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJs
LXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wY2QwNGQyODA4Y2FmNWM0ZGUwNWRmNmRhYjg5ODYzNGE2
ZDk4OWI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0by1k
YXRhLXVybC10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVz
dC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52
YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCIgd2lkdGg9Ijgw
MCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0
cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJh
d2luZy1idWZmZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2NTNmNDRhYzZlODdkZTJkNDVl
MmY5ODhkMWI2MDRmYTc3YzhlMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmct
YnVmZmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2
ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjYzRkMDdlMjQyZWQ3ZWFhNzYyNDYw
ZmVjMjA1OTZlOTUwMWY1MGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVm
ZmVyLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29udGV4dC1hdHRyaWJ1dGUtcHJlc2Vy
dmUtZHJhd2luZy1idWZmZXIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1h
dHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVz
ZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3
aW5nLWJ1ZmZlci5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0
aW9uLWFuZC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWU0NDlmZjY0ZTUy
ODg4YTY4ZjkzMGY1MWU4Y2E0ZTk4ZGRiNjI0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbAorUEFTUworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQt
Y3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGMyMmI4OWUwZWU1OTg5ODE0N2MyOTU5ZDc5NTg2MDk5MTBiZWZmOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1j
cmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb250
ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sIj4uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5k
LWRlc3RydWN0aW9uLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5j
dGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1z
bW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0ZTMzMDY0NDdiNjU3
ZjkxYTFjNTU4ZjNhYTEyZmIyNGVlMzZkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1z
bW9vdGhzdGVwLWdlbnR5cGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmJjMDc0YTY3ODcwMTI4ZTU2OTZk
ZjhlOGUzOGY2OTMxNmQ0NzU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5
cGUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAt
Z2VudHlwZS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xz
bC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1z
bW9vdGhzdGVwLWdlbnR5cGUuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3Rl
cC1nZW50eXBlLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZl
cnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyODE0YjQ2ODM4NTlhMmQ2M2E3OGYxZjFjOWNk
Nzk2NDJhOTcxOTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9s
aXRlcmFsLnZlcnQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hMjVhY2Q0OWNiMzk5MmVhYjBhNmNhMTcwYjIwOTgxM2VjZDNmYzBk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9s
aXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBm
bG9hdF9saXRlcmFsLnZlcnQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0
ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNr
aW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJlMGU4ZTBlZGZmMzQ4NTMzN2FkZWJiNzIwNzI1MzNiMTQyMDFj
MjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNr
aW5nLXJlc3RyaWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmYyMzUwYTI1YjcwMWI5MmU3OTAyMjhmYmYxNTNkMDExNTEyNWQ5MQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5p
Zm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNo
YWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRt
bCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2lu
Zy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kNzQzMzllNmM1OTM0YmU3MTRjZDViNjg1YmE0NjNjOTJjMzBiMDUy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZh
cnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2lu
Zy1yZXN0cmljdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE2YWNiMGZhY2Q1NTczYzhiZDU5ZjUxZDIyYjRkYjY3ZGI5Mzc0MWYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlp
bmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFk
ZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwi
Pi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12
YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0
cnVjdHMtY29udGFpbmluZy1hcnJheXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFp
bmluZy1hcnJheXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjODhjMjlhYWNiNDA0OTlkZGU0
MDMzYzE3NzM2M2FlMWIzOTMwM2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250
YWluaW5nLWFycmF5cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFp
bmluZy1hcnJheXMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWlu
aW5nLWFycmF5cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kMGExMGM5MDllZDkyNDNkYzZjNmE0YTZjZDI4MTc4ZjlhMDgxZjU0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
ci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBzaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJy
YXlzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
YXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sIj4uLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJy
YXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFy
cmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFs
LXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXBy
ZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjNkMTNkNTljODU0YTMz
YmJhMDY4NjhhMTZhMjgxMmFlODA4OGYzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUt
cHJlY2lzaW9uLW1pc21hdGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXBy
ZWNpc2lvbi1taXNtYXRjaC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJl
Y2lzaW9uLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZhYmVhNDA5M2EzNDRjNDBlYjBmNTJhMGE5MDcyMjhlMzZlYWY0NjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24t
bWlzbWF0Y2guaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwiPi4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1u
b24tcmVzZXJ2ZWQtd29yZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2UyMGM0YjI0MjNmYTVkYTNmYjZiOGM3Y2M0ZGEwNjgxMTk2YzczZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24t
cmVzZXJ2ZWQtd29yZHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
bm9uLXJlc2VydmVkLXdvcmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmEyOTllZmNhNjFjZWUyMWFlNzky
ZWU2NWRhZjY3N2JhODFmMTYxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24t
cmVzZXJ2ZWQtd29yZHMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1z
aG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVy
YXRvcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmYTdjYjZhMTQwOWI5MjdkZmFmZWRmMzEy
ZTVjYTNjNjhmZTU0M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmct
b3BlcmF0b3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDlhZDM4NzU4MGEyYjEwMWZiOTQ4M2NjM2E0NDgy
NWY2ZThjM2U5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3Bl
cmF0b3JzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNp
cmN1aXRpbmctb3BlcmF0b3JzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGlu
Zy1vcGVyYXRvcnMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjRjNzMzYTg0YTJjMDA0NDQ4YTJhOThjNzM4NzkzZDE0OTQ1NTQxM2MKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2lt
aWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5p
Zm9ybS1hcnJheS1uYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjRjYjU4OGM5ZDM5NGVkMTlkNDk4ZTcxN2M4YWNmODZlZjk1YjNlMGEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3Igc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3Jt
LWFycmF5LW5hbWVzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFt
ZXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjA3NzczNTJlODZmZGMwMzM0MTRjYWE2MzdmMzUyNDk0MmMxMzI4NDQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMx
OTNiNDVjMzAxZjNjODNkNjY2ODljNmVkNjQ2YWJiYjc5ZGUyN2YKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZh
cnlpbmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVycy13aXRoLXZhcnlpbmdz
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZh
cnlpbmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdp
dGgtdmFyeWluZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkNDMwM2E1NzhlZjFiYTc1ZWI2OTA1ZGRjNjExNmNlNmUw
MDM5YWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1NmY2
YTA4MmRjZjUxN2U2YTYyMmQyMmUyYmVmODQ0Y2RiMjBkZTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3Jk
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wtcG9pbnRjb29yZC5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIj4uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxl
cy9nbC1wb2ludGNvb3JkLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI2M2FjYmY2MmVhYmMxMGI5ZTJlZjYwODBmZjgyOWE0N2VjNjg4OTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDdi
MTk2M2VmMTYyYmJiNTk4NGVlNWU3YzgzODNhMTlhODgzZmM1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUEuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUEuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1B
Lmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMWQyYzJlYTg0NzM0MTYyZjgwYjQ5M2IzZjcw
OGQzODdiMjUwODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTMyMmQ0MWEyNzUzY2NkZDgzZTQ2MjI2YmJlZTNmZmU3NGY5
YmZhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIHF1aWNrQ2hlY2tBUEktQjEuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjEuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkyZjQ1YTNiZThiOTcxOWQ5MGZjNjIxOGRlYjk0YmNkY2NlNDI3NWIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODcxYTg2
YWRmOTkwYWY3M2U2NzM1ZmE0ZmI0NDJlOWMzMzQ4NTg2OAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1CMi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjIuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1C
Mi5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CMi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmZmQxNzQ3MjVkZmFmZjBiNjBkODZkNDEx
YWUzNjQ1OTg0NTE5OGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CMy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUIzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMxMDY0M2JjMDVkMDU1ZDMxZmM2ZTU0MmFlYTg0OWZj
MjBmMzkyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxh
IGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjczNmQ0ZTg3MWI5MzdkYmMxMTI1OWZiYTU2OTBhMzhjNTU1MTM1MjkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktQjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhi
ZWFlNGEzZDg1NjU4ZjUwMTJkMGIxNzU2YzJiMDczNjY0MTA3NAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1CNC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQjQuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1CNC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CNC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1DLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wY2NhYmQ0Y2E3NGM2OTJlNDUxMzI1YmVl
YmE0ZWE0ZGE4ODNiNjE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1DLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1DLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUzZDZiZTY2Y2NhNDhhNjg3ZmY1MjUzN2UzNTYwNDRmNDM2
MWM2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgcXVpY2tDaGVja0FQSS1DLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktRF9HLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
MGM1Y2VkMDk5NTZhMjQ4OTYxZGRjNzk5NDE2MmU5ZGYyODJlYWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktRF9HLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLURfRy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzNWRl
M2IwNTc3MDAwNWEzNmJiODZlN2EwZWU4Y2MyODJmYjQxOTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktRF9HLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1EX0cuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1EX0cuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLURfRy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUdfSS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDhkMmU5YWJiODdhY2MyMThj
YWY4YjA5MDIyOTBmODM1NTEzY2E4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6
IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
R19JLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktR19JLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y1ZGMxYTEzNmI0ZWNmMzI3MDI1
OTQ5OWE2MWZjMjEwNzkxZDA2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0
ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFu
Y2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUdfSS5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sIj4uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19J
Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWI2MThlOTBjMGQ3NzhhNjkwZTdhMTlmNjI1MTFmOTEw
NWZhMWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUxfUy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1M
X1MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMzQ4MDhkZjYzZjNlMzUxODE0YjI1YWM0NmI4NWU1YmZmOGYy
MjQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIHF1aWNrQ2hlY2tBUEktTF9TLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1MX1MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCIgd2lkdGg9Ijgw
MCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktU19WLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmEyZTgxMjc0OWY1YWVmNTY3NDQ3YjliMWU2ZDQzNDcxNDczOTcyNmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktU19WLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY3OTk4NzhkOGM3ODZiZjUyOTJjYzY0NGZlMGIzOWQ1ZmMwNGY5ZWQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktU19WLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQ
SS1TX1YuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1TX1YuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sPC9hPgor
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2J1ZmZlckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTViMGQ3Nzk4ZTZl
ODE3NWM5MTFjNDZhMGNkNDIzZDRhZGVjMjg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFy
Z3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1
ZmZlckRhdGFCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU3NjA4MTAyY2RlYzNiMTFhNmVkMTgy
ZGMyYzNlYjA3MGQzOTYyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZl
ckRhdGFCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2NvcHlUZXhJbWFnZTJELWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMzEwNGYyYzA0NzViZTMzNGMyOWE4ZTdhMWVkZGMwZTA3ZmM3ZjhmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eEltYWdlMkQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eEltYWdlMkQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2NvcHlUZXhJbWFnZTJELmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFlY2ZlODExNDBlZDQzNjg4ODUy
NGJmZmJlN2QxMGUzMzdkYmY2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgY29weVRleEltYWdlMkQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwiPi4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFn
ZTJELmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sIiB3aWR0aD0iODAwIiBoZWln
aHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFn
ZTJEQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY1MjU2M2Q5YTljMzNlMWRkMGFiOTJjMmRhM2QzNjE2MGFiZWU0NDYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5
VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTg5MzNlNDg5MjcyNmRkYjlmYjMwNzkwMmUyZmM5OGNiMTQ5ZDkxMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvcHlU
ZXhJbWFnZTJEQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFk
QXJncy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29w
eVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQ3YjI1MmNiMDBmZTA5MjYzZWQxYjQwODcyZjZiMWFjNTdkMmRiZDIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5
VGV4U3ViSW1hZ2UyRC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbAorUEFTUwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjFlMDM5
NDVkZDI0Y2Q3MzI2YjA2MTNiMzI1NmI1MWI2NDhhY2E0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdl
MkQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb3B5VGV4U3ViSW1hZ2UyRC5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQu
aHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJ
bWFnZTJELmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJ
bWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjIyYWZhYWY0ZTEwMjBmY2Iz
NTBhZDQxNjhiZGE1ZDM4NTYzNTVmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eFN1YkltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
ZTI4Yzc3ZDM4NGViN2MzN2QxNDM3Mjg3MDZiN2EyMTQ4ZjVkMTVhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1
YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29weVRleFN1Yklt
YWdlMkRCYWRBcmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRC
YWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1l
Ij4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kZWxldGVCdWZmZXJCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY3ZmExOTgyYjcwYjMyODE0OWY1Mjk2OGQ4MzEzZDFhZGY3ZWRjNDYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdz
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY4YzNkNDIzNTViYjIzMTMxOGVmYzkzOWI1ZjZmMDBlYTYzOGUwNmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZGVsZXRl
QnVmZmVyQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3QXJyYXlzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZGM5ODU5NTRlNjRjYTRiOGNl
NWFiMWU3MDM4YWYyYjFhZTk2MjczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0FycmF5cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
MDJkZjU5NzFlNDQ4YjczYzQ0NWNmOGJlNTFjZTdiYzU4NjhlOWJlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5
cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdBcnJheXMuaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbCI+Li4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0FycmF5cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sIiB3aWR0aD0iODAwIiBoZWln
aHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNP
dXRPZkJvdW5kcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmIyNGRlYWQ0NTJmMzllMGU1YWZkMDIzYmNmYTNmYzFhNmFjZmMzMDQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTQ5YzBkYWNiZDAyZDJmODRmYjMwYjI3NjVhNjE1YjhmMzliMWJiMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdB
cnJheXNPdXRPZkJvdW5kcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJv
dW5kcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0VsZW1lbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgxM2Mz
NWRkMzE1MjRlMjgwNTYzZjVkODliYjVjOWEyMmY0ZWQxZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVu
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wYTM3Y2Y3MTQ4YzUwNDEyOGQ0NmQ2NWFjZWRjYTc1YWExMjIy
NzBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZHJh
d0VsZW1lbnRzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
cmF3RWxlbWVudHMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyNTdkYzE2YzdhM2ZkNzkxOGRlYzQxNTgw
YTFiNWNkOTMwMTgyYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
cmF3RWxlbWVudHNCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1l
bnRzQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwMTZkMTE4ZTI3NWZjZjkwYWQ5Y2M1NDY3YzZj
NmRkNjlhODI5MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sIj4uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHNCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg0Mzk3OThkNTk1ZmJjMTAzODAxNjk1ZTUyODA3ZDhlZjQ4ZTAxMDEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kMTBiYzBlYjlkYWE4ZjVhMWYxYTQyZGE3M2U0OTQyMzI1ZWNiNzI4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBp
eGVsc0JhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciByZWFkUGl4ZWxzQmFkQXJn
cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQt
d2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVs
c0JhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Jl
YWRQaXhlbHNCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2Uy
REJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MzI4ZjYxZTVmYTQzY2JkMWM1NTll
NGI0MTJmYWNkYzAzN2M0NGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4SW1hZ2UyREJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJh
ZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjJhOTkxZDA1NDEwMGU5YjI5ZDUzZjI2N2MyYTZiNWRk
ZTkyYmYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciB0ZXhJbWFnZTJEQmFkQXJncy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFy
Z3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2Uy
REhUTUwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2ODEyN2Jh
OGNjZDJlMjczOTQzYzY5MGQxODNiZWJkZmFmM2I4NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1h
Z2UyREhUTUwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTkxNDM2NTJlM2ZmMzhmM2NmZjUwNjBlYzdkZDlh
OTg3MWZmNzM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciB0ZXhJbWFnZTJESFRNTC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbDwv
YT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1NjI2NTll
YzJiYzY3MTBmZjk5MjYyMTZhZGUxNWFhNmI1N2QzNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFk
QXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhT
dWJJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjliMTNh
ZWRiODcxNmEwMWY0MjI2NmVhNzkwMTMyMzRjYmVmYzFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJh
ZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXhTdWJJbWFnZTJEQmFkQXJncy5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2Uy
REJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4
U3ViSW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlMDMzZTM4MTkwNjM3OTgz
OWM0NmY3ODJkYjk2ZTVjYmQ1N2M4OGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDog
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3Vi
SW1hZ2UyREhUTUwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZWZiOWM2YTM2NmY1YTM5YmMwNWI4YzgyZjI3
YTMxN2M3YjQ2Y2ZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciB0ZXhTdWJJbWFnZTJESFRNTC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbCI+Li4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1h
Z2UyREhUTUwuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29z
XzAwMV90b18wMDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4
ZmQ3MjBmYTQ0NTdjZDY5YjU5NDhmZmRmNmI0N2IxZDQ0OWQ1Y2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3Rv
XzAwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAx
X3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNv
cy9hY29zXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTNjM2RmZjU4YTBjMzFiZGJiM2I3
ODgwNjhjNjYyZjFhYzY1MmJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBhY29zXzAwMV90b18wMDYuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwiPi4uLy4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3Mv
YWNvc18wMDFfdG9fMDA2Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIiB3
aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fz
aW4vYXNpbl8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zM2YyMGNjZTRjZTU3MjQ2ODM3NDhmNDE3NTBmYzAwODFlYjE4ODllCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2lu
XzAwMV90b18wMDYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9h
c2luXzAwMV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVz
L0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGY1OWEwMDI1YWRkZmNi
ODI2ZGIxZWE0NzkzNTBmZWI2YmZiNTZiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3IgYXNpbl8wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sIj4u
Li8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
KzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODUzYjM1NmM0NGUyYzdjZmExNGQ4NjkyOWQwMmUzMWRlNjFlNmRlZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0
YW4vYXRhbl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MTIzODQ4
OGI4NTgwMTIxY2Q0MDRmZmIxM2MzNWM3YzBiYTcyN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBD
b25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGF0YW5fMDAxX3RvXzAwOC5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDgu
aHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFf
dG9fMDA4Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxv
dy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDhjNzU1
MzVkMjE5NTkyMTA1ZDc3NzliZDUyYzIxMjA2OGNkNGZiNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9s
X2Zsb3dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFf
dG9fMDA4Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29u
dHJvbF9mbG93XzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDY4MmFhMDJmOTk3MzI0MGFj
ZTJiZDE0MmM5ODZjYzkyNDQ3OWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9f
MDA4Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29udHJvbF9mbG93XzAwMV90b18wMDgu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xf
Zmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJv
bF9mbG93XzAwMV90b18wMDguaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3df
MDAxX3RvXzAwOC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDgtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA1YWRkMTEzOTUxNWE4ZjcwODVkYTNkYzJlZjc0ZDJjMGZlYTk1
YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9sb2cvbG9nXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVz
L0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ0Yjk5OWU3
YzY4NTMxNjc1YmNjNjNmNjdlZWJhOWIyOWFjN2I1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGxvZ18wMDFfdG9fMDA4Lmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbCI+
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjgwZWE1YzNjNTRmYzk0NzdiZDYzN2EwN2U1MGQ4MTRiNDAxMmFmNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIv
bG9nMl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xv
ZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZWE4NzFhYWMw
YzM4ODE0ZDk1ODY4ZDcxZWIzZGQxOWM4NTMzMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGxvZzJfMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRt
bCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2ds
ZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9f
MDA4Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhz
dGVwXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyZTFmNjVlMmE3ZmE4NTBj
OTM1MjEwMWZkNTJhOWQyMDEzY2ZlMTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAw
Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbAorUEFTUwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9v
dGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMzUzY2E4MDI0N2RjZTVjY2E0NmU4NmEyNzIzNDBlNDJiNzc1ZmQwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21v
b3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0t
IFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4g
RE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZv
ciBzbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwiPi4u
Ly4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dM
L3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVw
L3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmct
bmFtZXMtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9w
cm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY4YTRkODI3YTUxZDY1M2FjOTI0NDU4NmNhMDg4ZmRmYTcxMmIxYmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFt
cy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0
cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0
aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
cHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2YxMDhmNDg1ODcwYTNiYjg4MTg1NjQ3NTZjZTZmZDM1YmIzYzQwZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJp
bmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIGdsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sPC90aXRs
ZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10
ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3By
b2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sPC9hPgor
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wt
YmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dy
YW0tdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTUyMmNiMzIwYWVkMGI0MDNjZGUxY2I5
YjI3ZDBkYjA5Y2QzYWYwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1
IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMv
cHJvZ3JhbS10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFt
cy9wcm9ncmFtLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MGE4MGJjMmVmZjUzZjI1ZTcyNTk4ZjY2
NWQ4MjE5NzE3OTk3MjYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgcHJvZ3JhbS10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRl
c3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRl
c3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9y
ZWFkLXBpeGVscy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NGRlYjk5NGEzYTY0OWNm
NTliMTI4MTBlNzA3N2ExMGU5MGIwMzY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxz
LXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2MjFm
ZTkxZGFiOTk2MzEyNGYzY2ZiOGIxYzU3NTgwZWIwZGU0NzEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciByZWFkLXBpeGVscy10ZXN0Lmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5n
L3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE2NzgyODcxYWY1NWE5NDMxYjBiYmIzOWMzMTg4YThhYzU5OWU5ZTIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVm
ZmVyLW9iamVjdC1hdHRhY2htZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2ht
ZW50Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmpl
Y3QtYXR0YWNobWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhNGEzZGI5ZDYwYTM0NTBmMTIxZjU1ZTA3
ZTJmMzBkNDU3MjY5YzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFj
aG1lbnQuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sPC9hPgorPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9m
cmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNz
b3ItdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI4ZDk5OWQ4N2JhZjMxN2RkYjc0YWU4
NDFhZTkxM2Y2ODI1ZmZmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3Qu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzEzYzMwNDBk
OTVjNjI2NmFlYmRhZTc5YTIxYjZmZWM3ODdhYjNjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC1zY2lzc29yLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L2dsLXNjaXNzb3ItdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1
NTM2LWluZGljZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzZTQzMGYyZDk1NDM4ZTlkYjhl
MmE1NzRlOWExZGJiYjk2ODUyYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3Jl
LXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUz
Ni1pbmRpY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDY4NDQ1ZTMzYjRhOGY5Zjk1ZjBlODk0MTJhZGRi
ODhkNGYyMWU0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRl
c3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdy
YXBwZXIgZm9yIG1vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRp
Y2VzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29y
cnVwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5k
ZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGE4
ZmZmZjU0ZTlmOTg4ZTZjNjkwMzEwNTU3MjQ1NTNlYTUxMjY0ZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3Jy
dXB0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1j
b3JydXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
bXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0NzU0MmQ3NzIxMmM4NGZk
Mjc2MDcyOWY3ZTNlYzhhNTVkNTViMTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3Jt
YW5jZSBUZXN0IFdyYXBwZXIgZm9yIG11bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwiPi4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1z
aXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmlu
Zy9wb2ludC1zaXplLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzA5YmVkYzEwYzZhYzc0OGE4
NDg0ZjY4YTM1YTA3ZTc5YjRiYWI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL3BvaW50LXNpemUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRl
cmluZy9wb2ludC1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVlYTc2NzE0Mjk4NDQwMjhjM2E3ODgx
MWRiNWQ5OWZmYmZjNDRkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgcG9pbnQtc2l6ZS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUu
aHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL3BvaW50LXNpemUuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmpl
Y3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTEwNjI4NzJhOGFlZjRkMjI2
ZmM5ZGVkNjlhNDEwNjMxZDYxYzRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1j
YWxscy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzRh
Zjg5ZjllNTAwNDgwZjk0YmRmMzdiOWM1ODU1MjhlMzdlM2RlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBD
b25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDwvdGl0
bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbCI+Li4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxs
cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
c3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29w
eS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdkMzk3MGE1
NTgyNWI0NjgxZmFkMWQ0NTk2YjIxNDI0ZmFiNmI0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1h
dHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0y
ZC1mb3JtYXRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9j
b3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY4YzZlMGVhODBlNTcx
OGFkYTE5NjhkODliZDA5YWRiOWQxN2MzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2Nv
cHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzI3NTA5ZGIwYmYxN2Q2YzU3MjA3OTM1MWRhMDg1MDcxMmJkNzc4YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVp
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiYjdiNmU1OTQ4ZjUwZTJlZWNkMWQ5MzgxNDVmYTU1ZWU3MTlmNmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhl
bHN0b3JlaS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXBpeGVsc3RvcmVpLmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sIj4uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3Jl
aS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwv
aWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2lu
LWNsZWFuLWNvbmZvcm1hbmNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWRlMjE2M2U2MTFi
YjM2Yzk1ZDA5Y2RjMDY2ZTc0MjUyNzNlNDM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFu
Y2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1j
bGVhbi1jb25mb3JtYW5jZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliOWI5YmRhNWM2YjliYjRkMWUwODIy
MWVlZTlhNzIyNzk2ZjRlYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBvcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sIj4uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4t
Y29uZm9ybWFuY2UuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJp
ZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWI5NjI5NDQwYmJmZWQ4Yzk2MTJi
YjZmYTViMjAzZDY4N2Y2MTRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFk
NWRmYTVmMWZjYTAyM2MwZDZhYTU2ZTFkNTVhYTA5MTZkMmE1YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMTFiY2Q2Nzg1OGQyNjE1MGFjYjM2ZmM2OWI4MzY0ZWIxYjlmM2VkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiNTY1Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy1yZ2I1NjUuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjE1MDBiNzljMjhiY2YwMmE5YmRjNTMxZGFmM2M1ZTM1
MTgyMDUxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgor
CitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3ZjA3NDZl
NmNlY2Y3MDU4NDY0OTkwNzU1MmNmNzc5ZWI1YzE1M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy1yZ2JhNDQ0NC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2Jh
NDQ0NC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0
NDQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTMyOTQwMjM2ZTUzZWQxZTk5MDVhNjlmODAyNDMxNmMzNTU4ZmE0MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0MjA1NDYzOTg3NTI4MjFmN2Qx
MmQ5NGM0MzRhNzkwMWJlN2JiMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNh
bnZhcy1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5o
dG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1j
YW52YXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MGY3ODBiNTZlN2Y5NTNiNzYxODAwZmZjMjU2M2VhN2Zk
ZDk2MDg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0
ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFu
Y2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMu
aHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlm
cmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjRkYTI3YjQzZmU0ZWViZTAxMDNk
Nzg3MmRhMzI2NjEzOTY3MmFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGEyZWRl
OGViZGJlMTA0NmUyYzAyNjliZGM0NTQwMzEzNjFjYjY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiNTY1Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2I1NjUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2JkMmZlYTU5ODRkZTRhZTc0OWEwOTEwYmNiNGU1M2Q4MDQwMjg4OQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiNTY1Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiNTY1Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1l
Ij4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2
NS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTAxMmVmMDZlOTE3M2NlOGZkMmVhOTQ3NmVlMmQ4MjQyNDQ3ODkwMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE0NDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWI0ZmZmYjgwN2EyZTljM2Q1OTEwM2Q4NWM0
NzdmZDlkOWI3YmRkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTQ0NDQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwiPi4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtcmdiYTU1NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjYjNiNDQ5NWMyOGZi
ODUzMmQ3OTM0ZjFmODYwZWYxNjkyZWI1MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLXJnYmE1NTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE1NTUxLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1yZ2JhNTU1MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE4YWRjNDljNjk2NzVjZmZmYmM3ZmE2MGJkZjYzNDE4MzE5YjE3M2QKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1
MS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWltYWdlLXJnYmE1NTUxLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE1NTUxLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmZjc1ZTcyZjAxZGY3
Mzc3MjYyMjc2MTQ3Y2UxNWMyY2U2OTczMzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZGIxODNh
NTMyMmRmMWMxY2Y4ZDFjMmFmYzI5ODYyMTc0ZjU1ZjUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRl
by5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41OGJhNWYzMDQ3Njc0NmMxOWUxNjExNzM2MmNlMGE4ZGM1NDY1NzU1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdi
NTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGVkMTY2MWU0MjA3ZDhjMDg2OTFlYTgwOTk4Njk2ZmY2NDYx
ZjdhOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1yZ2I1NjUuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
a2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLXZpZGVvLXJnYjU2NS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlk
ZW8tcmdiYTQ0NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNhY2M3ZGMzZGM4YmMxZTQ1ZWYyNjdkZjg2NmFmODAy
MDEwMjEwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU2NDVkYTJiMjM1
NGUxMmZhZjUwZmYwYTRlZDFlZWM2Y2VjNTJhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0
NDQ0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRt
bDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFt
ZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbCIg
d2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkwMThiMDRiYmY1NjYxMmYzYzQ0ZjhjY2FlN2IwZGQ5YWRjMWUzYzEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2Jh
NTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5ZDI4YjVmOTUyYzY4YTVlY2E3YjU3NGE5YTg5Y2Y1ZmEx
ZDNmY2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0
bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkg
Z2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENv
bmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC12aWRlby1yZ2JhNTU1MS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sIj4uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC12aWRlby5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk0NzQ4YTg0NDlmNTY1MGRkNWE4NTJmNTI1MzFhYzdmYzY2NzhmODUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5odG1sIj4uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFt
ZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZl
LWJpbmQtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE2ODg1YmVkZWNmNjRjZTFmNGY0OTcz
ZDZkZTA4ZTY0NmRiZTUwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3Rp
dmUtYmluZC0yLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wN2QwZTY2YTJmZmQ2MjZhYTRkOTVkMGRmZDFiZWQyZmU3ZWRlMDE1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElU
IC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1h
Y3RpdmUtYmluZC0yLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2
ZS1iaW5kLTIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1i
aW5kLTIuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFhZjVkNDNkMzhmZjgxMjE4OTg1YzM3OWI1MmFkZTdmMDkzZDExNDgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1hY3RpdmUtYmluZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2OWExMzI2NjU0NTU0
ZTE2MThlMDVjZWI5MmE5ZTA4NzFlZTkyMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sIj4uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5k
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDgyY2EwYTkwMWFhMmM1OWYyYzMwYWZjNTg3OGQ4ZTk1
ZDU0ZTVhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtbWlwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKK1BBU1MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1t
aXBzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LW1pcHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDk2OTVhMzkyNjhlODBiZDFjM2ZiMjNkNjc0MmJiY2Zh
YTAwZDA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4dHVy
ZS1taXBzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbCI+
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1taXBzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzc1NDdlOTU4NDMyNzA1ZmNi
MzcwMDg2YmY1NjEzMTg4YzFjZDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5w
b3QtdmlkZW8uaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY2MTIzY2ZhMWM2YmY0NTM3OTIzZjk5NjVhMzI3Y2EzNjhmZTM5MDcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5w
b3QtdmlkZW8uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXh0dXJlLW5wb3QtdmlkZW8u
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIj4u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0
dXJlLW5wb3QtdmlkZW8uaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLXNpemUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjMzRiMWFjZjNjN2FhMjFmNjg4
YjdiMmM0YjMxY2FjZTAzYjU5Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdlODAzOTNmODZiNjJjNjI5YTRkNTY3M2RmZjQzMmJlNzJkNDdkMGMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LXNpemUtbGltaXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1s
aW1pdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1zaXplLWxpbWl0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBkOThmOTI0MWZhMTgxNDhmYzVhZmU1ZTNh
OWEzZGE0YzA5NTU3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIHRleHR1cmUtc2l6ZS1saW1pdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1z
aXplLWxpbWl0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTYxNTFiN2U1
NDM4YTQ3ZDM3ZDdiZTgzN2NlNzlhNmY4MDEwYWFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1zaXplLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLXNpemUuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy9nbC11bmlmb3JtLWFycmF5cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDZiYTdiMjFkNjJjM2JlY2RjNmZjYWQyNDAzOWQxYWIxNmVkZmFkMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0t
YXJyYXlzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBX
ZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBG
QUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFy
cmF5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4OGQwZDMwZDlkZjU4ZTAxMmUzYWJjNDY3NDI2YzgwOTIy
Y2M2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGds
LXVuaWZvcm0tYXJyYXlzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3Jt
LWFycmF5cy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRlNTRjYmMzZGI3OWViMGFjYWZhOWNmYjA4NDRjOGNlNGFjNzNmZDYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91
bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiMmIy
ZmU2ZTFkZTdiODU5OWNkMDBjNDQ1MGNjOTZiYzlhMTYwNzQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFs
dWVzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1s
Ij4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91
bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1sb2NhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
NzljZTM0OTdiYmNmMGUyOGYxNDI3MjEwZTZjYjFkNGU3YzQyMWUwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yZTQzMjFhYzNmZTQyNTMwYzUxMTMzMWM0NWRkN2RkM2QwMDAxNTgzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1sb2NhdGlvbi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHVuaWZvcm0tbG9j
YXRpb24uaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1sb2NhdGlvbi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2Ft
cGxlcnMtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRm
Y2VhMjIyMDQxNTQ0NzI4ODgyYTg2Yzk4MGQ5YTJjYzE2ODRjZTcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJz
LXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMt
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9y
bS1zYW1wbGVycy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWQ0MjBkNjc2ZmE1MDRkMTYyODY4ZmEy
MDE2MjY3OTVlM2I3M2ZkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIHVuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFz
L2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVz
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI0NDYxZDliYjQxZTg4MmZhODcyYmY1NmE2NDlmNThmNmRjMDY3
ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwK
QEAgLTAsMCArMSwxMTcgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCByZXF1aXJlZCBidWZmZXIgY2xlYXIgYmVoYXZpb3VyIHRlc3Q8L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8
L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsKKyAgICBoZWlnaHQ6IDMw
MDBweDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3Zh
ciBpdGVyID0gMDsKK3ZhciBnbDE7Cit2YXIgZ2wyOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CisKK2Z1bmN0aW9uIHRpbWVyKCkgeworICAgIGlmIChpdGVyID09IDApIHsKKyAgICAgICAg
Ly8gc29tZSByYW5kb20gaGFja3kgc3R1ZmYgdG8gbWFrZSBzdXJlIHRoYXQgd2UgZ2V0IGEgY29t
cG9zaXRpbmcgc3RlcAorICAgICAgICB3aW5kb3cuc2Nyb2xsQnkoMCwgMTApOworICAgICAgICB3
aW5kb3cuc2Nyb2xsQnkoMCwgLTEwKTsKKyAgICAgICAgaXRlcisrOworCisgICAgICAgIHNldFRp
bWVvdXQodGltZXIsIDUwMCk7CisgICAgfSBlbHNlIGlmIChpdGVyID09IDEpIHsKKyAgICAgICAg
ZnVuY3Rpb24gY2xlYXIoZ2wpIHsKKyAgICAgICAgICAgIC8vIHNjaXNzb3Igd2FzIHNldCBlYXJs
aWVyCisgICAgICAgICAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDEsIDEpOworICAgICAgICAgICAg
Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgICAgIH0KKyAgICAgICAgY2xlYXIo
Z2wxKTsKKyAgICAgICAgY2xlYXIoZ2wyKTsKKworICAgICAgICBkZWJ1ZygiY2hlY2sgb24gc2Ny
ZWVuIGNhbnZhcyIpOworICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsMSwgMCwgMTAsIDEw
LCAxMCwgWzAsIDAsIDI1NSwgMjU1XSwgImNsZWFyZWQgY29ybmVyIHNob3VsZCBiZSBibHVlLCBz
dGVuY2lsIHNob3VsZCBiZSBwcmVzZXJ2ZWQiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVj
dChnbDEsIDAsIDAsIDEwLCAxMCwgWzAsIDAsIDAsIDBdLCAicmVtYWluZGVyIG9mIGJ1ZmZlciBz
aG91bGQgYmUgY2xlYXJlZCIpOworICAgICAgICBkZWJ1ZygiY2hlY2sgb2ZmIHNjcmVlbiBjYW52
YXMiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbDIsIDAsIDEwLCAxMCwgMTAsIFsw
LCAwLCAyNTUsIDI1NV0sICJjbGVhcmVkIGNvcm5lciBzaG91bGQgYmUgYmx1ZSwgc3RlbmNpbCBz
aG91bGQgYmUgcHJlc2VydmVkIik7CisgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wyLCAw
LCAwLCAxMCwgMTAsIFsyNTUsIDAsIDAsIDI1NV0sICJyZW1haW5kZXIgb2YgYnVmZmVyIHNob3Vs
ZCBiZSB1bi1jbGVhcmVkIHJlZCIpOworCisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9
CisKK2Z1bmN0aW9uIGdvKCkgeworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyBX
ZWJHTCBpbXBsZW1lbnRhdGlvbnMgY29ycmVjdGx5IGNsZWFyIHRoZSBkcmF3aW5nIGJ1ZmZlciBv
biBjb21wb3NpdGUgaWYgcHJlc2VydmVEcmF3aW5nQnVmZmVyIGlzIGZhbHNlLiIpOworCisgICAg
ZGVidWcoIiIpOworCisgICAgZ2wxID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiYyIpOworICAgIGds
MiA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKKyAgICBzaG91bGRCZVRydWUoImdsMSAhPSBudWxs
Iik7CisgICAgc2hvdWxkQmVUcnVlKCJnbDIgIT0gbnVsbCIpOworCisgICAgc2hvdWxkQmVUcnVl
KCdnbDEuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgPT0gZmFs
c2UnKTsKKyAgICBzaG91bGRCZVRydWUoJ2dsMi5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNl
cnZlRHJhd2luZ0J1ZmZlciA9PSBmYWxzZScpOworCisgICAgZnVuY3Rpb24gaW5pdChnbCkgewor
ICAgICAgICBnbC5jbGVhckNvbG9yKDEsIDAsIDAsIDEpOworICAgICAgICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCB8IGdsLlNURU5DSUxfQlVGRkVS
X0JJVCk7CisKKyAgICAgICAgLy8gZW5hYmxlIHNjaXNzb3IgaGVyZSwgYmVmb3JlIGNvbXBvc2l0
aW5nLCB0byBtYWtlIHN1cmUgaXQncyBjb3JyZWN0bHkKKyAgICAgICAgLy8gaWdub3JlZCBhbmQg
cmVzdG9yZWQKKyAgICAgICAgZ2wuc2Npc3NvcigwLCAxMCwgMTAsIDEwKTsKKyAgICAgICAgZ2wu
ZW5hYmxlKGdsLlNDSVNTT1JfVEVTVCk7CisgICAgfQorCisgICAgaW5pdChnbDEpOworICAgIGlu
aXQoZ2wyKTsKKworICAgIHNldFRpbWVvdXQodGltZXIsIDUwMCk7Cit9CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgZ28sIGZhbHNlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGNhbnZhcyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHN0eWxlPSJib3JkZXI6
IDFweCBzb2xpZCBibHVlOyIgaWQ9ImMiPjwvY2FudmFzPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2Vy
dmUtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGMxOGQxYjNiY2MxZDM4YzY0OWQxODg0NjkwMDU1NzVjZTllZjU1ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTEyIEBA
Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5j
LgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29y
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRv
IGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoq
IHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn
ZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGll
cyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl
IE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k
IHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3Bp
ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUg
TUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiog
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBP
RiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBP
UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhF
UiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgcmVx
dWlyZWQgYnVmZmVyIGNsZWFyIGJlaGF2aW91ciB0ZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgorYm9keSB7CisgICAgaGVpZ2h0OiAzMDAwcHg7Cit9Cis8L3N0eWxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCit2YXIgaXRlciA9IDA7Cit2YXIg
Z2wxOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisKK2Z1bmN0aW9uIHRpbWVyKCkgewor
ICAgIGlmIChpdGVyID09IDApIHsKKyAgICAgIGZ1bmN0aW9uIGluaXQoZ2wpIHsKKyAgICAgICAg
ICBnbC5jbGVhckNvbG9yKDEsIDAsIDAsIDEpOworICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUIHwgZ2wuU1RFTkNJTF9CVUZGRVJfQklU
KTsKKworICAgICAgICAgIC8vIGVuYWJsZSBzY2lzc29yIGhlcmUsIGJlZm9yZSBjb21wb3NpdGlu
ZywgdG8gbWFrZSBzdXJlIGl0J3MgY29ycmVjdGx5CisgICAgICAgICAgLy8gaWdub3JlZCBhbmQg
cmVzdG9yZWQKKyAgICAgICAgICBnbC5zY2lzc29yKDAsIDEwLCAxMCwgMTApOworICAgICAgICAg
IGdsLmVuYWJsZShnbC5TQ0lTU09SX1RFU1QpOworICAgICAgfQorICAgICAgaW5pdChnbDEpOwor
ICAgIH0gZWxzZSBpZiAoaXRlciA9PSAxKSB7CisgICAgICAgIC8vIHNvbWUgcmFuZG9tIGhhY2t5
IHN0dWZmIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGdldCBhIGNvbXBvc2l0aW5nIHN0ZXAKKyAgICAg
ICAgd2luZG93LnNjcm9sbEJ5KDAsIDEwKTsKKyAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIC0x
MCk7CisgICAgfSBlbHNlIGlmIChpdGVyID09IDIpIHsKKyAgICAgICAgZnVuY3Rpb24gY2xlYXIo
Z2wpIHsKKyAgICAgICAgICAgIC8vIHNjaXNzb3Igd2FzIHNldCBlYXJsaWVyCisgICAgICAgICAg
ICBnbC5jbGVhckNvbG9yKDAsIDAsIDEsIDEpOworICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09M
T1JfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAs
IDEwLCAxMCwgMTAsIFswLCAwLCAyNTUsIDI1NV0sICJjbGVhcmVkIGNvcm5lciBzaG91bGQgYmUg
Ymx1ZSwgc3RlbmNpbCBzaG91bGQgYmUgcHJlc2VydmVkIik7CisgICAgICAgICAgICB3dHUuY2hl
Y2tDYW52YXNSZWN0KGdsLCAwLCAwLCAxMCwgMTAsIFswLCAwLCAwLCAwXSwgInJlbWFpbmRlciBv
ZiBidWZmZXIgc2hvdWxkIGJlIGNsZWFyZWQiKTsKKyAgICAgICAgfQorICAgICAgICBjbGVhcihn
bDEpOworCisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGl0ZXIrKzsKKyAgICBzZXRUaW1lb3V0KHRpbWVyLCA1MDApOworfQorCitmdW5jdGlvbiBn
bygpIHsKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50
YXRpb25zIGNvcnJlY3RseSBjbGVhciB0aGUgZHJhd2luZyBidWZmZXIgb24gY29tcG9zaXRlIGlm
IHByZXNlcnZlRHJhd2luZ0J1ZmZlciBpcyBmYWxzZS4iKTsKKworICAgIGRlYnVnKCIiKTsKKwor
ICAgIGdsMSA9IHd0dS5jcmVhdGUzRENvbnRleHQoImMiKTsKKyAgICBpZiAoIWdsMSkgeworICAg
ICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzaG91bGRC
ZVRydWUoImdsMSAhPSBudWxsIik7CisgICAgc2hvdWxkQmVUcnVlKCdnbDEuZ2V0Q29udGV4dEF0
dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgPT0gZmFsc2UnKTsKKworICAgIHNldFRp
bWVvdXQodGltZXIsIDUwMCk7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
Z28sIGZhbHNlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPCEtLSBJbXBvcnRhbnQgdG8gcHV0IHRoZSBjYW52YXMgYXQgdGhl
IHRvcCBzbyB0aGF0IGl0J3MgYWx3YXlzIHZpc2libGUgZXZlbiBpbiB0aGUgdGVzdCBzdWl0ZSBy
dW5uZXIuCisgICAgIE90aGVyd2lzZSBpdCBqdXN0IGRvZXNuJ3QgZ2V0IGNvbXBvc2l0ZWQgaW4g
RmlyZWZveC4gLS0+Cis8Y2FudmFzIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgc3R5bGU9ImJvcmRl
cjogMXB4IHNvbGlkIGJsdWU7IiBpZD0iYyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5n
YnVmZmVyLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjM3OWM2YWZhODE0M2M4NTQ0OTM3OTUxNTUz
NzNmY2NiMDRlYzI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVz
dC5odG1sCkBAIC0wLDAgKzEsMTM5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDYW52YXMuZHJhd2luZ0J1ZmZlcldpZHRoLGRyYXdpbmdC
dWZmZXJIZWlnaHQgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1ZygiIik7CisK
K3ZhciBnbDsKK3ZhciBvbGRWaWV3cG9ydDsKKworZnVuY3Rpb24gZ2V0TWF4Vmlld3BvcnREaW1l
bnNpb25zKCkgeworICAvLyBjcmVhdGUgYSBmcmVzaCBjYW52YXMuIFRoaXMgY2FudmFzIHdpbGwg
YmUgZGlzY2FyZGVkCisgIC8vIGFmdGVyIGV4aXRpbmcgdGhpcyBmdW5jdGlvbi4KKyAgdmFyIGNh
bnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICBnbCA9IHd0dS5jcmVh
dGUzRENvbnRleHQoY2FudmFzLCB7YW50aWFsaWFzOiBmYWxzZX0pOworICBpZiAoIWdsKSB7Cisg
ICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICAgIHJldHVybiBbMCwg
MF07CisgIH0gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiY29udGV4dCBleGlzdHMiKTsKKworICAg
IC8vIEZvciBhIGRlZmF1bHQgc2l6ZSBjYW52YXMgdGhlc2Ugc2hvdWxkIGJlIGVxdWFsLgorICAg
IC8vIFdlYkdMIGNvbnRleHRzIGFyZSBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhlIHNpemUgb2Yg
dGhlIGRyYXdpbmdCdWZmZXIKKyAgICAvLyBmb3IgdGhpbmdzIGxpa2UgaGktcmVzIGRpc3BsYXlz
LgorICAgIHNob3VsZEJlKCdnbC5kcmF3aW5nQnVmZmVyV2lkdGgnLCAnZ2wuY2FudmFzLndpZHRo
Jyk7CisgICAgc2hvdWxkQmUoJ2dsLmRyYXdpbmdCdWZmZXJIZWlnaHQnLCAnZ2wuY2FudmFzLmhl
aWdodCcpOworICAgIHJldHVybiBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZJRVdQT1JUX0RJTVMp
OworICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoZGVzaXJlZFdpZHRoLCBkZXNpcmVkSGVpZ2h0KSB7
CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoInRlc3RpbmcgY2FudmFzIHdpZHRoID0gIiArIGRlc2ly
ZWRXaWR0aCArICIsIGhlaWdodCA9ICIgKyBkZXNpcmVkSGVpZ2h0KTsKKworICAvLyBNYWtlIGEg
ZnJlc2ggY2FudmFzLgorICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2Fu
dmFzIik7CisgIGNhbnZhcy53aWR0aCA9IGRlc2lyZWRXaWR0aDsKKyAgY2FudmFzLmhlaWdodCA9
IGRlc2lyZWRIZWlnaHQ7CisKKyAgLy8gVGhpcyAnZ2wnIG11c3QgYmUgZ2xvYmFsIGZvciBzaG91
bGRCZSB0byB3b3JrLgorICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB7YW50aWFs
aWFzOiBmYWxzZX0pOworICBpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2Vz
IG5vdCBleGlzdCIpOworICB9IGVsc2UgeworICAgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3Rz
Iik7CisKKyAgICAvLyBWZXJpZnkgdGhlc2Ugc3RhdHMgZGlkbid0IGNoYW5nZSBzaW5jZSB0aGV5
IGNvbWUgZnJvbSBhIGRpZmZlcmVudAorICAgIC8vIGNvbnRleHQuCisgICAgc2hvdWxkQmUoJ2ds
LmdldFBhcmFtZXRlcihnbC5NQVhfVklFV1BPUlRfRElNUylbMF0nLCAnbWF4U2l6ZVswXScpOwor
ICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZJRVdQT1JUX0RJTVMpWzFdJywg
J21heFNpemVbMV0nKTsKKworICAgIC8vIGNoZWNrIHRoZSBpbml0aWFsIHZpZXdwb3J0IG1hdGNo
ZXMgdGhlIGRyYXdpbmdCdWZmZXJXaWR0aCBhbmQgZHJhd2luZ0J1ZmZlckhlaWdodAorICAgIHNo
b3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzBdJywgJzAnKTsKKyAgICBzaG91
bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsxXScsICcwJyk7CisgICAgc2hvdWxk
QmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbMl0nLCAnZ2wuZHJhd2luZ0J1ZmZlcldp
ZHRoJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbM10nLCAn
Z2wuZHJhd2luZ0J1ZmZlckhlaWdodCcpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJ0
ZXN0aW5nIHJlc2l6aW5nIGNhbnZhcyB0byB3aWR0aCA9ICIgKyBkZXNpcmVkV2lkdGggKyAiLCBo
ZWlnaHQgPSAiICsgZGVzaXJlZEhlaWdodCk7CisKKyAgICBvbGRWaWV3cG9ydCA9IGdsLmdldFBh
cmFtZXRlcihnbC5WSUVXUE9SVCk7CisKKyAgICAvLyBmbGlwIHdpZHRoIGFuZCBoZWlnaHQKKyAg
ICBjYW52YXMud2lkdGggPSBkZXNpcmVkSGVpZ2h0OworICAgIGNhbnZhcy5oZWlnaHQgPSBkZXNp
cmVkV2lkdGg7CisKKyAgICAvLyBWZXJpZnkgdGhlIHZpZXdwb3J0IGRpZG4ndCBjaGFuZ2UuCisg
ICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbMF0nLCAnb2xkVmlld3Bv
cnRbMF0nKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsxXScs
ICdvbGRWaWV3cG9ydFsxXScpOworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklF
V1BPUlQpWzJdJywgJ29sZFZpZXdwb3J0WzJdJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFt
ZXRlcihnbC5WSUVXUE9SVClbM10nLCAnb2xkVmlld3BvcnRbM10nKTsKKworICAgIC8vIGZpeCB0
aGUgdmlld3BvcnQKKy8vICAgIGdsLnZpZXdwb3J0KDAsIDAsIGdsLmRyYXdpbmdCdWZmZXJXaWR0
aCwgZ2wuZHJhd2luZ0J1ZmZlckhlaWdodCk7CisKKyAgICBzaG91bGRCZSgnZ2wuZ2V0RXJyb3Io
KScsICdnbC5OT19FUlJPUicpOworICB9Cit9CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsK
K3ZhciBtYXhTaXplID0gZ2V0TWF4Vmlld3BvcnREaW1lbnNpb25zKCk7CitkZWJ1ZygiTUFYX1ZJ
RVdQT1JUX0RJTVM6ICIgKyBtYXhTaXplWzBdICsgIiwgIiArIG1heFNpemVbMV0pOworCitzaG91
bGRCZVRydWUoJ21heFNpemVbMF0gPiAwJyk7CitzaG91bGRCZVRydWUoJ21heFNpemVbMV0gPiAw
Jyk7CisKKy8vIHRlc3QgYSBzbWFsbCBzaXplIHRvIG1ha2Ugc3VyZSBpdCB3b3JrcyBhdCBhbGwu
Cit0ZXN0KDE2LCAzMik7CisKKy8vIE1ha2UgYSBjYW52YXMgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4g
dGhlIG1heCBzaXplIFdlYkdMIGNhbiBoYW5kbGUuCisvLyBGcm9tIHNlY3Rpb24gMi4yIG9mIHRo
ZSBzcGVjIHRoZSBXZWJHTCBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYWxsb3cgdGhpcyB0byB3b3Jr
LgorCisvLyB0ZXN0IGEgc2l6ZSBsYXJnZXIgdGhhbiBNQVhfVklFV1BPUlRfRElNUyBpbiBib3Ro
IGRpbWVuc2lvbnMKK3Rlc3QobWF4U2l6ZVswXSArIDMyLCA4KTsKKworZGVidWcoIiIpCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRh
LXVybC10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZlOGRmZjFhODkxZTU5MzkyNzU5M2JlYmM3OWUz
YjIzOWNhYmI4NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0
bWwKQEAgLTAsMCArMSwxMzAgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCB0b0RhdGFVUkwgdGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8Y2FudmFzIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgc3R5bGU9ImJvcmRlcjogMXB4
IHNvbGlkIGJsYWNrOyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4IiBpZD0iYzNkIj48L2NhbnZh
cz4KKzxjYW52YXMgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiBzdHlsZT0iYm9yZGVyOiAxcHggc29s
aWQgYmxhY2s7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHgiIGlkPSJjMmQiPjwvY2FudmFzPgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
Cit2YXIgbnVtVGVzdHMgPSAxMDsKK3ZhciBnbDsKK3ZhciBjdHg7CisKK3ZhciBtYWluID0gZnVu
Y3Rpb24oKSB7CisgIGRlc2NyaXB0aW9uKCk7CisgIGN0eCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjMmQiKS5nZXRDb250ZXh0KCIyZCIpOworICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQo
ImMzZCIpOworCisgIGlmICghZ2wpIHsKKyAgICB0ZXN0RmFpbGVkKCJjYW4ndCBjcmVhdGUgM2Qg
Y29udGV4dCIpOworICAgIHJldHVybjsKKyAgfQorCisgIHZhciBjbGVhclJlY3QgPSBmdW5jdGlv
bihnbCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgY29sb3IpIHsKKyAgICBnbC5jbGVhckNvbG9yKGNv
bG9yWzBdIC8gMjU1LCBjb2xvclsxXSAvIDI1NSwgY29sb3JbMl0gLyAyNTUsIGNvbG9yWzNdIC8g
MjU1KTsKKyAgICBnbC5zY2lzc29yKHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgIGdsLmNsZWFy
KGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICB9OworCisgIHZhciB0ZXN0U2l6ZSA9IGZ1bmN0aW9u
KGdsLCB3aWR0aCwgaGVpZ2h0LCBjYWxsYmFjaykgeworICAgIGRlYnVnKCJ0ZXN0aW5nICIgKyB3
aWR0aCArICIgYnkgIiArIGhlaWdodCk7CisgICAgZ2wuY2FudmFzLndpZHRoID0gd2lkdGg7Cisg
ICAgZ2wuY2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgICBnbC52aWV3cG9ydCgwLCAwLCB3aWR0
aCwgaGVpZ2h0KTsKKyAgICBnbC5lbmFibGUoZ2wuU0NJU1NPUl9URVNUKTsKKworICAgIHZhciBi
b3R0b21Db2xvciA9IFsyNTUsIDAsIDAsIDI1NV07CisgICAgdmFyIHRvcENvbG9yID0gWzAsIDI1
NSwgMCwgMjU1XTsKKyAgICB2YXIgcmlnaHRDb2xvciA9IFswLCAwLCAyNTUsIDI1NV07CisgICAg
dmFyIGhhbGZIZWlnaHQgPSBNYXRoLmZsb29yKGhlaWdodCAvIDIpOworICAgIHZhciB0b3BIZWln
aHQgPSBoZWlnaHQgLSBoYWxmSGVpZ2h0OworICAgIHZhciBjYW52YXNUb3BIZWlnaHQgPSBoZWln
aHQgLSB0b3BIZWlnaHQ7CisgICAgY2xlYXJSZWN0KGdsLCAwLCAwLCB3aWR0aCwgaGFsZkhlaWdo
dCwgYm90dG9tQ29sb3IpOworICAgIGNsZWFyUmVjdChnbCwgMCwgaGFsZkhlaWdodCwgd2lkdGgs
IHRvcEhlaWdodCwgdG9wQ29sb3IpOworICAgIGNsZWFyUmVjdChnbCwgd2lkdGggLSAxLCAwLCAx
LCBoZWlnaHQsIHJpZ2h0Q29sb3IpOworCisgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOworICAg
IGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgIGN0eC5jYW52YXMud2lkdGggPSB3aWR0
aDsKKyAgICAgIGN0eC5jYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworICAgICAgY3R4LmRyYXdJbWFn
ZShpbWcsIDAsIDApOworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChjdHgsIDAsIDAsIHdpZHRo
IC0gMSwgdG9wSGVpZ2h0LCB0b3BDb2xvcik7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0
eCwgMCwgdG9wSGVpZ2h0LCB3aWR0aCAtIDEsIGhhbGZIZWlnaHQsIGJvdHRvbUNvbG9yKTsKKyAg
ICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoY3R4LCB3aWR0aCAtIDEsIDAsIDEsIGhlaWdodCwgcmln
aHRDb2xvcik7CisgICAgICBkZWJ1ZygiIik7CisgICAgICBjYWxsYmFjaygpOworICAgIH07Cisg
ICAgaW1nLnNyYyA9IGdsLmNhbnZhcy50b0RhdGFVUkwoKTsKKyAgfTsKKworICB2YXIgdGVzdHMg
PSBbCisgICAgeyB3aWR0aDogIDE2ICAgICwgaGVpZ2h0OiAgMTYgICAgLCB9LAorICAgIHsgd2lk
dGg6ICAxNiAtIDEsIGhlaWdodDogIDE2ICAgICwgfSwKKyAgICB7IHdpZHRoOiAgMTYgLSAxLCBo
ZWlnaHQ6ICAxNiAtIDEsIH0sCisgICAgeyB3aWR0aDogIDE2ICsgMSwgaGVpZ2h0OiAgMTYgLSAx
LCB9LAorICAgIHsgd2lkdGg6ICAxNiAtIDEsIGhlaWdodDogIDE2ICsgMSwgfSwKKyAgICB7IHdp
ZHRoOiAyNTYgICAgLCBoZWlnaHQ6IDI1NiAgICAsIH0sCisgICAgeyB3aWR0aDogMjU2IC0gMSwg
aGVpZ2h0OiAyNTYgICAgLCB9LAorICAgIHsgd2lkdGg6IDI1NiAtIDEsIGhlaWdodDogMjU2IC0g
MSwgfSwKKyAgICB7IHdpZHRoOiAyNTYgKyAxLCBoZWlnaHQ6IDI1NiAtIDEsIH0sCisgICAgeyB3
aWR0aDogMjU2IC0gMSwgaGVpZ2h0OiAyNTYgKyAxLCB9LAorICAgIHsgd2lkdGg6IDUxMiAgICAs
IGhlaWdodDogNTEyICAgICwgfSwKKyAgICB7IHdpZHRoOiA1MTIgLSAxLCBoZWlnaHQ6IDUxMiAg
ICAsIH0sCisgICAgeyB3aWR0aDogNTEyIC0gMSwgaGVpZ2h0OiA1MTIgLSAxLCB9LAorICAgIHsg
d2lkdGg6IDUxMiArIDEsIGhlaWdodDogNTEyIC0gMSwgfSwKKyAgICB7IHdpZHRoOiA1MTIgLSAx
LCBoZWlnaHQ6IDUxMiArIDEsIH0sCisgIF07CisgIHZhciB0ZXN0SW5kZXggPSAwOworICB2YXIg
cnVuTmV4dFRlc3QgPSBmdW5jdGlvbigpIHsKKyAgICBpZiAodGVzdEluZGV4ID09IHRlc3RzLmxl
bmd0aCkgeworICAgICAgZmluaXNoVGVzdCgpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgICB2
YXIgdGVzdCA9IHRlc3RzW3Rlc3RJbmRleCsrXTsKKyAgICB0ZXN0U2l6ZShnbCwgdGVzdC53aWR0
aCwgdGVzdC5oZWlnaHQsIGZ1bmN0aW9uKCkgeworICAgICAgc2V0VGltZW91dChydW5OZXh0VGVz
dCwgMTAwKTsKKyAgICB9KQorICB9OworICBydW5OZXh0VGVzdCgpOworfTsKK21haW4oKTsKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2lu
Zy1idWZmZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2lu
Zy1idWZmZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMThjMDZhZDRlYWI1ZWZhOTY2NjUzY2ZhODI1OWFl
YjlhOTJkZmNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1w
cmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCkBAIC0wLDAgKzEsMTIyIEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGNhbnZh
cyB7CisgICAgICAgICAgICAgICAgd2lkdGg6NTBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
NTBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5zcXVhcmUgeworICAgICAgICAgICAg
ICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrOworICAgICAgICAgICAgICAgIHdpZHRoOjUwcHg7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OjUwcHg7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1j
b2xvcjpyZWQ7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgICAgICB2YXIgd3R1ID0gV2Vi
R0xUZXN0VXRpbHM7CisgICAgICAgICAgICBmdW5jdGlvbiBjaGVja1Jlc3VsdChjdHgxLCBjdHgy
LCBwcmVzZXJ2ZSkgeworICAgICAgICAgICAgICAgIHZhciBpbWdEYXRhMSA9IGN0eDEuZ2V0SW1h
Z2VEYXRhKDAsMCwxLDEpOworICAgICAgICAgICAgICAgIHZhciBpbWdEYXRhMiA9IGN0eDIuZ2V0
SW1hZ2VEYXRhKDAsMCwxLDEpOworICAgICAgICAgICAgICAgIHZhciBjb3JyZWN0MSA9IFsyNTUs
MCwwLDI1NV07CisgICAgICAgICAgICAgICAgdmFyIGNvcnJlY3QyID0gcHJlc2VydmUgPyBbMjU1
LDAsMCwyNTVdIDogWzAsMCwwLDI1NV07CisgICAgICAgICAgICAgICAgdmFyIG9rMSA9IHRydWU7
CisgICAgICAgICAgICAgICAgdmFyIG9rMiA9IHRydWU7CisgICAgICAgICAgICAgICAgZm9yICh2
YXIgcCA9IDA7IHAgPCA0OyArK3ApIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGltZ0RhdGEx
LmRhdGFbcF0gIT0gY29ycmVjdDFbcF0pCisgICAgICAgICAgICAgICAgICAgICAgICBvazEgPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGltZ0RhdGEyLmRhdGFbcF0gIT0gY29ycmVj
dDJbcF0pCisgICAgICAgICAgICAgICAgICAgICAgICBvazIgPSBmYWxzZTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG9rMSAmJiBvazIpCisgICAgICAgICAgICAgICAg
ICAgIHRlc3RQYXNzZWQoJ1JlbmRlcmVkIG9rIHdpdGggcHJlc2VydmVEcmF3aW5nQnVmZmVyICcg
KyBwcmVzZXJ2ZSArJy4nKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoJ0RpZCBub3QgcmVuZGVyIG9rIHdpdGggcHJlc2VydmVEcmF3aW5nQnVm
ZmVyICcgKyBwcmVzZXJ2ZSArICcuJyk7CisgICAgICAgICAgICAgICAgaWYgKHByZXNlcnZlKSB7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKQorICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgIHJ1blRlc3QodHJ1ZSk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KHByZXNlcnZl
KSB7CisgICAgICAgICAgICAgICAgdmFyIGMxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Mn
ICsgKHByZXNlcnZlICogMyArIDEpKTsKKyAgICAgICAgICAgICAgICB2YXIgYzIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnYycgKyAocHJlc2VydmUgKiAzICsgMikpOworICAgICAgICAgICAg
ICAgIHZhciBjMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyArIChwcmVzZXJ2ZSAqIDMg
KyAzKSk7CisgICAgICAgICAgICAgICAgdmFyIGN0eDEgPSBjMS5nZXRDb250ZXh0KCcyZCcpOwor
ICAgICAgICAgICAgICAgIHZhciBjdHgyID0gYzIuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICAgICAg
ICAgICAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGMzLCB7IGFscGhhOmZhbHNlLCBw
cmVzZXJ2ZURyYXdpbmdCdWZmZXI6cHJlc2VydmUgfSk7CisgICAgICAgICAgICAgICAgZ2wuY2xl
YXJDb2xvcigxLCAwLCAwLCAxKTsKKyAgICAgICAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9C
VUZGRVJfQklUKTsKKyAgICAgICAgICAgICAgICBjdHgxLmRyYXdJbWFnZShjMywgMCwgMCk7Cisg
ICAgICAgICAgICAgICAgd3R1LndhaXRGb3JDb21wb3NpdGUoZ2wsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgICAgICBjdHgyLmRyYXdJbWFnZShjMywgMCwgMCk7CisgICAgICAgICAgICAg
ICAgICAgIGNoZWNrUmVzdWx0KGN0eDEsIGN0eDIsIHByZXNlcnZlKTsKKyAgICAgICAgICAgICAg
ICB9KTsKKworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjMSc+PC9j
YW52YXM+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjMic+PC9jYW52YXM+CisgICAgICAgICAg
ICA8Y2FudmFzIGlkPSdjMyc+PC9jYW52YXM+CisgICAgICAgICAgICA8c3Bhbj5zaG91bGQgbG9v
ayBhcyByaWdodCBwYXR0ZXJuPC9zcGFuPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nc3F1YXJl
Jz48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZScgc3R5bGU9J2JhY2tncm91
bmQtY29sb3I6YmxhY2snPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nc3F1YXJlJz48
L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICA8Y2FudmFz
IGlkPSdjNCc+PC9jYW52YXM+CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjNSc+PC9jYW52YXM+
CisgICAgICAgICAgICA8Y2FudmFzIGlkPSdjNic+PC9jYW52YXM+CisgICAgICAgICAgICA8c3Bh
bj5zaG91bGQgbG9vayBhcyByaWdodCBwYXR0ZXJuPC9zcGFuPgorICAgICAgICAgICAgPGRpdiBj
bGFzcz0nc3F1YXJlJz48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9k
aXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSdzcXVhcmUnPjwvZGl2PgorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgICJ1c2Ugc3Ry
aWN0IjsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkgdGhhdCBwcmVzZXJ2ZURyYXdp
bmdCdWZmZXIgYXR0cmlidXRlIGlzIGhvbm9yZWQuJyk7CisgICAgICAgICAgICBydW5UZXN0KGZh
bHNlKTsKKyAgICAgICAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgICAg
ICAgICAgc2hvdWxkQmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJzZWQiKTsKKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNy
ZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFu
ZC1kZXN0cnVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwOGZjMzkxMzQwYWE3ZThlYzljMDc4NmFi
Zjc1MDdiNGZkNjE1YWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRp
b24tYW5kLWRlc3RydWN0aW9uLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdCB0aGF0IGNvbnRleHRzIGFyZSBm
cmVlZCBhbmQgZ2FyYmFnZSBjb2xsZWN0ZWQgcmVhc29uYWJseTwvdGl0bGU+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0
VXRpbHM7Cit2YXIgdGFyZ2V0ID0gNTAwOwordmFyIGNvdW50ID0gMDsKKworZGVzY3JpcHRpb24o
KTsKK2RvTmV4dFRlc3QoKTsKKworLy8gQ3JlYXRlcyBhIGNhbnZhcyBhbmQgYSB0ZXh0dXJlIHRo
ZW4gZXhpdHMuIFRoZXJlIGFyZQorLy8gbm8gcmVmZXJlbmNlcyB0byBlaXRoZXIgc28gYm90aCBz
aG91bGQgYmUgZ2FyYmFnZSBjb2xsZWN0ZWQuCitmdW5jdGlvbiB0ZXN0KCkgeworICB2YXIgY2Fu
dmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CisgIC8vIFRoaXMgaXMgc2Fm
ZSBmb3IgYW55IGRldmljZS4gU2VlIGRyYXdpbmdCdWZmZXJXaWR0aCBpbiBzcGVjLgorICBjYW52
YXMud2lkdGggPSAyMDQ4OworICBjYW52YXMuaGVpZ2h0ID0gMjA0ODsKKyAgdmFyIGdsID0gd3R1
LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICB2YXIgbWF4VGV4dHVyZVNpemUgPSBnbC5nZXRQ
YXJhbWV0ZXIoZ2wuTUFYX1RFWFRVUkVfU0laRSk7CisgIHZhciBzaXplID0gTWF0aC5taW4oMTAy
NCwgbWF4VGV4dHVyZVNpemUpOworICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICBnbC50ZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsIHNpemUsIHNpemUsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsCisgICAgICAgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoc2l6ZSAqIHNpemUgKiA0KSk7
CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAiU2hvdWxkIGJlIG5vIGVycm9ycyIpOworfQorCitmdW5jdGlvbiBkb05l
eHRUZXN0KCkgeworICArK2NvdW50OworICBkZWJ1ZygidGVzdCAiICsgY291bnQgKyAiIG9mICIg
KyB0YXJnZXQpOworICB0ZXN0KCk7CisgIGlmIChjb3VudCA8IHRhcmdldCkgeworICAgIHNldFRp
bWVvdXQoZG9OZXh0VGVzdCwgMTAwKTsKKyAgfSBlbHNlIHsKKyAgICBmaW5pc2hUZXN0KCk7Cisg
IH0KK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPC9i
b2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9u
LXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1z
bW9vdGhzdGVwLWdlbnR5cGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDBkMGEyOWIwNmMwYzZiZmMzNTY2
NGE5YTliMjM2MzhlZDExYTlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xz
bC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbApAQCAtMCwwICsxLDgwIEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPkdMU0wgc21vb3Ro
c3RlcC1nZW50eXBlIGZ1bmN0aW9uIHRlc3Q8L3RpdGxlPgorICA8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICA8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVz
dHMuY3NzIi8+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPiA8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj4gPC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZ2xz
bC1nZW5lcmF0b3IuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVz
ZSBzdHJpY3QiOworCisKK0dMU0xHZW5lcmF0b3IucnVuRmVhdHVyZVRlc3QoeworICBmZWF0dXJl
OiAic21vb3Roc3RlcCIsCisgIGFyZ3M6ICIkKHR5cGUpIGVkZ2UwLCAkKHR5cGUpIGVkZ2UxLCAk
KHR5cGUpIHZhbHVlIiwKKyAgYmFzZUFyZ3M6ICJlZGdlMCQoZmllbGQpLCBlZGdlMSQoZmllbGQp
LCB2YWx1ZSQoZmllbGQpIiwKKyAgdGVzdEZ1bmM6ICIkKGZ1bmMpKCQodHlwZSksICQodHlwZSks
ICQodHlwZSkpIiwKKyAgZW11RnVuYzogWyJmbG9hdCAkKGZ1bmMpX2Jhc2UoZmxvYXQgZWRnZTAs
IGZsb2F0IGVkZ2UxLCBmbG9hdCB2YWx1ZSkgeyIsCisgICAgICAgICAgICAiICBmbG9hdCB0ID0g
Y2xhbXAoKHZhbHVlIC0gZWRnZTApIC8gKGVkZ2UxIC0gZWRnZTApLCAwLjAsIDEuMCk7IiwKKyAg
ICAgICAgICAgICIgIHJldHVybiB0ICogdCAqICgzLjAgLSAyLjAgKiB0KTsiLAorICAgICAgICAg
ICAgIn0iXS5qb2luKCJcbiIpLAorICBncmlkUmVzOiA4LAorICB0b2xlcmFuY2U6IDEsCisgIHRl
c3RzOiBbCisgICAgWyIkKG91dHB1dCkgPSB2ZWM0KCIsCisgICAgICIgICAgJChmdW5jKSgwLjMs
IDAuNywgJChpbnB1dCkueCksIiwKKyAgICAgIiAgICAkKGZ1bmMpKDAuMiwgMC44LCAkKGlucHV0
KS55KSwiLAorICAgICAiICAgIDAsIiwKKyAgICAgIiAgICAxKTsiXS5qb2luKCJcbiIpLAorICAg
IFsiJChvdXRwdXQpID0gdmVjNCgiLAorICAgICAiICAgICQoZnVuYykodmVjMigwLjQsIDAuNiks
IHZlYzIoMC44LCAwLjkpLCAkKGlucHV0KS54eSksIiwKKyAgICAgIiAgICAwLCAxKTsiXS5qb2lu
KCJcbiIpLAorICAgIFsiJChvdXRwdXQpID0gdmVjNCgiLAorICAgICAiICAgICQoZnVuYykodmVj
MygwLjMsIDAuNSwgMC43KSwgdmVjMygwLjcsIDAuOSwgMS4wKSwgJChpbnB1dCkueHl6KSwiLAor
ICAgICAiICAgIDEpOyJdLmpvaW4oIlxuIiksCisgICAgWyIkKG91dHB1dCkgPSAiLAorICAgICAi
ICAgICQoZnVuYykodmVjNCgwLjMsIDAuNCwgMC41LCAwLjIpLCAiLAorICAgICAiICAgICAgICAg
ICAgdmVjNCgwLjcsIDAuNiwgMC45LCAwLjgpLCAiLAorICAgICAiICAgICAgICAgICAgJChpbnB1
dCkpOyJdLmpvaW4oIlxuIikKKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVy
YWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFs
LnZlcnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODhlNGUxZGE2ZThlNTdkNDUwNWJhMzc3ZTg2MjljYjI1
NGMwMTMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZl
cnQuaHRtbApAQCAtMCwwICsxLDczIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9n
bHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBpZD0idmVydGV4U2hhZGVyIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNj
cmlwdCI+CisKKy8vIHBhcnNpbmcgZmxvYXRpbmcgcG9pbnQgbGl0ZXJhbHMgc2hvdWxkIHN1Y2Nl
ZWQKK3ZvaWQgbWFpbigpIHsKKyAgZmxvYXQgemVybyA9IDAuMDsKKyAgZmxvYXQgZnJhY3Rpb25h
bENvbnN0YW50ID0gMS4wOworICBmbG9hdCBmcmFjdGlvbmFsQ29uc3RhbnRFeHBvbmVudCA9IDEu
MGUxOworICBmbG9hdCBmcmFjdGlvbmFsQ29uc3RhbnRQb3NFeHBvbmVudCA9IDEuMGUrMTsKKyAg
ZmxvYXQgZnJhY3Rpb25hbENvbnN0YW50TmVnRXhwb25lbnQgPSAxLjBlLTE7CisgIGZsb2F0IGRp
Z2l0U2VxdWVuY2VFeHBvbmVudCA9IDFlMTsKKyAgZmxvYXQgZGlnaXRTZXF1ZW5jZVBvc0V4cG9u
ZW50ID0gMWUrMTsKKyAgZmxvYXQgZGlnaXRTZXF1ZW5jZU5lZ0V4cG9uZW50ID0gMWUtMTsKKyAg
ZmxvYXQgcG9pbnREaWdpdCA9IC4xOworICBmbG9hdCBkaWdpdFBvaW50PSAxLjsKKyAgZmxvYXQg
dXBwZXJDYXNlRXhwb25lbnQgPSAxLjBFMTsKKyAgaGlnaHAgZmxvYXQgcG9zSW5SYW5nZSA9IDQ2
MTE2ODYwMTg0MjczODc5MDMuOyAgLy8gMl42MiAtIDEKKyAgaGlnaHAgZmxvYXQgcG9zT3V0UmFu
Z2UgPSA0NjExNjg2MDE4NDI3Mzg3OTA1LjsgIC8vIDJeNjIgKyAxCisgIGhpZ2hwIGZsb2F0IHBv
c0h1Z2UgPSAxRTEwMDsKKyAgaGlnaHAgZmxvYXQgbmVnSW5SYW5nZSA9IC00NjExNjg2MDE4NDI3
Mzg3OTAzLjsKKyAgaGlnaHAgZmxvYXQgbmVnT3V0UmFuZ2UgPSAtNDYxMTY4NjAxODQyNzM4Nzkw
NS47CisgIGhpZ2hwIGZsb2F0IG5lZ0h1Z2UgPSAxRTEwMDsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dD4KKyJ1c2Ugc3RyaWN0IjsKK0dMU0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0KCk7Cit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgor
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0
aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTA4YzdlN2I2MmIxYjAwNTY1YzdlYTdjYmNhYTZhZTI5NzJlMGNm
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJl
c3RyaWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMjY4IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB1bmlmb3JtIHBhY2tpbmcgcmVzdHJjdGlv
bnMgQ29uZm9ybWFuY2UgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3Qu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRo
PSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingt
c2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworICAgIHZv
aWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRpb247CisgICAg
fQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRl
eCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdmFyeWluZyB2ZWM0IHZfdmFy
eWluZzsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdl92
YXJ5aW5nOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlckFycmF5VGVzdCIg
dHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247
CisgICAgdmFyeWluZyB2ZWM0IHZfdmFyeWluZzsKKyAgICB1bmlmb3JtICQodHlwZSkgdV91bmlm
b3JtWyQobnVtVGVzdFR5cGUpXTsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgdl92
YXJ5aW5nID0gJChjb2RlKTsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAg
IH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlckFycmF5VGVzdCIgdHlwZT0ieC1zaGFk
ZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9y
bSAkKHR5cGUpIHVfdW5pZm9ybVskKG51bVRlc3RUeXBlKV07CisgICAgdm9pZCBtYWluKCkKKyAg
ICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9ICQoY29kZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJ2c2hhZGVyVW5pZm9ybVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247CisgICAgdmFyeWluZyB2ZWM0IHZfdmFy
eWluZzsKKyQodW5pZm9ybXMpCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIHZfdmFy
eWluZyA9ICQoY29kZSk7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9
Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJVbmlmb3JtVGVzdCIgdHlwZT0ieC1zaGFk
ZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CiskKHVuaWZvcm1z
KQorICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSAkKGNvZGUp
OworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9u
KCk7CitkZWJ1ZygiIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKK3ZhciB1bmlmb3JtVHlwZXMgPSBbCisgIHsg
dHlwZTogImJvb2wiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMSwgcm93czogMSwgY29kZTog
InZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJm
bG9hdCIsICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVf
dW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAiaW50IiwgICAg
ICAgICBjb21wb25lbnRzUGVyUm93OiAxLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0k
KGlkKSQoaW5kZXgpLCAwLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzIiLCAgICAgICAgY29t
cG9uZW50c1BlclJvdzogMiwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGlu
ZGV4KSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJpdmVjMiIsICAgICAgIGNvbXBvbmVudHNQZXJS
b3c6IDIsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDAp
IiwgfSwKKyAgeyB0eXBlOiAiYnZlYzIiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiAyLCByb3dz
OiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwLCAwKSIsIH0sCisgIHsg
dHlwZTogInZlYzMiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czogMSwgY29kZTog
InZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCkiLCB9LAorICB7IHR5cGU6ICJpdmVjMyIs
ICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDMsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9y
bSQoaWQpJChpbmRleCksIDApIiwgfSwKKyAgeyB0eXBlOiAiYnZlYzMiLCAgICAgICBjb21wb25l
bnRzUGVyUm93OiAzLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgp
LCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzQiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwg
cm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSkiLCB9LAorICB7IHR5
cGU6ICJpdmVjNCIsICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDEsIGNvZGU6ICJ2
ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCkpIiwgfSwKKyAgeyB0eXBlOiAiYnZlYzQiLCAgICAg
ICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlk
KSQoaW5kZXgpKSIsIH0sCisvLyBZZXMsIHRoZSBzcGVjIHNheXMgbWF0MiB0YWtlcyA0IGNvbHVt
bnMsIDIgcm93cy4KKyAgeyB0eXBlOiAibWF0MiIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0
LCByb3dzOiAyLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpWzBdLCAwLCAwKSIs
IH0sCisgIHsgdHlwZTogIm1hdDMiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czog
MywgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KVswXSwgMCkiLCB9LAorICB7IHR5
cGU6ICJtYXQ0IiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDQsIGNvZGU6ICJ2
ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleClbMF0pIiwgfSwKKy8vIFNhbXBsZXJzIGdlbmVyYWxs
eSBoYXZlIG1vcmUgcmVzdGljdGl2ZSBsaW1pdHMuCisvLyAgeyB0eXBlOiAic2FtcGxlcjJEIiwg
ICBjb21wb25lbnRzUGVyUm93OiAxLCByb3dzOiAxLCBjb2RlOiAidmVjNCh0ZXh0dXJlMkQodV91
bmlmb3JtWyQoaW5kZXgpXSwgdmVjMigwLCAwKSkpIiwgfSwKKy8vICB7IHR5cGU6ICJzYW1wbGVy
Q3ViZSIsIGNvbXBvbmVudHNQZXJSb3c6IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHRleHR1cmVD
dWJlKHVfdW5pZm9ybVskKGluZGV4KV0sIHZlYzMoMCwgMCwgMCkpKSIsIH0sCitdOworCit2YXIg
dkJhc2VTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyIik7Cit2YXIgZkJhc2VTb3VyY2Ug
PSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyIik7Cit2YXIgdkFycmF5VGVzdFNvdXJjZSA9IHd0dS5n
ZXRTY3JpcHQoInZzaGFkZXJBcnJheVRlc3QiKTsKK3ZhciBmQXJyYXlUZXN0U291cmNlID0gd3R1
LmdldFNjcmlwdCgiZnNoYWRlckFycmF5VGVzdCIpOwordmFyIHZVbmlmb3JtVGVzdFNvdXJjZSA9
IHd0dS5nZXRTY3JpcHQoInZzaGFkZXJVbmlmb3JtVGVzdCIpOwordmFyIGZVbmlmb3JtVGVzdFNv
dXJjZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXJVbmlmb3JtVGVzdCIpOworCit2YXIgdGVzdHMg
PSBbXTsKK3ZhciBzaGFkZXJUeXBlcyA9IFsKKyAgeyB0eXBlOiAidmVydGV4IiwKKyAgICAvLyBG
b3IgdGVzdHMgdGhhdCBleHBlY3QgZmFpbHVyZSB3aGljaCBzaGFkZXIgbWlnaHQgZmFpbC4KKyAg
ICB2ZXJ0RXhwZWN0YXRpb246IGZhbHNlLAorICAgIGZyYWdFeHBlY3RhdGlvbjogdHJ1ZSwKKyAg
ICB2ZXJ0QXJyYXlUZXN0OiB2QXJyYXlUZXN0U291cmNlLAorICAgIGZyYWdBcnJheVRlc3Q6IGZC
YXNlU291cmNlLAorICAgIHZlcnRVbmlmb3JtVGVzdDogdlVuaWZvcm1UZXN0U291cmNlLAorICAg
IGZyYWdVbmlmb3JtVGVzdDogZkJhc2VTb3VyY2UsCisgICAgbWF4VmVjdG9yczogZ2wuZ2V0UGFy
YW1ldGVyKGdsLk1BWF9WRVJURVhfVU5JRk9STV9WRUNUT1JTKSwKKyAgICBtaW5WZWN0b3JzOiAx
MjgsICAvLyBHTFNMIEVTIDEuMC4xNyBBcHBlbmRpeCBBLjcsCisgIH0sCisgIHsgdHlwZTogImZy
YWdtZW50IiwKKyAgICAvLyBGb3IgdGVzdHMgdGhhdCBleHBlY3QgZmFpbHVyZSB3aGljaCBzaGFk
ZXIgbWlnaHQgZmFpbC4KKyAgICB2ZXJ0RXhwZWN0YXRpb246IHRydWUsCisgICAgZnJhZ0V4cGVj
dGF0aW9uOiBmYWxzZSwKKyAgICB2ZXJ0QXJyYXlUZXN0OiB2QmFzZVNvdXJjZSwKKyAgICBmcmFn
QXJyYXlUZXN0OiBmQXJyYXlUZXN0U291cmNlLAorICAgIHZlcnRVbmlmb3JtVGVzdDogdkJhc2VT
b3VyY2UsCisgICAgZnJhZ1VuaWZvcm1UZXN0OiBmVW5pZm9ybVRlc3RTb3VyY2UsCisgICAgbWF4
VmVjdG9yczogZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlMp
LAorICAgIG1pblZlY3RvcnM6IDE2LCAgLy8gR0xTTCBFUyAxLjAuMTcgQXBwZW5kaXggQS43LAor
ICB9LAorXTsKK2ZvciAodmFyIHNzID0gMDsgc3MgPCBzaGFkZXJUeXBlcy5sZW5ndGg7ICsrc3Mp
IHsKKyAgdmFyIHNoYWRlclR5cGUgPSBzaGFkZXJUeXBlc1tzc107CisgIGRlYnVnKCJtYXggIiAr
IHNoYWRlclR5cGUudHlwZSArICI6ICIgKyBzaGFkZXJUeXBlLm1heFZlY3RvcnMpOworICBmb3Ig
KHZhciBpaSA9IDA7IGlpIDwgdW5pZm9ybVR5cGVzLmxlbmd0aDsgKytpaSkgeworICAgIHZhciBp
bmZvID0gdW5pZm9ybVR5cGVzW2lpXTsKKyAgICB3dHUubG9nKCJjaGVja2luZzogIiArIGluZm8u
dHlwZSk7CisgICAgLy8gQ29tcHV0ZSB0aGUgbWF4aW11bSBhbW91bnQgb2YgdGhpcyB0eXBlIGFs
bG93ZWQgaW4gYSBzaW5nbGUgYXJyYXkuCisgICAgdmFyIG51bVZhcnMgPSBNYXRoLmZsb29yKHNo
YWRlclR5cGUubWF4VmVjdG9ycyAvIGluZm8ucm93cyk7CisgICAgLy8gQ29tcHV0ZSB0aGUgbWlu
aW11bSByZXF1aXJlZCB0byB3b3JrIGluIGEgc2luZ2xlIGFycmF5LgorICAgIHZhciBtaW5WYXJz
ID0gTWF0aC5mbG9vcihzaGFkZXJUeXBlLm1pblZlY3RvcnMgLyBpbmZvLnJvd3MpOworICAgIC8v
IFRlc3QgYXJyYXlbMV0gb2YgdGhlIHR5cGUKKyAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFy
YW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgICAgdGVzdHMucHVzaCh7
CisgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRB
cnJheVRlc3QsIHtudW1UZXN0VHlwZTogMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgdlNo
YWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFt
cyhzaGFkZXJUeXBlLmZyYWdBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogMSwgY29kZTogY29kZX0s
IGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICBsaW5rU3VjY2Vzczog
dHJ1ZSwKKyAgICAgIHBhc3NNc2c6IHNoYWRlclR5cGUudHlwZSArICIgc2hhZGVyIHdpdGggdW5p
Zm9ybSBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRoIDEgZWxlbWVudCBzaG91bGQgc3Vj
Y2VlZCIsCisgICAgfSk7CisgICAgLy8gVGVzdCBhcnJheVttYXhdIG9mIHRoZSB0eXBlCisgICAg
Ly8gTm90ZTogV2UgY2FuJ3QgdGVzdCB0aGlzIGFzIGFjdHVhbCBHTCBkcml2ZXJzIGFyZSBvbmx5
IHJlcXVpcmVkIHRvIGJlIGFibGUgdG8KKyAgICAvLyBkbyB0aGUgbWluaW11bSBudW1iZXIuIEFm
dGVyIHRoYXQgaXQgY2FuIGZhaWwgZm9yIGFueSByZWFzb24uCisgICAgaWYgKGZhbHNlKSB7Cisg
ICAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5k
ZXg6ICJbIiArIChudW1WYXJzIC0gMSkgKyAiXSJ9KTsKKyAgICAgIHRlc3RzLnB1c2goeworICAg
ICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRBcnJh
eVRlc3QsIHtudW1UZXN0VHlwZTogbnVtVmFycywgY29kZTogY29kZX0sIGluZm8pLAorICAgICAg
ICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxh
Y2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51bVZhcnMs
IGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAg
ICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUg
KyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAi
ICsgbnVtVmFycyArICIgZWxlbWVudHMgKHRoZSBtYXhpbXVtKSBzaG91bGQgc3VjY2VlZCIsCisg
ICAgICB9KTsKKyAgICB9CisKKyAgICAvLyBUZXN0IHJlcXVpcmVkIG51bWJlciBvZiB1bmlmb3Jt
cworICAgIHZhciBjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby5jb2RlLCB7aWQ6ICIiLCBp
bmRleDogIlsiICsgKG1pblZhcnMgLSAxKSArICJdIn0pOworICAgIHRlc3RzLnB1c2goeworICAg
ICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0QXJyYXlU
ZXN0LCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIHZT
aGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJh
bXMoc2hhZGVyVHlwZS5mcmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIGNvZGU6
IGNvZGV9LCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgbGlua1N1
Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3
aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgbWluVmFycyAr
ICIgZWxlbWVudHMgKHRoZSBtaW5pbXVtIHJlcXVpcmVkKSBzaG91bGQgc3VjY2VlZCIsCisgICAg
fSk7CisKKyAgICAvLyBUZXN0IGFycmF5W21heCArIDFdIGFjY2Vzc2luZyBsYXN0IGVsZW1lbnQu
IFdlYkdMIHJlcXVpcmVzIHRoaXMgdG8gZmFpbC4KKyAgICB2YXIgY29kZSA9IHd0dS5yZXBsYWNl
UGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIG51bVZhcnMgKyAiXSJ9KTsK
KyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1z
KHNoYWRlclR5cGUudmVydEFycmF5VGVzdCwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgY29k
ZTogY29kZX0sIGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUudmVydEV4
cGVjdGF0aW9uLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVy
VHlwZS5mcmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCBjb2RlOiBjb2Rl
fSwgaW5mbyksCisgICAgICBmU2hhZGVyU3VjY2Vzczogc2hhZGVyVHlwZS5mcmFnRXhwZWN0YXRp
b24sCisgICAgICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBl
LnR5cGUgKyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIg
d2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgZWxlbWVudHMgKG9uZSBwYXN0IG1heGltdW0pIGFj
Y2Vzc2luZyBsYXN0IGVsZW1lbnQgc2hvdWxkIGZhaWwiLAorICAgIH0pOworCisgICAgLy8gVGVz
dCBhcnJheVttYXggKyAxXSBhY2Nlc3NpbmcgZmlyc3QgZWxlbWVudC4gV2ViR0wgcmVxdWlyZXMg
dGhpcyB0byBmYWlsIGJ1dCBFUyBhbGxvd3MgdHJ1bmNhdGluZyBhcnJheS4KKyAgICB2YXIgY29k
ZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7
CisgICAgdGVzdHMucHVzaCh7CisgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFt
cyhzaGFkZXJUeXBlLnZlcnRBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEsIGNv
ZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLnZlcnRF
eHBlY3RhdGlvbiwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRl
clR5cGUuZnJhZ0FycmF5VGVzdCwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgY29kZTogY29k
ZX0sIGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUuZnJhZ0V4cGVjdGF0
aW9uLAorICAgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICAgICAgcGFzc01zZzogc2hhZGVyVHlw
ZS50eXBlICsgIiBzaGFkZXIgd2l0aCB1bmlmb3JtIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAi
IHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIGVsZW1lbnRzIChvbmUgcGFzdCBtYXhpbXVtKSBh
Y2Nlc3NpbmcgZmlyc3QgZWxlbWVudCBzaG91bGQgZmFpbCIsCisgICAgfSk7CisKKyAgICAvLyBU
ZXN0IG1heCB1bmlmb3JtcyBvZiB0eXBlLgorICAgIC8vIE5vdGU6IFdlIGNhbid0IHRlc3QgdGhp
cyBhcyBhY3R1YWwgR0wgZHJpdmVycyBhcmUgb25seSByZXF1aXJlZCB0byBiZSBhYmxlIHRvCisg
ICAgLy8gZG8gdGhlIG1pbmltdW0gbnVtYmVyLiBBZnRlciB0aGF0IGl0IGNhbiBmYWlsIGZvciBh
bnkgcmVhc29uLgorICAgIGlmIChmYWxzZSkgeworICAgIH0KKworICAgIHZhciBnZW5lcmF0ZUNv
ZGUgPSBmdW5jdGlvbihudW1WYXJzKSB7CisgICAgICB2YXIgdW5pZm9ybXMgPSBbXTsKKyAgICAg
IHZhciBjb2RlcyA9IFtdOworICAgICAgZm9yICh2YXIgdXUgPSAwOyB1dSA8IG51bVZhcnM7ICsr
dXUpIHsKKyAgICAgICAgdW5pZm9ybXMucHVzaCgiICAgIHVuaWZvcm0gIiArIGluZm8udHlwZSAr
ICIgdV91bmlmb3JtIiArIHV1ICsgIjsiKTsKKyAgICAgICAgY29kZXMucHVzaCh3dHUucmVwbGFj
ZVBhcmFtcyhpbmZvLmNvZGUsIHtpZDogdXUsIGluZGV4OiAiIn0pKTsKKyAgICAgIH0KKyAgICAg
IHJldHVybiB7CisgICAgICAgIHVuaWZvcm1zOiB1bmlmb3Jtcy5qb2luKCJcbiIpLAorICAgICAg
ICBjb2RlOiBjb2Rlcy5qb2luKCIgKyBcbiAgICAgICAgICAgICIpLAorICAgICAgfTsKKyAgICB9
OworCisgICAgLy8gVGVzdCBtYXgrMSB1bmlmb3JtcyBvZiB0eXBlLgorICAgIHRlc3RzLnB1c2go
eworICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0
VW5pZm9ybVRlc3QsIGdlbmVyYXRlQ29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAgICAgdlNo
YWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUudmVydEV4cGVjdGF0aW9uLAorICAgICAgZlNoYWRlclNv
dXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnVW5pZm9ybVRlc3QsIGdlbmVy
YXRlQ29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHNoYWRl
clR5cGUuZnJhZ0V4cGVjdGF0aW9uLAorICAgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICAgICAg
cGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCAiICsgKG51bVZhcnMgKyAx
KSArICIgdW5pZm9ybXMgb2YgIiArIGluZm8udHlwZSArICIgKG9uZSBwYXN0IG1heGltdW0pIHNo
b3VsZCBmYWlsIiwKKyAgICB9KTsKKworICAgIC8vIFRlc3QgcmVxdWlyZWQgdW5pZm9ybXMgb2Yg
dHlwZS4KKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNl
UGFyYW1zKHNoYWRlclR5cGUudmVydFVuaWZvcm1UZXN0LCBnZW5lcmF0ZUNvZGUobWluVmFycyks
IGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICBmU2hhZGVyU291cmNl
OiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdVbmlmb3JtVGVzdCwgZ2VuZXJhdGVD
b2RlKG1pblZhcnMpLCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAg
bGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNo
YWRlciB3aXRoICIgKyBtaW5WYXJzICsgIiB1bmlmb3JtcyBvZiAiICsgaW5mby50eXBlICsgIiAo
dGhlIG1pbmltdW0gcmVxdWlyZWQpIHNob3VsZCBzdWNjZWVkIiwKKyAgICB9KTsKKyAgfQorfQor
R0xTTENvbmZvcm1hbmNlVGVzdGVyLnJ1blRlc3RzKHRlc3RzKTsKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjczNjQyMzI2ZjYxNDgyNmRjMDRjMTRlMDg2ZWQ0MzI1NDYzYWQzYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1s
CkBAIC0wLDAgKzEsMjIwIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCB2YXJ5aW5nIHBhY2tpbmcgcmVzdHJjdGlvbnMgQ29uZm9ybWFuY2Ug
VGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIi
PiA8L2NhbnZhcz4KKzxzY3JpcHQgaWQ9InZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247Cit2YXJ5aW5nICQodHlwZSkg
dl92YXJ5aW5nWyQobnVtVGVzdFR5cGUpXTsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRp
b24gPSBhX3Bvc2l0aW9uOworICAgICQodmNvZGUpCit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
ImZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHZhcnlpbmcgJCh0eXBlKSB2X3ZhcnlpbmdbJChudW1U
ZXN0VHlwZSldOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3Ig
PSAkKGZjb2RlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXJWYXJ5aW5n
VGVzdCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CithdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0
aW9uOworJCh2YXJ5aW5ncykKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9z
aXRpb24gPSBhX3Bvc2l0aW9uOworICAgICAgICAkKHZjb2RlKQorICAgIH0KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlclZhcnlpbmdUZXN0IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50
Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyQodmFyeWluZ3MpCisgICAgdm9pZCBt
YWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9ICQoZmNvZGUpOworICAgIH0KKzwv
c2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1Zygi
Iik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCJleGFtcGxlIik7CisKK3ZhciB2YXJ5aW5nVHlwZXMgPSBbCisgIHsgdHlwZTogImZsb2F0
IiwgICAgICAgY29tcG9uZW50c1BlclJvdzogMSwgcm93czogMSwgdmNvZGU6ICJ2X3Zhcnlpbmck
KGlkKSQoaW5kZXgpID0gMS4wOyIsICAgICAgICAgICAgICBmY29kZTogInZlYzQodl92YXJ5aW5n
JChpZCkkKGluZGV4KSwgMCwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWMyIiwgICAgICAgIGNv
bXBvbmVudHNQZXJSb3c6IDIsIHJvd3M6IDEsIHZjb2RlOiAidl92YXJ5aW5nJChpZCkkKGluZGV4
KSA9IHZlYzIoMCwgMCk7IiwgICAgICAgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRl
eCksIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAidmVjMyIsICAgICAgICBjb21wb25lbnRzUGVyUm93
OiAzLCByb3dzOiAxLCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkgPSB2ZWMzKDAsIDAs
IDApOyIsICAgIGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpLCAwKSIsIH0sCisg
IHsgdHlwZTogInZlYzQiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czogMSwgdmNv
ZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gdmVjNCgwLCAwLCAwLCAwKTsiLCBmY29kZTog
InZlYzQodl92YXJ5aW5nJChpZCkkKGluZGV4KSkiLCB9LAorLy8gWWVzLCB0aGUgc3BlYyBzYXlz
IG1hdDIgdGFrZXMgNCBjb2x1bW5zLCAyIHJvd3MuICAgIHZjb2RlOiAiIiwKKyAgeyB0eXBlOiAi
bWF0MiIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dzOiAyLCB2Y29kZTogInZfdmFy
eWluZyQoaWQpJChpbmRleCkgPSBtYXQyKDEuMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQo
aWQpJChpbmRleClbMF0sIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAibWF0MyIsICAgICAgICBjb21w
b25lbnRzUGVyUm93OiAzLCByb3dzOiAzLCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkg
PSBtYXQzKDEuMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleClbMF0sIDAp
IiwgfSwKKyAgeyB0eXBlOiAibWF0NCIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0LCByb3dz
OiA0LCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkgPSBtYXQ0KDEuMCk7IiwgZmNvZGU6
ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleClbMF0pIiwgfSwKK107CisKK3ZhciB2QXJyYXlU
ZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgidnNoYWRlckFycmF5VGVzdCIpOwordmFyIGZBcnJh
eVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyQXJyYXlUZXN0Iik7Cit2YXIgdlZh
cnlpbmdUZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgidnNoYWRlclZhcnlpbmdUZXN0Iik7Cit2
YXIgZlZhcnlpbmdUZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgiZnNoYWRlclZhcnlpbmdUZXN0
Iik7CisKK3ZhciBtaW5WYXJ5aW5nVmVjdG9ycyA9IDg7Cit2YXIgbWF4VmFyeWluZ1ZlY3RvcnMg
PSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZBUllJTkdfVkVDVE9SUyk7Cit2YXIgdGVzdHMgPSBb
XTsKKworZm9yICh2YXIgaWkgPSAwOyBpaSA8IHZhcnlpbmdUeXBlcy5sZW5ndGg7ICsraWkpIHsK
KyAgdmFyIGluZm8gPSB2YXJ5aW5nVHlwZXNbaWldOworICB3dHUubG9nKCJjaGVja2luZzogIiAr
IGluZm8udHlwZSk7CisgIC8vIENvbXB1dGUgdGhlIG1heGltdW0gYW1vdW50IG9mIHRoaXMgdHlw
ZSBhbGxvd2VkIGluIGEgc2luZ2xlIGFycmF5LgorICB2YXIgbnVtVmFycyA9IE1hdGguZmxvb3Io
bWF4VmFyeWluZ1ZlY3RvcnMgLyBpbmZvLnJvd3MpOworICAvLyBDb21wdXRlIHRoZSBtaW5pbXVt
IHJlcXVpcmVkIHRvIHdvcmsgaW4gYSBzaW5nbGUgYXJyYXkuCisgIHZhciBtaW5WYXJzID0gTWF0
aC5mbG9vcihtaW5WYXJ5aW5nVmVjdG9ycyAvIGluZm8ucm93cyk7CisgIC8vIFRlc3QgYXJyYXlb
MV0gb2YgdGhlIHR5cGUKKyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29k
ZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgIHZhciBmY29kZSA9IHd0dS5yZXBsYWNlUGFy
YW1zKGluZm8uZmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0pOworICB0ZXN0cy5wdXNoKHsK
KyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2QXJyYXlUZXN0U291cmNlLCB7
bnVtVGVzdFR5cGU6IDEsIHZjb2RlOiB2Y29kZX0sIGluZm8pLAorICAgIHZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RT
b3VyY2UsIHtudW1UZXN0VHlwZTogMSwgZmNvZGU6IGZjb2RlfSwgaW5mbyksCisgICAgZlNoYWRl
clN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInNo
YWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggMSBlbGVt
ZW50IHNob3VsZCBzdWNjZWVkIiwKKyAgfSk7CisgIC8vIGRvIHRoZSBtaW5pbXVtIG51bWJlci4g
QWZ0ZXIgdGhhdCBpdCBjYW4gZmFpbCBmb3IgYW55IHJlYXNvbi4KKyAgaWYgKGZhbHNlKSB7Cisg
ICAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5k
ZXg6ICJbIiArIChudW1WYXJzIC0gMSkgKyAiXSJ9KTsKKyAgICB2YXIgZmNvZGUgPSB3dHUucmVw
bGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG51bVZhcnMgLSAx
KSArICJdIn0pOworICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJl
cGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzLCB2Y29k
ZTogdmNvZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgZlNo
YWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoZkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RU
eXBlOiBudW1WYXJzLCBmY29kZTogZmNvZGV9LCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNnOiAic2hhZGVy
cyB3aXRoIHZhcnlpbmcgYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgbnVtVmFy
cyArICIgZWxlbWVudHMgKHRoZSBtYXhpbXVtKSBzaG91bGQgc3VjY2VlZCIsCisgICAgfSk7Cisg
IH0KKworICAvLyBUZXN0IHJlcXVpcmVkIG51bWJlciBvZiB1bmlmb3JtcworICB2YXIgdmNvZGUg
PSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLnZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG1p
blZhcnMgLSAxKSArICJdIn0pOworICB2YXIgZmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZv
LmZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgKG1pblZhcnMgLSAxKSArICJdIn0pOworICB0
ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2QXJyYXlU
ZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIHZjb2RlOiB2Y29kZX0sIGluZm8pLAor
ICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNl
UGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbWluVmFycywgZmNvZGU6IGZj
b2RlfSwgaW5mbyksCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6
IHRydWUsCisgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBp
bmZvLnR5cGUgKyAiIHdpdGggIiArIG1pblZhcnMgKyAiIGVsZW1lbnRzICh0aGUgbWluaW11bSBy
ZXF1aXJlZCkgc2hvdWxkIHN1Y2NlZWQiLAorICB9KTsKKworICAvLyBUZXN0IGFycmF5W21heCAr
IDFdIGFjY2Vzc2luZyBsYXN0IGVsZW1lbnQuIFdlYkdMIHJlcXVpcmVzIHRoaXMgdG8gZmFpbC4K
KyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiAiIiwgaW5k
ZXg6ICJbIiArIG51bVZhcnMgKyAiXSJ9KTsKKyAgdmFyIGZjb2RlID0gd3R1LnJlcGxhY2VQYXJh
bXMoaW5mby5mY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIG51bVZhcnMgKyAiXSJ9KTsKKyAg
dGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXModkFycmF5
VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgdmNvZGU6IHZjb2RlfSwgaW5m
byksCisgICAgdlNoYWRlclN1Y2Nlc3M6IGZhbHNlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5y
ZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEs
IGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBs
aW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFy
cmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIGVsZW1l
bnRzIChvbmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3NpbmcgbGFzdCBlbGVtZW50IHNob3VsZCBmYWls
IiwKKyAgfSk7CisKKyAgLy8gVGVzdCBhcnJheVttYXggKyAxXSBhY2Nlc3NpbmcgZmlyc3QgZWxl
bWVudC4gV2ViR0wgcmVxdWlyZXMgdGhpcyB0byBmYWlsIGJ1dCBFUyBhbGxvd3MgdHJ1bmNhdGlu
ZyBhcnJheS4KKyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lk
OiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgIHZhciBmY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGlu
Zm8uZmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0pOworICB0ZXN0cy5wdXNoKHsKKyAgICB2
U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2QXJyYXlUZXN0U291cmNlLCB7bnVtVGVz
dFR5cGU6IG51bVZhcnMgKyAxLCB2Y29kZTogdmNvZGV9LCBpbmZvKSwKKyAgICB2U2hhZGVyU3Vj
Y2VzczogZmFsc2UsCisgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoZkFycmF5
VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgZmNvZGU6IGZjb2RlfSwgaW5m
byksCisgICAgZlNoYWRlclN1Y2Nlc3M6IGZhbHNlLAorICAgIGxpbmtTdWNjZXNzOiBmYWxzZSwK
KyAgICBwYXNzTXNnOiAic2hhZGVycyB3aXRoIHZhcnlpbmcgYXJyYXkgb2YgIiArIGluZm8udHlw
ZSArICIgd2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgZWxlbWVudHMgKG9uZSBwYXN0IG1heGlt
dW0pIGFjY2Vzc2luZyBmaXJzdCBlbGVtZW50IHNob3VsZCBmYWlsIiwKKyAgfSk7CisKKyAgLy8g
VGVzdCBtYXggdW5pZm9ybXMgb2YgdHlwZS4KKyAgLy8gTm90ZTogV2UgY2FuJ3QgdGVzdCB0aGlz
IGFzIGFjdHVhbCBHTCBkcml2ZXJzIGFyZSBvbmx5IHJlcXVpcmVkIHRvIGJlIGFibGUgdG8KKyAg
Ly8gZG8gdGhlIG1pbmltdW0gbnVtYmVyLiBBZnRlciB0aGF0IGl0IGNhbiBmYWlsIGZvciBhbnkg
cmVhc29uLgorICBpZiAoZmFsc2UpIHsKKyAgfQorCisgIHZhciBnZW5lcmF0ZUNvZGUgPSBmdW5j
dGlvbihudW1WYXJzKSB7CisgICAgdmFyIHZhcnlpbmdzID0gW107CisgICAgdmFyIHZjb2RlcyA9
IFtdOworICAgIHZhciBmY29kZXMgPSBbXTsKKyAgICBmb3IgKHZhciB1dSA9IDA7IHV1IDwgbnVt
VmFyczsgKyt1dSkgeworICAgICAgdmFyeWluZ3MucHVzaCgiICAgIHZhcnlpbmcgIiArIGluZm8u
dHlwZSArICIgdl92YXJ5aW5nIiArIHV1ICsgIjsiKTsKKyAgICAgIHZjb2Rlcy5wdXNoKHd0dS5y
ZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogdXUsIGluZGV4OiAiIn0pKTsKKyAgICAgIGZj
b2Rlcy5wdXNoKHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNvZGUsIHtpZDogdXUsIGluZGV4OiAi
In0pKTsKKyAgICB9CisgICAgcmV0dXJuIHsKKyAgICAgIHZhcnlpbmdzOiB2YXJ5aW5ncy5qb2lu
KCJcbiIpLAorICAgICAgdmNvZGU6IHZjb2Rlcy5qb2luKCJcbiAgICAgICAgICAgICIpLAorICAg
ICAgZmNvZGU6IGZjb2Rlcy5qb2luKCIgKyBcbiAgICAgICAgICAgICIpLAorICAgIH07CisgIH07
CisKKyAgLy8gVGVzdCBtYXgrMSB2YXJ5aW5ncyBvZiB0eXBlLgorICB0ZXN0cy5wdXNoKHsKKyAg
ICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2VmFyeWluZ1Rlc3RTb3VyY2UsIGdl
bmVyYXRlQ29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAgIHZTaGFkZXJTdWNjZXNzOiBmYWxz
ZSwKKyAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmVmFyeWluZ1Rlc3RTb3Vy
Y2UsIGdlbmVyYXRlQ29kZShudW1WYXJzICsgMSksIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNz
OiBmYWxzZSwKKyAgICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzogInNoYWRlcnMg
d2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgdmFyeWluZ3Mgb2YgIiArIGluZm8udHlwZSArICIg
KG9uZSBwYXN0IG1heGltdW0pIHNob3VsZCBmYWlsIiwKKyAgfSk7CisKKyAgLy8gVGVzdCByZXF1
aXJlZCB2YXJ5aW5ncyBvZiB0eXBlLgorICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNl
OiB3dHUucmVwbGFjZVBhcmFtcyh2VmFyeWluZ1Rlc3RTb3VyY2UsIGdlbmVyYXRlQ29kZShtaW5W
YXJzKSwgaW5mbyksCisgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgZlNoYWRlclNvdXJj
ZTogd3R1LnJlcGxhY2VQYXJhbXMoZlZhcnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNvZGUobWlu
VmFycyksIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNjZXNz
OiB0cnVlLAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggIiArIG1pblZhcnMgKyAiIHZhcnlp
bmdzIG9mICIgKyBpbmZvLnR5cGUgKyAiICh0aGUgbWluaW11bSByZXF1aXJlZCkgc2hvdWxkIHN1
Y2NlZWQiLAorICB9KTsKK30KKworR0xTTENvbmZvcm1hbmNlVGVzdGVyLnJ1blRlc3RzKHRlc3Rz
KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1
Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXkt
b2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkYzY4YTk0MmQ2
NDRmN2YwZmYzZTZmZjVhMjFkYTIxYmFmYTc3MWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sCkBA
IC0wLDAgKzEsMTU3IEBACisKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPkdMU0wgQXJyYXkgb2YgU3RydWN0cyBDb250YWluaW5nIEFycmF5czwvdGl0bGU+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJ2c2hhZGVy
IiwgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsK
K3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMCIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CitzdHJ1Y3QgbXlfc3RydWN0IHsKKyAgdmVjNCBj
b2xvclsyXTsKK307Cit1bmlmb3JtIG15X3N0cnVjdCB1X2NvbG9yc1syXTsKK3ZvaWQgbWFpbih2
b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9jb2xvcnNbMF0uY29sb3JbMF07Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIxIiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3N0cnVjdCBteV9zdHJ1Y3QgeworICB2ZWM0IGNv
bG9yWzJdOworfTsKK3VuaWZvcm0gbXlfc3RydWN0IHVfY29sb3JzWzJdOwordm9pZCBtYWluKHZv
aWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X2NvbG9yc1swXS5jb2xvclsxXTsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlci13aXRoLW9uZS1lbGVtZW50LWFycmF5cyIsIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CitzdHJ1Y3Qg
bXlfc3RydWN0IHsKKyAgdmVjNCBjb2xvclsxXTsKK307Cit1bmlmb3JtIG15X3N0cnVjdCB1X2Nv
bG9yc1sxXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9jb2xvcnNb
MF0uY29sb3JbMF07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIzIiwgdHlwZT0i
eC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3N0cnVjdCBt
eV9zdHJ1Y3QgeworICB2ZWM0IGNvbG9yMVsyXTsKKyAgdmVjNCBjb2xvcjJbMl07Cit9OwordW5p
Zm9ybSBteV9zdHJ1Y3QgdV9jb2xvcnNbMl07Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX0Zy
YWdDb2xvciA9IHVfY29sb3JzWzBdLmNvbG9yMVswXSArIHVfY29sb3JzWzBdLmNvbG9yMlswXSAr
IHVfY29sb3JzWzFdLmNvbG9yMVsxXSArdV9jb2xvcnNbMV0uY29sb3IyWzFdOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWln
aHQ9IjUwIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7
CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoImNhbnZhcyIpOword3R1LnNldHVwVW5pdFF1YWQoZ2wpOworCitmb3IgKHZhciBpaSA9IDA7
IGlpIDwgMjsgKytpaSkgeworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsi
dnNoYWRlciIsICJmc2hhZGVyIiArIGlpXSwgWyJhX3Bvc2l0aW9uIl0pOworICB2YXIgcmVkX2xv
YyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMF0uY29sb3JbIiAr
IGlpICArICJdIik7CisgIHZhciBncmVlbl9sb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJv
Z3JhbSwgInVfY29sb3JzWzBdLmNvbG9yWyIgKyAoMSAtIGlpKSArICJdIik7CisgIGdsLnVuaWZv
cm00ZnYocmVkX2xvYywgWzEsIDAsIDAsIDFdKTsKKyAgZ2wudW5pZm9ybTRmdihncmVlbl9sb2Ms
IFswLCAxLCAwLCAxXSk7CisgIHd0dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhn
bCwgWzI1NSwgMCwgMCwgMjU1XSwgIlNob3VsZCBiZSByZWQiKTsKK30KKwordmFyIHByb2dyYW0g
PSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlci13aXRoLW9uZS1lbGVt
ZW50LWFycmF5cyJdLCBbImFfcG9zaXRpb24iXSk7Cit2YXIgZ3JlZW5fbG9jID0gZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1swXS5jb2xvclswXSIpOworZ2wudW5pZm9y
bTRmdihncmVlbl9sb2MsIFswLCAxLCAwLCAxXSk7Cit3dHUuZHJhd1F1YWQoZ2wpOword3R1LmNo
ZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAiU2hvdWxkIGJlIGdyZWVuIik7CisKK3Zh
ciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIzIl0s
IFsiYV9wb3NpdGlvbiJdKTsKK3ZhciBudW1Vbmlmb3JtcyA9IGdsLmdldFByb2dyYW1QYXJhbWV0
ZXIocHJvZ3JhbSwgZ2wuQUNUSVZFX1VOSUZPUk1TKTsKK3Nob3VsZEJlKCJudW1Vbmlmb3JtcyIs
ICI0Iik7Cit2YXIgdW5pZm9ybXMgPSBbXQorZm9yICh2YXIgaWkgPSAwOyBpaSA8IG51bVVuaWZv
cm1zOyArK2lpKSB7CisgIHVuaWZvcm1zLnB1c2goZ2wuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFt
LCBpaSkubmFtZSk7Cit9Cit1bmlmb3Jtcy5zb3J0KCk7CitzaG91bGRCZSgidW5pZm9ybXNbMF0i
LCAnInVfY29sb3JzWzBdLmNvbG9yMVswXSInKTsKK3Nob3VsZEJlKCJ1bmlmb3Jtc1sxXSIsICci
dV9jb2xvcnNbMF0uY29sb3IyWzBdIicpOworc2hvdWxkQmUoInVuaWZvcm1zWzJdIiwgJyJ1X2Nv
bG9yc1sxXS5jb2xvcjFbMF0iJyk7CitzaG91bGRCZSgidW5pZm9ybXNbM10iLCAnInVfY29sb3Jz
WzFdLmNvbG9yMlswXSInKTsKK3ZhciBsb2MwMCA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9n
cmFtLCAidV9jb2xvcnNbMF0uY29sb3IxIik7Cit2YXIgbG9jMDEgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzBdLmNvbG9yMiIpOwordmFyIGxvYzEwID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1sxXS5jb2xvcjEiKTsKK3ZhciBsb2Mx
MSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMV0uY29sb3IyIik7
CitzaG91bGRCZVRydWUoImxvYzAwICE9IHVuZGVmaW5lZCIpOworc2hvdWxkQmVUcnVlKCJsb2Mw
MSAhPSB1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgibG9jMTAgIT0gdW5kZWZpbmVkIik7Citz
aG91bGRCZVRydWUoImxvYzExICE9IHVuZGVmaW5lZCIpOworZ2wudW5pZm9ybTRmdihsb2MwMCwg
WzEsIDAsIDAsIDBdKTsKK2dsLnVuaWZvcm00ZnYobG9jMDEsIFswLCAxLCAwLCAwXSk7CitnbC51
bmlmb3JtNGZ2KGxvYzEwLCBbMCwgMCwgMCwgMCwgMCwgMCwgMSwgMF0pOworZ2wudW5pZm9ybTRm
dihsb2MxMSwgWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDFdKTsKK3ZhciBsb2MxMDEgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzFdLmNvbG9yMVsxXSIpOwordmFyIGxv
YzExMSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMV0uY29sb3Iy
WzFdIik7CitzaG91bGRCZVRydWUoImxvYzEwMSAhPSB1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1
ZSgibG9jMTExICE9IHVuZGVmaW5lZCIpOword3R1LmRyYXdRdWFkKGdsLCBbMCwgMCwgMCwgMF0p
OworZ2wudW5pZm9ybTRmdihsb2MxMDEsIFswLCAwLCAwLCAwXSk7CitnbC51bmlmb3JtNGZ2KGxv
YzExMSwgWzAsIDAsIDAsIDBdKTsKK3d0dS5kcmF3UXVhZChnbCwgWzAsIDAsIDAsIDBdKTsKK3d0
dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMjU1LCAwLCAwXSwgIlNob3VsZCBiZSB5ZWxsb3ciKTsK
KworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBl
cnJvcnMiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWds
b2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDA4OGFjZjlhYWJlNzkzM2JlMjA4M2Y2NTUyNTM2YTdkNzllOGJkNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21h
dGNoLmh0bWwKQEAgLTAsMCArMSwxMjQgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2Ut
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0iZnNoYWRlcldp
dGhNZWRpdW1wR2xvYmFsIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+Cisv
LyBUaGVyZSBpcyBubyBkZWZhdWx0IHByZWNpc2lvbiBpbiBmcmFnbWVudCBzaGFkZXJzLCBzbyBz
cGVjaWZ5IG1lZGl1bXAuCitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSB2ZWM0
IGZvbzsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSBmb287Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJXaXRoTWVkaXVtcEdsb2JhbFN0cnVjdCIgdHlwZT0i
dGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorLy8gVGhlcmUgaXMgbm8gZGVmYXVsdCBw
cmVjaXNpb24gaW4gZnJhZ21lbnQgc2hhZGVycywgc28gc3BlY2lmeSBtZWRpdW1wLgorcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7CisKK3N0cnVjdCBmb28KK3sKKyAgIHZlYzQgYmFyOworfTsKKwor
dW5pZm9ybSBmb28gYmF6OworCit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IGJh
ei5iYXI7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXJXaXRoSGlnaHBHbG9iYWwi
IHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKy8vIERlZmF1bHQgcHJlY2lzaW9uIGZvciB2ZXJ0
ZXggc2hhZGVycyBpcyBoaWdocC4KK3VuaWZvcm0gdmVjNCBmb287CisKK3ZvaWQgbWFpbigpIHsK
KyAgICBnbF9Qb3NpdGlvbiA9IGZvbzsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRl
cldpdGhIaWdocEdsb2JhbFN0cnVjdCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorLy8gRGVm
YXVsdCBwcmVjaXNpb24gZm9yIHZlcnRleCBzaGFkZXJzIGlzIGhpZ2hwLgorc3RydWN0IGZvbwor
eworICAgdmVjNCBiYXI7Cit9OworCit1bmlmb3JtIGZvbyBiYXo7CisKK3ZvaWQgbWFpbigpCit7
CisgICAgZ2xfUG9zaXRpb24gPSBiYXouYmFyOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVz
ZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIkNoZWNrcyBzaGFkZXJzIHdpdGggZ2xvYmFsIHZhcmlh
YmxlcyBhbmQgcHJlY2lzaW9uIHF1YWxpZmllciBtaXNtYXRjaC4iKTsKKwordmFyIHd0dSA9IFdl
YkdMVGVzdFV0aWxzOworCit2YXIgZ2xzbFRlc3RzID0gW107CisKK2dsc2xUZXN0cy5wdXNoKHsK
KyAgdlNoYWRlcklkOiAndnNoYWRlcldpdGhIaWdocEdsb2JhbCcsCisgIHZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICBmU2hhZGVySWQ6ICdmc2hhZGVyV2l0aE1lZGl1bXBHbG9iYWwnLAorICBmU2hh
ZGVyU3VjY2VzczogdHJ1ZSwKKyAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICBwYXNzTXNnOiAibWlz
bWF0Y2hpbmcgcHJlY2lzaW9uIGZvciB1bmlmb3JtcyBjYXVzZXMgbGluayBlcnJvciAoYXMgZXhw
ZWN0ZWQpIiwKK30pOworCitnbHNsVGVzdHMucHVzaCh7CisgIHZTaGFkZXJJZDogJ3ZzaGFkZXJX
aXRoSGlnaHBHbG9iYWxTdHJ1Y3QnLAorICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgZlNoYWRl
cklkOiAnZnNoYWRlcldpdGhNZWRpdW1wR2xvYmFsU3RydWN0JywKKyAgZlNoYWRlclN1Y2Nlc3M6
IHRydWUsCisgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgcGFzc01zZzogIm1pc21hdGNoaW5nIHBy
ZWNpc2lvbiBmb3Igc3RydWN0dXJlIHVuaWZvcm1zIGNhdXNlcyBsaW5rIGVycm9yIChhcyBleHBl
Y3RlZCkiLAorfSk7CisKK0dMU0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0cyhnbHNsVGVzdHMp
OworCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5v
bi1yZXNlcnZlZC13b3Jkcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZl
ZC13b3Jkcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjOGExNjBmNzVhNWExNDBlNDM4ZTM5OWNjNmQ4ZTM0
NmM5YjQwZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJl
c2VydmVkLXdvcmRzLmh0bWwKQEAgLTAsMCArMSw3MjQgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgQ29uZm9ybWFuY2UgVGVzdHMg
LSBOb24gUmVzZXJ2ZWQgV29yZHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10ZXN0
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhTaGFkZXIw
IiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CitzdHJ1Y3QgJHJlcGxhY2VN
ZSB7CisgIHZlYzQgJHJlcGxhY2VNZTsKK307CitzdHJ1Y3QgRm9vIHsKKyAgJHJlcGxhY2VNZSAk
cmVwbGFjZU1lOworfTsKK2F0dHJpYnV0ZSB2ZWM0IHBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sK
KyAgICBGb28gZjsKKyAgICBmLiRyZXBsYWNlTWUuJHJlcGxhY2VNZSA9IHBvc2l0aW9uOworICAg
IGdsX1Bvc2l0aW9uID0gZi4kcmVwbGFjZU1lLiRyZXBsYWNlTWU7Cit9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyMCIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFz
Y3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2ZWM0ICRyZXBsYWNlTWUoKSB7Cisg
ICAgcmV0dXJuIHZlYzQoMCwxLDAsMSk7Cit9Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdD
b2xvciA9ICRyZXBsYWNlTWUoKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydGV4U2hh
ZGVyMSIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorYXR0cmlidXRlIHZl
YzQgJHJlcGxhY2VNZTsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSAkcmVwbGFj
ZU1lOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNoYWRlcjEiIHR5cGU9InRl
eHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
dmVjNCBmb28odmVjNCAkcmVwbGFjZU1lKSB7CisgIHJldHVybiAkcmVwbGFjZU1lOworfQordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSBmb28odmVjNCgxLDAsMSwxKSk7Cit9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlcjIiIHR5cGU9InRleHQvc29tZXRoaW5n
LW5vdC1qYXZhc2NyaXB0Ij4KK3ZhcnlpbmcgdmVjNCAkcmVwbGFjZU1lOworYXR0cmlidXRlIHZl
YzQgcG9zaXRpb247Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gcG9zaXRpb247
CisgICAgJHJlcGxhY2VNZSA9IHBvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJm
cmFnbWVudFNoYWRlcjIiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3By
ZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordmFyeWluZyB2ZWM0ICRyZXBsYWNlTWU7Cit2b2lkIG1h
aW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9ICRyZXBsYWNlTWU7Cit9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9InZlcnRleFNoYWRlcjMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2Ny
aXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0IHBvc2l0aW9uOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Q
b3NpdGlvbiA9IHBvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNo
YWRlcjMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0ICRyZXBsYWNlTWU7Cit2b2lkIG1haW4oKQorewor
ICAgIGdsX0ZyYWdDb2xvciA9ICRyZXBsYWNlTWU7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7Cit2YXIgRFhXb3JkcyA9IFsKKyAgIkJ1ZmZlciIsCisgICJkb3VibGUiLAor
ICAidWludCIsCisgICJoYWxmIiwKKyAgImR3b3JkIiwKKyAgInN0cmluZyIsCisgICJ0ZXh0dXJl
IiwKKyAgInBpeGVsc2hhZGVyIiwKKyAgInZlcnRleHNoYWRlciIsCisgICJzd2l0Y2giLAorICAi
bWluMTZmbG9hdCIsCisgICJtaW4xMGZsb2F0IiwKKyAgIm1pbjE2aW50IiwKKyAgIm1pbjEyaW50
IiwKKyAgIm1pbjE2dWludCIsCisgICJ2ZWN0b3IiLAorICAibWF0cml4IiwKKyAgImZsb2F0MiIs
CisgICJmbG9hdDMiLAorICAiZmxvYXQ0IiwKKyAgImZsb2F0MXgxIiwKKyAgImZsb2F0MXgyIiwK
KyAgImZsb2F0MXgzIiwKKyAgImZsb2F0MXg0IiwKKyAgImZsb2F0MngxIiwKKyAgImZsb2F0Mngy
IiwKKyAgImZsb2F0MngzIiwKKyAgImZsb2F0Mng0IiwKKyAgImZsb2F0M3gxIiwKKyAgImZsb2F0
M3gyIiwKKyAgImZsb2F0M3gzIiwKKyAgImZsb2F0M3g0IiwKKyAgImZsb2F0NHgxIiwKKyAgImZs
b2F0NHgyIiwKKyAgImZsb2F0NHgzIiwKKyAgImZsb2F0NHg0IiwKKyAgImludDF4MSIsCisgICJp
bnQxeDIiLAorICAiaW50MXgzIiwKKyAgImludDF4NCIsCisgICJpbnQyeDEiLAorICAiaW50Mngy
IiwKKyAgImludDJ4MyIsCisgICJpbnQyeDQiLAorICAiaW50M3gxIiwKKyAgImludDN4MiIsCisg
ICJpbnQzeDMiLAorICAiaW50M3g0IiwKKyAgImludDR4MSIsCisgICJpbnQ0eDIiLAorICAiaW50
NHgzIiwKKyAgImludDR4NCIsCisgICJkb3VibGUxeDEiLAorICAiZG91YmxlMXgyIiwKKyAgImRv
dWJsZTF4MyIsCisgICJkb3VibGUxeDQiLAorICAiZG91YmxlMngxIiwKKyAgImRvdWJsZTJ4MiIs
CisgICJkb3VibGUyeDMiLAorICAiZG91YmxlMng0IiwKKyAgImRvdWJsZTN4MSIsCisgICJkb3Vi
bGUzeDIiLAorICAiZG91YmxlM3gzIiwKKyAgImRvdWJsZTN4NCIsCisgICJkb3VibGU0eDEiLAor
ICAiZG91YmxlNHgyIiwKKyAgImRvdWJsZTR4MyIsCisgICJkb3VibGU0eDQiLAorICAiYWJvcnQi
LAorICAiYWJzIiwKKyAgImFjb3MiLAorICAiYWxsIiwKKyAgIkFsbE1lbW9yeUJhcnJpZXIiLAor
ICAiQWxsTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiLAorICAiYW55IiwKKyAgImFzZG91Ymxl
IiwKKyAgImFzZmxvYXQiLAorICAiYXNpbiIsCisgICJhc2ludCIsCisgICJhc2ludCIsCisgICJh
c3VpbnQiLAorICAiYXN1aW50IiwKKyAgImF0YW4iLAorICAiYXRhbjIiLAorICAiY2VpbCIsCisg
ICJjbGFtcCIsCisgICJjbGlwIiwKKyAgImNvcyIsCisgICJjb3NoIiwKKyAgImNvdW50Yml0cyIs
CisgICJjcm9zcyIsCisgICJEM0RDT0xPUnRvVUJZVEU0IiwKKyAgImRkeCIsCisgICJkZHhfY29h
cnNlIiwKKyAgImRkeF9maW5lIiwKKyAgImRkeSIsCisgICJkZHlfY29hcnNlIiwKKyAgImRkeV9m
aW5lIiwKKyAgImRlZ3JlZXMiLAorICAiZGV0ZXJtaW5hbnQiLAorICAiRGV2aWNlTWVtb3J5QmFy
cmllciIsCisgICJEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIsCisgICJkaXN0YW5j
ZSIsCisgICJkb3QiLAorICAiZHN0IiwKKyAgImVycm9yZiIsCisgICJFdmFsdWF0ZUF0dHJpYnV0
ZUF0Q2VudHJvaWQiLAorICAiRXZhbHVhdGVBdHRyaWJ1dGVBdFNhbXBsZSIsCisgICJFdmFsdWF0
ZUF0dHJpYnV0ZVNuYXBwZWQiLAorICAiZXhwIiwKKyAgImV4cDIiLAorICAiZjE2dG9mMzIiLAor
ICAiZjMydG9mMTYiLAorICAiZmFjZWZvcndhcmQiLAorICAiZmlyc3RiaXRoaWdoIiwKKyAgImZp
cnN0Yml0bG93IiwKKyAgImZsb29yIiwKKyAgImZtYSIsCisgICJmbW9kIiwKKyAgImZyYWMiLAor
ICAiZnJleHAiLAorICAiZndpZHRoIiwKKyAgIkdldFJlbmRlclRhcmdldFNhbXBsZUNvdW50IiwK
KyAgIkdldFJlbmRlclRhcmdldFNhbXBsZVBvc2l0aW9uIiwKKyAgIkdyb3VwTWVtb3J5QmFycmll
ciIsCisgICJHcm91cE1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIiwKKyAgIkludGVybG9ja2Vk
QWRkIiwKKyAgIkludGVybG9ja2VkQW5kIiwKKyAgIkludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdl
IiwKKyAgIkludGVybG9ja2VkQ29tcGFyZVN0b3JlIiwKKyAgIkludGVybG9ja2VkRXhjaGFuZ2Ui
LAorICAiSW50ZXJsb2NrZWRNYXgiLAorICAiSW50ZXJsb2NrZWRNaW4iLAorICAiSW50ZXJsb2Nr
ZWRPciIsCisgICJJbnRlcmxvY2tlZFhvciIsCisgICJpc2Zpbml0ZSIsCisgICJpc2luZiIsCisg
ICJpc25hbiIsCisgICJsZGV4cCIsCisgICJsZW5ndGgiLAorICAibGVycCIsCisgICJsaXQiLAor
ICAibG9nIiwKKyAgImxvZzEwIiwKKyAgImxvZzIiLAorICAibWFkIiwKKyAgIm1heCIsCisgICJt
aW4iLAorICAibW9kZiIsCisgICJtc2FkNCIsCisgICJtdWwiLAorICAibm9pc2UiLAorICAibm9y
bWFsaXplIiwKKyAgInBvdyIsCisgICJwcmludGYiLAorICAiUHJvY2VzczJEUXVhZFRlc3NGYWN0
b3JzQXZnIiwKKyAgIlByb2Nlc3MyRFF1YWRUZXNzRmFjdG9yc01heCIsCisgICJQcm9jZXNzMkRR
dWFkVGVzc0ZhY3RvcnNNaW4iLAorICAiUHJvY2Vzc0lzb2xpbmVUZXNzRmFjdG9ycyIsCisgICJQ
cm9jZXNzUXVhZFRlc3NGYWN0b3JzQXZnIiwKKyAgIlByb2Nlc3NRdWFkVGVzc0ZhY3RvcnNNYXgi
LAorICAiUHJvY2Vzc1F1YWRUZXNzRmFjdG9yc01pbiIsCisgICJQcm9jZXNzVHJpVGVzc0ZhY3Rv
cnNBdmciLAorICAiUHJvY2Vzc1RyaVRlc3NGYWN0b3JzTWF4IiwKKyAgIlByb2Nlc3NUcmlUZXNz
RmFjdG9yc01pbiIsCisgICJyYWRpYW5zIiwKKyAgInJjcCIsCisgICJyZWZsZWN0IiwKKyAgInJl
ZnJhY3QiLAorICAicmV2ZXJzZWJpdHMiLAorICAicm91bmQiLAorICAicnNxcnQiLAorICAic2F0
dXJhdGUiLAorICAic2lnbiIsCisgICJzaW4iLAorICAic2luY29zIiwKKyAgInNpbmgiLAorICAi
c21vb3Roc3RlcCIsCisgICJzcXJ0IiwKKyAgInN0ZXAiLAorICAidGFuIiwKKyAgInRhbmgiLAor
ICAidGV4MUQiLAorICAidGV4MUQiLAorICAidGV4MURiaWFzIiwKKyAgInRleDFEZ3JhZCIsCisg
ICJ0ZXgxRGxvZCIsCisgICJ0ZXgxRHByb2oiLAorICAidGV4MkQiLAorICAidGV4MkQiLAorICAi
dGV4MkRiaWFzIiwKKyAgInRleDJEZ3JhZCIsCisgICJ0ZXgyRGxvZCIsCisgICJ0ZXgyRHByb2oi
LAorICAidGV4M0QiLAorICAidGV4M0QiLAorICAidGV4M0RiaWFzIiwKKyAgInRleDNEZ3JhZCIs
CisgICJ0ZXgzRGxvZCIsCisgICJ0ZXgzRHByb2oiLAorICAidGV4Q1VCRSIsCisgICJ0ZXhDVUJF
IiwKKyAgInRleENVQkViaWFzIiwKKyAgInRleENVQkVncmFkIiwKKyAgInRleENVQkVsb2QiLAor
ICAidGV4Q1VCRXByb2oiLAorICAidHJhbnNwb3NlIiwKKyAgInRydW5jIgorXTsKKwordmFyIEdM
U0xfNF8yMF8xMV93b3JkcyA9IFsKKyAgImF0dHJpYnV0ZSIsCisgICJjb25zdCIsCisgICJ1bmlm
b3JtIiwKKyAgInZhcnlpbmciLAorICAiY29oZXJlbnQiLAorICAidm9sYXRpbGUiLAorICAicmVz
dHJpY3QiLAorICAicmVhZG9ubHkiLAorICAid3JpdGVvbmx5IiwKKyAgImF0b21pY191aW50IiwK
KyAgImxheW91dCIsCisgICJjZW50cm9pZCIsCisgICJmbGF0IiwKKyAgInNtb290aCIsCisgICJu
b3BlcnNwZWN0aXZlIiwKKyAgInBhdGNoIiwKKyAgInNhbXBsZSIsCisgICJicmVhayIsCisgICJj
b250aW51ZSIsCisgICJkbyIsCisgICJmb3IiLAorICAid2hpbGUiLAorICAic3dpdGNoIiwKKyAg
ImNhc2UiLAorICAiZGVmYXVsdCIsCisgICJpZiIsCisgICJlbHNlIiwKKyAgInN1YnJvdXRpbmUi
LAorICAiaW4iLAorICAib3V0IiwKKyAgImlub3V0IiwKKyAgImZsb2F0IiwKKyAgImRvdWJsZSIs
CisgICJpbnQiLAorICAidm9pZCIsCisgICJib29sIiwKKyAgInRydWUiLAorICAiZmFsc2UiLAor
ICAiaW52YXJpYW50IiwKKyAgImRpc2NhcmQiLAorICAicmV0dXJuIiwKKyAgIm1hdDIiLAorICAi
bWF0MyIsCisgICJtYXQ0IiwKKyAgImRtYXQyIiwKKyAgImRtYXQzIiwKKyAgImRtYXQ0IiwKKyAg
Im1hdDJ4MiIsCisgICJtYXQyeDMiLAorICAibWF0Mng0IiwKKyAgImRtYXQyeDIiLAorICAiZG1h
dDJ4MyIsCisgICJkbWF0Mng0IiwKKyAgIm1hdDN4MiIsCisgICJtYXQzeDMiLAorICAibWF0M3g0
IiwKKyAgImRtYXQzeDIiLAorICAiZG1hdDN4MyIsCisgICJkbWF0M3g0IiwKKyAgIm1hdDR4MiIs
CisgICJtYXQ0eDMiLAorICAibWF0NHg0IiwKKyAgImRtYXQ0eDIiLAorICAiZG1hdDR4MyIsCisg
ICJkbWF0NHg0IiwKKyAgInZlYzIiLAorICAidmVjMyIsCisgICJ2ZWM0IiwKKyAgIml2ZWMyIiwK
KyAgIml2ZWMzIiwKKyAgIml2ZWM0IiwKKyAgImJ2ZWMyIiwKKyAgImJ2ZWMzIiwKKyAgImJ2ZWM0
IiwKKyAgImR2ZWMyIiwKKyAgImR2ZWMzIiwKKyAgImR2ZWM0IiwKKyAgInVpbnQiLAorICAidXZl
YzIiLAorICAidXZlYzMiLAorICAidXZlYzQiLAorICAibG93cCIsCisgICJtZWRpdW1wIiwKKyAg
ImhpZ2hwIiwKKyAgInByZWNpc2lvbiIsCisgICJzYW1wbGVyMUQiLAorICAic2FtcGxlcjJEIiwK
KyAgInNhbXBsZXIzRCIsCisgICJzYW1wbGVyQ3ViZSIsCisgICJzYW1wbGVyMURTaGFkb3ciLAor
ICAic2FtcGxlcjJEU2hhZG93IiwKKyAgInNhbXBsZXJDdWJlU2hhZG93IiwKKyAgInNhbXBsZXIx
REFycmF5IiwKKyAgInNhbXBsZXIyREFycmF5IiwKKyAgInNhbXBsZXIxREFycmF5U2hhZG93IiwK
KyAgInNhbXBsZXIyREFycmF5U2hhZG93IiwKKyAgImlzYW1wbGVyMUQiLAorICAiaXNhbXBsZXIy
RCIsCisgICJpc2FtcGxlcjNEIiwKKyAgImlzYW1wbGVyQ3ViZSIsCisgICJpc2FtcGxlcjFEQXJy
YXkiLAorICAiaXNhbXBsZXIyREFycmF5IiwKKyAgInVzYW1wbGVyMUQiLAorICAidXNhbXBsZXIy
RCIsCisgICJ1c2FtcGxlcjNEIiwKKyAgInVzYW1wbGVyQ3ViZSIsCisgICJ1c2FtcGxlcjFEQXJy
YXkiLAorICAidXNhbXBsZXIyREFycmF5IiwKKyAgInNhbXBsZXIyRFJlY3QiLAorICAic2FtcGxl
cjJEUmVjdFNoYWRvdyIsCisgICJpc2FtcGxlcjJEUmVjdCIsCisgICJ1c2FtcGxlcjJEUmVjdCIs
CisgICJzYW1wbGVyQnVmZmVyIiwKKyAgImlzYW1wbGVyQnVmZmVyIiwKKyAgInVzYW1wbGVyQnVm
ZmVyIiwKKyAgInNhbXBsZXIyRE1TIiwKKyAgImlzYW1wbGVyMkRNUyIsCisgICJ1c2FtcGxlcjJE
TVMiLAorICAic2FtcGxlcjJETVNBcnJheSIsCisgICJpc2FtcGxlcjJETVNBcnJheSIsCisgICJ1
c2FtcGxlcjJETVNBcnJheSIsCisgICJzYW1wbGVyQ3ViZUFycmF5IiwKKyAgInNhbXBsZXJDdWJl
QXJyYXlTaGFkb3ciLAorICAiaXNhbXBsZXJDdWJlQXJyYXkiLAorICAidXNhbXBsZXJDdWJlQXJy
YXkiLAorICAiaW1hZ2UxRCIsCisgICJpaW1hZ2UxRCIsCisgICJ1aW1hZ2UxRCIsCisgICJpbWFn
ZTJEIiwKKyAgImlpbWFnZTJEIiwKKyAgInVpbWFnZTJEIiwKKyAgImltYWdlM0QiLAorICAiaWlt
YWdlM0QiLAorICAidWltYWdlM0QiLAorICAiaW1hZ2UyRFJlY3QiLAorICAiaWltYWdlMkRSZWN0
IiwKKyAgInVpbWFnZTJEUmVjdCIsCisgICJpbWFnZUN1YmUiLAorICAiaWltYWdlQ3ViZSIsCisg
ICJ1aW1hZ2VDdWJlIiwKKyAgImltYWdlQnVmZmVyIiwKKyAgImlpbWFnZUJ1ZmZlciIsCisgICJ1
aW1hZ2VCdWZmZXIiLAorICAiaW1hZ2UxREFycmF5IiwKKyAgImlpbWFnZTFEQXJyYXkiLAorICAi
dWltYWdlMURBcnJheSIsCisgICJpbWFnZTJEQXJyYXkiLAorICAiaWltYWdlMkRBcnJheSIsCisg
ICJ1aW1hZ2UyREFycmF5IiwKKyAgImltYWdlQ3ViZUFycmF5IiwKKyAgImlpbWFnZUN1YmVBcnJh
eSIsCisgICJ1aW1hZ2VDdWJlQXJyYXkiLAorICAiaW1hZ2UyRE1TIiwKKyAgImlpbWFnZTJETVMi
LAorICAidWltYWdlMkRNUyIsCisgICJpbWFnZTJETVNBcnJheSIsCisgICJpaW1hZ2UyRE1TQXJy
YXkiLAorICAidWltYWdlMkRNU0FycmF5IiwKKyAgInN0cnVjdCIKK107CisKK3ZhciBHTFNMXzRf
MjBfMTFfZnV0dXJlX3dvcmRzID0gWworICAiY29tbW9uIiwKKyAgInBhcnRpdGlvbiIsCisgICJh
Y3RpdmUiLAorICAiYXNtIiwKKyAgImNsYXNzIiwKKyAgInVuaW9uIiwKKyAgImVudW0iLAorICAi
dHlwZWRlZiIsCisgICJ0ZW1wbGF0ZSIsCisgICJ0aGlzIiwKKyAgInBhY2tlZCIsCisgICJyZXNv
dXJjZSIsCisgICJnb3RvIiwKKyAgImlubGluZSIsCisgICJub2lubGluZSIsCisgICJwdWJsaWMi
LAorICAic3RhdGljIiwKKyAgImV4dGVybiIsCisgICJleHRlcm5hbCIsCisgICJpbnRlcmZhY2Ui
LAorICAibG9uZyIsCisgICJzaG9ydCIsCisgICJoYWxmIiwKKyAgImZpeGVkIiwKKyAgInVuc2ln
bmVkIiwKKyAgInN1cGVycCIsCisgICJpbnB1dCIsCisgICJvdXRwdXQiLAorICAiaHZlYzIiLAor
ICAiaHZlYzMiLAorICAiaHZlYzQiLAorICAiZnZlYzIiLAorICAiZnZlYzMiLAorICAiZnZlYzQi
LAorICAic2FtcGxlcjNEUmVjdCIsCisgICJmaWx0ZXIiLAorICAic2l6ZW9mIiwKKyAgImNhc3Qi
LAorICAibmFtZXNwYWNlIiwKKyAgInVzaW5nIiwKKyAgInJvd19tYWpvciIKK107CisKK3ZhciBH
TFNMXzFfMF8xN193b3JkcyA9IFsKKyAgImF0dHJpYnV0ZSIsCisgICJjb25zdCIsCisgICJ1bmlm
b3JtIiwKKyAgInZhcnlpbmciLAorICAiYnJlYWsiLAorICAiY29udGludWUiLAorICAiZG8iLAor
ICAiZm9yIiwKKyAgIndoaWxlIiwKKyAgImlmIiwKKyAgImVsc2UiLAorICAiaW4iLAorICAib3V0
IiwKKyAgImlub3V0IiwKKyAgImZsb2F0IiwKKyAgImludCIsCisgICJ2b2lkIiwKKyAgImJvb2wi
LAorICAidHJ1ZSIsCisgICJmYWxzZSIsCisgICJsb3dwIiwKKyAgIm1lZGl1bXAiLAorICAiaGln
aHAiLAorICAicHJlY2lzaW9uIiwKKyAgImludmFyaWFudCIsCisgICJkaXNjYXJkIiwKKyAgInJl
dHVybiIsCisgICJtYXQyIiwKKyAgIm1hdDMiLAorICAibWF0NCIsCisgICJ2ZWMyIiwKKyAgInZl
YzMiLAorICAidmVjNCIsCisgICJpdmVjMiIsCisgICJpdmVjMyIsCisgICJpdmVjNCIsCisgICJi
dmVjMiIsCisgICJidmVjMyIsCisgICJidmVjNCIsCisgICJzYW1wbGVyMkQiLAorICAic2FtcGxl
ckN1YmUiLAorICAic3RydWN0IgorXQorCit2YXIgR0xTTF8xXzBfMTdfRnV0dXJlV29yZHMgPSBb
CisgICJhc20iLAorICAiY2xhc3MiLAorICAidW5pb24iLAorICAiZW51bSIsCisgICJ0eXBlZGVm
IiwKKyAgInRlbXBsYXRlIiwKKyAgInRoaXMiLAorICAicGFja2VkIiwKKyAgImdvdG8iLAorICAi
c3dpdGNoIiwKKyAgImRlZmF1bHQiLAorICAiaW5saW5lIiwKKyAgIm5vaW5saW5lIiwKKyAgInZv
bGF0aWxlIiwKKyAgInB1YmxpYyIsCisgICJzdGF0aWMiLAorICAiZXh0ZXJuIiwKKyAgImV4dGVy
bmFsIiwKKyAgImludGVyZmFjZSIsCisgICJmbGF0IiwKKyAgImxvbmciLAorICAic2hvcnQiLAor
ICAiZG91YmxlIiwKKyAgImhhbGYiLAorICAiZml4ZWQiLAorICAidW5zaWduZWQiLAorICAic3Vw
ZXJwIiwKKyAgImlucHV0IiwKKyAgIm91dHB1dCIsCisgICJodmVjMiIsCisgICJodmVjMyIsCisg
ICJodmVjNCIsCisgICJkdmVjMiIsCisgICJkdmVjMyIsCisgICJkdmVjNCIsCisgICJmdmVjMiIs
CisgICJmdmVjMyIsCisgICJmdmVjNCIsCisgICJzYW1wbGVyMUQiLAorICAic2FtcGxlcjNEIiwK
KyAgInNhbXBsZXIxRFNoYWRvdyIsCisgICJzYW1wbGVyMkRTaGFkb3ciLAorICAic2FtcGxlcjJE
UmVjdCIsCisgICJzYW1wbGVyM0RSZWN0IiwKKyAgInNhbXBsZXIyRFJlY3RTaGFkb3ciLAorICAi
c2l6ZW9mIiwKKyAgImNhc3QiLAorICAibmFtZXNwYWNlIiwKKyAgInVzaW5nIgorXTsKKworZGVz
Y3JpcHRpb24oKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dCgpOwordmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29s
ZSIpOworCit2YXIgYmFkV29yZHMgPSBbCisgIHsgd29yZHM6IERYV29yZHMgfSwKKyAgeyB3b3Jk
czogR0xTTF80XzIwXzExX3dvcmRzLCB9LAorICB7IHdvcmRzOiBHTFNMXzRfMjBfMTFfZnV0dXJl
X3dvcmRzLCB9CitdOworCit2YXIgcmVzZXJ2ZWRXb3Jkc0xpc3RzID0gWworICBHTFNMXzFfMF8x
N193b3JkcywKKyAgR0xTTF8xXzBfMTdfRnV0dXJlV29yZHMKK107CisKK3ZhciByZXNlcnZlZFdv
cmRzID0geyB9OworZm9yICh2YXIgaWkgPSAwOyBpaSA8IHJlc2VydmVkV29yZHNMaXN0cy5sZW5n
dGg7ICsraWkpIHsKKyAgdmFyIGxpc3QgPSByZXNlcnZlZFdvcmRzTGlzdHNbaWldOworICBmb3Ig
KHZhciBqaiA9IDA7IGpqIDwgbGlzdC5sZW5ndGg7ICsramopIHsKKyAgICByZXNlcnZlZFdvcmRz
W2xpc3RbampdXSA9IHRydWU7CisgIH0KK30KKwordmFyIGNoZWNrZWRXb3JkcyA9IHt9OworCit2
YXIgc3JjID0gW107Citmb3IgKHZhciBpaSA9IDA7IGlpIDwgNDsgKytpaSkgeworICB2YXIgdnNy
YyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2ZXJ0ZXhTaGFkZXIiICsgaWkpLnRleHQ7Cisg
IHZhciBmc3JjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYWdtZW50U2hhZGVyIiArIGlp
KS50ZXh0OworICBzcmMucHVzaCh7dnNyYzogdnNyYywgZnNyYzogZnNyY30pOworfQorCit2YXIg
YmFkV29yZE5keCA9IDA7Cit2YXIgbGlzdE5keCA9IDA7CisKK2Z1bmN0aW9uIHRlc3ROZXh0V29y
ZCgpIHsKKyAgdmFyIGxpc3QgPSBiYWRXb3Jkc1tiYWRXb3JkTmR4XS53b3JkczsKKyAgaWYgKGxp
c3ROZHggPj0gbGlzdC5sZW5ndGgpIHsKKyAgICArK2JhZFdvcmROZHg7CisgICAgaWYgKGJhZFdv
cmROZHggPj0gYmFkV29yZHMubGVuZ3RoKSB7CisgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICBy
ZXR1cm47CisgICAgfQorICAgIGxpc3ROZHggPSAwOworICAgIGxpc3QgPSBiYWRXb3Jkc1tiYWRX
b3JkTmR4XS53b3JkczsKKyAgfQorICB0ZXN0V29yZChsaXN0W2xpc3ROZHhdKTsKKyAgKytsaXN0
TmR4OworICBzZXRUaW1lb3V0KHRlc3ROZXh0V29yZCwxKTsKK30KK3Rlc3ROZXh0V29yZCgpOwor
CitmdW5jdGlvbiB0ZXN0V29yZCh3b3JkKSB7CisgIGlmICh3b3JkIGluIHJlc2VydmVkV29yZHMg
fHwgd29yZCBpbiBjaGVja2VkV29yZHMpIHsKKyAgICByZXR1cm47CisgIH0KKyAgY2hlY2tlZFdv
cmRzW3dvcmRdID0gdHJ1ZTsKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZzogIiArIHdv
cmQpOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzcmMubGVuZ3RoOyArK2lpKSB7CisgICAg
dmFyIHZzID0gc3JjW2lpXS52c3JjLnJlcGxhY2UoL1wkcmVwbGFjZU1lL2csIHdvcmQpOworICAg
IHZhciBmcyA9IHNyY1tpaV0uZnNyYy5yZXBsYWNlKC9cJHJlcGxhY2VNZS9nLCB3b3JkKTsKKwor
ICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywgInZlcnRleCBzaGFkZXIiLCB2cyk7CisgICAgd3R1
LmFkZFNoYWRlclNvdXJjZShjLCAiZnJhZ21lbnQgc2hhZGVyIiwgZnMpOworCisgICAgdmFyIHN1
Y2Nlc3MgPSB0cnVlOworICAgIHZhciBwcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtKGdsLCB2cywg
ZnMsIGZ1bmN0aW9uKG1zZykgeworICAgICAgZGVidWcobXNnKTsKKyAgICAgIHN1Y2Nlc3MgPSBm
YWxzZTsKKyAgICB9KTsKKyAgICBpZiAoc3VjY2VzcykgeworICAgICAgdGVzdFBhc3NlZCgic2hh
ZGVyIHdpdGg6ICciICsgd29yZCArICInIGNvbXBpbGVkIik7CisgICAgfSBlbHNlIHsKKyAgICAg
IHRlc3RGYWlsZWQoInNoYWRlciB3aXRoOiAnIiArIHdvcmQgKyAiJyBmYWlsZWQgdG8gY29tcGls
ZSIpOworICAgIH0KKyAgICBpZiAocHJvZ3JhbSkgeworICAgICAgZ2wuZGVsZXRlUHJvZ3JhbShw
cm9ncmFtKTsKKyAgICB9CisgICAgd3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Is
ICJzaG91bGQgYmUgbm8gR0wgZXJyb3JzIik7CisgIH0KK30KKworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmM3NTQ4ZjM2YzkyYjBmNzY0MjVlNTRjMjZlN2ZiOWJjYmI4MmQ3MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9w
ZXJhdG9ycy5odG1sCkBAIC0wLDAgKzEsMTkxIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgIDx0aXRsZT5XZWJHTCBzaG9ydC1jaXJjdWl0IGV2
YWx1YXRpb248L3RpdGxlPgorICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2
YXNjcmlwdCI+PC9zY3JpcHQ+CisgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAg
PGJvZHk+CisgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9
IjIiPiA8L2NhbnZhcz4KKworICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorICBXZWJHTCBTaGFkZXJzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tPgorICAgIDwhLS0gUGFzcyB0aHJvdWdoIFNoYWRlcnMgLS0+CisgICAgPHNjcmlwdCBp
ZD0idnNoYWRlcjAiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICAgIC8qIFBBU1MtVEhS
T1VHSCBWRVJURVggU0hBREVSICovCisgICAgICBhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisK
KyAgICAgIHZvaWQgbWFpbigpCisgICAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0
aW9uOworICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPHNjcmlwdCBpZD0iZnNoYWRlcjAi
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgICAgLyogUEFTUy1USFJPVUdIIEZSQUdN
RU5UIFNIQURFUiAqLworICAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgICB2YXJ5
aW5nIHZlYzQgdlBhc3NUaHJvdWdoOworCisgICAgICB2b2lkIG1haW4oKQorICAgICAgeworICAg
ICAgICBnbF9GcmFnQ29sb3IgPSB2UGFzc1Rocm91Z2g7CisgICAgICB9CisgICAgPC9zY3JpcHQ+
CisKKyAgICA8IS0tIGJhc2ljIGNvbmRpdG9uYWwgc2hvcnQgY2lyY3VpdCBTaGFkZXJzIC0tPgor
ICAgIDxzY3JpcHQgaWQ9InZzaGFkZXIxIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAg
ICBhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CisgICAgICB2YXJ5aW5nIHZlYzQgdlBhc3NUaHJv
dWdoOworCisgICAgICB2b2lkIG1haW4oKQorICAgICAgeworICAgICAgICBpbnQgeCA9IDE7Cisg
ICAgICAgICQodmFyaWFibGVzKQorICAgICAgCisgICAgICAgIGlmICgkKGNvbmRpdGlvbikpCisg
ICAgICAgIHsgLypkbyBub3RoaW5nKi8gfQorCisgICAgICAgIC8qIGlmIHggd2FzIHVubW9kaWZp
ZWQgcmV0dXJuIGdyZWVuLCBlbHNlIHJldHVybiByZWQgKi8KKyAgICAgICAgdlBhc3NUaHJvdWdo
ID0gKHggPT0gMSkgPyB2ZWM0KDAsIDEsIDAsIDEpIDogdmVjNCgxLCAwLCAwLCAxKTsKKyAgICAg
ICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAg
ICA8c2NyaXB0IGlkPSJmc2hhZGVyMSIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAg
ICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworICAgICAgdm9pZCBtYWluKCkKKyAgICAgIHsK
KyAgICAgICAgaW50IHggPSAxOworICAgICAgICAkKHZhcmlhYmxlcykKKyAgICAgICAgCisgICAg
ICAgIGlmICgkKGNvbmRpdGlvbikpCisgICAgICAgIHsgLypkbyBub3RoaW5nKi8gfQorCisgICAg
ICAgIGdsX0ZyYWdDb2xvciA9ICh4ID09IDEpID8gdmVjNCgwLCAxLCAwLCAxKSA6IHZlYzQoMSwg
MCwgMCwgMSk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8IS0tIE1haW4gYm9keSBv
ZiB0aGUgV2ViZ2wgcHJvZ3JhbSAtLT4KKyAgICA8c2NyaXB0PgorICAgICJ1c2Ugc3RyaWN0IjsK
KyAgICAgIGRlc2NyaXB0aW9uKCk7CisKKyAgICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsK
KyAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKKyAgICAgIHZhciBjID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKworICAgICAgd3R1LnNldHVwVW5pdFF1
YWQoZ2wsIFswLCAxXSk7CisKKyAgICAgIHZhciBzaGFkZXJUZW1wbGF0ZXMgPSBbCisgICAgICB7
IHZzOiAidnNoYWRlcjEiLCBmczogImZzaGFkZXIwIiB9LCAvLyBiYXNpYyB2ZXJ0ZXggc2hvcnQt
Y2lyY3VpdCB0ZXN0CisgICAgICB7IHZzOiAidnNoYWRlcjAiLCBmczogImZzaGFkZXIxIiB9LCAv
LyBiYXNpYyBmcmFnbWVudCBzaG9ydC1jaXJjdWl0IHRlc3QKKyAgICAgIF07CisKKyAgICAgIC8q
IHJlcGxhY2UgdGhlIG5hbWVzIG9mIHRoZSBzaGFkZXJzIGluIHRoZSB0ZW1wYXRlIHZhcmlhYmxl
cyB3aXRoCisgICAgICAqIHRoZSBzaGFkZXJzIHRoZW1zZWx2ZXMgKi8KKyAgICAgIGZvciAodmFy
IGlpID0gMDsgaWkgPCBzaGFkZXJUZW1wbGF0ZXMubGVuZ3RoOyArK2lpKSB7CisgICAgICAgIHZh
ciB0ZW1wbGF0ZSA9IHNoYWRlclRlbXBsYXRlc1tpaV07CisgICAgICAgIHRlbXBsYXRlLnZzID0g
d3R1LmdldFNjcmlwdCh0ZW1wbGF0ZS52cyk7CisgICAgICAgIHRlbXBsYXRlLmZzID0gd3R1Lmdl
dFNjcmlwdCh0ZW1wbGF0ZS5mcyk7CisgICAgICB9CisKKyAgICAgIC8qIGRlZmluZSB0aGUgY29u
ZGl0b24gdGhhdCB3aWxsIGJlIHVzZWQgaW4gdGhlIHNoYWRlcnMuIElmIGFkZGl0aW9uYWwKKyAg
ICAgICAqIHZhcmlhYmxlcyBhcmUgbmVlZGVkIHRoYXQgYXJlIG5vdCBwcmVzZW50IGkgdGhlIHNo
YWRlciB0aGV5IG15IGJlCisgICAgICAgKiBkZWZpbmVkIGluIHRoZSB2YXJpYWJsZXMgdmFyaWFi
bGUgKi8KKyAgICAgIHZhciB0ZXN0cyA9IFsKKyAgICAgICAgeyBjb25kaXRpb246ICJ0cnVlIHx8
ICh4ID0gMCkgPT0gMSIsIHZhcmlhYmxlczogIiIgfSwgLyogdGVzdCBiYXNpYyAnb3InIHNob3J0
IGNpcmN1aXQgKi8KKyAgICAgICAgeyBjb25kaXRpb246ICJmYWxzZSAmJiAoeCA9IDApID09IDEi
LCB2YXJpYWJsZXM6ICIiIH0sIC8qIHRlc3QgYmFzaWMgJ2FuZCcgc2hvcnQgY2lyY3VpdCAqLwor
ICAgICAgICB7IGNvbmRpdGlvbjogIihqID09IDMgJiYgaiA9PSBrKSB8fCAoaiA+ICh4ID0gMCkp
IiwgdmFyaWFibGVzOiAiaW50IGogPSAzO1xuaW50IGsgPSAzOyIgfSwgLyogdGVzdCBiYXNpYyAn
b3InIHNob3J0IGNpcmN1aXQgd2l0aCBhY3R1YWwgY29uZGl0aW9uICovCisgICAgICAgIHsgY29u
ZGl0aW9uOiAiKGogPT0gMyAmJiBqID09IGspICYmIChqID4gKHggPSAwKSkiLCB2YXJpYWJsZXM6
ICJpbnQgaiA9IDM7XG5pbnQgayA9IDQ7IiB9LCAvKiB0ZXN0IGJhc2ljICdhbmQnIHNob3J0IGNp
cmN1aXQgd2l0aCBhY3R1YWwgY29uZGl0aW9uICovCisgICAgICAgIHsgY29uZGl0aW9uOiAiKGog
KyAzID4gayAmJiAoKGogPCAxMCkgfHwgKHggKyA1ID4gaiArICh4ID0gMCkpKSB8fCAoIHggPSAw
ICkgPT0gNykiLCB2YXJpYWJsZXM6ICJpbnQgaiA9IDU7XG5pbnQgayA9IDM7IiB9LCAvKiBjb21w
bGV4IHRlc3QgKi8KKyAgICAgICAgeyBjb25kaXRpb246ICJqICsgMSA9PSA2ID8geCA9PSAxIHx8
IGogPiAoeCA9IDApIDogKHggPSAwKSA9PSAxICYmICh4ID0gMCkgPD0gMSIsIHZhcmlhYmxlczog
ImludCBqID0gNTsiIH0sIC8qIG5lc3RlZCB3aXRoIHRlcm5hcnkgb3BlcmF0b3IgKi8KKyAgICAg
IF07CisKKyAgICAgIGZ1bmN0aW9uIHRlc3RTaG9ydENpcmN1aXQodGVzdCkgeworICAgICAgICBk
ZWJ1ZygiIik7CisgICAgICAgIGRlYnVnKCJ0ZXN0aW5nIHNob3J0IGNpcmN1aXQgY29uZGl0aW9u
OiAiICsgdGVzdC5jb25kaXRpb24pOworCisgICAgICAgIC8qIFNldHRpbmcgY2xlYXIgY29sb3Ig
dG8gYmx1ZSAqLworICAgICAgICBnbC5jbGVhckNvbG9yKDAuMCwgMC4wLCAxLjAsIDEuMCk7CisK
KyAgICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHNoYWRlclRlbXBsYXRlcy5sZW5ndGg7ICsr
aWkpIHsKKworICAgICAgICAgIC8qIGNsZWFyIHRoZSBzY3JlZW4gc28gdGhhdCBzdWJzZXF1ZW50
IHRlc3RzIGRvbid0IGNvbmZsaWN0ICovCisgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVG
RkVSX0JJVCk7CisgICAgICAgICAgdmFyIHRlbXBsYXRlID0gc2hhZGVyVGVtcGxhdGVzW2lpXTsK
KworICAgICAgICAgIHZhciB2cyA9IHd0dS5yZXBsYWNlUGFyYW1zKHRlbXBsYXRlLnZzLCB0ZXN0
KTsKKyAgICAgICAgICB2YXIgZnMgPSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZS5mcywgdGVz
dCk7CisKKyAgICAgICAgICB3dHUuYWRkU2hhZGVyU291cmNlKGMsICJ2ZXJ0ZXggc2hhZGVyIiwg
dnMpOworICAgICAgICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywgImZyYWdtZW50IHNoYWRlciIs
IGZzKTsKKworICAgICAgICAgIHZhciB2cyA9IHd0dS5sb2FkU2hhZGVyKGdsLCB2cywgZ2wuVkVS
VEVYX1NIQURFUik7CisgICAgICAgICAgdmFyIGZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIGZzLCBn
bC5GUkFHTUVOVF9TSEFERVIpOworICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LmNyZWF0ZVBy
b2dyYW0oZ2wsIHZzLCBmcyk7CisKKyAgICAgICAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOwor
CisgICAgICAgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICAgICAgICB3dHUuY2hlY2tDYW52YXMo
Z2wsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iLCAwKTsKKworICAgICAgICAg
IGdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSk7CisgICAgICAgICAgZ2wuZGVsZXRlU2hhZGVyKHZz
KTsKKyAgICAgICAgICBnbC5kZWxldGVTaGFkZXIoZnMpOworCisgICAgICAgICAgd3R1LmdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gR0wgZXJyb3JzIik7Cisg
ICAgICAgIH0KKyAgICAgIH0KKworICAgICAgdmFyIHRlc3ROZHggPSAwOworICAgICAgZnVuY3Rp
b24gcnVuTmV4dFRlc3QoKSB7CisgICAgICAgICAgdGVzdFNob3J0Q2lyY3VpdCh0ZXN0c1t0ZXN0
TmR4KytdKTsKKyAgICAgICAgICBpZiAodGVzdE5keCA+PSB0ZXN0cy5sZW5ndGgpIHsKKyAgICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
IHNldFRpbWVvdXQocnVuTmV4dFRlc3QsIDEpOworICAgICAgICAgIH0KKyAgICAgIH0KKworICAg
ICAgcnVuTmV4dFRlc3QoKTsKKworICAgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CisKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjJkZTBkNDU2OGZjYTY3MDIwNWZmZWUyYTRkZTE4NDU2YmQyOTU0OGYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVz
Lmh0bWwKQEAgLTAsMCArMSwxMzEgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPkdMU0wgc2ltaWxhciBuYW1lcyBpc3N1ZTwvdGl0bGU+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1m
ZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJ2c2hhZGVyIiwgdHlwZT0i
eC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3ZvaWQgbWFp
bih2b2lkKSB7CisgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJmc2hhZGVyMSIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordW5p
Zm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwor
dm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb25bMF0g
KyB1X25hbWVDb2xsaXNpb24yWzBdICsgdV9uYW1lWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJmc2hhZGVyMiIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uMlsyXTsKK3VuaWZvcm0g
dmVjNCB1X25hbWVDb2xsaXNpb25bMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwordm9pZCBt
YWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb24yWzBdICsgdV9u
YW1lQ29sbGlzaW9uWzBdICsgdV9uYW1lWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJm
c2hhZGVyMyIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordW5pZm9ybSB2ZWM0IHVf
bmFtZVsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb24yWzJdOwordm9pZCBtYWluKHZv
aWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb25bMF0gKyB1X25hbWVbMF0g
KyB1X25hbWVDb2xsaXNpb24yWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVy
NCIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7
Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uMlsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVb
Ml07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordm9pZCBtYWluKHZvaWQpIHsK
KyAgICBnbF9GcmFnQ29sb3IgPSB1X25hbWVDb2xsaXNpb24yWzBdICsgdV9uYW1lWzBdICsgdV9u
YW1lQ29sbGlzaW9uWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyNSIsIHR5
cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlm
b3JtIHZlYzQgdV9uYW1lWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvblsyXTsKK3Vu
aWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb24yWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBn
bF9GcmFnQ29sb3IgPSB1X25hbWVbMF0gKyB1X25hbWVDb2xsaXNpb25bMF0gKyB1X25hbWVDb2xs
aXNpb24yWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyNiIsIHR5cGU9Ingt
c2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZl
YzQgdV9uYW1lWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit1bmlmb3Jt
IHZlYzQgdV9uYW1lQ29sbGlzaW9uWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFn
Q29sb3IgPSB1X25hbWVbMF0gKyB1X25hbWVDb2xsaXNpb24yWzBdICsgdV9uYW1lQ29sbGlzaW9u
WzBdOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNhbnZhcyIg
d2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
K2Rlc2NyaXB0aW9uKCk7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0
dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOword3R1LnNldHVwVW5pdFF1YWQoZ2wpOworCitm
b3IgKHZhciBpaSA9IDA7IGlpIDwgNjsgKytpaSkgeworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1
cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIiArIChpaSArIDEpXSwgWyJhX3Bvc2l0
aW9uIl0pOworICB2YXIgbG9jMSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9u
YW1lWzBdIik7CisgIHZhciBsb2MyID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1
X25hbWVDb2xsaXNpb25bMF0iKTsKKyAgdmFyIGxvYzMgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24o
cHJvZ3JhbSwgInVfbmFtZUNvbGxpc2lvbjJbMF0iKTsKKyAgZ2wudW5pZm9ybTRmdihsb2MxLCBb
MSwgMCwgMCwgMF0pOworICBnbC51bmlmb3JtNGZ2KGxvYzIsIFswLCAxLCAwLCAwXSk7CisgIGds
LnVuaWZvcm00ZnYobG9jMywgWzAsIDAsIDAsIDFdKTsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAg
d3R1LmNoZWNrQ2FudmFzKGdsLCBbMjU1LCAyNTUsIDAsIDI1NV0sICJTaG91bGQgYmUgeWVsbG93
Iik7Cit9CisKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBzaG91bGQg
YmUgbm8gZXJyb3JzIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJz
LXdpdGgtdmFyeWluZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41MjFiZGMwN2M3MjMwYjdlOTM2ZWU1MTFjMGJjYzBmYmU5Zjg5YTg1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sCkBA
IC0wLDAgKzEsMTE2IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBHTFNMIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1
cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wt
Y29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBp
ZD0idmVydGV4U2hhZGVyTm9WYXJ5aW5nIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNj
cmlwdCI+Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgwLDAsMCwwKTsK
K30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydGV4U2hhZGVyVW51c2VkVmFyeWluZyIgdHlw
ZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgordmFyeWluZyB2ZWM0IHZfdmFyeWlu
ZzsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7Cit9
Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyVW51c2VkVmFyeWluZyIgdHlw
ZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxv
YXQ7CisKK3ZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xf
RnJhZ0NvbG9yID0gdmVjNCgwLDAsMCwwKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJh
Z21lbnRTaGFkZXJVc2VkVmFyeWluZyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3Jp
cHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3ZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7
CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdl92YXJ5aW5nOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0PgorLy8gR0xTTCAxLjAuMTcgNC4zLjUKKyJ1c2Ugc3RyaWN0IjsKK0dM
U0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0cyhbCisgIHsKKyAgICB2U2hhZGVySWQ6ICJ2ZXJ0
ZXhTaGFkZXJOb1ZhcnlpbmciLAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFk
ZXJJZDogImZyYWdtZW50U2hhZGVyVW51c2VkVmFyeWluZyIsCisgICAgZlNoYWRlclN1Y2Nlc3M6
IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInZlcnRleCBzaGFk
ZXIgd2l0aCBubyB2YXJ5aW5nIGFuZCBmcmFnbWVudCBzaGFkZXIgd2l0aCB1bnVzZWQgdmFyeWlu
ZyBtdXN0IHN1Y2NlZWQiLAorICB9LAorICB7CisgICAgdlNoYWRlcklkOiAidmVydGV4U2hhZGVy
Tm9WYXJ5aW5nIiwKKyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBmU2hhZGVySWQ6ICJm
cmFnbWVudFNoYWRlclVzZWRWYXJ5aW5nIiwKKyAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAg
ICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzogInZlcnRleCBzaGFkZXIgd2l0aCBu
byB2YXJ5aW5nIGFuZCBmcmFnbWVudCBzaGFkZXIgd2l0aCB1c2VkIHZhcnlpbmcgbXVzdCBmYWls
IiwKKyAgfSwKKyAgeworICAgIHZTaGFkZXJJZDogInZlcnRleFNoYWRlclVudXNlZFZhcnlpbmci
LAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJJZDogImZyYWdtZW50U2hh
ZGVyVW51c2VkVmFyeWluZyIsCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1
Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInZlcnRleCBzaGFkZXIgd2l0aCB1bnVzZWQgdmFy
eWluZyBhbmQgZnJhZ21lbnQgc2hhZGVyIHdpdGggdW51c2VkIHZhcnlpbmcgbXVzdCBzdWNjZWVk
IiwKKyAgfSwKKyAgeworICAgIHZTaGFkZXJJZDogInZlcnRleFNoYWRlclVudXNlZFZhcnlpbmci
LAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJJZDogImZyYWdtZW50U2hh
ZGVyVXNlZFZhcnlpbmciLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNj
ZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6ICJ2ZXJ0ZXggc2hhZGVyIHdpdGggdW51c2VkIHZhcnlp
bmcgYW5kIGZyYWdtZW50IHNoYWRlciB3aXRoIHVzZWQgdmFyeWluZyBtdXN0IHN1Y2NlZWQiLAor
ICB9LAorXSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlYTc0
NzExMTgwMjY3NWM5NDBiOTI0MzY5MWQ3NzMxZjA5ZGUzNzMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwKQEAgLTAsMCArMSwxNjMgQEAKKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0bGU+Z2wtcG9pbnRjb29y
ZCBUZXN0PC90aXRsZT4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiPgorPC9jYW52
YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAg
IGF0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKKyAgICB1bmlmb3JtIGZsb2F0IHVQb2ludFNpemU7
CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICBnbF9Qb2ludFNpemUgPSB1UG9pbnRTaXpl
OworICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgfQorICA8L3NjcmlwdD4KKwor
ICA8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgIGds
X0ZyYWdDb2xvciA9IHZlYzQoCisgICAgICAgIGdsX1BvaW50Q29vcmQueCwKKyAgICAgICAgZ2xf
UG9pbnRDb29yZC55LAorICAgICAgICAwLAorICAgICAgICAxKTsKKyAgICB9CisgIDwvc2NyaXB0
PgorCisgIDxzY3JpcHQ+CisgICAgInVzZSBzdHJpY3QiOworICAgIGRlc2NyaXB0aW9uKCJDaGVj
a3MgZ2xfUG9pbnRDb29yZCBhbmQgZ2xfUG9pbnRTaXplIik7CisgICAgZGVidWcoIiIpOworCisg
ICAgLy8gTk9URTogSSdtIG5vdCAxMDAlIGNvbmZpZGVudCBpbiB0aGlzIHRlc3QuIEkgdGhpbmsg
aXQgaXMgY29ycmVjdC4KKworICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICB2YXIg
Z2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisgICAgc2hvdWxkQmVOb25OdWxs
KCJnbCIpOworICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVy
IiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9y
KCkiLCAiZ2wuTk9fRVJST1IiKTsKKworICAgIHZhciBjYW52YXMgPSBnbC5jYW52YXM7CisgICAg
dmFyIHdpZHRoID0gY2FudmFzLndpZHRoOworICAgIHZhciBoZWlnaHQgPSBjYW52YXMuaGVpZ2h0
OworICAgIHNob3VsZEJlKCJ3aWR0aCIsICJoZWlnaHQiKTsKKworICAgIHZhciBtYXhQb2ludFNp
emUgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuQUxJQVNFRF9QT0lOVF9TSVpFX1JBTkdFKVsxXTsKKyAg
ICBzaG91bGRCZVRydWUoIm1heFBvaW50U2l6ZSA+PSAxIik7CisgICAgLy8gVGhlIG1pbmltdW0g
YW5kIG1heGltdW0gcG9pbnQgc2l6ZXMgbWF5IGJlIGZsb2F0aW5nLXBvaW50IG51bWJlcnMuCisg
ICAgc2hvdWxkQmVUcnVlKCJNYXRoLmZsb29yKG1heFBvaW50U2l6ZSkgPj0gMSIpOworICAgIG1h
eFBvaW50U2l6ZSA9IE1hdGguZmxvb3IobWF4UG9pbnRTaXplKTsKKyAgICBzaG91bGRCZVRydWUo
Im1heFBvaW50U2l6ZSAlIDEgPT0gMCIpOworCisgICAgbWF4UG9pbnRTaXplID0gTWF0aC5taW4o
bWF4UG9pbnRTaXplLCA2NCk7CisgICAgdmFyIHBvaW50V2lkdGggPSBtYXhQb2ludFNpemUgLyB3
aWR0aDsKKyAgICB2YXIgcG9pbnRTdGVwID0gTWF0aC5mbG9vcihtYXhQb2ludFNpemUgLyA0KTsK
KyAgICB2YXIgcG9pbnRTdGVwID0gTWF0aC5tYXgoMSwgcG9pbnRTdGVwKTsKKworICAgIHZhciBw
b2ludFNpemVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVQb2ludFNpemUi
KTsKKyAgICBnbC51bmlmb3JtMWYocG9pbnRTaXplTG9jLCBtYXhQb2ludFNpemUpOworCisgICAg
dmFyIHBpeGVsT2Zmc2V0ID0gKG1heFBvaW50U2l6ZSAlIDIpID8gKDEgLyB3aWR0aCkgOiAwOwor
ICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICBnbC5iaW5kQnVm
ZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgICBnbC5idWZmZXJEYXRhKAor
ICAgICAgICBnbC5BUlJBWV9CVUZGRVIsCisgICAgICAgIG5ldyBGbG9hdDMyQXJyYXkoCisgICAg
ICAgICAgWy0wLjUgKyBwaXhlbE9mZnNldCwgLTAuNSArIHBpeGVsT2Zmc2V0LAorICAgICAgICAg
ICAgMC41ICsgcGl4ZWxPZmZzZXQsIC0wLjUgKyBwaXhlbE9mZnNldCwKKyAgICAgICAgICAgLTAu
NSArIHBpeGVsT2Zmc2V0LCAgMC41ICsgcGl4ZWxPZmZzZXQsCisgICAgICAgICAgICAwLjUgKyBw
aXhlbE9mZnNldCwgIDAuNSArIHBpeGVsT2Zmc2V0XSksCisgICAgICAgIGdsLlNUQVRJQ19EUkFX
KTsKKyAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAgICBnbC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKDAsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgICBnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgICBnbC5kcmF3
QXJyYXlzKGdsLlBPSU5UUywgMCwgNCk7CisgICAgc2hvdWxkQmUoImdsLmdldEVycm9yKCkiLCAi
Z2wuTk9fRVJST1IiKTsKKworICAgIGZ1bmN0aW9uIHMycChzKSB7CisgICAgICByZXR1cm4gKHMg
KyAxLjApICogMC41ICogd2lkdGg7CisgICAgfQorCisgICAgLy9mdW5jdGlvbiBwcmludCh4LCB5
KSB7CisgICAgLy8gIHZhciBiID0gbmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgLy8gIGdsLnJlYWRQ
aXhlbHMoeCwgeSwgMSwgMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYik7CisgICAgLy8g
IGRlYnVnKCIiICsgeCArICIsIiArIHkgKyAiOiAiICsgYlswXSArICIsIiArIGJbMV0gKyAiLCIg
KyBiWzJdKTsKKyAgICAvL30KKyAgICAvLworICAgIC8vZm9yICh2YXIgaWkgPSAwOyBpaSA8IDEw
MDsgKytpaSkgeworICAgIC8vICBwcmludChpaSwgaWkpOworICAgIC8vfQorCisgICAgZm9yICh2
YXIgcHkgPSAwOyBweSA8IDI7ICsrcHkpIHsKKyAgICAgIGZvciAodmFyIHB4ID0gMDsgcHggPCAy
OyArK3B4KSB7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgdmFyIHBvaW50WCA9IC0wLjUg
KyBweCArIHBpeGVsT2Zmc2V0OworICAgICAgICB2YXIgcG9pbnRZID0gLTAuNSArIHB5ICsgcGl4
ZWxPZmZzZXQ7CisgICAgICAgIGZvciAodmFyIHl5ID0gMDsgeXkgPCBtYXhQb2ludFNpemU7IHl5
ICs9IHBvaW50U3RlcCkgeworICAgICAgICAgIGZvciAodmFyIHh4ID0gMDsgeHggPCBtYXhQb2lu
dFNpemU7IHh4ICs9IHBvaW50U3RlcCkgeworICAgICAgICAgICAgLy8gZm9ybXVsYSBmb3IgcyBh
bmQgdCBmcm9tIE9wZW5HTCBFUyAyLjAgc3BlYyBzZWN0aW9uIDMuMworICAgICAgICAgICAgdmFy
IHh3ID0gczJwKHBvaW50WCk7CisgICAgICAgICAgICB2YXIgeXcgPSBzMnAocG9pbnRZKTsKKyAg
ICAgICAgICAgIC8vZGVidWcoInh3OiAiICsgeHcgKyAiIHl3OiAiICsgeXcpOworICAgICAgICAg
ICAgdmFyIHUgPSB4eCAvIG1heFBvaW50U2l6ZSAqIDIgLSAxOworICAgICAgICAgICAgdmFyIHYg
PSB5eSAvIG1heFBvaW50U2l6ZSAqIDIgLSAxOworICAgICAgICAgICAgdmFyIHhmID0gTWF0aC5m
bG9vcihzMnAocG9pbnRYICsgdSAqIHBvaW50V2lkdGgpKTsKKyAgICAgICAgICAgIHZhciB5ZiA9
IE1hdGguZmxvb3IoczJwKHBvaW50WSArIHYgKiBwb2ludFdpZHRoKSk7CisgICAgICAgICAgICAv
L2RlYnVnKCJ4ZjogIiArIHhmICsgIiB5ZjogIiArIHlmKTsKKyAgICAgICAgICAgIHZhciBzID0g
MC41ICsgKHhmICsgMC41IC0geHcpIC8gbWF4UG9pbnRTaXplOworICAgICAgICAgICAgdmFyIHQg
PSAwLjUgKyAoeWYgKyAwLjUgLSB5dykgLyBtYXhQb2ludFNpemU7CisgICAgICAgICAgICAvL2Rl
YnVnKCJzOiAiICsgcyArICIgdDogIiArIHQpOworICAgICAgICAgICAgdmFyIGNvbG9yID0gW01h
dGguZmxvb3IocyAqIDI1NSksIE1hdGguZmxvb3IoKDEgLSB0KSAqIDI1NSksIDBdOworICAgICAg
ICAgICAgdmFyIG1zZyA9ICJwaXhlbCAiICsgeGYgKyAiLCIgKyB5ZiArICIgc2hvdWxkIGJlICIg
KyBjb2xvcjsKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIHhmLCB5ZiwgMSwg
MSwgY29sb3IsIG1zZywgNCk7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAg
fQorCisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgIDwvc2NyaXB0PgorICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1BLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmM5Yjk5NTg3ZjllMjZkZTMwZTE3NmFiYWE0NTExMWZhYjFkMjE0OGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sCkBAIC0w
LDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25v
cyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv
ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0
d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRl
cmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu
Y2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt
b2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29y
IHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8K
KyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiog
aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgor
KioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U
IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG
T1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
QU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJP
TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIu
Li91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1BLmpzIj48L3NjcmlwdD4K
KworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRo
YXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3
aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3Rz
LnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEw
MDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAg
IGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlz
c2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dl
bmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAg
aWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1
bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdz
CisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2Vu
LCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgewor
ICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYg
KGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAg
ICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2
YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2Vy
LCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChn
ZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFt
ZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpv
aW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHko
Z2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wg
ZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2Vy
dE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3Jl
dHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsK
KyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0
IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIg
dGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZh
bHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVl
IGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1Nv
dXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7
IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAg
ICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2go
ZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAg
ICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRl
O308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUIxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWZjYzc0Yzg4MjEyOWVhOTU4YzQxODlk
MWMyMDI4MDdiYmM4MzE4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMS5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3Mi
IGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2Vu
ZXJhdG9ycy1CMS5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGlu
IEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0
ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7Cisg
IHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJh
dG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAo
bmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsK
KyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVh
ZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsK
KyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5k
b21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihh
cmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2Vu
Lm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291
cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRy
dWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdl
IGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdz
IGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAg
YXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVy
biBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdl
bi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7Cisg
ICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGgg
dmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIo
IithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigi
LCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHko
R0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51
cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBn
bC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUK
KyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2so
IkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0
aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7
CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9t
VGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5u
YW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxl
PmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9k
eT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE2ZWU5MDhiNDI3MTRkZWZmOTU1ZTUyZDhhYTc1MmE1MzJlZjczOWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbApAQCAtMCwwICsxLDg0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQjIuanMiPjwvc2NyaXB0PgorCis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwg
R0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2Fs
bGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZh
bGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBm
b3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFH
TFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZy
b20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9y
c1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFy
Z0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24g
d2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAg
IGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVw
VmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAg
ICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFk
eVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBh
bHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9
IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2Vy
dCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVj
a0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIith
cmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIp
KyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFy
Z3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlv
biB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRo
aXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9i
amVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rp
b24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAg
ICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQor
ICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5n
IGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVh
bnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIg
IituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEp
fSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJl
dHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBh
cmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7Cisg
ICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAg
fQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5
bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mODcyYzlmNmIyMmIwZDJmNTliNGEyZjc5ZTlmNDRk
YjVjNjg5NWYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUIzLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0i
Li4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3Jz
LUIzLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3Jp
cHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2Vu
ZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxp
ZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJh
bmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7
CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJy
b3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAg
dmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVk
QXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAg
Ly8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdl
bmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwg
ZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJl
YWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJn
cyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAg
ICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBh
biB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZh
bGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQo
IlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVj
dC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNr
QXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAg
Ly8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBh
cmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3Mu
bWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIiki
LAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJn
cyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSBy
ZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0
ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAg
ICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5p
bmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7
cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAg
ICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAg
ICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291
bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZv
cm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFz
e3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRkY2Fh
MzdiNDQ4YzNkY2M3NmZjOTdkNzM1NjZlYTUwYWRkYjkzNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNr
Q2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1CNC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5j
dGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0
aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdz
ID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFy
IG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVd
KQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUg
V2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVd
OworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdl
bmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJh
bmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2Vu
ZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7
CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIg
c3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRB
cmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlU
cmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7
CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQg
dGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFs
aWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFw
KGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAor
ICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOwor
ICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtz
IHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91
bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRv
U291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2
ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlm
IHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAg
IC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3Jl
YXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisg
ICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUr
IigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2lu
KCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFs
dWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50
ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRl
c3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisK
Kzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwv
aGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NDk0NTU3ZDU5Y2Y5M2YwMzE3MDNlOGM3M2MzMzMwMzVhYzc0MDNj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRt
bApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNz
cyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3Vu
aXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQy5qcyI+PC9z
Y3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8g
VGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29y
aworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRz
CitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291
bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7
CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAi
IGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4g
PSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsK
KyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFj
aCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFs
aWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFy
Z3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hl
Y2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAg
ICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAg
ICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkg
Y2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAg
ICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdz
OiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2Uo
YSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5
LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0
aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAg
ICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlv
bihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAg
ICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRy
dWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVl
LCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYp
IGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5y
ZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVy
biB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmpl
Y3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBv
azsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9
IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihl
KSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjph
YnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVjMjQzM2VhOTIyZjM5
NmQ1YjU2NDdiZjBmNjg5YzVmMzk5Yzc2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9
InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJ
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBz
cmM9ImFyZ0dlbmVyYXRvcnMtRF9HLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBz
cGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRv
bWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5j
dGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBp
biBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAg
ICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBj
b250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAg
ICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUp
IGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVz
dENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JU
ZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAg
ICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBP
YmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3Jj
XSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJn
c1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAg
ICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2Vu
ZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkK
KyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rp
b24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAg
ICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAg
IHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBj
YWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3Jr
OiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2Uo
YSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtu
YW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVl
ZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5n
LiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZm
ZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAg
ICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJn
cy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsi
KSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFu
dXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3Vu
dCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxl
ZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3Jp
cHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxi
b2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1HX0kuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNDFmYzlmODRkMzc4ZjBhMGE5NDI3MTQ1NTYxMjNiYTViZmUxODYyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1s
CkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3Nz
IiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5p
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1HX0kuanMiPjwv
c2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8v
IFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdv
cmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50
cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENv
dW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkg
eworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsg
IiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2Vu
ID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307
CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVh
Y2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZh
bGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihh
cmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENo
ZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAg
ICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9Cisg
ICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5
IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAg
ICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJn
czogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNl
KGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0
eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQg
dGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAg
ICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rp
b24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAg
ICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0
cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1
ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2
KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4u
cmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1
cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2Jq
ZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5j
dGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4g
b2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAg
fSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3Io
ZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246
YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0NDIwY2VlMWY4MDg3
ZWRhYjYzZmQ5YzI4ZDU3NjE4YjE1NTI2MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBl
PSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQ
SS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSJhcmdHZW5lcmF0b3JzLUxfUy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMg
c3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5k
b21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVu
Y3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUg
aW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAg
ICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wg
Y29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAg
ICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRl
KSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRl
c3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9y
VGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAg
ICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0g
T2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3Ny
Y10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFy
Z3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAg
ICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdl
bmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkp
CisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0
aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAg
ICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAg
ICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4g
Y2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29y
azogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNl
KGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xb
bmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5l
ZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUu
Zy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVm
ZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAg
ICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2Fy
Z3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikr
IikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVh
bnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291
bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWls
ZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2Ny
aXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48
Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktU19WLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGIyOGViNDJlMzEwMjMyMTc1MzYxNjAzZDJjNTJlNjA2NGE2ZDMyMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRt
bApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNz
cyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3Vu
aXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtU19WLmpzIj48
L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisv
LyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3
b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVu
dHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RD
b3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5
IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSAr
ICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dl
biA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9
OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBl
YWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2
YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24o
YXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRD
aGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAg
ICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQor
ICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0
eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAg
ICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFy
Z3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJj
ZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRp
dHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0
IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAg
ICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0
aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0g
dHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFs
dWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihy
dikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2Vu
LnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0
dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9i
amVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJu
IG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAg
IH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9y
KGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9u
OmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2NzZlNzc5MDViNDYxMzRh
Y2IwYmI5ZjMyODZjZDdhNGNhYjM1MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9idWZmZXJEYXRhQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsNzkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4
dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94
LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFw
cGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0g
ZnVuY3Rpb24gKCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ds
Jyk7CisgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICB2
YXIgYnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIHZhciBlYnVmID0gZ2wuY3JlYXRlQnVmZmVy
KCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWYpOworICBnbC5iaW5kQnVm
ZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBlYnVmKTsKKyAgcmV0dXJuIFtnbCwgYnVmLCBl
YnVmXTsKK30KKworVGVzdHMudGVzdEJ1ZmZlckRhdGEgPSBmdW5jdGlvbihnbCkgeworICAgIGFz
c2VydE9rKCJ6ZXJvIHNpemUgZGF0YSIsCisgICAgICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0
YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoMCksIGdsLlNUQVRJQ19EUkFXKTt9
KTsKKyAgICBhc3NlcnRGYWlsKCJiYWQgdGFyZ2V0IiwKKyAgICAgICAgZnVuY3Rpb24oKXtnbC5i
dWZmZXJEYXRhKGdsLlRFWFRVUkVfMkQsIG5ldyBGbG9hdDMyQXJyYXkoWzEsMiwzXSksIGdsLlNU
QVRJQ19EUkFXKTt9KTsKKy8vICAgIGFzc2VydEZhaWwoImFycmF5IGZvciBkYXRhIiwKKy8vICAg
ICAgICBmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBbMSwyLDNdLCBn
bC5TVEFUSUNfRFJBVyk7fSk7CisgICAgYXNzZXJ0RmFpbCgiYmFkIHVzYWdlIiwKKyAgICAgICAg
ZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJh
eShbMSwyLDNdKSwgZ2wuVEVYVFVSRV8yRCk7fSk7CisgICAgYXNzZXJ0RmFpbCgibnVsbCBkYXRh
IiwKKyAgICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbnVs
bCwgZ2wuU1RBVElDX0RSQVcpO30pOworICAgIGFzc2VydEZhaWwoInVuZGVmaW5lZCBkYXRhIiwK
KyAgICAgICAgZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdW5kZWZp
bmVkLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5idWZm
ZXJEYXRhKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsxLDIsM10p
LCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgdGhyb3dFcnJvcihnbCwgJ2J1ZmZlckRhdGEnKTsK
KyAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgbnVsbCk7CisgICAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFy
cmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgdGhyb3dFcnJvcihnbCwgJ2J1
ZmZlckRhdGEnKTsKKyAgICBnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBu
dWxsKTsKKyAgICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5FTEVNRU5U
X0FSUkFZX0JVRkZFUiwgbmV3IFVpbnQxNkFycmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7
fSk7CisgICAgdGhyb3dFcnJvcihnbCwgJ2J1ZmZlckRhdGEnKTsKK30KKworVGVzdHMuZW5kVW5p
dCA9IGZ1bmN0aW9uKGdsLCBidWYsIGVidWYpIHsKKyAgICBnbC5kZWxldGVCdWZmZXIoYnVmKTsK
KyAgICBnbC5kZWxldGVCdWZmZXIoZWJ1Zik7Cit9CisKKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2Fu
dmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFz
IGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWE0ZjJmYzA2NmFmMWU1
YzdkYzUyMzE4ZGUwMjkxMWI1OGI4NTIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvY29weVRleEltYWdlMkQuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0
L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBm
dW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wn
KTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHJl
dHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgIHZhciB0ZXgg
PSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRl
eCk7CisgIHZhciB0ZXhDdWJlTWFwID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFwKTsKKyAgcmV0dXJuIFtnbF0KK30K
KworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgsIHRleEN1YmVNYXApIHsKKyAgZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRF
WFRVUkVfQ1VCRV9NQVAsIG51bGwpOworICBnbC5kZWxldGVUZXh0dXJlKHRleCk7CisgIGdsLmRl
bGV0ZVRleHR1cmUodGV4Q3ViZU1hcCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVu
Y3Rpb24oZ2wpIHsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgMCwwLDEsMSwwKTsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgMCwwLDIsMSwwKTsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgMCwwLDEsMiwwKTsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgMCwwLDE2LDE2LDApOworICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBnbC5SR0JBLCAxNSwxNSwxLDEsMCk7CisgIHZhciB2YWxpZF90YXJnZXRzID0gWwor
ICAgIGdsLlRFWFRVUkVfMkQsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAor
ICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVf
TUFQX1BPU0lUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAg
IGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQ
X05FR0FUSVZFX1oKKyAgXTsKKyAgdmFsaWRfdGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsK
KyAgICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmNvcHlUZXhJbWFnZTJEKHQsIDAsIGdsLlJHQkEs
IDAsMCwxLDEsMCk7fSk7CisgIH0pOworfQorVGVzdHMudGVzdFJvdW5kdHJpcCA9IGZ1bmN0aW9u
KGdsKSB7CisgICAgdmFyIHNoID0gbmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcs
ICdpZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuY2xlYXJDb2xvcigxLjAsIDAuMCwgMC4wLCAxLjAp
OworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIHZhciBidWYgPSBuZXcg
VWludDhBcnJheSg0KTsKKyAgICBnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgYnVmKTsKKyAgICBhc3NlcnRFcXVhbHMoWzI1NSwwLDAsMjU1XSwgW2J1Zlsw
XSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXV0pOworICAgIC8vIHJlZCB0ZXh0dXJlCisgICAgZ2wu
Y29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDE2LDE2LDApOwor
ICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGds
LkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wu
VEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmko
Z2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGds
LnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5M
SU5FQVIpOworICAgIGdsLmNsZWFyQ29sb3IoMC4wLCAwLjAsIDEuMCwgMS4wKTsKKyAgICBnbC5j
bGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICAvLyBibHVlIGZyYW1lYnVmZmVyCisgICAg
Z2wucmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7Cisg
ICAgYXNzZXJ0RXF1YWxzKFswLDAsMjU1LDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBi
dWZbM11dKTsKKyAgICBzaC5hcHBseSgpOyAvLyBwYWludCBpdCB3aXRoIHRleHR1cmUKKyAgICBn
bC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAg
ICBhc3NlcnRFcXVhbHMoWzI1NSwwLDAsMjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1
ZlszXV0pOworICAgIHNoLmRlc3Ryb3koKTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9u
KGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZmxpcC12ZXJ0IiB0
eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CithdHRyaWJ1
dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQorewor
ICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LnMsIDEuMC1UZXgudCwgMC4wLCAwLjApOworICAgIGds
X1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
ImlkZW50aXR5LWZyYWciIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2FtcGxlcjJEIFRleHR1cmU7CisKK3ZhcnlpbmcgdmVj
NCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHZlYzQgYyA9IHRleHR1cmUyRChUZXh0
dXJlLCB0ZXhDb29yZDAuc3QpOworICAgIGdsX0ZyYWdDb2xvciA9IGM7Cit9Cis8L3NjcmlwdD4K
KzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9k
eT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9i
b2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFk
QXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2I0ZGNjMjJlOWFlMDAxNjI3MTg1ZjgxZWRmMWNhOTcyYjM4YTExZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCkBA
IC0wLDAgKzEsMTA5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIg
Lz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY2Fu
dmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgICAgdmFyIGdsID0gd3JhcEdM
Q29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgICAgcmV0dXJuIFtnbF07Cit9CisKK1Rl
c3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUo
KTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgcmV0dXJuIFtnbF0K
K30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgpIHsKKyAgZ2wuYmluZFRleHR1
cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30KKwor
VGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihnbCkgeworICAgIGFzc2VydE9rKCJoZWln
aHQgPiBiYWNrSGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxNywxLDApOworICAgIH0pOworICAgIGFz
c2VydE9rKCJ3aWR0aCA+IGJhY2tXaWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlU
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwgMSwxNywwKTsKKyAgICB9
KTsKKyAgICBhc3NlcnRPaygieCArIHdpZHRoID4gYmFja1dpZHRoIiwgZnVuY3Rpb24oKXsKKyAg
ICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMTYsMCwg
MSwxLDApOworICAgIH0pOworICAgIGFzc2VydE9rKCJ5ICsgaGVpZ2h0ID4gYmFja0hlaWdodCIs
IGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IGdsLlJHQkEsIDAsMTYsIDEsMSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygiTmVnYXRpdmUg
WCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIC0xLDAsIDEsMSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygiTmVnYXRp
dmUgWSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIDAsLTEsIDEsMSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRGYWlsKCJO
ZWdhdGl2ZSBoZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIC0xLDEsMCk7CisgICAgfSk7CisgICAgYXNz
ZXJ0RmFpbCgiTmVnYXRpdmUgd2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIDEsLTEsMCk7CisgICAgfSk7
CisgICAgYXNzZXJ0RmFpbCgiTm9uIDAgYm9yZGVyIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wu
Y29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxLDEsMSk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTmVnYXRpdmUgYm9yZGVyIixmdW5jdGlvbigpeworICAg
ICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIDEs
MSwtMSk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soIkdvb2QgQXJncyIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwg
MTYsMTYsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTlBPVCB0ZXh0dXJlIHRvID4gbGV2
ZWwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDEsIGdsLlJHQkEsIDAsMCwgMTUsMTYsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgi
QmFkIHRhcmdldCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLkZM
T0FULCAwLCBnbC5SR0JBLCAwLDAsIDE2LDE2LDApOworICAgIH0pOworICAgIGFzc2VydEZhaWwo
IkJhZCBpbnRlcm5hbCBmb3JtYXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5GTE9BVCwgMCwwLCAxNiwxNiwwKTsKKyAgICB9KTsK
KyAgICBhc3NlcnRGYWlsKCJOZWdhdGl2ZSBsZXZlbCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGds
LmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIC0xLCBnbC5SR0JBLCAwLDAsIDE2LDE2LDAp
OworICAgIH0pOworfQorCisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8
L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwv
aGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2Fu
dmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhT
dWJJbWFnZTJELmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVkNTFiM2VhYjljYjQzYTllZmJiMTY2YjBhZmMzNjhhOGUwYzlkODMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sCkBAIC0w
LDAgKzEsMTQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0i
Li4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0
KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVw
ID0gZnVuY3Rpb24oZ2wpIHsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgdmFyIHRleEN1YmVNYXAgPSBnbC5j
cmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRl
eEN1YmVNYXApOworICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9u
KGdsLHRleCx0ZXhDdWJlTWFwKSB7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51
bGwpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCBudWxsKTsKKyAgZ2wu
ZGVsZXRlVGV4dHVyZSh0ZXgpOworICBnbC5kZWxldGVUZXh0dXJlKHRleEN1YmVNYXApOworfQor
CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgZ2wuY29weVRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLDE2LDE2LDApOworICBnbC5jb3B5
VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwxLDEpOworICBnbC5jb3B5
VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwyLDEpOworICBnbC5jb3B5
VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwxLDIpOworICBnbC5jb3B5
VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwxNiwxNik7CisgIGdsLmNv
cHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMTUsMTUsMSwxKTsKKyAgZ2wu
Y29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMSwxLCAwLDAsMTUsMTUpOworICBn
bC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAxNSwxNSwgMCwwLDEsMSk7Cisg
IHZhciB2YWxpZF90YXJnZXRzID0gWworICAgIGdsLlRFWFRVUkVfMkQsCisgICAgZ2wuVEVYVFVS
RV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVf
WCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwK
KyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKKyAgXTsKKyAgdmFsaWRfdGFyZ2V0
cy5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRPayhmdW5jdGlvbigpeworICAgICAg
ICBnbC5jb3B5VGV4SW1hZ2UyRCh0LCAwLCBnbC5SR0JBLCAwLDAsMSwxLDApOworICAgICAgICBn
bC5jb3B5VGV4U3ViSW1hZ2UyRCh0LCAwLCAwLDAsMCwwLDEsMSk7CisgICAgfSk7CisgIH0pOwor
fQorVGVzdHMudGVzdFJvdW5kdHJpcCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIHNoID0gbmV3
IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAg
Z2wuY2xlYXJDb2xvcigxLjAsIDAuMCwgMC4wLCAxLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQpOworICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICBnbC5y
ZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICBh
c3NlcnRFcXVhbHMoWzI1NSwwLDAsMjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1Zlsz
XV0pOworICAgIC8vIHJlZCB0ZXh0dXJlCisgICAgZ2wuY2xlYXJDb2xvcigwLjAsIDAuMCwgMC4w
LCAwLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJykpOworICAgIGdsLmNsZWFyQ29sb3IoMS4w
LCAwLjAsIDAuMCwgMS4wKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAg
ICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsMCwwLDE2LDE2KTsK
KyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBn
bC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGds
LlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBn
bC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wu
TElORUFSKTsKKyAgICBnbC5jbGVhckNvbG9yKDAuMCwgMC4wLCAxLjAsIDEuMCk7CisgICAgZ2wu
Y2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgLy8gYmx1ZSBmcmFtZWJ1ZmZlcgorICAg
IGdsLnJlYWRQaXhlbHMoMCwwLDEsMSxnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOwor
ICAgIGFzc2VydEVxdWFscyhbMCwwLDI1NSwyNTVdLCBbYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwg
YnVmWzNdXSk7CisgICAgc2guYXBwbHkoKTsgLy8gcGFpbnQgd2l0aCB0ZXh0dXJlCisgICAgZ2wu
cmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAg
YXNzZXJ0RXF1YWxzKFsyNTUsMCwwLDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZb
M11dKTsKKyAgICBzaC5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihn
bCkgeworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZsaXAtdmVydCIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4OworYXR0cmlidXRl
IHZlYzIgVGV4OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAg
ICB0ZXhDb29yZDAgPSB2ZWM0KFRleC5zLCAxLjAtVGV4LnQsIDAuMCwgMC4wKTsKKyAgICBnbF9Q
b3NpdGlvbiA9IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJp
ZGVudGl0eS1mcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRp
dW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBsZXIyRCBUZXh0dXJlOworCit2YXJ5aW5nIHZlYzQg
dGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB2ZWM0IGMgPSB0ZXh0dXJlMkQoVGV4dHVy
ZSwgdGV4Q29vcmQwLnN0KTsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworfQorPC9zY3JpcHQ+Cis8
c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+
Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9k
eT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJh
ZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQyYzQ3NGM1NTQwOTVlMTJmNzI1ZmJhY2ZjOTk4YjA4ZmU3M2IyMjYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3Mu
aHRtbApAQCAtMCwwICsxLDExMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
Ky0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5p
dC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIu
Li91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgICAg
dmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBnbCA9
IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICAgIHJldHVybiBbZ2xdOwor
fQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0
ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAg
IHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsdGV4KSB7Cisg
ICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4
dHVyZSh0ZXgpOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7Cisg
ICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxNiwx
NiwgMCk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIndpZHRoID4g
ZHN0IHRleCB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAxNywxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiaGVpZ2h0ID4gZHN0IHRleCBoZWlnaHQiLCBm
dW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCAwLDAsIDAsMCwgMSwxNyk7CisgICAgfSk7CisgICAgLy8gVGhlIHNwZWMgc2F5cyB0aGUgc291
cmNlIGltYWdlIGRpbWVuc2lvbnMgY2FuIGJlIG91dCBvZiByYW5nZS4KKyAgICBhc3NlcnRPaygi
eCA+IGRzdCB0ZXggd2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDE2LDAsIDEsMSk7CisgICAgfSk7CisgICAgYXNz
ZXJ0T2soInkgPiBkc3QgdGV4IHdpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDE2LCAxLDEpOworICAgIH0pOwor
ICAgIGFzc2VydE9rKCJ4IDwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgLTEsMCwgMSwxKTsKKyAgICB9KTsKKyAgICBh
c3NlcnRPaygieSA8IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsLTEsIDEsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0
R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIndpZHRoIDwgMCIsIGZ1bmN0aW9uKCl7Cisg
ICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAt
MSwxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAi
aGVpZ2h0IDwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAxLC0xKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAieG9mZnNldCA8IDAiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAtMSwwLCAwLDAsIDE2
LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAi
eW9mZnNldCA8IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCAwLC0xLCAwLDAsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRP
aygieCA8IDAgZnVsbCB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgLTEsMCwgMTYsMTYpOworICAgIH0pOworICAg
IGFzc2VydE9rKCJ5IDwgMCBmdWxsIGhlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNv
cHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwtMSwgMTYsMTYpOworICAg
IH0pOworICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAxNiwxNik7CisgICAgfSk7CisgICAgYXNz
ZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIHRhcmdldCIsIGZ1bmN0aW9uKCl7
CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLkZMT0FULCAwLCAwLDAsIDAsMCwgMTYs
MTYpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICIi
LCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAtMSwgMCwwLCAwLDAsIDE2LDE2KTsKKyAgICB9KTsKK30KKworCitUZXN0cy5lbmRVbml0ID0g
ZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjph
YnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9
IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
ZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWUwY2JjMDFkODhkYzJiOGZhNzIx
YjI2ZGFhZjU2ODFiNDU4MTYyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Rl
bGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1
bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcp
OworICB2YXIgZ2wgPSBnZXRHTENvbnRleHQoY2FudmFzKTsKKyAgcmV0dXJuIFtnbF07Cit9CisK
K1Rlc3RzLnRlc3REZWxldGVCdWZmZXIgPSBmdW5jdGlvbihnbCkgeworICBhc3NlcnRUaHJvd05v
R0xFcnJvcihnbCwgIm51bWJlciAiLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoMSk7IH0p
OworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgIm51bGwiLCBmdW5jdGlvbigpeyBn
bC5kZWxldGVCdWZmZXIobnVsbCk7IH0pOworICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgIjAi
LCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoMCk7IH0pOworICBhc3NlcnRUaHJvd05vR0xF
cnJvcihnbCwgImZhbHNlIiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKGZhbHNlKTsgfSk7
CisgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidHJ1ZSIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0
ZUJ1ZmZlcih0cnVlKTsgfSk7CisgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAie30iLCBmdW5j
dGlvbigpeyBnbC5kZWxldGVCdWZmZXIoe30pOyB9KTsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRl
eHR1cmUoKTsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXggYXMgYnVmIiwgZnVuY3Rp
b24oKXsgZ2wuZGVsZXRlQnVmZmVyKHRleCk7IH0pOworICB2YXIgYnVmID0gZ2wuY3JlYXRlQnVm
ZmVyKCk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcihidWYpOyB9KTsK
KyAgYXNzZXJ0T2soZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKGJ1Zik7IH0pOworICBhc3Nl
cnRPayhmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoYnVmKTsgfSk7CisgIGFzc2VydE9rKGZ1
bmN0aW9uKCl7IGdsLmRlbGV0ZVRleHR1cmUodGV4KTsgfSk7Cit9CisKK1Rlc3RzLmVuZFVuaXQg
PSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9u
OmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0
aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJh
eXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mYTVjMWQ4ZGUyZWQ5YjlmN2M2YTA4ZDBiMzJhOTQ3Y2MyMTA2
ZmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sCkBA
IC0wLDAgKzEsMTM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIg
Lz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCI+CisKK3ZhciB2ZXJ0cyA9IFswLjAsIDAuMCwgMC4wLCAgIDEuMCwgMC4wLCAwLjAs
ICAgMC4wLCAxLjAsIDAuMF07Cit2YXIgbm9ybWFscyA9IFswLjAsIDAuMCwgMS4wLCAgIDAuMCwg
MC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMF07Cit2YXIgdGV4Y29vcmRzID0gWzAuMCwwLjAsICAx
LjAsMC4wLCAgMC4wLDEuMF07CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAg
dmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3
cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgdmFyIHByb2cgPSBuZXcgU2hh
ZGVyKGdsLCAndmVydCcsICdmcmFnJyk7CisgIHByb2cudXNlKCk7CisgIHZhciBzaCA9IHByb2cu
c2hhZGVyLnByb2dyYW07CisvLyAgIGxvZyhnbC5nZXRTaGFkZXJJbmZvTG9nKHByb2cuc2hhZGVy
c1sxXSkpOworICB2YXIgdiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnVmVydGV4Jyk7Cisg
IHZhciBuID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdOb3JtYWwnKTsKKyAgdmFyIHQgPSBn
bC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ1RleCcpOworICByZXR1cm4gW2dsLHByb2csdixuLHRd
OworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBhc3Nl
cnQoMCA9PSBnbC5nZXRFcnJvcigpKTsKKyAgcmV0dXJuIFtnbCwgcHJvZywgdixuLHRdOworfQor
VGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgZ2wuZGlzYWJs
ZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobik7
CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKK30KKworVGVzdHMuZW5kVW5pdCA9
IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBwcm9nLmRlc3Ryb3koKTsKK30KKworVGVz
dHMudGVzdERyYXdBcnJheXNWQk8gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFy
IHZibyA9IG5ldyBWQk8oZ2wsIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30pOworICB2Ym8u
ZHJhdyh2KTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kcmF3IikpOworICBh
c3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA1LCAxKTt9KTsK
KyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7
fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAs
IDYpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAxLCA1KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tFcnJvcihn
bCwgInZiby5kZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5c1ZCT011bHRpID0g
ZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhlIHF1
YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRlciBhbmQg
Y2FsbHMgZHJhd0FycmF5cworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICB7c2l6ZTozLCBk
YXRhOlF1YWQudmVydGljZXN9LAorICAgIHtzaXplOjMsIGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAg
ICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSk7CisgIHZiby5kcmF3KHYsIG4sIHQpOwor
ICBhc3NlcnQoMCA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRyYXciKSk7CisgIGFzc2VydE9rKGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDUsIDEpO30pOworICBhc3NlcnRP
ayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAyKTt9KTsKKyAgYXNz
ZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7fSk7Cisg
IGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDUpO30p
OworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEs
IDYpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDYsIDEpO30pOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvLnZib3Nb
MV0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwg
MCk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDUs
IDEpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAwLCAyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFO
R0xFUywgMCwgNik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDEsIDUpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDEsIDYpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDYsIDEpO30pOworICB2Ym8uZGVzdHJveSgpOworICBhc3Nl
cnQoMCA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgIGF0dHJpYnV0
ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZlYzMgTm9ybWFsOworICBhdHRyaWJ1dGUgdmVj
MiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgewor
ICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXggKiBOb3JtYWwsIDEuMCk7CisgICAgdGV4Q29v
cmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Qb3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+Cis8
c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgcHJlY2lzaW9u
IG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWlu
KCkKKyAgeworICAgIHZlYzQgYyA9IHRleENvb3JkMDsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOwor
ICB9Cis8L3NjcmlwdD4KKworCis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwv
c3R5bGU+Cis8L2hlYWQ+PGJvZHk+CisgIDxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMSIgaGVpZ2h0
PSIxIj48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNP
dXRPZkJvdW5kcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0M2VlODU3Njc0MDkwOGNiMTAwMGFmNGVmMmE2
Zjg3NmU5ODgxNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlz
T3V0T2ZCb3VuZHMuaHRtbApAQCAtMCwwICsxLDMwNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIg
aHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCit2YXIgdmVydHMgPSBbMC4wLCAwLjAsIDAu
MCwgICAxLjAsIDAuMCwgMC4wLCAgIDAuMCwgMS4wLCAwLjBdOwordmFyIG5vcm1hbHMgPSBbMC4w
LCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjBdOwordmFyIHRleGNv
b3JkcyA9IFswLjAsMC4wLCAgMS4wLDAuMCwgIDAuMCwxLjBdOworCit2YXIgdmVydHNBID0gbmV3
IEZsb2F0MzJBcnJheSh2ZXJ0cyk7Cit2YXIgbm9ybWFsc0EgPSBuZXcgRmxvYXQzMkFycmF5KG5v
cm1hbHMpOwordmFyIHRleGNvb3Jkc0EgPSBuZXcgRmxvYXQzMkFycmF5KHRleGNvb3Jkcyk7CisK
K1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29u
dGV4dChjYW52YXMpKTsKKyAgdmFyIHByb2cgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFn
Jyk7CisgIHByb2cudXNlKCk7CisgIHZhciB2ID0gcHJvZy5hdHRyaWIoJ1ZlcnRleCcpOworICB2
YXIgbiA9IHByb2cuYXR0cmliKCdOb3JtYWwnKTsKKyAgdmFyIHQgPSBwcm9nLmF0dHJpYignVGV4
Jyk7CisgIHJldHVybiBbZ2wscHJvZyx2LG4sdF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rp
b24oZ2wsIHByb2csIHYsbix0KSB7CisgIHJldHVybiBbZ2wsIHByb2csIHYsbix0XTsKK30KK1Rl
c3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIGdsLmRpc2FibGVW
ZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOwor
ICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBm
dW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgcHJvZy5kZXN0cm95KCk7Cit9CisKK1Rlc3Rz
LnRlc3REcmF3QXJyYXlzRW1wdHkgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFy
IGIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIs
IGIpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShb
XSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7fSkKKyAgZ2wuZW5hYmxlVmVy
dGV4QXR0cmliQXJyYXkodik7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFU
SU9OLCAiemVybyBzaXplIGFycmF5IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIDEpO30pOworICBnbC5kZWxldGVCdWZmZXIoYik7Cit9CisKK1Rlc3Rz
LnRlc3REcmF3QXJyYXlzT3V0T2ZCb3VuZHMgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsK
KyAgdmFyIGIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIGIpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJB
cnJheShbXSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7fSk7CisgIGdsLmVu
YWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElE
X09QRVJBVElPTiwgInplcm8gc2l6ZSBhcnJheSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sICJ6ZXJvIHNpemUgYXJyYXkgMTAwMDAiLAorICAgICAgZnVuY3Rpb24o
KXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMTAwMDApO30pOworICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6ZSBhcnJheSAxMDAwMDAwMDAw
MDAwMCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAx
MDAwMDAwMDAwMDAwMCk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFU
SU9OLCAiemVybyBzaXplIGFycmF5IGZyYWN0aW9uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEuNik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5k
cmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgLTEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBn
bC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50IG91dCBvZiByYW5nZSIsCisgICAgICBmdW5jdGlv
bigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInBvc2l0aXZlIGNvdW50LCBuZWdhdGl2ZSBvZmZzZXQi
LAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgLTEsIDEpO30p
OworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgY291bnQs
IHBvc2l0aXZlIG9mZnNldCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJ
QU5HTEVTLCAxLCAtMSk7fSk7CisgIGdsLmRlbGV0ZUJ1ZmZlcihiKTsKK30KKworCitUZXN0cy50
ZXN0RHJhd0FycmF5c1dpdGhEYXRhT3V0T2ZCb3VuZHMgPSBmdW5jdGlvbihnbCwgcHJvZywgdixu
LHQpIHsKKyAgdmFyIGIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5B
UlJBWV9CVUZGRVIsIGIpOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdmVydHNB
LCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxP
QVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGFz
c2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMyBlbGVtZW50IGFycmF5IiwK
KyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOwor
ICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMgZWxlbWVudCBhcnJh
eSAxMDAwMCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAw
LCAxMDAwMCk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAi
MyBlbGVtZW50IGFycmF5IDEwMDAwMDAwMDAwMDAwIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEwMDAwMDAwMDAwMDAwKTt9KTsKKyAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmcmFjdGlvbmFsIGNvdW50IiwKKyAgICAg
IGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDEuNik7fSk7CisgIGFz
c2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBvZmZzZXQiLAorICAg
ICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgLTEpO30pOworICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50IG91dCBvZiByYW5n
ZSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA0KTt9
KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50
IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIC0xKTt9
KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInBvc2l0aXZlIGNvdW50
LCBuZWdhdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgLTEsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVF
LCAibmVnYXRpdmUgY291bnQsIHBvc2l0aXZlIG9mZnNldCIsCisgICAgICBmdW5jdGlvbigpe2ds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCAtMSk7fSk7CisgIGdsLmRlbGV0ZUJ1ZmZlcihi
KTsKK30KKworVGVzdHMudGVzdERyYXdBcnJheXNNdWx0aU91dE9mQm91bmRzID0gZnVuY3Rpb24o
Z2wsIHByb2csIHYsbix0KSB7CisgIHZhciBicyA9IFtdOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1
ZmZlcigpKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0x
XSk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0c0EsIGdsLlNUQVRJQ19E
UkFXKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAs
IDApOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5B
UlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0xXSk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlf
QlVGRkVSLCBub3JtYWxzQSwgZ2wuU1RBVElDX0RSQVcpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2lu
dGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGJzLnB1c2goZ2wuY3JlYXRlQnVm
ZmVyKCkpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbYnMubGVuZ3RoLTFd
KTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHRleGNvb3Jkc0EsIGdsLlNUQVRJ
Q19EUkFXKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0LCAyLCBnbC5GTE9BVCwgZmFsc2Us
IDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZW5hYmxlVmVy
dGV4QXR0cmliQXJyYXkobik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDEiLAor
ICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywgMik7fSk7Cisg
IGJzLnB1c2goZ2wuY3JlYXRlQnVmZmVyKCkpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JV
RkZFUiwgYnNbYnMubGVuZ3RoLTFdKTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIs
IG5ldyBGbG9hdDMyQXJyYXkodmVydHMuY29uY2F0KHZlcnRzKSksIGdsLlNUQVRJQ19EUkFXKTsK
KyAgYnMucHVzaChnbC5jcmVhdGVCdWZmZXIoKSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCBic1ticy5sZW5ndGgtMV0pOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZF
UiwgbmV3IEZsb2F0MzJBcnJheSh0ZXhjb29yZHMuY29uY2F0KHRleGNvb3JkcykpLCBnbC5TVEFU
SUNfRFJBVyk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNl
LCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzFdKTsKKyAgZ2wu
dmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5i
aW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMl0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2lu
dGVyKHQsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJp
YkFycmF5KHYpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZW5hYmxl
VmVydGV4QXR0cmliQXJyYXkodCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BF
UkFUSU9OLCAibXVsdGkgYXJyYXkgMiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMo
Z2wuVFJJQU5HTEVTLCAzLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICJtdWx0aSBhcnJheSAzIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDQsIDIpO30pOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZF
UiwgYnNbMF0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxz
ZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1szXSk7CisgIGds
LnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzJdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9p
bnRlcih0LCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRy
aWJBcnJheSh2KTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmVuYWJs
ZVZlcnRleEF0dHJpYkFycmF5KHQpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgIm11bHRpIGFycmF5IDQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMywgMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgNSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCA0LCAyKTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZG
RVIsIGJzWzBdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5GTE9BVCwgZmFs
c2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMV0pOworICBn
bC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGds
LmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1s0XSk7CisgIGdsLnZlcnRleEF0dHJpYlBv
aW50ZXIodCwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0
cmliQXJyYXkodik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOworICBnbC5lbmFi
bGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICJtdWx0aSBhcnJheSA2IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElE
X09QRVJBVElPTiwgIm11bHRpIGFycmF5IDciLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJy
YXlzKGdsLlRSSUFOR0xFUywgMywgMik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVG
RkVSLCBic1szXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZh
bHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzNdKTsKKyAg
Z2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBn
bC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMl0pOworICBnbC52ZXJ0ZXhBdHRyaWJQ
b2ludGVyKHQsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0
dHJpYkFycmF5KHYpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZW5h
YmxlVmVydGV4QXR0cmliQXJyYXkodCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgOCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCA0LCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIC0xLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJ6ZXJvIGNvdW50Pz8/IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDAsIDQpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZB
TElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDkiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNCk7fSk7CisgIGJzLmZvckVhY2goZnVuY3Rpb24oYil7
IGdsLmRlbGV0ZUJ1ZmZlcihiKSB9KTsKK30KKworCitUZXN0cy50ZXN0RHJhd0FycmF5c1ZCT091
dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciB2Ym8gPSBuZXcg
VkJPKGdsLCB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9KTsKKyAgdmJvLnVzZSh2KTsKKyAg
YXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICIxIiwKKyAgICAgIGZ1bmN0
aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDYsIDEpO30pOworICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgY291bnQiLAorICAgICAgZnVuY3Rp
b24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMiwgLTEpO30pOworICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMiLAorICAgICAgZnVuY3Rpb24oKXtnbC5k
cmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNyk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLCAiNCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMo
Z2wuVFJJQU5HTEVTLCAxLCA2KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKK30KKworVGVzdHMudGVz
dERyYXdBcnJheXNWQk9NdWx0aU91dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0
KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhlIHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdp
dGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRlciBhbmQgY2FsbHMgZHJhd0FycmF5cworICB2YXIg
dmJvID0gbmV3IFZCTyhnbCwKKyAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAg
IHtzaXplOjMsIGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAgICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4
Y29vcmRzfSk7CisgIHZiby51c2UodiwgbiwgdCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklO
VkFMSURfT1BFUkFUSU9OLCAiMSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wu
VFJJQU5HTEVTLCA2LCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDIsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVS
QVRJT04sICIyIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDAsIDcpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMi
LAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNik7fSk7
CisgIHZiby5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzT09CU2hhZGVySnVn
Z2xlID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciB2Ym8gPSBuZXcgVkJPKGds
LAorICAgIHtzaXplOjMsIGRhdGE6WzAsMCwwXX0sCisgICAge3NpemU6MywgZGF0YTpbMCwwLDAs
MCwwLDBdfSk7CisgIHZiby5pbml0KCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCB2Ym8udmJvc1swXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQs
IGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGFzc2Vy
dEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAib2Zmc2V0IHRvbyBiaWciLAorICAg
ICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIHZh
ciBzaDIgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFnJyk7CisgIHNoMi51c2UoKTsKKyAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4
QXR0cmliUG9pbnRlcihzaDIuYXR0cmliKCdWZXJ0ZXgnKSwgMywgZ2wuRkxPQVQsIGZhbHNlLCAw
LCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoc2gyLmF0dHJpYignVmVydGV4Jykp
OworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAy
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJvZmZzZXQg
dG9vIGJpZyAyIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDAsIDMpO30pOworICBwcm9nLnVzZSgpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHByb2cu
YXR0cmliKCdWZXJ0ZXgnKSwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxl
VmVydGV4QXR0cmliQXJyYXkocHJvZy5hdHRyaWIoJ1ZlcnRleCcpKTsKKyAgYXNzZXJ0T2soZnVu
Y3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAib2Zmc2V0IHRvbyBiaWcgMyIsCisgICAg
ICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTt9KTsKKyAgc2gy
LmRlc3Ryb3koKTsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNo
YWRlci94LXZlcnRleCI+CisgIGF0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZl
YzMgTm9ybWFsOworICBhdHRyaWJ1dGUgdmVjMiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENv
b3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgg
KiBOb3JtYWwsIDEuMCk7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Q
b3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KKyAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2
ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX0ZyYWdDb2xvciA9IHRl
eENvb3JkMDsKKyAgfQorPC9zY3JpcHQ+CisKKworPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJz
b2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorICA8Y2FudmFzIGlkPSJnbCIgd2lkdGg9
IjEiIGhlaWdodD0iMSI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVu
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MDE2ODVkYWE2ZDZlODk5MWQ1MDMxZWNiOTFkMDgyNjVhN2U0
MzY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwK
QEAgLTAsMCArMSwxNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3Nz
IiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5p
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0Ij4KKwordmFyIHZlcnRzID0gWzAuMCwgMC4wLCAwLjAsICAgMS4wLCAwLjAsIDAu
MCwgICAwLjAsIDEuMCwgMC4wXTsKK3ZhciBub3JtYWxzID0gWzAuMCwgMC4wLCAxLjAsICAgMC4w
LCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wXTsKK3ZhciB0ZXhjb29yZHMgPSBbMC4wLDAuMCwg
IDEuMCwwLjAsICAwLjAsMS4wXTsKK3ZhciBpbmRpY2VzID0gWzAsMSwyXQorCitUZXN0cy5zdGFy
dFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFz
KSk7CisgIHZhciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQnLCAnZnJhZycpOworICBwcm9n
LnVzZSgpOworICB2YXIgc2ggPSBwcm9nLnNoYWRlci5wcm9ncmFtOworICB2YXIgdiA9IGdsLmdl
dEF0dHJpYkxvY2F0aW9uKHNoLCAnVmVydGV4Jyk7CisgIHZhciBuID0gZ2wuZ2V0QXR0cmliTG9j
YXRpb24oc2gsICdOb3JtYWwnKTsKKyAgdmFyIHQgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwg
J1RleCcpOworICByZXR1cm4gW2dsLHByb2csdixuLHRdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1
bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBhc3NlcnQoMCA9PSBnbC5nZXRFcnJvcigpKTsK
KyAgcmV0dXJuIFtnbCwgcHJvZywgdixuLHRdOworfQorVGVzdHMudGVhcmRvd24gPSBmdW5jdGlv
bihnbCwgcHJvZywgdixuLHQpIHsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOwor
ICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRy
aWJBcnJheSh0KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4s
dCkgeworICBwcm9nLmRlc3Ryb3koKTsKK30KKworVGVzdHMudGVzdERyYXdFbGVtZW50c1ZCTyA9
IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLAor
ICAgICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAg
ICAgICAgICAgICAgICAgICAgICB7ZWxlbWVudHM6dHJ1ZSwgZGF0YTpRdWFkLmluZGljZXN9KTsK
KyAgdmJvLmRyYXcodik7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAi
dmJvLmRyYXciKSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRS
SUFOR0xFUywgNSwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQs
IDAqMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFO
R0xFUywgMCwgZ2wuVU5TSUdORURfU0hPUlQsIDIqMSk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9u
KCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUq
Mik7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vy
cm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk9N
dWx0aSA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAvLyBjcmVhdGVzIFZCT3MgZm9y
IHRoZSBxdWFkIGFycmF5cywgYmluZHMgdGhlbSB3aXRoCisgIC8vIHZlcnRleEF0dHJpYlBvaW50
ZXIgYW5kIGNhbGxzIGRyYXdFbGVtZW50cworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAg
ICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAg
ICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLm5vcm1hbHN9LAorICAgICAgICAgICAgICAgICAg
ICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSwKKyAgICAgICAgICAgICAgICAgICAge2Vs
ZW1lbnRzOnRydWUsIGRhdGE6UXVhZC5pbmRpY2VzfSk7CisgIHZiby5kcmF3KHYsIG4sIHQpOwor
ICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kcmF3IikpOworICBh
c3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVO
U0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAyKjIpO30pOworICBhc3Nl
cnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lH
TkVEX1NIT1JULCAwKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA1KjIpO30pOworICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50ICsgb2Zmc2V0IG91dCBvZiBy
YW5nZSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEs
IGdsLlVOU0lHTkVEX1NIT1JULCA2KjIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZB
TElEX09QRVJBVElPTiwgImNvdW50ICsgb2Zmc2V0IG91dCBvZiByYW5nZSAyIiwKKyAgICAgIGZ1
bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hP
UlQsIDEqMik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBudWxsKTsKKyAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4
QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBhc3NlcnRPayhm
dW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NI
T1JULCAxKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDAsIGdsLlVOU0lHTkVEX1NIT1JULCAyKjIpO30pOworICBhc3NlcnRPayhmdW5j
dGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JU
LCAwKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklB
TkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA1KjIpO30pOworICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50ICsgb2Zmc2V0IG91dCBvZiByYW5nZSAzIiwK
KyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5T
SUdORURfU0hPUlQsIDYqMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BF
UkFUSU9OLCAiY291bnQgKyBvZmZzZXQgb3V0IG9mIHJhbmdlIDQiLAorICAgICAgZnVuY3Rpb24o
KXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoy
KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJy
b3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZl
cnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgYXR0cmlidXRlIHZlYzMgVmVydGV4Owor
ICBhdHRyaWJ1dGUgdmVjMyBOb3JtYWw7CisgIGF0dHJpYnV0ZSB2ZWMyIFRleDsKKworICB2YXJ5
aW5nIHZlYzQgdGV4Q29vcmQwOworICB2b2lkIG1haW4oKQorICB7CisgICAgZ2xfUG9zaXRpb24g
PSB2ZWM0KFZlcnRleCAqIE5vcm1hbCwgMS4wKTsKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KFRleCww
LjAsMC4wKSArIGdsX1Bvc2l0aW9uOworICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWci
IHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
KworICB2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOworICB2b2lkIG1haW4oKQorICB7CisgICAgdmVj
NCBjID0gdGV4Q29vcmQwOworICAgIGdsX0ZyYWdDb2xvciA9IGM7CisgIH0KKzwvc2NyaXB0Pgor
CisKKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48
Ym9keT4KKyAgPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjwvY2FudmFzPgor
PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xOTAyYjZmNDlmYjQwOGZkYTUwZDY5ZWIwMmI4OWVjOWVhNjgzYmY1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sCkBAIC0w
LDAgKzEsMjA5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4K
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0i
Li4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCI+CisKKy8vIFRlc3RzLmF1dG9ydW4gPSBmYWxzZTsKKy8vIFRlc3RzLm1lc3NhZ2UgPSAi
Q2F1dGlvbjogTWF5IGNyYXNoIHlvdXIgYnJvd3NlciI7CisKK3ZhciB2ZXJ0cyA9IFswLjAsIDAu
MCwgMC4wLCAgIDEuMCwgMC4wLCAwLjAsICAgMC4wLCAxLjAsIDAuMF07Cit2YXIgbm9ybWFscyA9
IFswLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMF07Cit2YXIg
dGV4Y29vcmRzID0gWzAuMCwwLjAsICAxLjAsMC4wLCAgMC4wLDEuMF07Cit2YXIgaW5kaWNlcyA9
IFs2MDAwMDAwMCwxLDJdCisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFy
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFw
R0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgdmFyIHByb2cgPSBuZXcgU2hhZGVy
KGdsLCAndmVydCcsICdmcmFnJyk7CisgIHByb2cudXNlKCk7CisgIHZhciBzaCA9IHByb2cuc2hh
ZGVyLnByb2dyYW07CisgIHZhciB2ID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdWZXJ0ZXgn
KTsKKyAgdmFyIG4gPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ05vcm1hbCcpOworICB2YXIg
dCA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnVGV4Jyk7CisgIHJldHVybiBbZ2wscHJvZyx2
LG4sdF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7Cisg
IGFzc2VydCgwID09IGdsLmdldEVycm9yKCkpOworICByZXR1cm4gW2dsLCBwcm9nLCB2LG4sdF07
Cit9CitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBnbC5k
aXNhYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJh
eShuKTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworfQorCitUZXN0cy5lbmRV
bml0ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHByb2cuZGVzdHJveSgpOworfQor
CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk8gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQp
IHsKKyAgICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAgICAgICAgICAgICAge3Np
emU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAgICAgICAgICAgICAge2VsZW1l
bnRzOnRydWUsIGRhdGE6WzAsMSwyLDIwMDAsIDQwODAyLCA1ODg3OTkyXX0pOworICBhc3NlcnRG
YWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtn
bC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNSoyKTt9
KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMs
IDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7Cisg
IGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBn
bC5VTlNJR05FRF9TSE9SVCwgMSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAg
dmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2
Ym8uZGVzdHJveSIpKTsKK30KKworVGVzdHMudGVzdERyYXdFbGVtZW50c1ZCT0J5dGUgPSBmdW5j
dGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAg
ICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAg
ICAgICAgICAgICAgICAge2VsZW1lbnRzOnRydWUsIHR5cGU6Z2wuVU5TSUdORURfQllURSwgZGF0
YTpbMCwxLDIsMjAwMCwgNDA4MDIsIDU4ODc5OTJdfSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24o
KXt2Ym8uZHJhdyh2KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUsIDUpO30pOworICBhc3NlcnRGYWls
KGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURf
QllURSwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRS
SUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rp
b24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9CWVRFLCAx
KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJy
b3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworVGVzdHMudGVzdERyYXdFbGVtZW50c1ZCT011
bHRpID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3Ig
dGhlIHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRl
ciBhbmQgY2FsbHMgZHJhd0VsZW1lbnRzCisgIC8vIFRoZSBxdWFkIGhhcyA2IHZlcnRpY2VzCisg
IHZhciB2Ym8gPSBuZXcgVkJPKGdsLAorICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRh
OlF1YWQudmVydGljZXN9LAorICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQu
bm9ybWFsc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjIsIGRhdGE6UXVhZC50ZXhjb29y
ZHN9LAorICAgICAgICAgICAgICAgICAgICB7ZWxlbWVudHM6dHJ1ZSwgZGF0YTpbMCwxLDIsNiwy
MDAwLCAyNTZdfSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXt2Ym8uZHJhdyh2LCBuLCB0KTt9
KTsKKyAgZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQs
IDApOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24o
KXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7
fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
MiwgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRy
YXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAg
YXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDQsIGds
LlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBh
c3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMiwgZ2wu
VU5TSUdORURfU0hPUlQsIDIqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgMyoyKTt9KTsKKyAg
YXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGds
LlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7Cisg
IGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBn
bC5VTlNJR05FRF9TSE9SVCwgMSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNioyKTt9KTsKKyAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4
QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5kcmF3RWxl
bWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7CisgIGFzc2VydEZh
aWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05F
RF9TSE9SVCwgNSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0T2so
ZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9T
SE9SVCwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChm
dW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NI
T1JULCAxKjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1
bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hP
UlQsIDYqMik7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBj
aGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVu
dHNWQk9NdWx0aUJ5dGUgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgLy8gY3JlYXRl
cyBWQk9zIGZvciB0aGUgcXVhZCBhcnJheXMsIGJpbmRzIHRoZW0gd2l0aAorICAvLyB2ZXJ0ZXhB
dHRyaWJQb2ludGVyIGFuZCBjYWxscyBkcmF3RWxlbWVudHMKKyAgLy8gVGhlIHF1YWQgaGFzIDYg
dmVydGljZXMKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgIHtz
aXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjMs
IGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MiwgZGF0YTpR
dWFkLnRleGNvb3Jkc30sCisgICAgICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCB0eXBl
OmdsLlVOU0lHTkVEX0JZVEUsIGRhdGE6WzAsMSwyLDYsMjAwMCwgMjU2XX0pOworICBhc3NlcnRG
YWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodiwgbiwgdCk7fSk7CisgIGdsLmRyYXdFbGVtZW50cyhn
bC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDApOworICBhc3NlcnRGYWlsKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNCwgZ2wuVU5TSUdORURfQllURSwg
LTEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFO
R0xFUywgLTEsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUsIDUpO30p
OworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
NiwgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMiwgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFz
c2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5T
SUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCA0LCBnbC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVE
X0JZVEUsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgMiwgZ2wuVU5TSUdORURfQllURSwgMik7fSk7CisgIGFzc2VydEZhaWwoZnVu
Y3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRF
LCAzKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklB
TkdMRVMsIDUsIGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9u
KCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfQllURSwgMSk7
fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAxLCBnbC5VTlNJR05FRF9CWVRFLCA2KTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5G
TE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBn
bC5VTlNJR05FRF9CWVRFLCAwKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRFLCA1KTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVE
X0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5U
UklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfQllURSwg
MSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5H
TEVTLCA2LCBnbC5VTlNJR05FRF9CWVRFLCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUsIDYpO30p
OworICB2Ym8uZGVzdHJveSgpOworICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihn
bCwgInZiby5kZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0U2hhcmVkQnVmZmVycyA9IGZ1bmN0
aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICB2YXIgdmJvID0gZ2wuY3JlYXRlQnVmZmVyKCk7Cisg
IHZhciB2ZXJ0c0FyciA9IG5ldyBVaW50MTZBcnJheShbMCwxLDMsMyw0LDUsNiw3LDhdKTsKKyAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZibyk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wu
QVJSQVlfQlVGRkVSLCB2ZXJ0c0FyciwgZ2wuU1RBVElDX0RSQVcpOworICBhc3NlcnRGYWlsKGZ1
bmN0aW9uKCl7Z2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgdmJvKX0pOwor
ICBnbC5kZWxldGVCdWZmZXIodmJvKTsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0
IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgIGF0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKKyAg
YXR0cmlidXRlIHZlYzMgTm9ybWFsOworICBhdHRyaWJ1dGUgdmVjMiBUZXg7CisKKyAgdmFyeWlu
ZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX1Bvc2l0aW9uID0g
dmVjNChWZXJ0ZXggKiBOb3JtYWwsIDEuMCk7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgsMC4w
LDAuMCkgKyBnbF9Qb3NpdGlvbjsKKyAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnIiB0
eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisK
KyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIHZlYzQg
YyA9IHRleENvb3JkMDsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworICB9Cis8L3NjcmlwdD4KKwor
Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJv
ZHk+CisgIDxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2NhbnZhcz4KKzwv
Ym9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJn
cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZTY5NjEzOTYwNTE2MzYzYjM1ZDRkMTcxOThjN2ZhY2JjN2QyOGU2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDEx
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgor
CitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENv
bnRleHQoY2FudmFzKSk7CisgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy50ZXN0UmVhZFBpeGVs
cyA9IGZ1bmN0aW9uKGdsKSB7CisgIC8vIHdlIGNhbid0IGtub3cgaWYgdGhpcyBpcyBnb2luZyB0
byBmYWlsIGJlY2F1c2Ugb2YgbmVnYXRpdmUgd2lkdGgKKyAgLy8gb3IgYmVjYXVzZSB0aGUgYnVm
ZmVyIHNpemUgZG9lc24ndCBtYXRjaCB0aGUgZGltZW5zaW9ucy4KKyAgYXNzZXJ0U29tZUdMRXJy
b3IoZ2wsICJuZWdhdGl2ZSB3aWR0aCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMo
MCwwLC0xLDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4
QXJyYXkoNCkpO30pOworICBhc3NlcnRTb21lR0xFcnJvcihnbCwgICJuZWdhdGl2ZSBoZWlnaHQi
LAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwxLC0xLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsKKyAgYXNzZXJ0
T2soIm5lZ2F0aXZlIHgiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKC0xLDAsMSwx
LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQp
KTt9KTsKKyAgYXNzZXJ0T2soIm5lZ2F0aXZlIHkiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFk
UGl4ZWxzKDAsLTEsMSwxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5l
dyBVaW50OEFycmF5KDQpKTt9KTsKKyAgYXNzZXJ0T2soImhlaWdodCA+IGJhY2tidWZmZXIgaGVp
Z2h0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMTYsMTcsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMTYqMTcqNCkpO30p
OworICBhc3NlcnRPaygid2lkdGggPiBiYWNrYnVmZmVyIHdpZHRoIiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wucmVhZFBpeGVscygwLDAsMTcsMTYsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisg
ICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMTcqMTYqNCkpO30pOworICBhc3NlcnRPaygid2lkdGgs
IGhlaWdodCA9IDAiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwwLDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMCkpO30p
OworICAvLyB3ZSBjYW4ndCBrbm93IGlmIHRoaXMgaXMgZ29pbmcgdG8gZmFpbCBiZWNhdXNlIG9m
IG5lZ2F0aXZlIHdpZHRoCisgIC8vIG9yIGJlY2F1c2UgdGhlIGJ1ZmZlciBzaXplIGRvZXNuJ3Qg
bWF0Y2ggdGhlIGRpbWVuc2lvbnMuCisgIGFzc2VydFNvbWVHTEVycm9yKGdsLCAiYmFkIGZvcm1h
dCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwgZ2wuRkxPQVQsIGds
LlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoNCo0KSk7fSk7CisgIC8v
IHdlIGNhbid0IGtub3cgaWYgdGhpcyBpcyBnb2luZyB0byBmYWlsIGJlY2F1c2Ugb2YgbmVnYXRp
dmUgd2lkdGgKKyAgLy8gb3IgYmVjYXVzZSB0aGUgYnVmZmVyIHNpemUgZG9lc24ndCBtYXRjaCB0
aGUgZGltZW5zaW9ucy4KKyAgYXNzZXJ0U29tZUdMRXJyb3IoZ2wsICJiYWQgdHlwZSIsCisgICAg
ICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwgZ2wuQUxQSEEsIGdsLkZMT0FULAor
ICAgICAgICAgIG5ldyBVaW50OEFycmF5KDEqNCkpO30pOworfQorCitUZXN0cy50ZXN0UmVhZFBp
eGVsc1NPUElNRyA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpIik7CisgICAgd2hpbGUgKCFpbWcuY29tcGxldGUpIHt9CisgICAgdmFyIHRl
eCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJE
LCB0ZXgpOworICAgIC8vIFNPUCBmYWlsdXJlCisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2ws
ICJ0aHJvdyBiZWNhdXNlIGltZyBpcyBmcm9tIGFub3RoZXIgZG9tYWluIiwKKyAgICAgIGZ1bmN0
aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBpbWcpO30pOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVf
MkQsIG51bGwpOworICAgIGFzc2VydE9rKCJjYW52YXMgc3RpbGwgb3JpZ2luLWNsZWFuIiwKKyAg
ICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMSwxLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsKKyAgICBnbC5kZWxldGVU
ZXh0dXJlKHRleCk7Cit9CitUZXN0cy50ZXN0UmVhZFBpeGVsc1NPUENhbnZhcyA9IGZ1bmN0aW9u
KGdsKSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpIik7CisgICAg
d2hpbGUgKCFpbWcuY29tcGxldGUpIHt9CisgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiYyIpOworICAgIGMuZ2V0Q29udGV4dCgiMmQiKS5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsK
KyAgICBhc3NlcnRGYWlsKCJjYW52YXMgdGhyb3dzIGJlY2F1c2Ugbm90IG9yaWdpbiBjbGVhbiIs
CisgICAgICBmdW5jdGlvbigpe2MuZ2V0Q29udGV4dCgiMmQiKS5nZXRJbWFnZURhdGEoMCwwLDEs
MSk7fSk7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIC8vIFNPUCBmYWlsdXJlCisgICAgYXNzZXJ0
VGhyb3dOb0dMRXJyb3IoZ2wsICJ0aHJvdyBiZWNhdXNlIGNhbnZhcyBpcyBub3Qgb3JpZ2luIGNs
ZWFuIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKKyAgICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBhc3NlcnRPaygiY2FudmFzIHN0aWxsIG9y
aWdpbi1jbGVhbiIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDEsMSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSg0KSk7fSk7
CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rp
b24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIg
d2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImMiIHdpZHRoPSIx
MjgiIGhlaWdodD0iMTI4Ij48L2NhbnZhcz4KKzxpbWcgaWQ9ImkiIHNyYz0iaHR0cDovL3d3dy5v
cGVuZ2wub3JnL2ltZy9vcGVuZ2xfbG9nby5qcGciPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3NzI0ODdiZjM0ZWMyNzEzMTBh
YWYzMGZkNWUwZTY4YTM0MjEzZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTA2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1
bmN0aW9uICgpIHsKKyAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ds
Jyk7CisgICAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7Cisg
ICAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2
YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIHRleCk7CisgICAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5j
dGlvbihnbCx0ZXgpIHsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsK
KyAgICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0g
ZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5KDQpOworICAgIGFz
c2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRhIiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCAyLDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIGRhdGEpOworICAgIH0pOworICAg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRh
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCAxLDIsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIGRhdGEpOworICAgIH0pOwor
ICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCB0YXJnZXQiLCBmdW5j
dGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLkZMT0FULCAwLCBnbC5SR0JBLCAxLDEs
MCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCBpbnRlcm5hbCBmb3JtYXQvZm9ybWF0Iiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5G
TE9BVCwgMSwxLDAsZ2wuRkxPQVQsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgfSk7Cisg
ICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImJvcmRlciA+IDAiLCBmdW5j
dGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDEsMSw0OCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIC8v
IFRoZSBzcGVjIHNheXMgemVybyBzaXplIGlzIE9LLiBJZiB5b3UgZGlzYWdyZWUgcGxlYXNlIGxp
c3QgdGhlIHNlY3Rpb24KKyAgICAvLyBpbiB0aGUgc3BlYyB0aGF0IGRldGFpbHMgdGhpcyBpc3N1
ZS4KKyAgICBhc3NlcnRPaygiemVybyBzaXplIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsMCxnbC5SR0JBLGdsLlVOU0lH
TkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFM
SURfVkFMVUUsICJuZWdhdGl2ZSB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgLTEsMSwwLGdsLlJHQkEsZ2wuVU5TSUdO
RURfQllURSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9WQUxVRSwgIm5lZ2F0aXZlIGhlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwtMSwwLGdsLlJHQkEsZ2wuVU5TSUdO
RURfQllURSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9FTlVNLCAiYmFkIGZvcm1hdCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwxLDAsZ2wuRkxPQVQsZ2wuVU5TSUdORURfQllU
RSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVN
LCAiYmFkIHR5cGUiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIDEsMSwwLGdsLlJHQkEsZ2wuVEVYVFVSRV8yRCwgbnVsbCk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJub3Qg
ZW5vdWdoIGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIDEsMSwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVp
bnQ4QXJyYXkoMykpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAiZm9ybWF0IGFuZCB0eXBlIGluY29tcGF0aWJsZSIsZnVuY3Rpb24oKXsKKyAg
ICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLDEsMCxnbC5S
R0JBLGdsLlVOU0lHTkVEX1NIT1JUXzVfNl81LCBudWxsKTsKKyAgICB9KTsKKyAgICBhc3NlcnRH
TEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvcm1hdCBhbmQgdHlwZSBpbmNvbXBh
dGlibGUiLGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCLCAxLDEsMCxnbC5SR0IsZ2wuVU5TSUdORURfU0hPUlRfNF80XzRfNCwgbnVsbCk7
CisgICAgfSk7Cit9CisKKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwv
c2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9o
ZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52
YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2Uy
REhUTUwuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTc3MmY2YjI2YzQyOWFkZGRlYzBkZjQ4YTk5YzlmM2I3OGY5NGQ1YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwKQEAgLTAsMCArMSwxNTIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKwor
VGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICAgIHZhciBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdM
Q29udGV4dChjYW52YXMpKTsKKyAgICBnbC52aWV3cG9ydCgwLDAsY2FudmFzLndpZHRoLGNhbnZh
cy5oZWlnaHQpOworICAgIGdsLmNsZWFyQ29sb3IoMCwwLDEsMSk7CisgICAgZ2wuY2xlYXIoZ2wu
Q09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgIGdsLmRpc2FibGUo
Z2wuREVQVEhfVEVTVCk7CisgICAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVu
Y3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJp
bmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgdmFyIHRleEN1YmVNYXAgPSBnbC5j
cmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwg
dGV4Q3ViZU1hcCk7CisgICAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5j
dGlvbihnbCwgdGV4LCB0ZXhDdWJlTWFwKSB7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworICAgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4
Q3ViZU1hcCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAg
ICBnbC5lbmFibGUoZ2wuQkxFTkQpOworICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnaScpOworICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsKKyAg
ICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpOworICAgIGN0eC5kcmF3SW1hZ2UoaW1nLDAs
MCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBh
cmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VE
R0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdf
RklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICAgIHZhciBmID0gbmV3IEZpbHRl
cihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAgZ2wuYmxl
bmRGdW5jKGdsLk9ORSwgZ2wuWkVSTyk7CisgICAgZi5hcHBseSgpOworICAgIGYuZGVzdHJveSgp
OworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwgYyk7CisgICAgZiA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0eS1o
ZmxpcC12ZXJ0JywgJ2lkZW50aXR5LWZyYWcnKTsKKyAgICBnbC5ibGVuZEZ1bmMoZ2wuU1JDX0FM
UEhBLCBnbC5PTkVfTUlOVVNfU1JDX0FMUEhBKTsKKyAgICBmLmFwcGx5KCk7CisgICAgZi5kZXN0
cm95KCk7CisgICAgdmFyIHZhbGlkX3RhcmdldHMgPSBbCisgICAgICAgIGdsLlRFWFRVUkVfMkQs
CisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICAgICAgZ2wuVEVY
VFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BP
U0lUSVZFX1ksCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICAg
ICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgICAgICBnbC5URVhUVVJFX0NV
QkVfTUFQX05FR0FUSVZFX1oKKyAgICBdOworICAgIHZhbGlkX3RhcmdldHMuZm9yRWFjaChmdW5j
dGlvbih0KSB7CisgICAgICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRCh0LCAw
LCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKKyAgICAgICAgYXNz
ZXJ0T2soZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKHQsIDEsIGdsLlJHQkEsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIGMpO30pOworICAgIH0pOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2Uy
RE5vblNPUCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpMicpOworICAgIHdoaWxlICghaW1nLmNvbXBsZXRlKSB7fQorICAgIHZhciBjID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnKTsKKyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0
KCcyZCcpOworICAgIGN0eC5kcmF3SW1hZ2UoaW1nLDAsMCk7CisgICAgYXNzZXJ0VGhyb3dOb0dM
RXJyb3IoZ2wsICJ0ZXhJbWFnZTJEIHdpdGggY3Jvc3Mtb3JpZ2luIGltYWdlIHNob3VsZCB0aHJv
dyBleGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpO30pOworICAg
IGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4SW1hZ2UyRCB3aXRoIGRpcnR5IG9yaWdpbiBj
YW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rpb24oKXtnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGMpO30pOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gt
dmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwor
dmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQwID0g
dmVjNChUZXgucywgMS4wLVRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0
KFZlcnRleCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktaGZsaXAt
dmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4Owor
YXR0cmlidXRlIHZlYzIgVGV4OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWlu
KCkKK3sKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KDEuMC1UZXgucywgVGV4LnQsIDAuMCwgMC4wKTsK
KyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2Ny
aXB0IGlkPSJpZGVudGl0eS1mcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBsZXIyRCBUZXh0dXJlOworCit2YXJ5
aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB2ZWM0IGMgPSB0ZXh0dXJl
MkQoVGV4dHVyZSwgdGV4Q29vcmQwLnN0KTsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworfQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjI1NiIgaGVpZ2h0
PSIyNTYiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iYyIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYi
PjwvY2FudmFzPgorPGltZyBpZD0iaSIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiICBzcmM9ImRh
dGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBUUFBQUFFQUNBWUFB
QUJjY3FobUFBQVRWRWxFUVZSNG5PM2QrVlBVZDU3SGNmMmI5azlZK3o0NCtxSzdPWm9HRlZBNVZm
Qkd6YWg5Y3hwTnpHRU9vUnVhNWxCRXVlL0RLNGZaN01hcG1TbTNNbHNodTh4T2RDcERKdDN2L2FF
QkFVSEFPTUc0ejBmVjUzZnFVL1Y2ZmQ3ZlQvZTMyYkVEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3
T3ZCa2FyN2wrMytHd0Jzazh4VXJUMHJUYjh2eDJRNDVqYW5sdTdZc1dQbnNnWGdUZVl3YWs4NVUz
WHY1WmlNMytYYlVoL2wyZElDQmM2MDgwV1oxdXI5MmJhU0hSUUI4R2F5R2RVV3UxSHpvU05GTyta
TTFmMmNiVExNNTFsVDV3b2M1cmtET2JiWi9WbTJTRW0yM1Z2c3lqaFY1bkpRQnNDYnhHWlFWdG1O
NnA0TW8vWVBkcU5HSEtsYXlVclhKOXpXbEVTaDB4SXZ6c21ZTDNIWjU0cHpNbTZWdVJ5Uk1wZlRX
K3B5VUFiQW04Qm1WTlZuR05UVGRxUDZ2ek9NR3JHbmFNU1pxcE5zazE3eWJLbFM2RFRML2l4Ym90
UmxqNWZsT3ViTDNJNjVNcGZqVnJuYkVhbFlLSU5TbDMzNXZRR0Ezd0tiVVcyeEdkV1JES1A2Nnd5
aldoWUx3SkdpRldlYVRySk5CbkZiVTJTUDNTVDdzNnhTbW11WGNyY3pVZTUyeHN0ekhmUGxic2Rj
dWR0NXF5elgzbEtXbHhrc3pYR2VLOG14bnl6SnlTamVRUmtBcnplYlFWbGxNNnA3YlViMTQ5VUY0
RWpWU21hYVRyTFM5ZUt5cE1nZWU3b2N5TFpKbWRzaEZYbVpVcEhuWEZFR0IvT3pKc3JkanFFeXQv
Tm1XYTQ5WEpidDlKYTZNazRWdTdoRUJGNUxOcjJxM21aUXo5Z002dTlYRkVCcXNnQ2NhVHJKWEpn
RWNpMHBzdGRoa3YzWk5pbk5UWmJBb2Z3c09aU2ZKUWZ6TXFVOHo1a29kenNTWmJtT2VJWGIrWFc1
MnpGYTVuTGNLblBaSTJVTGw0akZmS0lBdkI3TU9yWEZabEJIYkFiMTF6YWora21HVWJOdUFXU202
NWRLWUhkR21oUmxXcVE4enlGSENuTGsrTDVjT1Y2VUswY0tYVks1SjFzTzVtZEtoZHNwWmF2S29E
VFgwVlBpY2lUTElIdEZHVkFJd0svTllsQlcyZlRxWHB0Qi9kaG1TSjcrTHlxQXJIUzk1SmlUSlZE
Z05FbGxRWlo0S2d1bHJycFU2cXRMSlhCc3Y1d3QzeU1uOXJ2bGFJRkxEaTh2ZzF4SDRtQis1cCtX
bDBGcGpyMmxKTWNSTE02eW55dk96amh4SUl0N0ErQlhZOUdyNnEwTDQvOVNBYVJveEw3dy9MOVdB
V1NiREpKclRaRmlkNFo0anhaSlUvMXh1ZkhoT2VtK2VrNmlsMC9MQjc0cWFUeFRKb0dqKytWczJS
NDV2ajlYamhUa3lPSGRDNDhKQzJWd2FIZm1ueXJjem4rdmNEc215bkx0UXlVNUdUZUxjekxDcFRr
MlQzR1c3Vmh4VnNhZTdkNGY0STFsMXFrdFZvTTZZak9vdnJZYTFEOHNGb0I5V1FFNDE1a0E4dTFw
Y3ZSQWpud1VPaUxETFFHNTE5MG85MjQyeWxSSG5ReUcvWEx6Nm5tSlhxcVdEM3lWMG5DNlZQeEg5
OG5ac3QxeWZGK3VIQzEwU2RYZWJEbVVueXlEcW9Mczd3N2xaMzViN25iOHNjeHQvN2RTbDMya0pD
ZWpxeVFuNDBwSlRrYlpEaVlDNE5XemFKVlZWcjJxMTJaUVBiWWExSDlmdXdCMFN3V1FsYTZYTEZP
eUFBb3lUZkxXNFQzU2Z1V00zTDNSSUEvN0w4dkQvc3Z5WmU4bCtlelcyM0t2dTFFbU8ycGxvTmtu
M1ZmUFNldmIxZksrdDFJYXo1Uko3Y2xpOFIwcGt0T2wrWEtzS0ZrR0J4ZktvSEp2MWw4UDVtZit1
U0xQOGZ2eVhNZE1tZHNSS1hjNXFvdGRHUVhidlYvQUc4V2lWOVZiOWFvWnExNDFhek9veFdiY1hB
SGtXbE9rSkM5RGFrOFh5NjFQTDhpRG5vdExCYkJVQkgyWDVZdmJsK1JCejBXNWU2TkJKdHBycEwv
Wkp6Yy9PaS9YUDNoTFdpNmVrdmM4aDZXdXVrUzhWYy9LWVBFQzhXaGh6cE9xZ3V6dkt2ZG1mWFY0
ZDJiM3dmek05dy9sWlRFTkFLK0NXYWV3V0hXcWlFMnYrdHFxVi8ydzJRTElOaGtrUDJOaC9LODlJ
bU50SWZtaTk5S3o4UGNsMTVkTDY1SjgwWHRKUHIvMXR0eS8yU2gzdXh2a3p2VjZHWStGcE8rYVY2
NS84RHVKWER3cFZ6eUhwTzdVUWhtVTVNdlJJcGRVN2MyUlE3dXo1TVIrOXgrT0ZibnVIaTNNaVZR
VnVLb1A3ODR1MnU3OUEzN1RMRnBsbFZXbjZyWHFWWSt0ZXRXUEd4YkFzZ3ZBdlU2VHZIVm90OFN1
bkpZN04rcmx5NzYxZy85bGIzSjlzV3g5ZnZ1U2ZINzdiWG5RYzFIdWRUZklURmVkakxXRnBQZWFS
N28rZUV2Q2pTZmx5b1ZEVWxkZEtzSGpCK1RDNFVJNVZad25WUVU1aWJjcTlueDF1alMvNThRQjk5
WHFZbmY1RHFZQjRPVllkTS9HZjZ0ZTlZL2s4Ly9HQmVDeUdLWEVuU0UxMVFlazU1UHpjdjltNDhy
UXJ4UDhMMjVma2k5dXZ5MmZyMXFmM2JxWW5BeHVOTWgwWjUyTVJJTnkrMU9QWFAvd2Q5Sis1WXcw
MTUrUWQ4NGZsSnFUeFhMaGNJR2NMTTc3K1VoQnp0OHVWQmEybnF2Y2UvWnN4WjZ5N2Q1TDREZGxj
ZnkzNkZWZlcvU3FINndHbGF3dWdNV3ZBVHZUbGhXQXlTQjVHYWx5ZEgrT2ZGUnpSRWFqUWZuODF0
dnJoLzZGd1Y5Y0YrV3pXeGZsd2EyTGNyL25vdHpyYnBTWjYvVXkxVlVua3gyMU10d1NrSjVQTGtq
SGUyZWxxZjY0WEQ1M1VFSW5EaVF1SEM2WXJ5N09tejFXNUhyWStGYkY0UjFNQThEbVdMVEtLc3V5
OGQ5cVVMK3dBSlovQzNDUE0xM09IdHd0YmUrZWx1bnI5ZkxGdXNGL1B2U2YzMW83K0E5Nm5xMzdQ
UmZsZmsrajNMK1ovRmp4N28wR21lNnFrNG4yR2hscThVdlB4K2VsL2NvWnVWWjNYQzZmcS9pNTds
VHgzMnBPSG5nVU9sVWMvalI0bEV0Q1lDTVduYXJlb2xmTldQU3FXYXRCOWRPYUJiREdsNEJjRnFN
VXUyMFNPblZBYm41OFR1NTJOMjdxdFA5OGc5QS9XQXo5UXZBWDE3M0ZFdWh1a0x2ZERjbkpvTE5X
eG1NMU1oanh5ODJQemtubisyY1NzWGRQejRjYlQ4eCtHS2g4K0ZId1NPME9TZ0JZbTFtbnNKaDFx
b2hGcjF3WS81WHhad1d3L3RlQXM5S1R2d3R3WkgrMlhBMVZ5WEJyVUI3MFhGei90Rjluek45SzhP
OTFOOGk5aGZBdnJqczNHdVRPalhxWlhuaEVHRyt2a2RGb1VBYkQvcDk3UGo3L3Q1NnI1Ny9wdSti
NXBPWGQ2cVBidmRmQWE4ZWkzVlZsMGFsNkxYcmxZNHRPK2FORnIwcHN0Z0QyT05MbHpNSGRFbjJu
V3FZNjYrU3pseHp6SHl3Yjg1OEwvVHJCdjN2aldmZ1gxOHoxNUpydXFwT3B6bHFaYUE4bHhtS2h2
NDlHZzMvb0QvcyszdTY5Qmw0N0ZwMmkzcUpWelZoMHlsbXJUdm1UVlorOEFGejVIc0R6QlpCak5r
cHhyazJDcHc1STkwZm41TTZOaGhlZTlsc09mdmZtZzMvbityUHd6MXl2azVtdU9wbGVXSk1kdGZI
SmpwcnZKanRxS0FCZ3VlVDRyNGlZZGNxdnpicGRQMWoweXZqcUFyQ3Y5U0pRdWw3Y3RsU3AycGN0
SHdZclphZ2xJUGR2TnE1LzJyL2dZbTlUd2IreDllQlBkOVhKVkhJU21KL3FyUDFtdXJPR1J3QmdP
Wk4yVjVWRnAreTFhQmZHZjUweXNWUUFhM3dIWUxFQXN0TDFzdHVSTHFjcjhxWDE4aW1aN0tpVkJ6
MFhYeGo2alovdk54bjg2eHNIUC9rSVVDZFRuWFh4NmM3YXYweDExUFJzOTE0RHJ4MlRUbEZ2MGlw
bXpEcmxyRVduL01taVY4bG1DaURiYkpBRHVUWUpudHd2TjY3K1RtYXUxeWREdm1ib3QzNng5eXo0
OVM4Wi9OckZOVC9kVmZ2N3FjNjZrOXU5MThCcnhheGVQZjRyNGhzVmdIUGg5d0J6clNsU1ZaUXRI
d1FxWlREaWw3dmRqVnM3N2JjWS9KbXRCMSttT21zVGt4MjFUNmE2YWtlMmU2K0IxNDVKdTZ2S3BG
UDJtclRLeDJidHMvRi84VnVBTHlxQTNmWTBPVjJlTHkyWFRzcEVlNDNjZjhHei9UWUVYeVk3YW1X
eW95WSsxVkh6L1ZSblhmTjI3elh3MmxrYS83WEtXWXRXK1pORnA1VE5GRUMyeVNEN1hWWUpuTmdu
WFIrK0pkTmRkWnMrN1grZDROZktaRWVOVEhiVXpFOTIxRHlhNVBJUFdDbE5yYkNZdGNueDM2VGQ5
WU5acDRoYmRLcU5DMkJoL0s4c3pKTDMvWWRsSU95VE96Y2F0dnd4M3NZMytyOG8rRExaRVVwTXRO
YzhtZWhnL0FlZVkxTHZxakpwbGIwbWplS3hXYXY0MGF4VkpsWVh3RnB2QW1hbTZTVGZuaWJWWlhr
U2VmdWtqTVZDY3JkN0V5UCtlcWY5bG9KZnUySHdKenBxWktLOVJzYmJRL0hKOXREM2s1MDFqUC9B
YWlhTm90NmtTWTcvWnEzaUo3Tk9LWXNYZ0M4cWdDeVRRZmJsV01WL2ZKOTBmbkJXSmp0clY0ejNX
em50bjd2UnYvNTg2TGNhL0djck5EL1JIbm8wMmM3NEQ2eVFwbFpZVEZwRnhLUlZMSTMvS3d2ZytS
ZUI3Q25KM3dGd1dWTGtjR0dXdk9jL0xQM05YcG01WHYvTFQvdE5Cbjl5RThFZlQ0WS9NUjRMUFJs
dkR6SCtBNnVaTllwS2szWlhiL3JDK0cvU0toS2JMWUM4akRRNVZaWW40WXNuWkxRdEtIZHViQzcw
bXgzemYwbnd4OXRETWg0THlWZ3NGQitQQmI4ZmIyZjhCNTZUcmxIVXAyc1YweWFOWW1uODMwd0Ja
S1hyWlYrMlJYekg5MG5IKzJkbG9xTW1XUUN2NExSLytlQ0hsb0svRUg0Wmp3WG54MlBCUjJQdFFj
Wi9ZRG1UUnBtYXJsWTBtVFM3dmtyVEtQNXEwaXArTnV1VVl0bWdBQnlwV25GWmpIS29JRk91ZUE5
Slg1TkhwcnZxTmgzNnpaNzJ2eVQ0QytGUGpMWUZuNHpIZ296L3dHb216YTdkNlpwZE1aTkc4WTFK
bzNoaTFpNDgvMitpQVBJeVV1VmtxVnVhR2svSVNEUW9NOWRmM1dtL012ZzFXdzcrV0N3a1kyMUJH
VzBMeGtmYmd0K1B4VUtNLzhCcWFacGR1OVBVaWlhVFJ2R1ZTYXY0eTlJbkFCc1VRR2E2WG9xeUxl
STlWaVR0NzUyUjhmYlFxc0MvNHROK2k4RWZhd3ZLYURRb0k5SEEvR2hiOEp1eEtPTS84QnlUNWw5
VDA5U0tRTHBHTVdUU0t2N1RyRlU4TmV1VWllVUZZRnYxWXlDT1ZLM2ttSlBqLzd2ZWc5Sjd6U05U
bmJXdjZMUi9CY0ZmV0NQUlFId2tHdmpMU0RUQW0zL0FldExWeWp5VFJ2bU9TYXVZTk9zVTM1cDF5
bjlzVkFCdVc2cWNMTTJWYXczSFpiZzFJTk5kcithMFgvc3ovSzBGZnpRYWxORm9JSG42UndPL0gy
a0w4dVlmOENJbXphNUNrMjdYZTJhdGNzcWlVOGJYTFlBVWpXU202NlF3eXl6ZVk0VVN1M0pheG1L
aHRVUC9pMC83bWhXaFh4SDh0dldDSDVTUmFFQkdvNEhFU0t2L3lXaHJnTXMvWURQU2Rjb2lzMWJ4
dmtXbmZHclJLK05yRllBOVJTdlpab01jM091VWR6d0g1ZmExQ3pMUlVmTlBQZTNIMXpqdDF3dis0
aHB1RGNSSG9vSHZSNklCTHYrQXpUTHJsRVZtbmZLaFJhZDhhbDN6NThDMDRyYWx5SW1TWExuV2NF
eUdXdjB5MlZrclUxM1BoLzZsVHZzTmdqKzZRZkJIV2dNeTNCcVE0VmIvL0hCcjRORkkxTS9sSDdB
VkZyMHFZTkdySGxyMXFxYzJneXErL0UxQVo1cE9Dck5NNGpsYUlHMVhUc3RvVy9DZmQ5cS9WUEFE
TXR6cVR3eTMrSjhNTS80REwyWG5paEl3cXVJMm8xcnNLUnJKTmhta1lxOURMbCtva0Z1Zm5KZng5
cHBub1YvdmMvdXRudmF4TmNiOFRRVS9JTU90ZmhscThjZUhXL3pmRDBjREY3WjdJNEhmcXAwMnZT
cGcwNnNlMmd6cXB4bEdUZHllb3BGY2E0b2NMM0hKcC9WSFpURGlrNG1PelkzNEwzM2FiKzdFWHd6
K3d2TE5EN2NFYm8yMEJqSzNleE9CMzdLZE5xTTZZRE9vSDJZWTFVK2RhYnA0UWFaSkxoelpLOUYz
cTJVa0dwQ0pEVS83MEtzNzdUY012bCtHV255SndZanZ5VkJMNEozdDNqemdUYkRUWmxRSE1veWFo
OWxtL2RPS1BjNzRwZlBsMHZQeE9SbUxoWDZkMDM1VHdWOVlFVjk4c01VL05SRG04Zzk0VlhiYVU3
VUJsOFg0OEVTSjYra245VWQrSGdoN0V1UHRvVmR6MnJkdEp2UXZEdjVneExld3ZIOGNpSGc3aGxv
Q2x1M2VOT0JOc3ROdFN3MzRqeGM5YkgybmVuYW94VGMzM2g2YUg0dUY0dVB0d2NSNDhuL3UvUk5P
KzgwRzN5ZERFZC8vRElSOTl3YkN2c2J0M2l6Z1RiVHphcWd5MFBQeHVmQklOQkFiYnc4OUdvK0Za
c2Rqb2JueDl0RGNhQ3c0UDlvV2pJL0Znb214V0NBeCtncE8rK0cxeHZ4VndSK00rR1F3N1AxeE1P
eDdQQmoyOWZaSHZGWGJ2VkhBbTJybjRwcnNyS2tkNndpRlI5dERzZkgybXRoSUxQUm9yQzA0TzlZ
V21odU5oZVpHMndMekk5RmdmTFF0a0JpTkJoTFBoZjRYblBhTGF5RGlrNEd3VHdiQzN2OGRhUFkr
SElqNFB1cHY5akwrQTcrQ25jdlhlSHRON1dnc0dCNk5oV0tqc1ZCc0pCcDhOQm9Oem81RUEzTUxh
MzY0TlJBZmFmVW5ocFByNVU3N2xjR1hnYkQzN3dOaHo1LzdtNzBqQTJIUG1XM2VFK0QvclpXRjBC
YXNIVzRMaGtlaWdkaElMQlFiYmcwOEdtNE56QTYzK09lR1cveHpRNjMrK2FFV2YzeW94WmRJcm1X
aGIzays5SU5Mb1Y4S3Z2UTNlK01EemQ0ZitwczkvOUVmOXJZTlJIeU9iZDREQUF0V0ZNSm9XN0Iy
dURVWUhvb0dZa1BSUUd5b3hmOW9xTVUzT3hUeHpRMUZmSE5ETGI3NW9ZZ3ZQaGp4SnBaV2VPM2dK
OFB2U2ZRM2VYOGFDSHRuKzV1OU0zM05YUDRCcjdNVmhURGNHcWdkYnZXSEIxdjlzY0ZXZjJ3dzRu
ODBHUEhORG9hOWM0TVIzOXhnMkRzM0VQYk9ENFM5OFlHd0p6RVE5aVQ2bTczUzMreVZ2bWJQZkgr
elo3NnZ5Zk8wdjluN3A3NW1iMjkvTTVkL3dHL0pjNFV3MU9JUDkwZjhzY0dJUDlZZjhjY0d3cjVI
QTJIdjdFQ3pkMjZnMlR2WGx3eDl2Sy9aODIxL3MrZS8rcG84My9ZM2VUN3JhL1kwY2ZrSC9MYnRY
TDJHV255MUEyRmZ1Qy9zamZXSHZiSCtacytqdnJEM1ptK1RaNmkzeVRQVzEreVo3R3Z5WE85cjl2
aTM5MDhIOE0rd29oQjZtN3hsdDY5NVR3NkVmZWNHdzE1ZmY1UG5uYjVtVDZEMzJvVUQyL3gzQXZn
VjdkeXhZOGZPZ1NhdnU3L0prOVYzemF2ZTdqOElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlDVi9nOXRQ
SkVRdTFYdm1RQUFBQUJKUlU1RXJrSmdnZz09Ij4KKzxpbWcgaWQ9ImkyIiBzcmM9Imh0dHA6Ly9t
YXNoYWJsZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMDgvMDgvdGh1bmRlcmJpcmQtbG9nby02
NHg2NC5wbmciPgorCis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRC
YWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZmNTM2MWQzNTJiZGRmY2ZiOWZmZTQ5Y2MyZWYwNjBm
MDFiODU1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRC
YWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9
Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkg
eworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2
YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgICByZXR1cm4g
W2dsXTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciB0ZXggPSBn
bC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4
KTsKKyAgICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLHRl
eCkgeworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGdsLmRl
bGV0ZVRleHR1cmUodGV4KTsKK30KKworVGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihn
bCkgeworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMiwyLDAs
Z2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMF0pKTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1
YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAyLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9C
WVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVy
cm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAxLDIs
Z2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAg
ICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX0VOVU0sICJiYWQgdGFyZ2V0
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5GTE9BVCwgMCwgMCww
LCAxLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0p
KTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAid2lk
dGggb3V0IG9mIHJhbmdlIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLDAsIDAsIDMsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBV
aW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3Nl
cnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiaGVpZ2h0IG91dCBvZiByYW5nZSIsIGZ1
bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAw
LCAxLDMsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInplcm8gc2l6ZSIsIGZ1
bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAw
LCAwLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0p
KTsKKyAgICB9KTsKKyAgICBhc3NlcnRTb21lR0xFcnJvcihnbCwgIm5lZ2F0aXZlIHdpZHRoIiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLDAs
IDAsIC0xLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAs
MF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRTb21lR0xFcnJvcihnbCwgIm5lZ2F0aXZlIGhlaWdo
dCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwwLCAwLCAxLC0xLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAs
MCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxV
RSwgIm5lZ2F0aXZlIHgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsLTEsMSwxLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWlu
dDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgeSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1
YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwxLC0xLDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZ
VEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCBmb3JtYXQiLCBmdW5jdGlvbigpeworICAgICAg
ICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMSwxLGdsLkZMT0FULGds
LlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0pOworICAg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCB0eXBlIiwgZnVuY3Rpb24o
KXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxn
bC5SR0JBLGdsLlRFWFRVUkVfMkQsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0p
OworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3Vn
aCBkYXRhIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCAwLDAsIDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5
KFswLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwgImZvcm1hdCBkb2VzIG5vdCBtYXRjaCBpbnRlcm5hbCBmb3JtYXQiLCBmdW5jdGlv
bigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMSwx
LGdsLlJHQixnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDBdKSk7CisgICAg
fSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ0eXBlIGRv
ZXMgbm90IG1hdGNoIG9yaWdpbmFsIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX1NIT1JU
XzRfNF80XzQsIG5ldyBVaW50MTZBcnJheShbMF0pKTsKKyAgICB9KTsKK30KKworCitUZXN0cy5l
bmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBw
b3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJn
bCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjg0ZmQ4NDdjMjNjNGM3
OTFhZmMxM2I4OTU0Zjk1MmYxN2JjODRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbApAQCAtMCwwICsxLDE2NCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgor
KiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJt
aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv
YnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRv
Y3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBN
YXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisq
KiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVy
aWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJl
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np
b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50
aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJF
U1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisq
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4g
VEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0
ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQg
PSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdnbCcpOworICAgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykp
OworICAgIGdsLnZpZXdwb3J0KDAsMCxjYW52YXMud2lkdGgsY2FudmFzLmhlaWdodCk7CisgICAg
Z2wuY2xlYXJDb2xvcigwLDAsMSwxKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklU
IHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsK
KyAgICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCkgeworICAg
IHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV8yRCwgdGV4KTsKKyAgICB2YXIgdGV4Q3ViZU1hcCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsK
KyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFwKTsKKyAg
ICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLCB0ZXgsIHRl
eEN1YmVNYXApIHsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAg
ICBnbC5kZWxldGVUZXh0dXJlKHRleCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9D
VUJFX01BUCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXhDdWJlTWFwKTsKK30KKwor
VGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihnbCkgeworICAgIGdsLmVuYWJsZShnbC5C
TEVORCk7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpJyk7CisgICAg
dmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycpOworICAgIHZhciBjdHggPSBjLmdl
dENvbnRleHQoJzJkJyk7CisgICAgY3R4LmRyYXdJbWFnZShpbWcsMCwwKTsKKyAgICBnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGltZyk7CisgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wu
VEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGds
LnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1Q
X1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVS
RV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVS
RV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICAgIHZhciBmID0gbmV3
IEZpbHRlcihnbCwgJ2lkZW50aXR5LWZsaXAtdmVydCcsICdpZGVudGl0eS1mcmFnJyk7CisgICAg
Z2wuYmxlbmRGdW5jKGdsLk9ORSwgZ2wuWkVSTyk7CisgICAgZi5hcHBseSgpOworICAgIGYuZGVz
dHJveSgpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTsKKyAgICBmID0g
bmV3IEZpbHRlcihnbCwgJ2lkZW50aXR5LWhmbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOwor
ICAgIGdsLmJsZW5kRnVuYyhnbC5TUkNfQUxQSEEsIGdsLk9ORV9NSU5VU19TUkNfQUxQSEEpOwor
ICAgIGYuYXBwbHkoKTsKKyAgICBmLmRlc3Ryb3koKTsKKyAgICB2YXIgdmFsaWRfdGFyZ2V0cyA9
IFsKKyAgICAgICAgZ2wuVEVYVFVSRV8yRCwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9Q
T1NJVElWRV9YLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAg
ICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICAgICAgZ2wuVEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9ZLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZF
X1osCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWgorICAgIF07CisgICAg
dmFsaWRfdGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgYXNzZXJ0T2soZnVu
Y3Rpb24oKXsKKyAgICAgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKHQsIDAsIGdsLlJHQkEsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpOworICAgICAgICAgICAgICAgIGdsLnRleFN1Yklt
YWdlMkQodCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgICAg
IH0pOworICAgICAgICBhc3NlcnRPayhmdW5jdGlvbigpeworICAgICAgICAgICAgICAgIGdsLnRl
eEltYWdlMkQodCwgMSwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7Cisg
ICAgICAgICAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRCh0LCAxLCAwLCAwLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBjKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKK1Rlc3RzLnRlc3RU
ZXhJbWFnZTJETm9uU09QID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgaW1nID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2kyJyk7CisgICAgd2hpbGUgKCFpbWcuY29tcGxldGUpIHt9CisgICAg
dmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycpOworICAgIHZhciBjdHggPSBjLmdl
dENvbnRleHQoJzJkJyk7CisgICAgY3R4LmRyYXdJbWFnZShpbWcsMCwwKTsKKyAgICBhc3NlcnRU
aHJvd05vR0xFcnJvcihnbCwgInRleEltYWdlMkQgd2l0aCBjcm9zcy1vcmlnaW4gaW1hZ2Ugc2hv
dWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7
fSk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhTdWJJbWFnZTJEIHdpdGggY3Jv
c3Mtb3JpZ2luIGltYWdlIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIGdsLlJHQkEsIGdsLlVO
U0lHTkVEX0JZVEUsIGltZyk7fSk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhJ
bWFnZTJEIHdpdGggZGlydHkgb3JpZ2luIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIs
CisgICAgICBmdW5jdGlvbigpe2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7fSk7CisgICAgYXNzZXJ0VGhyb3dOb0dM
RXJyb3IoZ2wsICJ0ZXhTdWJJbWFnZTJEIHdpdGggZGlydHkgb3JpZ2luIGNhbnZhcyBzaG91bGQg
dGhyb3cgZXhjZXB0aW9uLiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRleFN1YkltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgMCwwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKK30K
KworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0iaWRlbnRpdHktZmxpcC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRy
aWJ1dGUgdmVjMyBWZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0
ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LnMsIDEu
MC1UZXgudCwgMC4wLCAwLjApOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7
Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWhmbGlwLXZlcnQiIHR5cGU9Ingt
c2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMy
IFRleDsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4
Q29vcmQwID0gdmVjNCgxLjAtVGV4LnMsIFRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRp
b24gPSB2ZWM0KFZlcnRleCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRp
dHktZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKKwordW5pZm9ybSBzYW1wbGVyMkQgVGV4dHVyZTsKKwordmFyeWluZyB2ZWM0IHRleENv
b3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBjID0gdGV4dHVyZTJEKFRleHR1cmUsIHRl
eENvb3JkMC5zdCk7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsKK30KKzwvc2NyaXB0PgorPC9oZWFk
Pjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZh
cz4KKzxjYW52YXMgaWQ9ImMiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZhcz4KKzxp
bWcgaWQ9ImkiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiAgc3JjPSJkYXRhOmltYWdlL3BuZzti
YXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFUVkVs
RVFWUjRuTzNkK1ZQVWQ1N0hjZjJiOWs5WSt6NDQrcUs3T1pvR0ZWQTVWZkJHemFoOWN4cE56R0VP
b1J1YTVsQkV1ZS9ESzRmWjdNYXBtU20zTWxzaHU4eE9kQ3BESnQzdi9hRUJBVUhBT01HNHowZlY1
M2ZxVS9WNmZkN2ZUL2UzMmJFREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd092QmthcjdsKzMrR3dC
c2s4eFVyVDByVGI4dngyUTQ1amFubHU3WXNXUG5zZ1hnVGVZd2FrODVVM1h2NVppTTMrWGJVaC9s
MmRJQ0JjNjA4MFdaMXVyOTJiYVNIUlFCOEdheUdkVVd1MUh6b1NORk8rWk0xZjJjYlRMTTUxbFQ1
d29jNXJrRE9iYlovVm0yU0VtMjNWdnN5amhWNW5KUUJzQ2J4R1pRVnRtTjZwNE1vL1lQZHFOR0hL
bGF5VXJYSjl6V2xFU2gweEl2enNtWUwzSFo1NHB6TW02VnVSeVJNcGZUVytweVVBYkFtOEJtVk5W
bkdOVFRkcVA2dnpPTUdyR25hTVNacXBOc2sxN3liS2xTNkRUTC9peGJvdFJsajVmbE91YkwzSTY1
TXBmalZybmJFYWxZS0lOU2wzMzV2UUdBM3dLYlVXMnhHZFdSREtQNjZ3eWpXaFlMd0pHaUZXZWFU
ckpOQm5GYlUyU1AzU1Q3czZ4U21tdVhjcmN6VWU1MnhzdHpIZlBsYnNkY3VkdDVxeXpYM2xLV2x4
a3N6WEdlSzhteG55ekp5U2plUVJrQXJ6ZWJRVmxsTTZwN2JVYjE0OVVGNEVqVlNtYWFUckxTOWVL
eXBNZ2VlN29jeUxaSm1kc2hGWG1aVXBIblhGRUdCL096SnNyZGpxRXl0L05tV2E0OVhKYnQ5SmE2
TWs0VnU3aEVCRjVMTnIycTNtWlF6OWdNNnU5WEZFQnFzZ0NjYVRySlhKZ0VjaTBwc3RkaGt2M1pO
aW5OVFpiQW9md3NPWlNmSlFmek1xVTh6NWtvZHpzU1pibU9lSVhiK1hXNTJ6RmE1bkxjS25QWkky
VUxsNGpGZktJQXZCN01PclhGWmxCSGJBYjExemFqK2ttR1ViTnVBV1NtNjVkS1lIZEdtaFJsV3FR
OHp5RkhDbkxrK0w1Y09WNlVLMGNLWFZLNUoxc081bWRLaGRzcFphdktvRFRYMFZQaWNpVExJSHRG
R1ZBSXdLL05ZbEJXMmZUcVhwdEIvZGhtU0o3K0x5cUFySFM5NUppVEpWRGdORWxsUVpaNEtndWxy
cnBVNnF0TEpYQnN2NXd0M3lNbjlydmxhSUZMRGk4dmcxeEg0bUIrNXArV2wwRnBqcjJsSk1jUkxN
NnlueXZPempoeElJdDdBK0JYWTlHcjZxMEw0LzlTQWFSb3hMN3cvTDlXQVdTYkRKSnJUWkZpZDRa
NGp4WkpVLzF4dWZIaE9lbStlazZpbDAvTEI3NHFhVHhUSm9HaisrVnMyUjQ1dmo5WGpoVGt5T0hk
QzQ4SkMyVndhSGZtbnlyY3puK3ZjRHNteW5MdFF5VTVHVGVMY3pMQ3BUazJUM0dXN1ZoeFZzYWU3
ZDRmNEkxbDFxa3RWb002WWpPb3ZyWWExRDhzRm9COVdRRTQxNWtBOHUxcGN2UkFqbndVT2lMRExR
RzUxOTBvOTI0MnlsUkhuUXlHL1hMejZubUpYcXFXRDN5VjBuQzZWUHhIOThuWnN0MXlmRit1SEMx
MFNkWGViRG1Vbnl5RHFvTHM3dzdsWjM1YjduYjhzY3h0LzdkU2wzMmtKQ2VqcXlRbjQwcEpUa2Ja
RGlZQzROV3phSlZWVnIycTEyWlFQYllhMUg5ZnV3QjBTd1dRbGE2WExGT3lBQW95VGZMVzRUM1Nm
dVdNM0wzUklBLzdMOHZEL3N2eVplOGwrZXpXMjNLdnUxRW1PMnBsb05rbjNWZlBTZXZiMWZLK3Qx
SWF6NVJKN2NsaThSMHBrdE9sK1hLc0tGa0dCeGZLb0hKdjFsOFA1bWYrdVNMUDhmdnlYTWRNbWRz
UktYYzVxb3RkR1FYYnZWL0FHOFdpVjlWYjlhb1pxMTQxYXpPb3hXYmNYQUhrV2xPa0pDOURhazhY
eTYxUEw4aURub3RMQmJCVUJIMlg1WXZibCtSQnowVzVlNk5CSnRwcnBML1pKemMvT2kvWFAzaExX
aTZla3ZjOGg2V3V1a1M4VmMvS1lQRUM4V2hoenBPcWd1enZLdmRtZlhWNGQyYjN3ZnpNOXcvbFpU
RU5BSytDV2Fld1dIV3FpRTJ2K3RxcVYvMncyUUxJTmhra1AyTmgvSzg5SW1OdElmbWk5OUt6OFBj
bDE1ZEw2NUo4MFh0SlByLzF0dHkvMlNoM3V4dmt6dlY2R1krRnBPK2FWNjUvOER1SlhEd3BWenlI
cE83VVFobVU1TXZSSXBkVTdjMlJRN3V6NU1SKzl4K09GYm51SGkzTWlWUVZ1S29QNzg0dTJ1NzlB
MzdUTEZwbGxWV242clhxVlkrdGV0V1BHeGJBc2d2QXZVNlR2SFZvdDhTdW5KWTdOK3JseTc2MWcv
OWxiM0o5c1d4OWZ2dVNmSDc3YlhuUWMxSHVkVGZJVEZlZGpMV0ZwUGVhUjdvK2VFdkNqU2ZseW9W
RFVsZGRLc0hqQitUQzRVSTVWWnduVlFVNWliY3E5bngxdWpTLzU4UUI5OVhxWW5mNURxWUI0T1ZZ
ZE0vR2Y2dGU5WS9rOC8vR0JlQ3lHS1hFblNFMTFRZWs1NVB6Y3Y5bTQ4clFyeFA4TDI1ZmtpOXV2
eTJmcjFxZjNicVluQXh1Tk1oMFo1Mk1SSU55KzFPUFhQL3dkOUorNVl3MDE1K1FkODRmbEpxVHhY
TGhjSUdjTE03NytVaEJ6dDh1VkJhMm5xdmNlL1pzeFo2eTdkNUw0RGRsY2Z5MzZGVmZXL1NxSDZ3
R2xhd3VnTVd2QVR2VGxoV0F5U0I1R2FseWRIK09mRlJ6UkVhalFmbjgxdHZyaC82RndWOWNGK1d6
V3hmbHdhMkxjci9ub3R6cmJwU1o2L1V5MVZVbmt4MjFNdHdTa0o1UExrakhlMmVscWY2NFhENTNV
RUluRGlRdUhDNllyeTdPbXoxVzVIclkrRmJGNFIxTUE4RG1XTFRLS3N1eThkOXFVTCt3QUpaL0Mz
Q1BNMTNPSHR3dGJlK2VsdW5yOWZMRnVzRi9QdlNmMzFvNytBOTZucTM3UFJmbGZrK2ozTCtaL0Zq
eDdvMEdtZTZxazRuMkdobHE4VXZQeCtlbC9jb1p1VlozWEM2ZnEvaTU3bFR4MzJwT0huZ1VPbFVj
L2pSNGxFdENZQ01XbmFyZW9sZk5XUFNxV2F0QjlkT2FCYkRHbDRCY0ZxTVV1MjBTT25WQWJuNThU
dTUyTjI3cXRQOThnOUEvV0F6OVF2QVgxNzNGRXVodWtMdmREY25Kb0xOV3htTTFNaGp4eTgyUHpr
bm4rMmNTc1hkUHo0Y2JUOHgrR0toOCtGSHdTTzBPU2dCWW0xbW5zSmgxcW9oRnIxd1kvNVh4WndX
dy90ZUFzOUtUdnd0d1pIKzJYQTFWeVhCclVCNzBYRnovdEY5bnpOOUs4TzkxTjhpOWhmQXZyanMz
R3VUT2pYcVpYbmhFR0crdmtkRm9VQWJEL3A5N1BqNy90NTZyNTcvcHUrYjVwT1hkNnFQYnZkZkFh
OGVpM1ZWbDBhbDZMWHJsWTR0TythTkZyMHBzdGdEMk9OTGx6TUhkRW4ybldxWTY2K1N6bHh6ekh5
d2I4NThML1RyQnYzdmpXZmdYMTh6MTVKcnVxcE9wemxxWmFBOGx4bUtodjQ5R2czL29EL3MrM3U2
OUJsNDdGcDJpM3FKVnpWaDB5bG1yVHZtVFZaKzhBRno1SHNEekJaQmpOa3B4cmsyQ3B3NUk5MGZu
NU02TmhoZWU5bHNPZnZmbWczL24rclB3ejF5dms1bXVPcGxlV0pNZHRmSEpqcHJ2Smp0cUtBQmd1
ZVQ0cjRpWWRjcXZ6YnBkUDFqMHl2anFBckN2OVNKUXVsN2N0bFNwMnBjdEh3WXJaYWdsSVBkdk5x
NS8yci9nWW05VHdiK3g5ZUJQZDlYSlZISVNtSi9xclAxbXVyT0dSd0JnT1pOMlY1VkZwK3kxYUJm
R2Y1MHlzVlFBYTN3SFlMRUFzdEwxc3R1UkxxY3I4cVgxOGltWjdLaVZCejBYWHhqNmpaL3ZOeG44
NnhzSFAva0lVQ2RUblhYeDZjN2F2MHgxMVBSczkxNERyeDJUVGxGdjBpcG16RHJsckVXbi9NbWlW
OGxtQ2lEYmJKQUR1VFlKbnR3dk42NytUbWF1MXlkRHZtYm90MzZ4OXl6NDlTOFovTnJGTlQvZFZm
djdxYzY2azl1OTE4QnJ4YXhlUGY0cjRoc1ZnSFBoOXdCenJTbFNWWlF0SHdRcVpURGlsN3ZkalZz
NzdiY1kvSm10QjErbU9tc1RreDIxVDZhNmFrZTJlNitCMTQ1SnU2dktwRlAybXJUS3gyYnRzL0Yv
OFZ1QUx5cUEzZlkwT1YyZUx5MlhUc3BFZTQzY2Y4R3ovVFlFWHlZN2FtV3lveVkrMVZIei9WUm5Y
Zk4yN3pYdzJsa2EvN1hLV1l0VytaTkZwNVRORkVDMnlTRDdYVllKbk5nblhSKytKZE5kZFpzKzdY
K2Q0TmZLWkVlTlRIYlV6RTkyMUR5YTVQSVBXQ2xOcmJDWXRjbngzNlRkOVlOWnA0aGJkS3FOQzJC
aC9LOHN6SkwzL1lkbElPeVRPemNhdHZ3eDNzWTMrcjhvK0RMWkVVcE10TmM4bWVoZy9BZWVZMUx2
cWpKcGxiMG1qZUt4V2F2NDBheFZKbFlYd0ZwdkFtYW02U1RmbmliVlpYa1NlZnVrak1WQ2NyZDdF
eVArZXFmOWxvSmZ1Mkh3SnpwcVpLSzlSc2JiUS9ISjl0RDNrNTAxalAvQWFpYU5vdDZrU1k3L1px
M2lKN05PS1lzWGdDOHFnQ3lUUWZibFdNVi9mSjkwZm5CV0pqdHJWNHozV3pudG43dlJ2LzU4Nkxj
YS9HY3JORC9SSG5vMDJjNzRENnlRcGxaWVRGcEZ4S1JWTEkzL0t3dmcrUmVCN0NuSjN3RndXVkxr
Y0dHV3ZPYy9MUDNOWHBtNVh2L0xUL3ROQm45eUU4RWZUNFkvTVI0TFBSbHZEekgrQTZ1Wk5ZcEtr
M1pYYi9yQytHL1NLaEtiTFlDOGpEUTVWWlluNFlzblpMUXRLSGR1YkM3MG14M3pmMG53eDl0RE1o
NEx5VmdzRkIrUEJiOGZiMmY4QjU2VHJsSFVwMnNWMHlhTlltbjgzMHdCWktYclpWKzJSWHpIOTBu
SCsyZGxvcU1tV1FDdjRMUi8rZUNIbG9LL0VINFpqd1hueDJQQlIyUHRRY1ovWURtVFJwbWFybFkw
bVRTN3ZrclRLUDVxMGlwK051dVVZdG1nQUJ5cFduRlpqSEtvSUZPdWVBOUpYNU5IcHJ2cU5oMzZ6
WjcydnlUNEMrRlBqTFlGbjR6SGdvei93R29temE3ZDZacGRNWk5HOFkxSm8zaGkxaTQ4LzIraUFQ
SXlVdVZrcVZ1YUdrL0lTRFFvTTlkZjNXbS9NdmcxV3c3K1dDd2tZMjFCR1cwTHhrZmJndCtQeFVL
TS84QnFhWnBkdTlQVWlpYVRSdkdWU2F2NHk5SW5BQnNVUUdhNlhvcXlMZUk5VmlUdDc1MlI4ZmJR
cXNDLzR0TitpOEVmYXd2S2FEUW9JOUhBL0doYjhKdXhLT00vOEJ5VDVsOVQwOVNLUUxwR01XVFNL
djdUckZVOE5ldVVpZVVGWUZ2MVl5Q09WSzNrbUpQai83dmVnOUo3elNOVG5iV3Y2TFIvQmNGZldD
UFJRSHdrR3ZqTFNEVEFtMy9BZXRMVnlqeVRSdm1PU2F1WU5Pc1UzNXAxeW45c1ZBQnVXNnFjTE0y
VmF3M0haYmcxSU5OZHIrYTBYL3N6L0swRmZ6UWFsTkZvSUhuNlJ3Ty9IMmtMOHVZZjhDSW16YTVD
azI3WGUyYXRjc3FpVThiWExZQVVqV1NtNjZRd3l5emVZNFVTdTNKYXhtS2h0VVAvaTAvN21oV2hY
eEg4dHZXQ0g1U1JhRUJHbzRIRVNLdi95V2hyZ01zL1lEUFNkY29pczFieHZrV25mR3JSSytOckZZ
QTlSU3ZaWm9NYzNPdVVkendINWZhMUN6TFJVZk5QUGUzSDF6anQxd3YrNGhwdURjUkhvb0h2UjZJ
Qkx2K0F6VExybEVWbW5mS2hSYWQ4YWwzejU4QzA0cmFseUltU1hMbldjRXlHV3YweTJWa3JVMTNQ
aC82bFR2c05nais2UWZCSFdnTXkzQnFRNFZiLy9IQnI0TkZJMU0vbEg3QVZGcjBxWU5HckhscjFx
cWMyZ3lxKy9FMUFaNXBPQ3JOTTRqbGFJRzFYVHN0b1cvQ2ZkOXEvVlBBRE10enFUd3kzK0o4TU0v
NERMMlhuaWhJd3F1STJvMXJzS1JySk5obWtZcTlETGwrb2tGdWZuSmZ4OXBwbm9WL3ZjL3V0bnZh
eE5jYjhUUVUvSU1PdGZobHE4Y2VIVy96ZkQwY0RGN1o3STRIZnFwMDJ2U3BnMDZzZTJnenFweGxH
VGR5ZW9wRmNhNG9jTDNISnAvVkhaVERpazRtT3pZMzRMMzNhYis3RVh3eit3dkxORDdjRWJvMjBC
akszZXhPQjM3S2ROcU02WURPb0gyWVkxVStkYWJwNFFhWkpMaHpaSzlGM3EyVWtHcENKRFUvNzBL
czc3VGNNdmwrR1dueUp3WWp2eVZCTDRKM3QzanpnVGJEVFpsUUhNb3lhaDlsbS9kT0tQYzc0cGZQ
bDB2UHhPUm1MaFg2ZDAzNVR3VjlZRVY5OHNNVS9OUkRtOGc5NFZYYmFVN1VCbDhYNDhFU0o2K2tu
OVVkK0hnaDdFdVB0b1ZkejJyZHRKdlF2RHY1Z3hMZXd2SDhjaUhnN2hsb0NsdTNlTk9CTnN0TnRT
dzM0anhjOWJIMm5lbmFveFRjMzNoNmFINHVGNHVQdHdjUjQ4bi91L1JOTys4MEczeWRERWQvL0RJ
Ujk5d2JDdnNidDNpemdUYlR6YXFneTBQUHh1ZkJJTkJBYmJ3ODlHbytGWnNkam9ibng5dERjYUN3
NFA5b1dqSS9GZ29teFdDQXgrZ3BPKytHMXh2eFZ3UitNK0dRdzdQMXhNT3g3UEJqMjlmWkh2Rlhi
dlZIQW0ycm40cHJzcktrZDZ3aUZSOXREc2ZIMm10aElMUFJvckMwNE85WVdtaHVOaGVaRzJ3THpJ
OUZnZkxRdGtCaU5CaExQaGY0WG5QYUxheURpazRHd1R3YkMzdjhkYVBZK0hJajRQdXB2OWpMK0E3
K0NuY3ZYZUh0TjdXZ3NHQjZOaFdLanNWQnNKQnA4TkJvTnpvNUVBM01MYTM2NE5SQWZhZlVuaHBQ
cjVVNzdsY0dYZ2JEMzd3Tmh6NS83bTcwakEySFBtVzNlRStEL3JaV0YwQmFzSFc0TGhrZWlnZGhJ
TEJRYmJnMDhHbTROekE2MytPZUdXL3h6UTYzKythRVdmM3lveFpkSXJtV2hiM2srOUlOTG9WOEt2
dlEzZStNRHpkNGYrcHM5LzlFZjlyWU5SSHlPYmQ0REFBdFdGTUpvVzdCMnVEVVlIb29HWWtQUlFH
eW94ZjlvcU1VM094VHh6UTFGZkhORExiNzVvWWd2UGhqeEpwWldlTzNnSjhQdlNmUTNlWDhhQ0h0
bis1dTlNMzNOWFA0QnI3TVZoVERjR3FnZGJ2V0hCMXY5c2NGV2Yyd3c0bjgwR1BITkRvYTljNE1S
Mzl4ZzJEczNFUGJPRDRTOThZR3dKekVROWlUNm03M1MzK3lWdm1iUGZIK3paNzZ2eWZPMHY5bjdw
NzVtYjI5L001ZC93Ry9KYzRVdzFPSVA5MGY4c2NHSVA5WWY4Y2NHd3I1SEEySHY3RUN6ZDI2ZzJU
dlhsd3g5dksvWjgyMS9zK2UvK3BvODMvWTNlVDdyYS9ZMGNma0gvTGJ0WEwyR1dueTFBMkZmdUMv
c2pmV0h2YkgrWnMranZyRDNabStUWjZpM3lUUFcxK3laN0d2eVhPOXI5dmkzOTA4SDhNK3dvaEI2
bTd4bHQ2OTVUdzZFZmVjR3cxNWZmNVBubmI1bVQ2RDMyb1VEMi94M0F2Z1Y3ZHl4WThmT2dTYXZ1
Ny9KazlWM3phdmU3ajhJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQ1YvZzl0UEpFUXUxWHZtUUFBQUFC
SlJVNUVya0pnZ2c9PSI+Cis8aW1nIGlkPSJpMiIgc3JjPSJodHRwOi8vbWFzaGFibGUuY29tL3dw
LWNvbnRlbnQvdXBsb2Fkcy8yMDA4LzA4L3RodW5kZXJiaXJkLWxvZ28tNjR4NjQucG5nIj4KKwor
PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBl
M2M1NjNkZTY1MzZhZTgyNGFkODFkYmMzNTcwMjA0MTI1NmYwMDMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sCkBAIC0wLDAgKzEsMTMwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1Qg
RURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0
OiBhY29zXzAwMV90b18wMDYuaHRtbDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIg
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBo
ZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4o
eworICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogImFjb3NfZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogImFjb3NfZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwg
CisgICAgICAibmFtZSI6ICJhY29zX2Zsb2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAg
ICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhY29zX3ZlYzJfZnJhZ194dmFyeV9y
ZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFjb3NfdmVjMl9mcmFnX3h2YXJ5LmZy
YWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFjb3NfdmVjMl9mcmFnX3h2YXJ5LnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYWNvc192ZWMz
X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAor
ICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhY29zX3ZlYzNf
ZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX3ZlYzNfZnJh
Z194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwg
CisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFk
ZXIiOiAiYWNvc19mbG9hdF92ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1v
ZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICJhY29zX2Zsb2F0X3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImFjb3NfZmxvYXRfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjog
ImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc192ZWMyX3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogImFjb3NfdmVjMl92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAg
ICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAg
fSwgCisgICAgICAibmFtZSI6ICJhY29zX3ZlYzJfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAg
ICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5j
ZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc192ZWMzX3ZlcnRfeHZh
cnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVm
YXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRl
c3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFjb3NfdmVjM192ZXJ0X3h2
YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX3ZlYzNfdmVydF94dmFyeS50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNp
bi9hc2luXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2Y3NTdlOWYwYTE4MGMxN2M2ZmZh
NGUxNjJhNDY2NDQzNTc3ODk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2lu
XzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0t
IHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogYXNpbl8wMDFfdG9fMDA2Lmh0
bWw8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3
aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJh
c2luX2Zsb2F0X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6
IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJh
c2luX2Zsb2F0X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNp
bl9mbG9hdF9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFy
ZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiYXNpbl92ZWMyX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAK
KyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJhc2luX3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAg
ICAibmFtZSI6ICJhc2luX3ZlYzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFzaW5fdmVjM19mcmFnX3h2YXJ5X3JlZi5mcmFn
IgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl92ZWMzX2ZyYWdfeHZhcnkuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl92ZWMzX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwg
CisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZl
cmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFzaW5fZmxvYXRfdmVy
dF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAg
ICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXNpbl9mbG9hdF92
ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhc2luX2Zsb2F0X3ZlcnRf
eHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogImFzaW5fdmVjMl92ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICJhc2luX3ZlYzJfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAi
YXNpbl92ZWMyX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21w
YXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogImFzaW5fdmVjM192ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAg
ICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICJhc2luX3ZlYzNfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAiYXNpbl92ZWMzX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAi
cGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRh
bi9hdGFuXzAwMV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2ZlM2E0YThkNTcxNzJlZTM0ZTcwNTcwZGQ4MTFmNjYwMDNmYzgyYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwKQEAg
LTAsMCArMSwxNTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQuIERPIE5PVCBFRElULgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBL
aHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm
cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlz
IHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiog
Ik1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh
bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVy
c29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj
dCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
CisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlh
bHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiog
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO
RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9S
IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNM
IGNvbmZvcm1hbmNlIHRlc3Q6IGF0YW5fMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMv
b2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xl
cy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDog
MTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdM
RVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNl
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5
X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fZmxvYXRfZnJhZ194dmFyeS50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgewor
ICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5f
dmVjMl9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxs
LCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9k
ZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92
ZWMyX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXRhbl92ZWMy
X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAg
IH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICJhdGFuX3ZlYzNfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImF0YW5fdmVjM19mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImF0YW5fdmVjM19mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAi
Y29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAg
ICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5eXZhcnlfcmVmLmZyYWci
CisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX2Zsb2F0X2ZyYWdfeHZhcnl5dmFyeS5mcmFn
IgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX2Zsb2F0X2ZyYWdfeHZhcnl5dmFyeS50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgewor
ICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5f
dmVjMl9mcmFnX3h2YXJ5eXZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6
IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJh
dGFuX3ZlYzJfZnJhZ194dmFyeXl2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjog
ImF0YW5fdmVjMl9mcmFnX3h2YXJ5eXZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAg
ICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzNfZnJhZ194dmFyeXl2YXJ5X3JlZi5mcmFn
IgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMzX2ZyYWdfeHZhcnl5dmFyeS5mcmFn
IgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX3ZlYzNfZnJhZ194dmFyeXl2YXJ5LnRl
c3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7Cisg
ICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhdGFu
X2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3Jp
ZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImF0
YW5fZmxvYXRfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXRhbl9m
bG9hdF92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICJhdGFuX3ZlYzJfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAiYXRhbl92ZWMyX3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJuYW1lIjogImF0YW5fdmVjMl92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRl
cm4iOiAiY29tcGFyZSIKKyAgICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xf
Zmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93
L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU3YmZhMTUxMWE2Y2Zj
NDRlMzAzZGQzNmMzNTM3YWUzMzBhYmQyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Nv
bnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMjUyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBO
T1QgRURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0
ZXN0OiBjb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAv
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMt
dGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdp
ZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsi
PjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0
UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIs
IAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAg
ICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAg
ICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAx
LjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAg
IF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
Li4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxs
LCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9k
ZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiZm9yX2Jy
ZWFrX2ZyYWcuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX2JyZWFrX2ZyYWcu
dGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsK
KyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAgICAgICAg
ICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAgICAidHlw
ZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAgICAgICAg
IDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAg
ICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwgCisgICAg
ICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisgICAgICB9
LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogImZvcl9icmVha192ZXJ0LnZlcnQiLCAKKyAgICAgICAgImZyYWdt
ZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bmFtZSI6ICJmb3JfYnJlYWtfdmVydC50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNv
bXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
InVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQi
OiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2
YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAg
ICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAg
ICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAi
dGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImZvcl9jb250aW51ZV9mcmFn
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9jb250aW51ZV9mcmFnLnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJl
c3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAi
dW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAs
IAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAg
ICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICJmb3JfY29udGludWVfdmVydC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5h
bWUiOiAiZm9yX2NvbnRpbnVlX3ZlcnQudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJj
b21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJ1bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50
IjogMSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAi
dmFsdWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAg
ICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAg
ICAgIH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0
L2V4cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAg
InRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVm
YXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJmb3JfbmVzdGVkX2JyZWFr
X2ZyYWcuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX25lc3RlZF9icmVha19m
cmFnLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAg
ICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAg
ICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAg
InR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAg
ICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAg
ICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICJmb3JfbmVzdGVkX2JyZWFrX3ZlcnQudmVydCIsIAorICAg
ICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9
LCAKKyAgICAgICJuYW1lIjogImZvcl9uZXN0ZWRfYnJlYWtfdmVydC50ZXN0Lmh0bWwiLCAKKyAg
ICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5j
ZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7Cisg
ICAgICAgICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYi
LCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAg
ICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAg
ICAgICAgICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
ImZvcl9uZXN0ZWRfY29udGludWVfZnJhZy5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6
ICJmb3JfbmVzdGVkX2NvbnRpbnVlX2ZyYWcudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAg
ICAgICJ1bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNv
dW50IjogMSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAg
ICAidmFsdWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisg
ICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAg
ICAgICAgIH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2V4cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAg
ICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImZvcl9uZXN0ZWRf
Y29udGludWVfdmVydC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX25lc3RlZF9j
b250aW51ZV92ZXJ0LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAg
ICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQ0OTljOWM5Zjc2
ZGM2MGEwZmU4NzAyMWNhYjBjMTE4YTYwZjcxMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTU2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBsb2dfMDAxX3Rv
XzAwOC5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBz
dHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2Ny
aXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6
IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAibG9nX2Zsb2F0X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJsb2dfZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6
ICJsb2dfZmxvYXRfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNv
bXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogImxvZ19mbG9hdF9mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJsb2dfZmxvYXRfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9
LCAKKyAgICAgICJuYW1lIjogImxvZ19mbG9hdF9mcmFnX3h2YXJ5MDEudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVu
Y2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfdmVjMl9mcmFnX3h2YXJ5
X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzJfZnJhZ194dmFyeS5m
cmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfdmVjMl9mcmFnX3h2YXJ5LnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzJf
ZnJhZ194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAK
KyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzJf
ZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ192ZWMyX2Zy
YWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAg
fSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImxvZ192ZWMzX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjog
ImxvZ192ZWMzX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21w
YXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9
LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5MDEuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAibG9nX3ZlYzNfZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAg
InBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2dfZmxvYXRfdmVydF94dmFyeV9y
ZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnku
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZy
YWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ19mbG9hdF92ZXJ0X3h2YXJ5LnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2dfZmxv
YXRfdmVydF94dmFyeTAxX3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQi
LCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2df
ZmxvYXRfdmVydF94dmFyeTAxLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfZmxv
YXRfdmVydF94dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhYWEx
NzhmMjhjYWYyODU5NWE3MWRkNmRjNWE3MzIwNDA2MDg5NmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTU2IEBACis8IURP
Q1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJ
VC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBs
b2cyXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWln
aHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9i
b2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oewor
ICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAi
cGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnkwMV9y
ZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeTAx
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeTAx
LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7
CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9n
Ml92ZWMyX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51
bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cy
X3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX3Zl
YzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisg
ICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVy
dGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICJsb2cyX3ZlYzJfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJuYW1lIjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0
dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFt
IjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzNfZnJhZ194dmFyeV9yZWYuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5LnRlc3QuaHRtbCIs
IAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMzX2ZyYWdf
eHZhcnkwMV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAg
ICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjM19mcmFn
X3h2YXJ5MDEuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nMl92ZWMzX2ZyYWdf
eHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwg
CisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFk
ZXIiOiAibG9nMl9mbG9hdF92ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1v
ZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImxvZzJfZmxvYXRfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjog
ImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nMl9mbG9hdF92ZXJ0X3h2YXJ5MDFfcmVmLnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgor
ICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogImxvZzJfZmxvYXRfdmVydF94dmFyeTAxLnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgor
ICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnkwMS50ZXN0Lmh0
bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NWVl
OTc5NTQ4Y2FmN2NiNmU1MjNmMzgxMmY1YjA5ZTRkODQ2MzY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsx
LDEzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9y
bWFuY2UgdGVzdDogc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9v
Z2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL29nbGVz
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBs
ZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3aWR0aDogMTZweDsgaGVpZ2h0OiAx
NnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitPcGVuR0xF
U1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAgIHsKKyAgICAgICJyZWZlcmVuY2VQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zsb2F0X2ZyYWdf
eHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
InNtb290aHN0ZXBfZmxvYXRfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfZmxvYXRfZnJhZ194dmFyeV9lZGdlY29u
c3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9
LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAic21vb3Roc3RlcF92ZWMyX2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9yZWYuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0ZXBfdmVjMl9mcmFnX3h2YXJ5X2Vk
Z2Vjb25zdHF1YXJ0ZXIuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAic21vb3Roc3Rl
cF92ZWMyX2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci50ZXN0Lmh0bWwiLCAKKyAgICAgICJw
YXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0ZXBfdmVjM19mcmFnX3h2YXJ5
X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51
bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJzbW9v
dGhzdGVwX3ZlYzNfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLmZyYWciCisgICAgICB9LCAK
KyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVjM19mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0
ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
InNtb290aHN0ZXBfZmxvYXRfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyX3JlZi52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsK
KyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zsb2F0X3ZlcnRfeHZhcnlfZWRn
ZWNvbnN0cXVhcnRlci52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAic21vb3Roc3RlcF9m
bG9hdF92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0
dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFt
IjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfdmVjMl92ZXJ0X3h2YXJ5
X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3Jp
ZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogInNt
b290aHN0ZXBfdmVjMl92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudmVydCIsIAorICAgICAg
ICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAK
KyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVjMl92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0
ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
InNtb290aHN0ZXBfdmVjM192ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfdmVjM192ZXJ0X3h2YXJ5X2VkZ2Vj
b25zdHF1YXJ0ZXIudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVj
M192ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVy
biI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0
dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDFhODRmNzAz
YjcxYWRiZjU0MjczMTgyYmE2NTIyMGEyMjZhNjM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3Jh
bXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwKQEAgLTAsMCAr
MSwxODcgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIEJpbmRBdHRyaWJMb2NhdGlvbiBMb25nIE5hbWVzIENvbmZvcm1hbmNlIFRlc3RzPC90
aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgc3R5bGU9ImJvcmRlcjogMXB4IHNv
bGlkIGJsYWNrOyIgaWQ9ImNhbnZhcyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4K
KzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0
Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbiQoc3VmZml4KTsKK2F0dHJpYnV0ZSB2ZWM0IHZD
b2xvciQoc3VmZml4KTsKK3ZhcnlpbmcgdmVjNCBjb2xvcjsKK3ZvaWQgbWFpbigpCit7CisgIGds
X1Bvc2l0aW9uID0gdlBvc2l0aW9uJChzdWZmaXgpOworICBjb2xvciA9IHZDb2xvciQoc3VmZml4
KTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0idGV4dC9zb21ldGhp
bmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3Zhcnlpbmcg
dmVjNCBjb2xvcjsKK3ZvaWQgbWFpbigpCit7CisgIGdsX0ZyYWdDb2xvciA9IGNvbG9yOworfQor
PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCBjaGVja3MgdXNpbmcgbG9uZyBuYW1lcyB3aXRoIGJpbmRBdHRyaWJMb2NhdGlvbiB3b3JrLiIp
OworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKwordmFyIHd0dSA9
IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2FudmFzIik7
CitzaG91bGRCZU5vbk51bGwoImdsIik7CisKK2Z1bmN0aW9uIGZhaWwoeCx5LCBidWYsIHNob3Vs
ZEJlKQoreworICB2YXIgaSA9ICh5KjUwK3gpICogNDsKKyAgdmFyIHJlYXNvbiA9ICJwaXhlbCBh
dCAoIit4KyIsIit5KyIpIGlzICgiK2J1ZltpXSsiLCIrYnVmW2krMV0rIiwiK2J1ZltpKzJdKyIs
IitidWZbaSszXSsiKSwgc2hvdWxkIGJlICIrc2hvdWxkQmU7CisgIHRlc3RGYWlsZWQocmVhc29u
KTsKK30KKworZnVuY3Rpb24gcGFzcygpCit7CisgIHRlc3RQYXNzZWQoImRyYXdpbmcgaXMgY29y
cmVjdCIpOworfQorCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2tpbmcgZ2wuYmluZEF0dHJpYkxv
Y2F0aW9uIHdpdGggbG9uZyBuYW1lcy4iKTsKKwordmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9n
cmFtKCk7CisKK3ZhciBzdWZmaXggPSAibG9uZyI7Citmb3IgKHZhciBpaSA9IDA7IGlpIDwgNTsg
KytpaSkgeworICBzdWZmaXggPSBzdWZmaXggKyBzdWZmaXg7Cit9Cit2YXIgcmVwbGFjZW1lbnRz
ID0geworICBzdWZmaXg6IHN1ZmZpeAorfTsKKwordmFyIHZzcmMgPSB3dHUucmVwbGFjZVBhcmFt
cyh3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyIiksIHJlcGxhY2VtZW50cyk7Cit2YXIgZnNyYyA9IHd0
dS5yZXBsYWNlUGFyYW1zKHd0dS5nZXRTY3JpcHQoImZzaGFkZXIiKSwgcmVwbGFjZW1lbnRzKTsK
KwordmFyIHZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIHZzcmMsIGdsLlZFUlRFWF9TSEFERVIpOwor
dmFyIGZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIGZzcmMsIGdsLkZSQUdNRU5UX1NIQURFUik7CisK
K3ZhciBhdHRyaWJzID0geworICB2UG9zaXRpb246ICJ2UG9zaXRpb24iICsgc3VmZml4LAorICB2
Q29sb3I6ICJ2Q29sb3IiICsgc3VmZml4Cit9OworCitnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwg
dnMpOworZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIGZzKTsKKwordmFyIHBvc2l0aW9ucyA9IGds
LmNyZWF0ZUJ1ZmZlcigpOworZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHBvc2l0aW9u
cyk7CitnbC5idWZmZXJEYXRhKAorICBnbC5BUlJBWV9CVUZGRVIsCisgIG5ldyBGbG9hdDMyQXJy
YXkoCisgICAgICBbIDEuMCwgIDEuMCwgMC4wLAorICAgICAgIC0xLjAsICAxLjAsIDAuMCwKKyAg
ICAgICAtMS4wLCAtMS4wLCAwLjAsCisgICAgICAgIDEuMCwgIDEuMCwgMC4wLAorICAgICAgIC0x
LjAsIC0xLjAsIDAuMCwKKyAgICAgICAgMS4wLCAtMS4wLCAwLjBdKSwKKyAgZ2wuU1RBVElDX0RS
QVcpOworCit2YXIgY29sb3JzID0gZ2wuY3JlYXRlQnVmZmVyKCk7CitnbC5iaW5kQnVmZmVyKGds
LkFSUkFZX0JVRkZFUiwgY29sb3JzKTsKK2dsLmJ1ZmZlckRhdGEoCisgIGdsLkFSUkFZX0JVRkZF
UiwKKyAgbmV3IEZsb2F0MzJBcnJheSgKKyAgICAgIFsgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAs
MSwKKyAgICAgICAgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAsMSwKKyAgICAgICAgMCwxLDAsMSwK
KyAgICAgICAgMCwxLDAsMV0pLAorICBnbC5TVEFUSUNfRFJBVyk7CisKK2Z1bmN0aW9uIHNldEJp
bmRMb2NhdGlvbnMoY29sb3JMb2NhdGlvbiwgcG9zaXRpb25Mb2NhdGlvbikgeworICBnbC5iaW5k
QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgcG9zaXRpb25Mb2NhdGlvbiwgYXR0cmlicy52UG9zaXRp
b24pOworICBnbC5iaW5kQXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgY29sb3JMb2NhdGlvbiwgYXR0
cmlicy52Q29sb3IpOworICBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKKyAgZ2wudXNlUHJvZ3Jh
bShwcm9ncmFtKTsKKyAgdmFyIGxpbmtlZCA9IChnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dy
YW0sIGdsLkxJTktfU1RBVFVTKSAhPSAwKTsKKyAgYXNzZXJ0TXNnKGxpbmtlZCwgInByb2dyYW0g
bGlua2VkIHN1Y2Nlc3NmdWxseSIpOworCisgIGRlYnVnKCJ2UG9zaXRpb246IiArIGdsLmdldEF0
dHJpYkxvY2F0aW9uKHByb2dyYW0sIGF0dHJpYnMudlBvc2l0aW9uKSkKKyAgZGVidWcoInZDb2xv
ciAgIDoiICsgZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52Q29sb3IpKQor
ICBhc3NlcnRNc2coZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52UG9zaXRp
b24pID09IHBvc2l0aW9uTG9jYXRpb24sCisgICAgICAgICAgICAibG9jYXRpb24gb2YgdlBvc2l0
aW9uIHNob3VsZCBiZSAiICsgcG9zaXRpb25Mb2NhdGlvbik7CisgIGFzc2VydE1zZyhnbC5nZXRB
dHRyaWJMb2NhdGlvbihwcm9ncmFtLCBhdHRyaWJzLnZDb2xvcikgPT0gY29sb3JMb2NhdGlvbiwK
KyAgICAgICAgICAgICJsb2NhdGlvbiBvZiB2Q29sb3Igc2hvdWxkIGJlICIgKyBjb2xvckxvY2F0
aW9uKTsKKworICB2YXIgcGxvYyA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sIGF0dHJp
YnMudlBvc2l0aW9uKTsKKyAgdmFyIGNsb2MgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFt
LCBhdHRyaWJzLnZDb2xvcik7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBwb3Np
dGlvbnMpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uKTsK
KyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihwb3NpdGlvbkxvY2F0aW9uLCAzLCBnbC5GTE9BVCwg
ZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgY29sb3JzKTsK
KyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoY29sb3JMb2NhdGlvbik7CisgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIoY29sb3JMb2NhdGlvbiwgNCwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsK
K30KKworZnVuY3Rpb24gY2hlY2tEcmF3KGNvbG9yTG9jYXRpb24sIHBvc2l0aW9uTG9jYXRpb24s
IHIsIGcsIGIsIGEpIHsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGds
LCBbciwgZywgYiwgYV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKworICBnbC5kaXNhYmxlVmVydGV4
QXR0cmliQXJyYXkocG9zaXRpb25Mb2NhdGlvbik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJB
cnJheShjb2xvckxvY2F0aW9uKTsKK30KKworc2V0QmluZExvY2F0aW9ucygyLCAzKTsKK2NoZWNr
RHJhdygyLCAzLCAwLCAyNTUsIDAsIDI1NSk7CisKK3NldEJpbmRMb2NhdGlvbnMoMCwgMyk7Citn
bC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CitnbC52ZXJ0ZXhBdHRyaWI0ZigwLCAxLCAw
LCAwLCAxKTsKK2NoZWNrRHJhdygwLCAzLCAyNTUsIDAsIDAsIDI1NSk7CisKK2dsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOThjMmFlY2I0NGFmMzc3NWI4NWQ0ZWYyYWNmOWRjN2U1NzNlMWI1ZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sCkBAIC0wLDAgKzEsNDIy
IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
UHJvZ3JhbSBDb21waWxpbmcvTGlua2luZyBDb25mb3JtYW5jZSBUZXN0PC90aXRsZT4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIiB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
ZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyIgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0
dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAg
IGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
ImZzaGFkZXItcmVkIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICB2b2lkIG1haW4o
KQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgxLCAwLCAwLCAxKTsKKyAgICB9
Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXItZ3JlZW4iIHR5cGU9Ingtc2hhZGVyL3gt
ZnJhZ21lbnQiPgorICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3Ig
PSB2ZWM0KDAsIDEsIDAsIDEpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRl
ci1zZXR0YWJsZSIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9ybSB2ZWM0IHVfY29sb3I7CisgICAgdm9pZCBtYWluKCkK
KyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHVfY29sb3I7CisgICAgfQorPC9zY3JpcHQ+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIiIGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwor
ZnVuY3Rpb24gZ28oKSB7CisgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcHJvZ3JhbSBjb21w
aWxpbmcvbGlua2luZy91c2luZyB3b3JrcyBjb3JyZWN0bHkuIik7CisKKyAgICBkZWJ1ZygiIik7
CisgICAgZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7CisKKyAgICB2YXIgZ2wgPSB3dHUuY3Jl
YXRlM0RDb250ZXh0KCJjYW52YXMiKTsKKyAgICBpZiAoIWdsKSB7CisgICAgICAgIHRlc3RGYWls
ZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgICBnbC5jbGVhckNvbG9yKDAu
MCwgMC4wLCAwLjAsIDAuMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGds
LkRFUFRIX0JVRkZFUl9CSVQpOworCisgICAgZnVuY3Rpb24gZG9BcnJheXNIYXZlU2FtZUNvbnRl
bnRzKGEsIGIpIHsKKyAgICAgICAgdmFyIGZsYWdzID0gW107CisgICAgICAgIGZ1bmN0aW9uIGhh
c1VudXNlZFZhbHVlKGEsIHZhbHVlKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlp
IDwgYS5sZW5ndGg7ICsraWkpIHsKKyAgICAgICAgICAgICAgICBpZiAoYVtpaV0gPT09IHZhbHVl
ICYmICFmbGFnc1tpaV0pIHsKKyAgICAgICAgICAgICAgICAgICAgZmxhZ3NbaWldID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3Ig
KHZhciBpaSA9IDA7IGlpIDwgYS5sZW5ndGg7IGlpKyspIHsKKyAgICAgICAgICAgICAgICBpZiAo
IWhhc1VudXNlZFZhbHVlKGIsIGFbaWldKSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9IGNhdGNo
IChleCkgeworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKworLy8vLy8vLyBDaGVjayBjb21waWxlU2hhZGVyKCkgLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIHZhciB2cyA9IGdsLmNyZWF0ZVNoYWRlcihn
bC5WRVJURVhfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UodnMsICJhdHRyaWJ1dGUgdmVj
NCBhVmVydGV4OyBhdHRyaWJ1dGUgdmVjNCBhQ29sb3I7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZv
aWQgbWFpbigpIHsgdkNvbG9yID0gYUNvbG9yOyBnbF9Qb3NpdGlvbiA9IGFWZXJ0ZXg7IH0iKTsK
KyAgICBnbC5jb21waWxlU2hhZGVyKHZzKTsKKworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQ
YXJhbWV0ZXIodnMsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVlLAorICAgICAgICAgICAgICAi
Z29vZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBjb21waWxlIik7CisKKyAgICAvLyBWZXJpZnkgdGhh
dCBjb25zdGFudHMgcmVtb3ZlZCBmcm9tIHRoZSBXZWJHTCBzcGVjIGdlbmVyYXRlIElOVkFMSURf
RU5VTSBlcnJvcnMKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxk
IGJlIG5vIGVycm9ycyBhdCB0aGlzIHBvaW50Iik7CisgICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRl
clBhcmFtZXRlcih2cywgZGVza3RvcEdMWydJTkZPX0xPR19MRU5HVEgnXSkgPT09IG51bGwsICJp
bnZhbGlkIGNhbGwgdG8gZ2V0U2hhZGVyUGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiSU5GT19MT0dfTEVOR1RI
IGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFNoYWRlclBhcmFtZXRlciBpbiBXZWJHTCIp
OworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMsIGRlc2t0b3BHTFsnU0hB
REVSX1NPVVJDRV9MRU5HVEgnXSkgPT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0U2hhZGVy
UGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuSU5WQUxJRF9FTlVNLCAiU0hBREVSX1NPVVJDRV9MRU5HVEggaXMgbm90IGEgdmFsaWQgYXJn
dW1lbnQgdG8gZ2V0U2hhZGVyUGFyYW1ldGVyIGluIFdlYkdMIik7CisKKyAgICB2YXIgdnMyID0g
Z2wuY3JlYXRlU2hhZGVyKGdsLlZFUlRFWF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZSh2
czIsICJhdHRyaWJ1dGUgdmVjNCBhVmVydGV4OyBhdHRyaWJ1dGUgdmVjNCBhQ29sb3I7IHZhcnlp
bmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgdkNvbG9yID0gYUNvbG9yOyBnbF9Qb3NpdGlv
biA9IGFWZXJ0ZXggKiAwLjU7IH0iKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKHZzMik7CisKKyAg
ICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzMiwgZ2wuQ09NUElMRV9TVEFUVVMp
ID09IHRydWUsCisgICAgICAgICAgICAgICJnb29kIHZlcnRleCBzaGFkZXIgIzIgc2hvdWxkIGNv
bXBpbGUiKTsKKworICAgIHZhciB2c0JhZCA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hB
REVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UodnNCYWQsICJXSUxMIE5PVCBDT01QSUxFOyIpOwor
ICAgIGdsLmNvbXBpbGVTaGFkZXIodnNCYWQpOworCisgICAgLy8gR0xTTCAxLjAuMTcgc2VjdGlv
biAxMC4yNy4gY29tcGlsZSBzaGFkZXIgZG9lcyBub3QgaGF2ZSB0byByZXR1cm4gZmFpbHVyZS4K
KyAgICAvL2Fzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnNCYWQsIGdsLkNPTVBJTEVf
U1RBVFVTKSA9PSBmYWxzZSwKKyAgICAvLyAgICAgICAgICAiYmFkIHZlcnRleCBzaGFkZXIgc2hv
dWxkIGZhaWwgdG8gY29tcGlsZSIpOworCisgICAgdmFyIGZzID0gZ2wuY3JlYXRlU2hhZGVyKGds
LkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZzLCAicHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgZ2xfRnJhZ0Nv
bG9yID0gdkNvbG9yOyB9Iik7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmcyk7CisKKyAgICBhc3Nl
cnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1
ZSwKKyAgICAgICAgICAgICAgImdvb2QgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBjb21waWxlIik7
CisKKyAgICB2YXIgZnMyID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7Cisg
ICAgZ2wuc2hhZGVyU291cmNlKGZzMiwgInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyB2YXJ5aW5n
IHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IGdsX0ZyYWdDb2xvciA9IHZDb2xvciAqIDAuNTsg
fSIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMyKTsKKworICAgIGFzc2VydE1zZyhnbC5nZXRT
aGFkZXJQYXJhbWV0ZXIoZnMyLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAg
ICAgICAgImdvb2QgZnJhZ21lbnQgc2hhZGVyICMyIHNob3VsZCBjb21waWxlIik7CisKKyAgICB2
YXIgZnNCYWQgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICBnbC5z
aGFkZXJTb3VyY2UoZnNCYWQsICJXSUxMIE5PVCBDT01QSUxFOyIpOworICAgIGdsLmNvbXBpbGVT
aGFkZXIoZnNCYWQpOworCisgICAgLy8gR0xTTCAxLjAuMTcgc2VjdGlvbiAxMC4yNy4gY29tcGls
ZSBzaGFkZXIgZG9lcyBub3QgaGF2ZSB0byByZXR1cm4gZmFpbHVyZS4KKyAgICAvL2Fzc2VydE1z
ZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnNCYWQsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSBmYWxz
ZSwKKyAgICAvLyAgICAgICAgICAiYmFkIGZyYWdtZW50IHNoYWRlciBzaG91bGQgZmFpbCB0byBj
b21waWxlIik7CisKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxk
IGJlIG5vIGVycm9ycyBhdCB0aGlzIHBvaW50Iik7CisKKy8vLy8vLy8gQ2hlY2sgYXR0YWNoU2hh
ZGVyKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIGZ1bmN0aW9uIGNoZWNr
QXR0YWNoU2hhZGVyKGFscmVhZHlfYXR0YWNoZWRfc2hhZGVycywgc2hhZGVyLCBleHBlY3RlZF9l
cnJvcl9jb2RlLCBlcnJtc2cpIHsKKyAgICAgICAgdmFyIHByb2cgPSBnbC5jcmVhdGVQcm9ncmFt
KCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxyZWFkeV9hdHRhY2hlZF9zaGFkZXJz
Lmxlbmd0aDsgKytpKQorICAgICAgICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2csIGFscmVhZHlf
YXR0YWNoZWRfc2hhZGVyc1tpXSk7CisgICAgICAgIGlmKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9f
RVJST1IpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGlu
IGF0dGFjaFNoYWRlcigpIik7CisgICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nLCBzaGFkZXIp
OworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGV4cGVjdGVkX2Vycm9yX2NvZGUsIGVycm1z
Zyk7CisgICAgfQorCisgICAgY2hlY2tBdHRhY2hTaGFkZXIoW10sIHZzLCBnbC5OT19FUlJPUiwg
ImF0dGFjaGluZyBhIHZlcnRleCBzaGFkZXIgc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICBjaGVja0F0
dGFjaFNoYWRlcihbdnNdLCB2cywgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAg
ICAgICAgICAgImF0dGFjaGluZyBhbiBhbHJlYWR5IGF0dGFjaGVkIHZlcnRleCBzaGFkZXIgc2hv
dWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7CisgICAgY2hlY2tBdHRhY2hTaGFkZXIo
W10sIGZzLCBnbC5OT19FUlJPUiwgImF0dGFjaGluZyBhIGZyYWdtZW50IHNoYWRlciBzaG91bGQg
c3VjY2VlZCIpOworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFtmc10sIGZzLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAiYXR0YWNoaW5nIGFuIGFscmVhZHkgYXR0
YWNoZWQgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIp
OworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFt2c10sIHZzMiwgZ2wuSU5WQUxJRF9PUEVSQVRJT04s
CisgICAgICAgICAgICAgICAgICAgICAgImF0dGFjaGluZyBzaGFkZXJzIG9mIHRoZSBzYW1lIHR5
cGUgdG8gYSBwcm9ncmFtIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworICAg
IGNoZWNrQXR0YWNoU2hhZGVyKFtmc10sIGZzMiwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAg
ICAgICAgICAgICAgICAgICAgImF0dGFjaGluZyBzaGFkZXJzIG9mIHRoZSBzYW1lIHR5cGUgdG8g
YSBwcm9ncmFtIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworCisvLy8vLy8v
IENoZWNrIGRldGFjaFNoYWRlcigpIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAg
ICBmdW5jdGlvbiBjaGVja0RldGFjaFNoYWRlcihhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnMsIHNo
YWRlciwgZXhwZWN0ZWRfZXJyb3JfY29kZSwgZXJybXNnKSB7CisgICAgICAgIHZhciBwcm9nID0g
Z2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFscmVhZHlf
YXR0YWNoZWRfc2hhZGVycy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGdsLmF0dGFjaFNoYWRl
cihwcm9nLCBhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnNbaV0pOworICAgICAgICBpZihnbC5nZXRF
cnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5l
eHBlY3RlZCBlcnJvciBpbiBhdHRhY2hTaGFkZXIoKSIpOworICAgICAgICBnbC5kZXRhY2hTaGFk
ZXIocHJvZywgc2hhZGVyKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBleHBlY3RlZF9l
cnJvcl9jb2RlLCBlcnJtc2cpOworICAgIH0KKworICAgIGNoZWNrRGV0YWNoU2hhZGVyKFt2c10s
IHZzLCBnbC5OT19FUlJPUiwgImRldGFjaGluZyBhIHZlcnRleCBzaGFkZXIgc2hvdWxkIHN1Y2Nl
ZWQiKTsKKyAgICBjaGVja0RldGFjaFNoYWRlcihbZnNdLCB2cywgZ2wuSU5WQUxJRF9PUEVSQVRJ
T04sCisgICAgICAgICAgICAgICAgICAgICAgImRldGFjaGluZyBhIG5vdCBhbHJlYWR5IGF0dGFj
aGVkIHZlcnRleCBzaGFkZXIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7Cisg
ICAgY2hlY2tEZXRhY2hTaGFkZXIoW2ZzXSwgZnMsIGdsLk5PX0VSUk9SLCAiZGV0YWNoaW5nIGEg
ZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBzdWNjZWVkIik7CisgICAgY2hlY2tEZXRhY2hTaGFkZXIo
W3ZzXSwgZnMsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICJk
ZXRhY2hpbmcgYSBub3QgYWxyZWFkeSBhdHRhY2hlZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGdl
bmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7CisKKy8vLy8vLy8gQ2hlY2sgZ2V0QXR0YWNoZWRT
aGFkZXJzKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIGZ1bmN0aW9uIGNo
ZWNrR2V0QXR0YWNoZWRTaGFkZXJzKHNoYWRlcnNfdG9fYXR0YWNoLCBzaGFkZXJzX3RvX2RldGFj
aCwgZXhwZWN0ZWRfc2hhZGVycywgZXJybXNnKSB7CisgICAgICAgIHZhciBwcm9nID0gZ2wuY3Jl
YXRlUHJvZ3JhbSgpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNoYWRlcnNfdG9fYXR0
YWNoLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2csIHNoYWRl
cnNfdG9fYXR0YWNoW2ldKTsKKyAgICAgICAgaWYoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJP
UikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gYXR0
YWNoU2hhZGVyKCkiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaGFkZXJzX3RvX2Rl
dGFjaC5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGdsLmRldGFjaFNoYWRlcihwcm9nLCBzaGFk
ZXJzX3RvX2RldGFjaFtpXSk7CisgICAgICAgIGlmKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9fRVJS
T1IpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGluIGRl
dGFjaFNoYWRlcigpIik7CisgICAgICAgIGFzc2VydE1zZyhkb0FycmF5c0hhdmVTYW1lQ29udGVu
dHMoZ2wuZ2V0QXR0YWNoZWRTaGFkZXJzKHByb2cpLCBleHBlY3RlZF9zaGFkZXJzKSwgZXJybXNn
KTsKKyAgICB9CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW10sIFtdLCBbXSwgImdldEF0
dGFjaGVkU2hhZGVycyBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IGxpc3QgYnkgZGVmYXVsdCIpOwor
ICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmc10sIFtdLCBbZnNdLCAiYXR0YWNoaW5nIGEg
c2luZ2xlIHNoYWRlciBzaG91bGQgZ2l2ZSB0aGUgZXhwZWN0ZWQgbGlzdCIpOworICAgIGNoZWNr
R2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbXSwgW2ZzLCB2c10sCisgICAgICAgICJhdHRh
Y2hpbmcgc29tZSBzaGFkZXJzIHNob3VsZCBnaXZlIHRoZSBleHBlY3RlZCBsaXN0Iik7CisgICAg
Y2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzXSwgW2ZzXSwgW10sICJhdHRhY2hpbmcgYSBzaGFk
ZXIgYW5kIGRldGFjaGluZyBpdCBzaG91ZCBsZWF2ZSBhbiBlbXB0eSBsaXN0Iik7CisgICAgY2hl
Y2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzLCB2c10sIFtmcywgdnNdLCBbXSwKKyAgICAgICAgImF0
dGFjaGluZyBzb21lIHNoYWRlcnMgYW5kIGRldGFjaGluZyB0aGVtIGluIHNhbWUgb3JkZXIgc2hv
dWQgbGVhdmUgYW4gZW1wdHkgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtm
cywgdnNdLCBbdnMsIGZzXSwgW10sCisgICAgICAgICJhdHRhY2hpbmcgc29tZSBzaGFkZXJzIGFu
ZCBkZXRhY2hpbmcgdGhlbSBpbiByYW5kb20gb3JkZXIgc2hvdWQgbGVhdmUgYW4gZW1wdHkgbGlz
dCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbdnNdLCBbZnNdLAor
ICAgICAgICAiYXR0YWNoaW5nIGFuZCBkZXRhY2hpbmcgc29tZSBzaGFkZXJzIHNob3VsZCBsZWF2
ZSB0aGUgZGlmZmVyZW5jZSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2Zz
LCB2c10sIFtmc10sIFt2c10sCisgICAgICAgICJhdHRhY2hpbmcgYW5kIGRldGFjaGluZyBzb21l
IHNoYWRlcnMgc2hvdWxkIGxlYXZlIHRoZSBkaWZmZXJlbmNlIGxpc3QiKTsKKyAgICBjaGVja0dl
dEF0dGFjaGVkU2hhZGVycyhbZnNCYWRdLCBbXSwgW2ZzQmFkXSwKKyAgICAgICAgImF0dGFjaGlu
ZyBhIHNoYWRlciB0aGF0IGZhaWxlZCB0byBjb21waWxlIHNob3VsZCBzdGlsbCBzaG93IGl0IGlu
IHRoZSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzLCB2c0JhZF0sIFtd
LCBbZnMsIHZzQmFkXSwKKyAgICAgICAgImF0dGFjaGluZyBzaGFkZXJzLCBpbmNsdWRpbmcgb25l
IHRoYXQgZmFpbGVkIHRvIGNvbXBpbGUsIHNob3VsZCBzdGlsbCBzaG93IHRoZSBpdCBpbiB0aGUg
bGlzdCIpOworCisvLy8vLy8vIENoZWNrIGxpbmtQcm9ncmFtKCkgYW5kIHVzZVByb2dyYW0gLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKworICAgIGZ1bmN0aW9uIGNoZWNrTGlua0FuZFVz
ZShzaGFkZXJzLCBkZWxldGVTaGFkZXJBZnRlckF0dGFjaCwgZXhwZWN0ZWRfc3RhdHVzLCB0ZXN0
SW52YWxpZEVudW1zLCBlcnJtc2cpIHsKKyAgICAgICAgdmFyIHByb2cgPSBnbC5jcmVhdGVQcm9n
cmFtKCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2hhZGVycy5sZW5ndGg7ICsraSkg
eworICAgICAgICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2csIHNoYWRlcnNbaV0pOworICAgICAg
ICAgICAgaWYgKGRlbGV0ZVNoYWRlckFmdGVyQXR0YWNoKQorICAgICAgICAgICAgICAgIGdsLmRl
bGV0ZVNoYWRlcihzaGFkZXJzW2ldKTsKKyAgICAgICAgfQorICAgICAgICBnbC5iaW5kQXR0cmli
TG9jYXRpb24ocHJvZywgMCwgImFWZXJ0ZXgiKTsKKyAgICAgICAgZ2wuYmluZEF0dHJpYkxvY2F0
aW9uKHByb2csIDEsICJhQ29sb3IiKTsKKyAgICAgICAgZ2wubGlua1Byb2dyYW0ocHJvZyk7Cisg
ICAgICAgIGlmIChnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNz
ZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBsaW5rUHJvZ3JhbSgpIik7CisgICAg
ICAgIGFzc2VydE1zZyhnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2csIGdsLkxJTktfU1RBVFVT
KSA9PSBleHBlY3RlZF9zdGF0dXMsIGVycm1zZyk7CisgICAgICAgIHZhciBpbmZvbG9nID0gZ2wu
Z2V0UHJvZ3JhbUluZm9Mb2cocHJvZyk7CisgICAgICAgIGlmIChnbC5nZXRFcnJvcigpICE9IGds
Lk5PX0VSUk9SKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJv
ciBpbiBnZXRQcm9ncmFtSW5mb0xvZygpIik7CisgICAgICAgIGlmICh0eXBlb2YoaW5mb2xvZykg
IT0gInN0cmluZyIpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJnZXRQcm9ncmFtSW5m
b0xvZygpIGRpZCBub3QgcmV0dXJuIGEgc3RyaW5nIik7CisgICAgICAgIGlmIChleHBlY3RlZF9z
dGF0dXMgPT0gdHJ1ZSAmJiBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2csIGdsLkxJTktfU1RB
VFVTKSA9PSBmYWxzZSkKKyAgICAgICAgICAgIGRlYnVnKGluZm9sb2cpOworICAgICAgICBpZiAo
Z2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJPUikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxz
ZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gZ2V0UHJvZ3JhbVBhcmFtZXRlcigpIik7CisgICAgICAg
IAorICAgICAgICBpZiAodGVzdEludmFsaWRFbnVtcykgeworICAgICAgICAgICAgLy8gVmVyaWZ5
IHRoYXQgY29uc3RhbnRzIHJlbW92ZWQgZnJvbSB0aGUgV2ViR0wgc3BlYyBnZW5lcmF0ZSBJTlZB
TElEX0VOVU0gZXJyb3JzCisgICAgICAgICAgICBhc3NlcnRNc2coZ2wuZ2V0UHJvZ3JhbVBhcmFt
ZXRlcihwcm9nLCBkZXNrdG9wR0xbJ0lORk9fTE9HX0xFTkdUSCddKSA9PT0gbnVsbCwgImludmFs
aWQgY2FsbCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIHNob3VsZCByZXR1cm4gbnVsbCIpOworICAg
ICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJJTkZPX0xPR19M
RU5HVEggaXMgbm90IGEgdmFsaWQgYXJndW1lbnQgdG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBpbiBX
ZWJHTCIpOworICAgICAgICAgICAgYXNzZXJ0TXNnKGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJv
ZywgZGVza3RvcEdMWydBQ1RJVkVfQVRUUklCVVRFX01BWF9MRU5HVEgnXSkgPT09IG51bGwsICJp
bnZhbGlkIGNhbGwgdG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsK
KyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiQUNUSVZF
X0FUVFJJQlVURV9NQVhfTEVOR1RIIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFByb2dy
YW1QYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICAgICAgICAgIGFzc2VydE1zZyhnbC5nZXRQcm9n
cmFtUGFyYW1ldGVyKHByb2csIGRlc2t0b3BHTFsnQUNUSVZFX1VOSUZPUk1fTUFYX0xFTkdUSCdd
KSA9PT0gbnVsbCwgImludmFsaWQgY2FsbCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIHNob3VsZCBy
ZXR1cm4gbnVsbCIpOworICAgICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElE
X0VOVU0sICJBQ1RJVkVfVU5JRk9STV9NQVhfTEVOR1RIIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50
IHRvIGdldFByb2dyYW1QYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICAgICAgfQorCisgICAgICAg
IGdsLnVzZVByb2dyYW0ocHJvZyk7CisgICAgICAgIGlmIChleHBlY3RlZF9zdGF0dXMgPT0gdHJ1
ZSkKKyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ1c2luZyBh
IHZhbGlkIHByb2dyYW0gc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICAgICAgaWYgKGV4cGVjdGVkX3N0
YXR1cyA9PSBmYWxzZSkKKyAgICAgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJ1c2luZyBhbiBpbnZhbGlkIHByb2dyYW0gc2hvdWxkIGdlbmVyYXRlIElO
VkFMSURfT1BFUkFUSU9OIik7CisgICAgICAgIHJldHVybiBwcm9nOworICAgIH0KKworICAgIHZh
ciBwcm9nR29vZDEgPSBjaGVja0xpbmtBbmRVc2UoW3ZzLCBmc10sIGZhbHNlLCB0cnVlLCB0cnVl
LCAidmFsaWQgcHJvZ3JhbSBzaG91bGQgbGluayIpOworICAgIHZhciBwcm9nR29vZDIgPSBjaGVj
a0xpbmtBbmRVc2UoW3ZzLCBmczJdLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsICJ2YWxpZCBwcm9ncmFt
ICMyIHNob3VsZCBsaW5rIik7CisgICAgdmFyIHByb2dCYWQxID0gY2hlY2tMaW5rQW5kVXNlKFt2
c10sIGZhbHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggbm8gZnJhZ21lbnQgc2hhZGVy
IHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0JhZDIgPSBjaGVja0xpbmtBbmRV
c2UoW2ZzXSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgInByb2dyYW0gd2l0aCBubyB2ZXJ0ZXggc2hh
ZGVyIHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0JhZDMgPSBjaGVja0xpbmtB
bmRVc2UoW3ZzQmFkLCBmc10sIGZhbHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggYmFk
IHZlcnRleCBzaGFkZXIgc2hvdWxkIGZhaWwgdG8gbGluayIpOworICAgIHZhciBwcm9nQmFkNCA9
IGNoZWNrTGlua0FuZFVzZShbdnMsIGZzQmFkXSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgInByb2dy
YW0gd2l0aCBiYWQgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2
YXIgcHJvZ0JhZDUgPSBjaGVja0xpbmtBbmRVc2UoW3ZzQmFkLCBmc0JhZF0sIGZhbHNlLCBmYWxz
ZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggYmFkIHNoYWRlcnMgc2hvdWxkIGZhaWwgdG8gbGluayIp
OworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IsICJ1c2luZyBhIHZhbGlkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRl
IGEgR0wgZXJyb3IiKTsKKworICAgIHZhciB2YnVmID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAg
Z2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZidWYpOworICAgIGdsLmJ1ZmZlckRhdGEo
Z2wuQVJSQVlfQlVGRkVSLAorICAgICAgICAgICAgICAgICAgbmV3IEZsb2F0MzJBcnJheShbCisg
ICAgICAgICAgICAgICAgICAgICAgMC4wLCAwLjAsIDAuMCwgMS4wLAorICAgICAgICAgICAgICAg
ICAgICAgIDEuMCwgMC4wLCAwLjAsIDEuMCwKKyAgICAgICAgICAgICAgICAgICAgICAxLjAsIDEu
MCwgMC4wLCAxLjAsCisgICAgICAgICAgICAgICAgICAgICAgMC4wLCAxLjAsIDAuMCwgMS4wXSks
CisgICAgICAgICAgICAgICAgICBnbC5TVEFUSUNfRFJBVyk7CisgICAgZ2wudmVydGV4QXR0cmli
UG9pbnRlcigwLCA0LCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICAgIGdsLmVuYWJsZVZlcnRl
eEF0dHJpYkFycmF5KDApOworICAgIGdsLnZlcnRleEF0dHJpYjNmKDEsIDEuMCwgMC4wLCAwLjAp
OworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBl
cnJvcnMgYXQgdGhpcyBwb2ludCAjMiIpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEp
OworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiZHJhd2luZyB3aXRoIGEgdmFsaWQgcHJvZ3JhbSBzaG91
bGRuJ3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nQmFk
MSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInVzaW5n
IGFuIGludmFsaWQgcHJvZ3JhbSBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsK
KyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgIlRyeSB0byB1c2UgYW4gaW52YWxpZCBwcm9ncmFtIHNob3Vs
ZCBub3QgY2hhbmdlIHRoZSBjdXJyZW50IHJlbmRlcmluZyBzdGF0ZSIpOworCisgICAgZ2wudXNl
UHJvZ3JhbShwcm9nR29vZDIpOworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAz
KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiZHJhd2luZyB3aXRoIGEg
dmFsaWQgcHJvZ3JhbSBzaG91bGRuJ3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworICAgIGdsLmRl
dGFjaFNoYWRlcihwcm9nR29vZDIsIGZzMik7CisgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2dHb29k
MiwgZnNCYWQpOworICAgIGdsLmxpbmtQcm9ncmFtKHByb2dHb29kMik7CisgICAgYXNzZXJ0TXNn
KGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ0dvb2QyLCBnbC5MSU5LX1NUQVRVUykgPT0gZmFs
c2UsCisgICAgICAgICAgICAgICJsaW5raW5nIHNob3VsZCBmYWlsIHdpdGggaW4tdXNlIGZvcm1l
cmx5IGdvb2QgcHJvZ3JhbSwgd2l0aCBuZXcgYmFkIHNoYWRlciBhdHRhY2hlZCIpOworCisgICAg
Ly8gSW52YWxpZCBsaW5rIGxlYXZlcyBwcmV2aW91cyB2YWxpZCBwcm9ncmFtIGludGFjdC4KKyAg
ICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUiwgImRyYXdpbmcgd2l0aCBhIHZhbGlkIHByb2dyYW0gc2hvdWxkbid0
IGdlbmVyYXRlIGEgR0wgZXJyb3IiKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dvb2QxKTsK
KyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNCk7CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgImRyYXdpbmcgd2l0aCBhIHZhbGlkIHdoZW4gbGFzdCB1c2Vk
IHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wgZXJyb3IiKTsKKworICAgIHZhciBwcm9n
R29vZDEgPSBjaGVja0xpbmtBbmRVc2UoW3ZzLCBmc10sIHRydWUsIHRydWUsIGZhbHNlLCAiZGVs
ZXRlIHNoYWRlcnMgYWZ0ZXIgYXR0YWNoaW5nIHRoZW0gYW5kIGJlZm9yZSBsaW5raW5nIHByb2dy
YW0gc2hvdWxkIG5vdCBhZmZlY3QgbGlua1Byb2dyYW0iKTsKKyAgICBnbC51c2VQcm9ncmFtKHBy
b2dHb29kMSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDQpOworICAgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJkcmF3aW5nIHdpdGggYSB2YWxpZCB3aGVu
IGxhc3QgdXNlZCBwcm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9yIik7CisKKy8v
Ly8vLy8gQ2hlY2sgZGVsZXRlUHJvZ3JhbSgpIGFuZCBkZWxldGVTaGFkZXIoKSAvLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEpOworICAg
IGdsLmRlbGV0ZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFO
R0xFUywgMCwgNCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImRlbGV0
ZSB0aGUgY3VycmVudCBwcm9ncmFtIHNob3VsZG4ndCBjaGFuZ2UgdGhlIGN1cnJlbnQgcmVuZGVy
aW5nIHN0YXRlIik7CisKKyAgICBnbC5saW5rUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJUaGUgY3VycmVudCBwcm9ncmFtIHNob3VsZG4n
dCBiZSBkZWxldGVkIik7CisKKyAgICB2YXIgZnMzID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdN
RU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZzMywgInByZWNpc2lvbiBtZWRpdW1w
IGZsb2F0OyB2YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IGdsX0ZyYWdDb2xvciA9
IHZDb2xvcjsgfSIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMzKTsKKworICAgIGFzc2VydE1z
ZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnMzLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwK
KyAgICAgICAgICAgICAgImdvb2QgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBjb21waWxlIik7CisK
KyAgICBnbC5kZWxldGVTaGFkZXIoZnMzKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzMyk7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiYW4gdW5hdHRhY2hlZCBz
aGFkZXIgc2hvdWxkIGJlIGRlbGV0ZWQgaW1tZWRpYXRlbHkiKTsKKworICAgIGZzMyA9IGdsLmNy
ZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZShmczMs
ICJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgdmFyeWluZyB2ZWM0IHZDb2xvcjsgdm9pZCBtYWlu
KCkgeyBnbF9GcmFnQ29sb3IgPSB2Q29sb3I7IH0iKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZz
Myk7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzMywgZ2wuQ09NUElM
RV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAgICJnb29kIGZyYWdtZW50IHNoYWRlciBz
aG91bGQgY29tcGlsZSIpOworCisgICAgZ2wuZGV0YWNoU2hhZGVyKHByb2dHb29kMSwgZnMpOwor
ICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nR29vZDEsIGZzMyk7CisKKyAgICBnbC5kZWxldGVTaGFk
ZXIoZnMzKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzMyk7CisgICAgYXNzZXJ0TXNnKGdsLmdl
dFNoYWRlclBhcmFtZXRlcihmczMsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVlLAorICAgICAg
ICAgICAgICAiYW4gYXR0YWNoZWQgc2hhZGVyIHNob3VsZG4ndCBiZSBkZWxldGVkIik7CisKKyAg
ICBnbC51c2VQcm9ncmFtKG51bGwpOworICAgIGdsLmxpbmtQcm9ncmFtKHByb2dHb29kMSk7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiYSBkZWxldGUtbWFya2Vk
IHByb2dyYW0gc2hvdWxkIGJlIGRlbGV0ZWQgb25jZSBpdCdzIG5vIGxvbmdlciB0aGUgY3VycmVu
dCBwcm9ncmFtIik7CisKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzMyk7CisgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiYSBkZWxldGUtbWFya2VkIHNoYWRlciBzaG91
bGQgYmUgZGVsZXRlZCBvbmNlIGFsbCBpdHMgYXR0YWNobWVudHMgYXJlIHJlbW92ZWQiKTsKKwor
Ly8vLy8vLy8gQ2hlY2sgbGlua1Byb2dyYW0oKSB3aXRoIHJlbGlua2VkIHByb2dyYW0gLy8vLy8v
Ly8vLworICAgIHZhciB2cyA9IHd0dS5sb2FkU2hhZGVyRnJvbVNjcmlwdChnbCwgInZzaGFkZXIi
KTsKKyAgICB2YXIgZnMgPSB3dHUubG9hZFNoYWRlckZyb21TY3JpcHQoZ2wsICJmc2hhZGVyLXJl
ZCIpOworICAgIHZhciBwcmcgPSB3dHUuY3JlYXRlUHJvZ3JhbShnbCwgdnMsIGZzKTsKKyAgICBn
bC51c2VQcm9ncmFtKHByZyk7CisgICAgdmFyIHBvc0xvYyA9IGdsLmdldEF0dHJpYkxvY2F0aW9u
KHByZywgImFfcG9zaXRpb24iKTsKKyAgICB3dHUuc2V0dXBVbml0UXVhZChnbCwgcG9zTG9jKTsK
KyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwg
MCwgMjU1XSwgInNob3VsZCBiZSByZWQiKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UoZnMsIHd0dS5n
ZXRTY3JpcHQoImZzaGFkZXItZ3JlZW4iKSk7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmcyk7Cisg
ICAgZ2wubGlua1Byb2dyYW0ocHJnKTsKKyAgICAvLyBQcm9ncmFtIHNob3VsZCBiZSBuZXcgcHJv
Z3JhbSBhdCB0aGlzIHBvaW50IHdpdGhvdXQgY2FsbGluZyB1c2VQcm9ncmFtCisgICAgd3R1LmRy
YXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJz
aG91bGQgYmUgZ3JlZW4iKTsKKyAgICB2YXIgcHJnID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2
c2hhZGVyIiwgImZzaGFkZXItc2V0dGFibGUiXSwgWyJhX3Bvc2l0aW9uIl0pOworICAgIHZhciBj
b2xvckxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcmcsICJ1X2NvbG9yIik7CisgICAgZ2wu
dW5pZm9ybTRmKGNvbG9yTG9jLCAxLCAwLCAwLCAxKTsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOwor
ICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwgMjU1XSwgInNob3VsZCBiZSByZWQi
KTsKKyAgICBnbC5saW5rUHJvZ3JhbShwcmcpOworICAgIC8vIFByb2dyYW0ncyB1bmlmb3JtcyBz
aG91bGQgYmUgY2xlYXJlZCBhdCB0aGlzIHBvaW50IHdpdGhvdXQgY2FsbGluZyB1c2VQcm9ncmFt
CisgICAgd3R1LmRyYXdRdWFkKGdsLCBbMCwgMjU1LCAwLCAyNTVdKTsKKyAgICB3dHUuY2hlY2tD
YW52YXMoZ2wsIFswLCAwLCAwLCAwXSwgInNob3VsZCBiZSB0cmFucGFyZW50IGJsYWNrIik7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMi
KTsKK30KKworZGVidWcoIiIpOworZ28oKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9y
ZWFkLXBpeGVscy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jNmQ4OWQ5Njg5Y2E1ZDhiZGMyOGNlZTRmYzZkMjBkMDY2M2ZmZTE5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwyNDYg
QEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IFJlYWRQaXhlbHMgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxl
PSJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Rlc2NyaXB0aW9uKCJDaGVja3MgdGhhdCBSZWFkUGl4ZWxzIHdvcmtzIGFzIGV4cGVj
dGVkLiIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY2FudmFzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImV4YW1wbGUiKTsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoY2FudmFzKTsKKworaW5pdFRlc3RpbmdIYXJuZXNzV2FpdFVudGlsRG9uZSgpOworCit2YXIg
YWN0dWFsOwordmFyIGV4cGVjdGVkOwordmFyIHdpZHRoID0gMjsKK3ZhciBoZWlnaHQgPSAyOwor
dmFyIGNvbnRpbnVlVGVzdEZ1bmMgPSBjb250aW51ZVRlc3RQYXJ0MTsKKworZ2wuY2xlYXJDb2xv
cigxLCAxLCAxLCAxKTsKK2dsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisvLyBSZXNp
emUgdGhlIGNhbnZhcyB0byAyeDIuIFRoaXMgaXMgYW4gYXR0ZW1wdCB0byBnZXQgc3R1ZmYgaW4g
dGhlIGJhY2tidWZmZXIuCisvLyB0aGF0IHNob3VsZG4ndCBiZSB0aGVyZS4KK2NhbnZhcy5hZGRF
dmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0IiwgZnVuY3Rpb24oZSkgeyBlLnByZXZlbnRE
ZWZhdWx0KCk7IH0sIGZhbHNlKTsKK2NhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRl
eHRyZXN0b3JlZCIsIGNvbnRpbnVlVGVzdEFmdGVyQ29udGV4dFJlc3RvcmVkLCBmYWxzZSk7Citj
YW52YXMud2lkdGggPSB3aWR0aDsKK2NhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CitpZiAoZ2wuZ2V0
RXJyb3IoKSAhPSBnbC5DT05URVhUX0xPU1RfV0VCR0wpIHsKKyAgY29udGludWVUZXN0UGFydDEo
KTsKK30KKworZnVuY3Rpb24gY29udGludWVUZXN0QWZ0ZXJDb250ZXh0UmVzdG9yZWQoKSB7Cisg
IHdpbmRvdy5nbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKyAgdmFyIGZ1bmMgPSBj
b250aW51ZVRlc3RGdW5jOworICB3aW5kb3cuY29udGludWVUZXN0RnVuYyA9IGZ1bmN0aW9uKCkg
eyB0ZXN0RmFpbGVkKCJzaG91bGQgbm90IGJlIGhlcmUiKTsgfTsKKyAgZnVuYygpOworfQorCitm
dW5jdGlvbiBjb250aW51ZVRlc3RQYXJ0MSgpIHsKKyAgZ2wuY2xlYXJDb2xvcigwLjUsIDAuNywg
MS4wLCAxKTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisKKyAgdmFyIGlubmVy
Q29sb3IgPSBbMC41LCAwLjcsIDEuMCwgMV07CisgIHZhciBvdXRlckNvbG9yID0gWzAsIDAsIDAs
IDBdOworCisgIHZhciB0ZXN0cyA9IFsKKyAgICB7IG1zZzogJ2luIHJhbmdlJywgY2hlY2tDb2xv
cjogaW5uZXJDb2xvciwgeDogIDAsIHk6ICAwLAorICAgICAgb25lQ29sb3I6IGlubmVyQ29sb3Is
IG9uZVg6IDAsIG9uZVk6IDB9LAorICAgIHsgbXNnOiAnb2ZmIHRvcCBsZWZ0JywgY2hlY2tDb2xv
cjogb3V0ZXJDb2xvciwgeDogLTEsIHk6IC0xLAorICAgICAgb25lQ29sb3I6IGlubmVyQ29sb3Is
IG9uZVg6IDEsIG9uZVk6IDF9LAorICAgIHsgbXNnOiAnb2ZmIGJvdHRvbSByaWdodCcsIGNoZWNr
Q29sb3I6IG91dGVyQ29sb3IsIHg6ICAxLCB5OiAgMSwKKyAgICAgIG9uZUNvbG9yOiBpbm5lckNv
bG9yLCBvbmVYOiAwLCBvbmVZOiAwfSwKKyAgICB7IG1zZzogJ2NvbXBsZXRlbHkgb2ZmIHRvcCAn
LCBjaGVja0NvbG9yOiBvdXRlckNvbG9yLCB4OiAgMCwgeTogLTIsCisgICAgICBvbmVDb2xvcjog
b3V0ZXJDb2xvciwgb25lWDogMCwgb25lWTogMH0sCisgICAgeyBtc2c6ICdjb21wbGV0ZWx5IG9m
ZiBib3R0b20nLCBjaGVja0NvbG9yOiBvdXRlckNvbG9yLCB4OiAgMCwgeTogIDIsCisgICAgICBv
bmVDb2xvcjogb3V0ZXJDb2xvciwgb25lWDogMCwgb25lWTogMH0sCisgICAgeyBtc2c6ICdjb21w
bGV0ZWx5IG9mZiBsZWZ0JywgY2hlY2tDb2xvcjogb3V0ZXJDb2xvciwgeDogLTIsIHk6ICAwLAor
ICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9LAorICAgIHsgbXNn
OiAnY29tcGxldGVsZXkgb2ZmIHJpZ2h0JywgY2hlY2tDb2xvcjogb3V0ZXJDb2xvciwgeDogIDIs
IHk6ICAwLAorICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9Cisg
IF07CisKKyAgZm9yICh2YXIgdHQgPSAwOyB0dCA8IHRlc3RzLmxlbmd0aDsgKyt0dCkgeworICAg
IHZhciB0ZXN0ID0gdGVzdHNbdHRdOworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiY2hlY2tp
bmc6ICIgKyB0ZXN0Lm1zZyk7CisgICAgY2hlY2tCdWZmZXIodGVzdC5jaGVja0NvbG9yLCB0ZXN0
LngsIHRlc3QueSwKKyAgICAgICAgICAgICAgICB0ZXN0Lm9uZUNvbG9yLCB0ZXN0Lm9uZVgsIHRl
c3Qub25lWSk7CisgIH0KKworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhl
cmUgc2hvdWxkIGJlIG5vIEdMIGVycm9ycyIpOworCisgIGZ1bmN0aW9uIGNoZWNrQnVmZmVyKGNo
ZWNrQ29sb3IsIHgsIHksIG9uZUNvbG9yLCBvbmVYLCBvbmVZKSB7CisgICAgdmFyIGJ1ZiA9IG5l
dyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0ICogNCk7CisgICAgZ2wucmVhZFBpeGVscyh4LCB5
LCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIGZv
ciAodmFyIHl5ID0gMDsgeXkgPCBoZWlnaHQ7ICsreXkpIHsKKyAgICAgIGZvciAodmFyIHh4ID0g
MDsgeHggPCB3aWR0aDsgKyt4eCkgeworICAgICAgICB2YXIgb2Zmc2V0ID0gKHl5ICogd2lkdGgg
KyB4eCkgKiA0OworICAgICAgICB2YXIgZXhwZWN0ZWRDb2xvcnMgPSAob25lWCA9PSB4eCAmJiBv
bmVZID09IHl5KSA/IG9uZUNvbG9yIDogY2hlY2tDb2xvcjsKKyAgICAgICAgZm9yICh2YXIgY2Mg
PSAwOyBjYyA8IDQ7ICsrY2MpIHsKKyAgICAgICAgICB2YXIgZXhwZWN0ZWRDb2xvciA9IGV4cGVj
dGVkQ29sb3JzW2NjXSAqIDI1NTsKKyAgICAgICAgICB2YXIgY29sb3IgPSBidWZbb2Zmc2V0ICsg
Y2NdOworICAgICAgICAgIHZhciBkaWZmID0gTWF0aC5hYnMoZXhwZWN0ZWRDb2xvciAtIGNvbG9y
KTsKKyAgICAgICAgICBhc3NlcnRNc2coZGlmZiA8IDMsCisgICAgICAgICAgICAgICAgICAgICJj
b2xvciBwaXhlbCBhdCAiICsgeHggKyAiLCAiICsgeXkgKyAiIHNob3VsZCBiZSBhYm91dCAiICsg
ZXhwZWN0ZWRDb2xvcik7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KKworICB2YXIg
YmFkRm9ybWF0cyA9IFsKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLlJHQiwKKyAgICAgIHR5cGU6
IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICBkZXN0OiBuZXcgVWludDhBcnJheSgzKSwKKyAgICAg
IGVycm9yOiBnbC5JTlZBTElEX09QRVJBVElPTgorICAgIH0sCisgICAgeworICAgICAgZm9ybWF0
OiBnbC5SR0IsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVF81XzZfNSwKKyAgICAgIGRl
c3Q6IG5ldyBVaW50OEFycmF5KDMpLAorICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9O
CisgICAgfSwKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLlJHQkEsCisgICAgICB0eXBlOiBnbC5V
TlNJR05FRF9TSE9SVF81XzVfNV8xLAorICAgICAgZGVzdDogbmV3IFVpbnQxNkFycmF5KDEpLAor
ICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAgICBm
b3JtYXQ6IGdsLlJHQkEsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVF80XzRfNF80LAor
ICAgICAgZGVzdDogbmV3IFVpbnQxNkFycmF5KDEpLAorICAgICAgZXJyb3I6IGdsLklOVkFMSURf
T1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAgICBmb3JtYXQ6IGdsLkFMUEhBLAorICAgICAg
dHlwZTogZ2wuVU5TSUdORURfQllURSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50OEFycmF5KDEpLAor
ICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9OCisgICAgfSwKKyAgICB7CisgICAgICBm
b3JtYXQ6IGdsLkxVTUlOQU5DRSwKKyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsCisgICAg
ICBkZXN0OiBuZXcgVWludDhBcnJheSgxKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX0VOVU0K
KyAgICB9LAorICAgIHsKKyAgICAgIGZvcm1hdDogZ2wuTFVNSU5BTkNFX0FMUEhBLAorICAgICAg
dHlwZTogZ2wuVU5TSUdORURfQllURSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50OEFycmF5KDIpLAor
ICAgICAgZXJyb3I6IGdsLklOVkFMSURfRU5VTQorICAgIH0KKyAgXTsKKyAgZGVidWcoIiIpOwor
ICBkZWJ1ZygiY2hlY2sgZGlzYWxsb3dlZCBmb3JtYXRzIik7CisgIGZvciAodmFyIHR0ID0gMDsg
dHQgPCBiYWRGb3JtYXRzLmxlbmd0aDsgKysgdHQpIHsKKyAgICB2YXIgaW5mbyA9IGJhZEZvcm1h
dHNbdHRdCisgICAgdmFyIGZvcm1hdCA9IGluZm8uZm9ybWF0OworICAgIHZhciB0eXBlID0gaW5m
by50eXBlOworICAgIHZhciBkZXN0ID0gaW5mby5kZXN0OworICAgIHZhciBlcnJvciA9IGluZm8u
ZXJyb3I7CisgICAgZ2wucmVhZFBpeGVscygwLCAwLCAxLCAxLCBmb3JtYXQsIHR5cGUsIGRlc3Qp
OworICAgIC8vIG5vdGUgdGhhdCB0aGUgR0wgZXJyb3IgaXMgSU5WQUxJRF9PUEVSQVRJT04gaWYg
Ym90aCBmb3JtYXQgYW5kIHR5cGUgYXJlIGludmFsaWQsIGJ1dAorICAgIC8vIElOVkFMSURfRU5V
TSBpZiBvbmx5IG9uZSBpcy4KKyAgICBnbEVycm9yU2hvdWxkQmUoCisgICAgICAgIGdsLCBlcnJv
ciwKKyAgICAgICAgIlNob3VsZCBub3QgYmUgYWJsZSB0byByZWFkIGFzICIgKyB3dHUuZ2xFbnVt
VG9TdHJpbmcoZ2wsIGZvcm1hdCkgKworICAgICAgICAiIC8gIiArIHd0dS5nbEVudW1Ub1N0cmlu
ZyhnbCwgdHlwZSkpOworICB9CisKKyAgZGVidWcoIiIpOworICBkZWJ1ZygiY2hlY2sgcmVhZGlu
ZyB3aXRoIGxvdHMgb2YgZHJhd2luZyIpOworICBjb250aW51ZVRlc3RGdW5jID0gY29udGludWVU
ZXN0UGFydDI7CisgIHdpZHRoID0gMTAyNDsKKyAgaGVpZ2h0ID0gMTAyNDsKKyAgY2FudmFzLndp
ZHRoID0gd2lkdGg7CisgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CisgIGlmIChnbC5nZXRFcnJv
cigpICE9IGdsLkNPTlRFWFRfTE9TVF9XRUJHTCkgeworICAgIGNvbnRpbnVlVGVzdFBhcnQyKCk7
CisgIH0KK30KKworZnVuY3Rpb24gY29udGludWVUZXN0UGFydDIoKSB7CisgIGdsLnZpZXdwb3J0
KDAsIDAsIDEwMjQsIDEwMjQpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVh
ZChnbCk7CisgIHZhciBsb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIp
OworICBnbC5kaXNhYmxlKGdsLkJMRU5EKTsKKyAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsK
KyAgdmFyIGNvbG9ycyA9IFtbMjU1LCAwLCAwLCAyNTVdLCBbMCwgMjU1LCAwLCAyNTVdLCBbMCwg
MCwgMjU1LCAyNTVdXTsKKyAgdmFyIHRleHR1cmVzID0gW107CisgIHZhciByZXN1bHRzID0gW107
CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBjb2xvcnMubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wu
YWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMCArIGlpKTsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRl
VGV4dHVyZSgpOworICAgIHd0dS5maWxsVGV4dHVyZShnbCwgdGV4LCAxLCAxLCBjb2xvcnNbaWld
KTsKKyAgICB0ZXh0dXJlcy5wdXNoKHRleCk7CisgIH0KKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8
IGNvbG9ycy5sZW5ndGg7ICsraWkpIHsKKyAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgMzAwICsg
aWkgKyAxOyArK2pqKSB7CisgICAgICBnbC51bmlmb3JtMWkobG9jLCBqaiAlIDMpOworICAgICAg
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICAgIH0KKyAgICB2YXIgYnVmID0g
bmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgZ2wucmVhZFBpeGVscyg1MTIsIDUxMiwgMSwgMSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICByZXN1bHRzLnB1c2goYnVmKTsKKyAg
ICBmb3IgKHZhciBrayA9IDA7IGtrIDwgOTk7ICsra2spIHsKKyAgICAgIGdsLnVuaWZvcm0xaShs
b2MsIChqaiArIGtrKSAlIDMpOworICAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAs
IDYpOworICAgIH0KKyAgfQorICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgY29sb3JzLmxlbmd0aDsg
KytpaSkgeworICAgIHZhciBidWYgPSByZXN1bHRzW2lpXTsKKyAgICB2YXIgY29sb3IgPSBjb2xv
cnNbaWldOworICAgIGFjdHVhbCA9IFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dOwor
ICAgIGV4cGVjdGVkID0gW2NvbG9yWzBdLCBjb2xvclsxXSwgY29sb3JbMl0sIGNvbG9yWzNdXTsK
KyAgICBzaG91bGRCZSgiYWN0dWFsIiwgImV4cGVjdGVkIik7CisgIH0KKyAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBHTCBlcnJvcnMiKTsKKwor
ICBkZWJ1ZygiIik7CisgIGZpbmlzaFRlc3QoKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRh
Y2htZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzY3N2Y1MTNjODIyZmNmOTZmNGIyMTA5ZDcxNGQ5ZGQ2ZjY1ZjEz
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0
dGFjaG1lbnQuaHRtbApAQCAtMCwwICsxLDU1OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0
cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2w7Cit2YXIgZmJvOwordmFy
IGRlcHRoQnVmZmVyOwordmFyIHN0ZW5jaWxCdWZmZXI7Cit2YXIgZGVwdGhTdGVuY2lsQnVmZmVy
OwordmFyIGNvbG9yQnVmZmVyOwordmFyIHdpZHRoOwordmFyIGhlaWdodDsKKwordmFyIEFMTE9X
X0NPTVBMRVRFICAgICAgICAgICAgICA9IDB4MDE7Cit2YXIgQUxMT1dfVU5TVVBQT1JURUQgICAg
ICAgICAgID0gMHgwMjsKK3ZhciBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQgPSAweDA0Owor
CitmdW5jdGlvbiBjaGVja0ZyYW1lYnVmZmVyRm9yQWxsb3dlZFN0YXR1c2VzKGFsbG93ZWRTdGF0
dXNlcykKK3sKKyAgICAvLyBJZiB0aGUgZnJhbWVidWZmZXIgaXMgaW4gYW4gZXJyb3Igc3RhdGUg
Zm9yIG11bHRpcGxlIHJlYXNvbnMsCisgICAgLy8gd2UgY2FuJ3QgZ3VhcmFudGVlIHdoaWNoIG9u
ZSB3aWxsIGJlIHJlcG9ydGVkLgorICAgIHZhciBzdGF0dXMgPSBnbC5jaGVja0ZyYW1lYnVmZmVy
U3RhdHVzKGdsLkZSQU1FQlVGRkVSKTsKKyAgICB2YXIgc3RhdHVzQWxsb3dlZCA9ICgoYWxsb3dl
ZFN0YXR1c2VzICYgQUxMT1dfQ09NUExFVEUpICYmIChzdGF0dXMgPT0gZ2wuRlJBTUVCVUZGRVJf
Q09NUExFVEUpKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgKChhbGxvd2VkU3RhdHVzZXMg
JiBBTExPV19VTlNVUFBPUlRFRCkgJiYgKHN0YXR1cyA9PSBnbC5GUkFNRUJVRkZFUl9VTlNVUFBP
UlRFRCkpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAoKGFsbG93ZWRTdGF0dXNlcyAmIEFM
TE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCkgJiYgKHN0YXR1cyA9PSBnbC5GUkFNRUJVRkZFUl9J
TkNPTVBMRVRFX0FUVEFDSE1FTlQpKTsKKyAgICB2YXIgbXNnID0gImdsLmNoZWNrRnJhbWVidWZm
ZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIHJldHVybmVkICIgKyBzdGF0dXM7CisgICAgaWYgKHN0
YXR1c0FsbG93ZWQpCisgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgICBlbHNlCisgICAgICAg
IHRlc3RGYWlsZWQobXNnKTsKK30KKworZnVuY3Rpb24gY2hlY2tCdWZmZXJCaXRzKGF0dGFjaG1l
bnQwLCBhdHRhY2htZW50MSkKK3sKKyAgICBpZiAoZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhn
bC5GUkFNRUJVRkZFUikgIT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpCisgICAgICByZXR1cm47
CisKKyAgICB2YXIgaGF2ZURlcHRoQnVmZmVyID0gYXR0YWNobWVudDAgPT0gZ2wuREVQVEhfQVRU
QUNITUVOVCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50MCA9PSBnbC5E
RVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0
YWNobWVudDEgPT0gZ2wuREVQVEhfQVRUQUNITUVOVCB8fAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBhdHRhY2htZW50MSA9PSBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQ7CisgICAgdmFy
IGhhdmVTdGVuY2lsQnVmZmVyID0gYXR0YWNobWVudDAgPT0gZ2wuU1RFTkNJTF9BVFRBQ0hNRU5U
IHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDAgPT0gZ2wuREVQVEhf
U1RFTkNJTF9BVFRBQ0hNRU5UIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNo
bWVudDEgPT0gZ2wuU1RFTkNJTF9BVFRBQ0hNRU5UIHx8CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYXR0YWNobWVudDEgPT0gZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UOworCisgICAg
c2hvdWxkQmVUcnVlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuUkVEX0JJVFMpICsgZ2wuZ2V0UGFyYW1l
dGVyKGdsLkdSRUVOX0JJVFMpICsgZ2wuZ2V0UGFyYW1ldGVyKGdsLkJMVUVfQklUUykgKyBnbC5n
ZXRQYXJhbWV0ZXIoZ2wuQUxQSEFfQklUUykgPj0gMTYiKTsKKworICAgIGlmIChoYXZlRGVwdGhC
dWZmZXIpCisgICAgICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5ERVBUSF9CSVRT
KSA+PSAxNiIpOworICAgIGVsc2UKKyAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVy
KGdsLkRFUFRIX0JJVFMpID09IDAiKTsKKworICAgIGlmIChoYXZlU3RlbmNpbEJ1ZmZlcikKKyAg
ICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlNURU5DSUxfQklUUykgPj0gOCIp
OworICAgIGVsc2UKKyAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlNURU5D
SUxfQklUUykgPT0gMCIpOworfQorCitmdW5jdGlvbiB0ZXN0QXR0YWNobWVudChhdHRhY2htZW50
LCBidWZmZXIsIGFsbG93ZWRTdGF0dXNlcykKK3sKKyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9
IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJB
TUVCVUZGRVIsIGZibyk7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVy
KTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgYXR0YWNo
bWVudCwgZ2wuUkVOREVSQlVGRkVSLCBidWZmZXIpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IpOworICAgIGNoZWNrRnJhbWVidWZmZXJGb3JBbGxvd2VkU3RhdHVzZXMoYWxs
b3dlZFN0YXR1c2VzKTsKKyAgICBpZiAoKGFsbG93ZWRTdGF0dXNlcyAmIEFMTE9XX0NPTVBMRVRF
KSA9PSAwKSB7CisgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgICAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OKTsK
KyAgICAgICAgZ2wucmVhZFBpeGVscygwLCAwLCB3aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheSh3aWR0aCAqIGhlaWdodCAqIDQpKTsKKyAgICAg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTik7
CisgICAgfQorICAgIGNoZWNrQnVmZmVyQml0cyhhdHRhY2htZW50KTsKKyAgICBnbC5kZWxldGVG
cmFtZWJ1ZmZlcihmYm8pOworfQorCitmdW5jdGlvbiB0ZXN0QXR0YWNobWVudHMoYXR0YWNobWVu
dDAsIGJ1ZmZlcjAsIGF0dGFjaG1lbnQxLCBidWZmZXIxLCBhbGxvd2VkU3RhdHVzZXMpCit7Cisg
ICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAg
Z2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIGdsLmZyYW1lYnVm
ZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wu
UkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZm
ZXIoZ2wuRlJBTUVCVUZGRVIsIGF0dGFjaG1lbnQwLCBnbC5SRU5ERVJCVUZGRVIsIGJ1ZmZlcjAp
OworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIGdsLmZyYW1lYnVm
ZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBhdHRhY2htZW50MSwgZ2wuUkVOREVSQlVG
RkVSLCBidWZmZXIxKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAg
ICBjaGVja0ZyYW1lYnVmZmVyRm9yQWxsb3dlZFN0YXR1c2VzKGFsbG93ZWRTdGF0dXNlcyk7Cisg
ICAgY2hlY2tCdWZmZXJCaXRzKGF0dGFjaG1lbnQwLCBhdHRhY2htZW50MSk7CisgICAgZ2wuZGVs
ZXRlRnJhbWVidWZmZXIoZmJvKTsKK30KKworZnVuY3Rpb24gdGVzdENvbG9yUmVuZGVyYnVmZmVy
KGludGVybmFsZm9ybWF0LCBhbGxvd2VkU3RhdHVzZXMpCit7CisgICAgc2hvdWxkQmVOb25OdWxs
KCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJl
bmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJi
dWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWln
aHQpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIHRlc3RBdHRh
Y2htZW50KGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBjb2xvckJ1ZmZlciwgYWxsb3dlZFN0YXR1c2Vz
KTsKK30KKworZnVuY3Rpb24gdGVzdERlcHRoU3RlbmNpbFJlbmRlcmJ1ZmZlcihhbGxvd2VkU3Rh
dHVzZXMpCit7CisgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aFN0ZW5jaWxCdWZmZXIgPSBnbC5j
cmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVS
QlVGRkVSLCBkZXB0aFN0ZW5jaWxCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2Uo
Z2wuUkVOREVSQlVGRkVSLCBnbC5ERVBUSF9TVEVOQ0lMLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICAgIC8vIE9wZW5HTCBpdHNlbGYg
ZG9lc24ndCBzZWVtIHRvIGd1YXJhbnRlZSB0aGF0IGUuZy4gYSAyIHggMAorICAgIC8vIHJlbmRl
cmJ1ZmZlciB3aWxsIHJlcG9ydCAyIGZvciBpdHMgd2lkdGggd2hlbiBxdWVyaWVkLgorICAgIGlm
ICghKGhlaWdodCA9PSAwICYmIHdpZHRoID4gMCkpCisgICAgICAgIHNob3VsZEJlKCJnbC5nZXRS
ZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfV0lE
VEgpIiwgIndpZHRoIik7CisgICAgaWYgKCEod2lkdGggPT0gMCAmJiBoZWlnaHQgPiAwKSkKKyAg
ICAgICAgc2hvdWxkQmUoImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZG
RVIsIGdsLlJFTkRFUkJVRkZFUl9IRUlHSFQpIiwgImhlaWdodCIpOworICAgIHNob3VsZEJlKCJn
bC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZG
RVJfSU5URVJOQUxfRk9STUFUKSIsICJnbC5ERVBUSF9TVEVOQ0lMIik7CisgICAgc2hvdWxkQmUo
ImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJV
RkZFUl9SRURfU0laRSkiLCAiMCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQ
YXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfR1JFRU5fU0laRSkiLCAi
MCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVS
QlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfQkxVRV9TSVpFKSIsICIwIik7CisgICAgc2hvdWxkQmUo
ImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJV
RkZFUl9BTFBIQV9TSVpFKSIsICIwIik7CisgICAgLy8gQXZvaWQgdmVyaWZ5aW5nIHRoZXNlIGZv
ciB6ZXJvLXNpemVkIHJlbmRlcmJ1ZmZlcnMgZm9yIHRoZSB0aW1lCisgICAgLy8gYmVpbmcgc2lu
Y2UgaXQgYXBwZWFycyB0aGF0IGV2ZW4gT3BlbkdMIGRvZXNuJ3QgZ3VhcmFudGVlIHRoZW0uCisg
ICAgaWYgKHdpZHRoID4gMCAmJiBoZWlnaHQgPiAwKSB7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgi
Z2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVG
RkVSX0RFUFRIX1NJWkUpID4gMCIpOworICAgICAgICBzaG91bGRCZVRydWUoImdsLmdldFJlbmRl
cmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9TVEVOQ0lM
X1NJWkUpID4gMCIpOworICAgIH0KKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
KTsKKyAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRo
U3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c2VzKTsKKyAgICB0ZXN0RGVwdGhTdGVuY2lsRGVw
dGhTdGVuY2lsKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3REZXB0aFN0ZW5jaWxEZXB0aFN0ZW5jaWwo
KQoreworICAgIGlmICghd2lkdGggfHwgIWhlaWdodCkgeworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgdmFyIHRlc3RzID0gWworICAgICAgICB7ICAgZmlyc3RGb3JtYXQ6IGdsLkRFUFRI
X0NPTVBPTkVOVDE2LAorICAgICAgICAgICAgZmlyc3RBdHRhY2g6IGdsLkRFUFRIX0FUVEFDSE1F
TlQsCisgICAgICAgICAgICBzZWNvbmRGb3JtYXQ6IGdsLkRFUFRIX1NURU5DSUwsCisgICAgICAg
ICAgICBzZWNvbmRBdHRhY2g6IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVAorICAgICAgICB9
LAorICAgICAgICB7ICAgZmlyc3RGb3JtYXQ6IGdsLkRFUFRIX1NURU5DSUwsCisgICAgICAgICAg
ICBmaXJzdEF0dGFjaDogZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULAorICAgICAgICAgICAg
c2Vjb25kRm9ybWF0OiBnbC5ERVBUSF9DT01QT05FTlQxNiwKKyAgICAgICAgICAgIHNlY29uZEF0
dGFjaDogZ2wuREVQVEhfQVRUQUNITUVOVAorICAgICAgICB9CisgICAgXTsKKyAgICBmb3IgKHZh
ciBpaSA9IDA7IGlpIDwgdGVzdHMubGVuZ3RoOyArK2lpKSB7CisgICAgICAgIHZhciB0ZXN0ID0g
dGVzdHNbaWldOworICAgICAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgMjsgKytqaikgeworICAg
ICAgICAgICAgdmFyIGZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CisgICAgICAgICAgICB2
YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgICAgICAgICAgdmFyIGZpcnN0UmIgPSBn
bC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAg
ICAgICAgZGVidWcoInRlc3Q6ICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRlc3QuZmlyc3RG
b3JtYXQpICsgIiB2cyAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LnNlY29uZEZvcm1h
dCkgKyAiIHdpdGggIiArIChqaiA/ICJ1bmJpbmQiIDogImRlbGV0ZSIpKTsKKworICAgICAgICAg
ICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgICAgICAgICAg
Ly8gYXR0YWNoIHRleHR1cmUgYXMgY29sb3IKKyAgICAgICAgICAgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfMkQsIHRleCk7CisgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIHdpZHRoLCBoZWlnaHQsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIG51bGwpOworICAgICAgICAgICAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXgsIDApOworCisg
ICAgICAgICAgICAvLyBhdHRhY2ggZmlyc3QKKyAgICAgICAgICAgIGdsLmJpbmRSZW5kZXJidWZm
ZXIoZ2wuUkVOREVSQlVGRkVSLCBmaXJzdFJiKTsKKyAgICAgICAgICAgIGdsLnJlbmRlcmJ1ZmZl
clN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCB0ZXN0LmZpcnN0Rm9ybWF0LCB3aWR0aCwgaGVpZ2h0
KTsKKyAgICAgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVS
LCB0ZXN0LmZpcnN0QXR0YWNoLCBnbC5SRU5ERVJCVUZGRVIsIGZpcnN0UmIpOworCisgICAgICAg
ICAgICBzaG91bGRCZSgnZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikn
LCAnZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUnKTsKKyAgICAgICAgICAgIGdsLmVuYWJsZShnbC5E
RVBUSF9URVNUKTsKKyAgICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwQ29sb3JRdWFk
KGdsKTsKKyAgICAgICAgICAgIC8vIFRlc3QgaXQgd29ya3MKKyAgICAgICAgICAgIHd0dS5kcmF3
VUJ5dGVDb2xvclF1YWQoZ2wsIFswLCAyNTUsIDAsIDI1NV0pOworICAgICAgICAgICAgd3R1LmRy
YXdVQnl0ZUNvbG9yUXVhZChnbCwgWzI1NSwgMCwgMCwgMjU1XSk7ICAvLyBzaG91bGQgbm90IGRy
YXcgc2luY2UgREVQVEhfRlVOQyA9PSBMRVNTCisgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNS
ZWN0KGdsLCAwLCAwLCB3aWR0aCwgaGVpZ2h0LCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJl
IGdyZWVuIik7CisKKyAgICAgICAgICAgIHZhciBzZWNvbmRSYiA9IGdsLmNyZWF0ZVJlbmRlcmJ1
ZmZlcigpOworCisgICAgICAgICAgICAvLyBhdHRhY2ggc2Vjb25kCisgICAgICAgICAgICBnbC5i
aW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgc2Vjb25kUmIpOworICAgICAgICAgICAg
Z2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIHRlc3Quc2Vjb25kRm9ybWF0
LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVy
KGdsLkZSQU1FQlVGRkVSLCB0ZXN0LnNlY29uZEF0dGFjaCwgZ2wuUkVOREVSQlVGRkVSLCBzZWNv
bmRSYik7CisKKyAgICAgICAgICAgIGlmIChqaiA9PSAwKSB7CisgICAgICAgICAgICAgIC8vIG5v
dyBkZWxldGUgaXQKKyAgICAgICAgICAgICAgZGVidWcoInRlc3QgZGVsZXRpbmcgc2Vjb25kIHJl
bmRlcmJ1ZmZlciIpOworICAgICAgICAgICAgICBnbC5kZWxldGVSZW5kZXJidWZmZXIoc2Vjb25k
UmIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgLy8gdW5iaW5kIGl0Cisg
ICAgICAgICAgICAgIGRlYnVnKCJ0ZXN0IHVuYmluZGluZyBzZWNvbmQgcmVuZGVyYnVmZmVyIik7
CisgICAgICAgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVS
LCB0ZXN0LnNlY29uZEF0dGFjaCwgZ2wuUkVOREVSQlVGRkVSLCBudWxsKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgLy8gSWYgdGhlIGZpcnN0IGF0dGFjaG1lbnQgaXMgbm90IHJlc3Rv
cmVkIHRoaXMgbWF5IGZhaWwKKyAgICAgICAgICAgIHNob3VsZEJlKCdnbC5jaGVja0ZyYW1lYnVm
ZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKScsICdnbC5GUkFNRUJVRkZFUl9DT01QTEVURScpOwor
ICAgICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKKyAgICAgICAg
ICAgIC8vIElmIHRoZSBmaXJzdCBhdHRhY2htZW50IGlzIG5vdCByZXN0b3JlZCB0aGlzIG1heSBm
YWlsLgorICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAg
ICAgICB3dHUuZHJhd1VCeXRlQ29sb3JRdWFkKGdsLCBbMCwgMjU1LCAwLCAyNTVdKTsKKyAgICAg
ICAgICAgIHd0dS5kcmF3VUJ5dGVDb2xvclF1YWQoZ2wsIFsyNTUsIDAsIDAsIDI1NV0pOyAgLy8g
c2hvdWxkIG5vdCBkcmF3IHNpbmNlIERFUFRIX0ZVTkMgPT0gTEVTUworICAgICAgICAgICAgd3R1
LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgd2lkdGgsIGhlaWdodCwgWzAsIDI1NSwgMCwgMjU1
XSwgInNob3VsZCBiZSBncmVlbiIpOworICAgICAgICAgICAgZ2wuZGlzYWJsZShnbC5ERVBUSF9U
RVNUKTsKKworICAgICAgICAgICAgaWYgKGpqID09IDEpIHsKKyAgICAgICAgICAgICAgZ2wuZGVs
ZXRlUmVuZGVyYnVmZmVyKHNlY29uZFJiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
Z2wuZGVsZXRlUmVuZGVyYnVmZmVyKHNlY29uZFJiKTsKKyAgICAgICAgICAgIGdsLmRlbGV0ZUZy
YW1lYnVmZmVyKGZibyk7CisgICAgICAgIH0KKyAgICB9CisgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUik7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGZyYW1lYnVmZmVyIG9iamVj
dCBhdHRhY2htZW50IGJlaGF2aW9ycyIpOworCitmb3IgKHdpZHRoID0gMDsgd2lkdGggPD0gMjsg
d2lkdGggKz0gMikKK3sKKyAgICBmb3IgKGhlaWdodCA9IDA7IGhlaWdodCA8PSAyOyBoZWlnaHQg
Kz0gMikKKyAgICB7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgZGVidWcoIkRpbWVuc2lv
bnMgIiArIHdpZHRoICsgIiB4ICIgKyBoZWlnaHQpOworCisgICAgICAgIGRlYnVnKCJDcmVhdGUg
cmVuZGVyYnVmZmVycyIpOworICAgICAgICBzaG91bGRCZU5vbk51bGwoImdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dCgpIik7CisgICAgICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBn
bC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGds
LlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9y
YWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxs
KCJkZXB0aEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgICAgIGdsLmJp
bmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAgICAgIGds
LnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5ERVBUSF9DT01QT05FTlQx
Niwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IpOworICAgICAgICBzaG91bGRCZU5vbk51bGwoInN0ZW5jaWxCdWZmZXIgPSBnbC5jcmVhdGVS
ZW5kZXJidWZmZXIoKSIpOworICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJV
RkZFUiwgc3RlbmNpbEJ1ZmZlcik7CisgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wu
UkVOREVSQlVGRkVSLCBnbC5TVEVOQ0lMX0lOREVYOCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgICAgICBzaG91bGRCZU5vbk51
bGwoImRlcHRoU3RlbmNpbEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAg
ICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aFN0ZW5jaWxCdWZm
ZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wu
REVQVEhfU1RFTkNJTCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IpOworCisgICAgICAgIHZhciBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UK
KyAgICAgICAgICAgID0gKHdpZHRoID09IDAgfHwgaGVpZ2h0ID09IDApID8gQUxMT1dfSU5DT01Q
TEVURV9BVFRBQ0hNRU5UIDogQUxMT1dfQ09NUExFVEU7CisKKyAgICAgICAgLy8gc29tZSBjYXNl
cyBpbnZvbHZpbmcgc3RlbmNpbCBzZWVtIHRvIGJlIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudAor
ICAgICAgICB2YXIgYWxsb3dlZFN0YXR1c0ZvckltcGxEZXBlbmRlbnRDYXNlID0gYWxsb3dlZFN0
YXR1c0Zvckdvb2RDYXNlIHwgQUxMT1dfVU5TVVBQT1JURUQ7CisKKyAgICAgICAgZGVidWcoIkF0
dGFjaCBkZXB0aCB1c2luZyBERVBUSF9BVFRBQ0hNRU5UIik7CisgICAgICAgIHRlc3RBdHRhY2ht
ZW50KGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yR29v
ZENhc2UpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoIHVzaW5nIFNURU5DSUxfQVRUQUNI
TUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIGRl
cHRoQnVmZmVyLCBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQpOworICAgICAgICBkZWJ1Zygi
QXR0YWNoIGRlcHRoIHVzaW5nIERFUFRIX1NURU5DSUxfQVRUQUNITUVOVCIpOworICAgICAgICB0
ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBB
TExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIHN0ZW5j
aWwgdXNpbmcgU1RFTkNJTF9BVFRBQ0hNRU5UIik7CisgICAgICAgIHRlc3RBdHRhY2htZW50KGds
LlNURU5DSUxfQVRUQUNITUVOVCwgc3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0ZvckltcGxE
ZXBlbmRlbnRDYXNlKTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2lsIHVzaW5nIERFUFRI
X0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuREVQVEhfQVRUQUNITUVO
VCwgc3RlbmNpbEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKyAgICAgICAg
ZGVidWcoIkF0dGFjaCBzdGVuY2lsIHVzaW5nIERFUFRIX1NURU5DSUxfQVRUQUNITUVOVCIpOwor
ICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5j
aWxCdWZmZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisgICAgICAgIGRlYnVnKCJB
dHRhY2ggZGVwdGhTdGVuY2lsIHVzaW5nIERFUFRIX1NURU5DSUxfQVRUQUNITUVOVCIpOworICAg
ICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3Rl
bmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlKTsKKyAgICAgICAgZGVidWcoIkF0
dGFjaCBkZXB0aFN0ZW5jaWwgdXNpbmcgREVQVEhfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0
QXR0YWNobWVudChnbC5ERVBUSF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIEFMTE9X
X0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVu
Y2lsIHVzaW5nIFNURU5DSUxfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChn
bC5TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVU
RV9BVFRBQ0hNRU5UKTsKKworICAgICAgICB2YXIgYWxsb3dlZFN0YXR1c0ZvckNvbmZsaWN0ZWRB
dHRhY2htZW50CisgICAgICAgICAgICA9ICh3aWR0aCA9PSAwIHx8IGhlaWdodCA9PSAwKSA/IEFM
TE9XX1VOU1VQUE9SVEVEIHwgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEFMTE9XX1VOU1VQUE9SVEVEOworCisg
ICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGgsIHRoZW4gc3RlbmNpbCwgY2F1c2luZyBjb25mbGlj
dCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuREVQVEhfQVRUQUNITUVOVCwgZGVwdGhC
dWZmZXIsIGdsLlNURU5DSUxfQVRUQUNITUVOVCwgc3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1
c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2ls
LCB0aGVuIGRlcHRoLCBjYXVzaW5nIGNvbmZsaWN0Iik7CisgICAgICAgIHRlc3RBdHRhY2htZW50
cyhnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIGdsLkRFUFRIX0FUVEFDSE1F
TlQsIGRlcHRoQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOwor
ICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoLCB0aGVuIGRlcHRoU3RlbmNpbCwgY2F1c2luZyBj
b25mbGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuREVQVEhfQVRUQUNITUVOVCwg
ZGVwdGhCdWZmZXIsIGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVm
ZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOworICAgICAgICBkZWJ1
ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCwgdGhlbiBkZXB0aCwgY2F1c2luZyBjb25mbGljdCIpOwor
ICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0
aFN0ZW5jaWxCdWZmZXIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBhbGxvd2Vk
U3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIHN0
ZW5jaWwsIHRoZW4gZGVwdGhTdGVuY2lsLCBjYXVzaW5nIGNvbmZsaWN0Iik7CisgICAgICAgIHRl
c3RBdHRhY2htZW50cyhnbC5ERVBUSF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgZ2wuREVQVEhf
U1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JD
b25mbGljdGVkQXR0YWNobWVudCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVuY2ls
LCB0aGVuIHN0ZW5jaWwsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1l
bnRzKGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBnbC5T
VEVOQ0lMX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGlj
dGVkQXR0YWNobWVudCk7CisKKyAgICAgICAgZGVidWcoIkF0dGFjaCBjb2xvciByZW5kZXJidWZm
ZXIgd2l0aCBpbnRlcm5hbGZvcm1hdCA9PSBSR0JBNCIpOworICAgICAgICB0ZXN0Q29sb3JSZW5k
ZXJidWZmZXIoZ2wuUkdCQTQsIGFsbG93ZWRTdGF0dXNGb3JHb29kQ2FzZSk7CisKKyAgICAgICAg
ZGVidWcoIkF0dGFjaCBjb2xvciByZW5kZXJidWZmZXIgd2l0aCBpbnRlcm5hbGZvcm1hdCA9PSBS
R0I1X0ExIik7CisgICAgICAgIHRlc3RDb2xvclJlbmRlcmJ1ZmZlcihnbC5SR0I1X0ExLCBhbGxv
d2VkU3RhdHVzRm9yR29vZENhc2UpOworCisgICAgICAgIGRlYnVnKCJBdHRhY2ggY29sb3IgcmVu
ZGVyYnVmZmVyIHdpdGggaW50ZXJuYWxmb3JtYXQgPT0gUkdCNTY1Iik7CisgICAgICAgIHRlc3RD
b2xvclJlbmRlcmJ1ZmZlcihnbC5SR0I1NjUsIGFsbG93ZWRTdGF0dXNGb3JHb29kQ2FzZSk7CisK
KyAgICAgICAgZGVidWcoIkNyZWF0ZSBhbmQgYXR0YWNoIGRlcHRoU3RlbmNpbCByZW5kZXJidWZm
ZXIiKTsKKyAgICAgICAgdGVzdERlcHRoU3RlbmNpbFJlbmRlcmJ1ZmZlcihhbGxvd2VkU3RhdHVz
Rm9yR29vZENhc2UpOworICAgIH0KK30KKworLy8gRGV0ZXJtaW5lIGlmIHdlIGNhbiBhdHRhY2gg
Ym90aCBjb2xvciBhbmQgZGVwdGggb3IgY29sb3IgYW5kIGRlcHRoX3N0ZW5jaWwKK3ZhciBkZXB0
aEZvcm1hdDsKK3ZhciBkZXB0aEF0dGFjaG1lbnQ7CisKK2Z1bmN0aW9uIGNoZWNrVmFsaWRDb2xv
ckRlcHRoQ29tYmluYXRpb24oKSB7CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVh
dGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVS
LCBmYm8pOworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5k
ZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBj
b2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGds
LkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xv
ckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGds
LlJHQkE0LCAxNiwgMTYpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aEJ1ZmZlciA9IGds
LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5E
RVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKworICAgIHJldHVybiB0cnlEZXB0aChnbC5ERVBUSF9D
T01QT05FTlQxNiwgZ2wuREVQVEhfQVRUQUNITUVOVCkgfHwgdHJ5RGVwdGgoZ2wuREVQVEhfU1RF
TkNJTCwgZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UKTsKKworICAgIGZ1bmN0aW9uIHRyeURl
cHRoKHRyeV9mb3JtYXQsIHRyeV9hdHRhY2htZW50KSB7CisgICAgICAgIGlmIChkZXB0aEF0dGFj
aG1lbnQpIHsKKyAgICAgICAgICAgIC8vIElmIHdlJ3ZlIHRyaWVkIG9uY2UgdW5hdHRhY2ggdGhl
IG9sZCBvbmUuCisgICAgICAgICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAg
ICAgICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZGVwdGhBdHRhY2htZW50LCBnbC5SRU5ERVJCVUZG
RVIsIG51bGwpOworICAgICAgICB9CisgICAgICAgIGRlcHRoRm9ybWF0ID0gdHJ5X2Zvcm1hdDsK
KyAgICAgICAgZGVwdGhBdHRhY2htZW50ID0gdHJ5X2F0dGFjaG1lbnQ7CisgICAgICAgIGdsLmZy
YW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGRlcHRo
QXR0YWNobWVudCwgZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAgICAgIGdsLnJl
bmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEZvcm1hdCwgMTYsIDE2KTsK
KyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgICAgIHJldHVy
biBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSA9PSBnbC5GUkFNRUJV
RkZFUl9DT01QTEVURTsKKyAgICB9Cit9CisKK2lmIChjaGVja1ZhbGlkQ29sb3JEZXB0aENvbWJp
bmF0aW9uKCkpIHsKKyAgICB0ZXN0RnJhbWVidWZmZXJJbmNvbXBsZXRlRGltZW5zaW9ucygpOwor
ICAgIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxldGVBdHRhY2htZW50KCk7CisgICAgdGVzdEZyYW1l
YnVmZmVySW5jb21wbGV0ZU1pc3NpbmdBdHRhY2htZW50KCk7CisgICAgdGVzdFVzaW5nSW5jb21w
bGV0ZUZyYW1lYnVmZmVyKCk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrRnJhbWVidWZmZXIoZXhwZWN0
ZWQpIHsKKyAgICB2YXIgYWN0dWFsID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFN
RUJVRkZFUik7CisgICAgdmFyIG1zZyA9ICJnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZS
QU1FQlVGRkVSKSBzaG91bGQgYmUgIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgZXhwZWN0ZWQp
ICsgIiB3YXMgIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgYWN0dWFsKTsKKyAgICBpZiAoZXhw
ZWN0ZWQgIT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpIHsKKyAgICAgICAgbXNnICs9ICIgb3Ig
RlJBTUVCVUZGRVJfVU5TVVBQT1JURUQiOworICAgIH0KKyAgICBpZiAoYWN0dWFsID09IGV4cGVj
dGVkIHx8CisgICAgICAgIChleHBlY3RlZCAhPSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSAmJgor
ICAgICAgICAgYWN0dWFsID09IGdsLkZSQU1CVUZGRVJfVU5TVVBQT1JURUQpKSB7CisgICAgICAg
IHRlc3RQYXNzZWQobXNnKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7
CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0VXNpbmdJbmNvbXBsZXRlRnJhbWVidWZmZXIoKSB7
CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJUZXN0IGRyYXdpbmcgb3IgcmVhZGluZyBmcm9t
IGFuIGluY29tcGxldGUgZnJhbWVidWZmZXIiKTsKKyAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1
cFRleHR1cmVkUXVhZChnbCk7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAg
ICB3dHUuZmlsbFRleHR1cmUoZ2wsIHRleCwgMSwgMSwgWzAsMjU1LDAsMjU1XSk7CisKKyAgICBz
aG91bGRCZU5vbk51bGwoImZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5i
aW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisgICAgc2hvdWxkQmVOb25OdWxs
KCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJl
bmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1
ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFD
SE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZm
ZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisKKyAgICBzaG91
bGRCZU5vbk51bGwoImRlcHRoQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAg
ICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAg
IGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZGVw
dGhBdHRhY2htZW50LCBnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKyAgICBnbC5yZW5k
ZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDE2LCAxNik7Cisg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgY2hlY2tGcmFtZWJ1ZmZl
cihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisKKyAgICAvLyBXZSBwaWNrIHRoaXMgY29tYmlu
YXRpb24gYmVjYXVzZSBpdCB3b3JrcyBvbiBkZXNrdG9wIE9wZW5HTCBidXQgc2hvdWxkIG5vdCB3
b3JrIG9uIE9wZW5HTCBFUyAyLjAKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRF
UkJVRkZFUiwgZGVwdGhGb3JtYXQsIDMyLCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5G
UkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMpOworICAgIGRlYnVnKCIiKTsKKyAgICBk
ZWJ1ZygiRHJhd2luZyBvciByZWFkaW5nIGZyb20gYW4gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciBz
aG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04iKTsKKyAgICB0ZXN0
UmVuZGVyaW5nQW5kUmVhZGluZygpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8yID0gZ2wu
Y3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJV
RkZFUiwgZmJvMik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBM
RVRFX01JU1NJTkdfQVRUQUNITUVOVCk7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJEcmF3
aW5nIG9yIHJlYWRpbmcgZnJvbSBhbiBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIHNob3VsZCBnZW5l
cmF0ZSBJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiIpOworICAgIHRlc3RSZW5kZXJpbmdB
bmRSZWFkaW5nKCk7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3Jl
YXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJV
RkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAg
ICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZF
UiwgY29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVG
RkVSLCBnbC5SR0JBNCwgMCwgMCk7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJEcmF3aW5n
IG9yIHJlYWRpbmcgZnJvbSBhbiBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIHNob3VsZCBnZW5lcmF0
ZSBJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiIpOworICAgIHRlc3RSZW5kZXJpbmdBbmRS
ZWFkaW5nKCk7CisKKyAgICBmdW5jdGlvbiB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygpIHsKKyAg
ICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgICAgIHd0dS5kcmF3
UXVhZChnbCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFNRUJV
RkZFUl9PUEVSQVRJT04sICJkcmF3QXJyYXlzIHdpdGggaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIp
OworICAgICAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIDEsIDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIG5ldyBVaW50OEFycmF5KDQpKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgInJlYWRQaXhlbHMgZnJvbSBpbmNvbXBs
ZXRlIGZyYW1lYnVmZmVyIik7CisgICAgICAgIC8vIGNvcHlUZXhJbWFnZSBhbmQgY29weVRleFN1
YkltYWdlIGNhbiBiZSBlaXRoZXIgSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04gYmVjYXVz
ZQorICAgICAgICAvLyB0aGUgZnJhbWVidWZmZXIgaXMgaW52YWxpZCBPUiBJTlZBTElEX09QRVJB
VElPTiBiZWNhdXNlIGluIHRoZSBjYXNlIG9mIG5vIGF0dGFjaG1lbnRzCisgICAgICAgIC8vIHRo
ZSBmcmFtZWJ1ZmZlciBpcyBub3Qgb2YgYSBjb21wYXRpYmxlIHR5cGUuCisgICAgICAgIGdsLmNv
cHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIDAsIDAsIDEsIDEpOworICAg
ICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIFtnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElP
TiwgZ2wuSU5WQUxJRF9PUEVSQVRJT05dLCAiY29weVRleEltYWdlMkQgZnJvbSBpbmNvbXBsZXRl
IGZyYW1lYnVmZmVyIik7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIDAsIDAsIDEsIDEsIDApOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IFtnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgZ2wuSU5WQUxJRF9PUEVSQVRJT05d
LCAiY29weVRleFN1YkltYWdlMkQgZnJvbSBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIik7CisgICAg
ICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsK
KyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJB
VElPTiwgImNsZWFyIHdpdGggaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAgIH0KK30KKwor
ZnVuY3Rpb24gdGVzdEZyYW1lYnVmZmVySW5jb21wbGV0ZUF0dGFjaG1lbnQoKSB7CisgICAgc2hv
dWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmlu
ZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIHNob3VsZEJlTm9uTnVsbCgi
Y29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5k
ZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZm
ZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hN
RU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVy
U3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworICAgIGNoZWNrRnJh
bWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOworCisgICAgZGVidWcoIiIpOworICAg
IGRlYnVnKCJXcm9uZyBzdG9yYWdlIHR5cGUgZm9yIHR5cGUgb2YgYXR0YWNobWVudCBiZSBGUkFN
RUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQgKE9wZW5HTCBFUyAyLjAgNC40LjUpIik7Cisg
ICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAx
NiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9B
VFRBQ0hNRU5UKTsKKworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVS
LCBnbC5SR0JBNCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVS
X0NPTVBMRVRFKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiMCBzaXplIGF0dGFjaG1l
bnQgc2hvdWxkIGJlIEZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCAoT3BlbkdMIEVT
IDIuMCA0LjQuNSkiKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZF
UiwgZ2wuUkdCQTQsIDAsIDApOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJf
SU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IpOworfQorCitmdW5jdGlvbiB0ZXN0RnJhbWVidWZmZXJJbmNvbXBsZXRlTWlzc2luZ0F0
dGFjaG1lbnQoKSB7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJObyBhdHRhY2htZW50cyBz
aG91bGQgYmUgSU5DT01QTEVURV9GUkFNRUJVRkZFUl9NSVNTSU5HX0FUVEFDSE1FTlQgKE9wZW5H
TCBFUyAyLjAgNC40LjUpIik7CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVG
cmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBm
Ym8pOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNT
SU5HX0FUVEFDSE1FTlQpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGds
LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5E
RVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigK
KyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJC
VUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRF
UkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFN
RUJVRkZFUl9DT01QTEVURSk7CisKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAg
ICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZG
RVIsIG51bGwpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVU
RV9NSVNTSU5HX0FUVEFDSE1FTlQpOworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7Cit9CisKK2Z1bmN0aW9uIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxldGVEaW1lbnNpb25z
KCkgeworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiQXR0YWNobWVudHMgb2YgZGlmZmVyZW50
IHNpemVzIHNob3VsZCBiZSBGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMgKE9wZW5H
TCBFUyAyLjAgNC40LjUpIik7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9IGdsLmNyZWF0
ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIs
IGZibyk7CisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRl
cmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNv
bG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wu
RlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9y
QnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wu
UkdCQTQsIDE2LCAxNik7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImRlcHRoQnVmZmVyID0gZ2wu
Y3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRF
UkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAor
ICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZGVwdGhBdHRhY2htZW50LCBnbC5SRU5ERVJCVUZGRVIs
IGRlcHRoQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZF
UiwgZGVwdGhGb3JtYXQsIDE2LCAxNik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisK
KyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQs
IDMyLCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRF
X0RJTUVOU0lPTlMpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVS
LCBkZXB0aEZvcm1hdCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVG
RkVSX0NPTVBMRVRFKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwg
Y29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVS
LCBnbC5SR0JBNCwgMTYsIDMyKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVS
X0lOQ09NUExFVEVfRElNRU5TSU9OUyk7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5S
RU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wu
RlJBTUVCVUZGRVJfQ09NUExFVEUpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IpOworCisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgZ2wuUkdCQSwgMTYsIDE2LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxs
KTsKKyAgICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1Jf
QVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRleCwgMCk7CisgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUik7CisgICAgaWYgKGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wu
RlJBTUVCVUZGRVIpICE9IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKSB7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDMyLCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgY2hlY2tG
cmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMpOworICAgIGds
LnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMTYsIDE2LCAwLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1F
QlVGRkVSX0NPTVBMRVRFKTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2U4YjUzZDdlZDJi
MGM4ZDBhNTA4MWE0Yjk0NTgzMDFhMmM2NjliNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmlu
Zy9nbC1zY2lzc29yLXRlc3QuaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgU2Npc3NvciBUZXN0PC90aXRs
ZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29u
c3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2RlYnVnL3dlYmdsLWRlYnVnLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZh
cyBpZD0iY2FudmFzMSIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzdHlsZT0id2lkdGg6IDQwcHg7
IGhlaWdodDogNDBweDsiPiA8L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImNhbnZhczIiIHdpZHRoPSIx
NiIgaGVpZ2h0PSIxNiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij4gPC9jYW52
YXM+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIkNoZWNrIGlmIGdsU2Np
c3NvciBzZXR0aW5nIHdvcmtzLiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2FudmFzLmdldENv
bnRleHQiKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCitmdW5jdGlvbiB0ZXN0KGNh
bnZhcywgYXR0cmlicykgeworICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywg
YXR0cmlicyk7CisKKyAgZnVuY3Rpb24gdGVzdChmdW5jKSB7CisgICAgZ2wuZGlzYWJsZShnbC5T
Q0lTU09SX1RFU1QpOworICAgIGdsLmNsZWFyQ29sb3IoMCwwLDAsMCk7CisgICAgZ2wuY2xlYXIo
Z2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgZ2wuZW5hYmxlKGdsLlNDSVNTT1JfVEVTVCk7CisK
KyAgICB2YXIgc2l6ZSA9IDE2OworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBzaXplOyArK2lp
KSB7CisgICAgICAvLyBjbGVhciBhIHBvcnRpb24gb2Ygb3VyIEZCTworICAgICAgZ2wuc2Npc3Nv
cihpaSwgaWksIDEsIDEpOworICAgICAgZnVuYygpOworICAgIH0KKworICAgIGZvciAodmFyIGlp
ID0gMDsgaWkgPCBzaXplOyArK2lpKSB7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAw
LCBpaSwgaWksIDEsIFswLCAwLCAwLCAwXSwgInNob3VsZCBiZSBibGFjayIpOworICAgICAgd3R1
LmNoZWNrQ2FudmFzUmVjdChnbCwgaWksIGlpLCAxLCAxLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hv
dWxkIGJlIGdyZWVuIik7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCBpaSArIDEsIGlp
LCBzaXplIC0gaWkgLSAxLCAxLCBbMCwgMCwgMCwgMF0sICJzaG91bGQgYmUgYmxhY2siKTsKKyAg
ICB9CisgIH0KKworICBpZiAoIWdsKSB7CisgICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5v
dCBleGlzdCIpOworICB9IGVsc2UgeworICAgIHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7
CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoInRlc3Qgd2l0aCBjbGVhciIpOworICAgIHRl
c3QoZnVuY3Rpb24oKSB7CisgICAgICBnbC5jbGVhckNvbG9yKDAsIDEsIDAsIDEpOworICAgICAg
Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgfSk7CisKKyAgICB3dHUuc2V0dXBD
b2xvclF1YWQoZ2wpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJ0ZXN0IHdpdGggZHJh
dyIpOworICAgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgICB3dHUuZHJhd0Zsb2F0Q29sb3JRdWFk
KGdsLCBbMCwgMSwgMCwgMV0pOworICAgIH0pOworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBlcnJvcnMiKTsKKyAgfQorfQorCitkZWJ1
ZygiIik7CitkZWJ1ZygidGVzdCBhbnRpYWxpYXM6IGZhbHNlIik7Cit0ZXN0KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjYW52YXMxIiksIHthbnRpYWxpYXM6IGZhbHNlfSk7CisKK2RlYnVnKCIi
KTsKK2RlYnVnKCJ0ZXN0IGFudGlhbGlhczogdHJ1ZSIpOwordGVzdChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2FudmFzMiIpLCB7YW50aWFsaWFzOiB0cnVlfSk7CisKK2RlYnVnKCIiKTsKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMWY1
OTliODI2MWU2Y2M0N2E2OTYwOGJmYzkzNWY2MmU2ZDg0NTdkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwKQEAgLTAsMCArMSwxNDUgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIE1v
cmUgdGhhbiA2NTUzNiBpbmRpY2VzLjwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBzdHlsZT0id2lkdGg6IDQw
cHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2cyIgdHlwZT0idGV4dC9z
b21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworYXR0
cmlidXRlIHZlYzQgdkNvbG9yOwordmFyeWluZyB2ZWM0IGNvbG9yOwordm9pZCBtYWluKCkgewor
ICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgIGNvbG9yID0gdkNvbG9yOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJmcyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3Jp
cHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzQgY29sb3I7Cit2b2lk
IG1haW4oKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gY29sb3I7Cit9Cis8L3NjcmlwdD4KKzxzY3Jp
cHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiY2hlY2tzIHRoYXQgcmVuZGVyaW5nIHdp
dGggbW9yZSB0aGFuIDY1NTM2IGluZGljZXMgd29ya3MuIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0
VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7Cit2YXIgcHJv
Z3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnMiLCAiZnMiXSwgWyJ2UG9zaXRpb24iLCAi
dkNvbG9yIl0pOwordmFyIGJ1ZmZlck9iamVjdHMgPSB3dHUuc2V0dXBVbml0UXVhZChnbCwgMCwg
MSk7CisKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXJPYmplY3RzWzBdKTsK
K2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsKKyAgICAg
IC0xLCAgMSwKKyAgICAgICAxLCAgMSwKKyAgICAgIC0xLCAtMSwKKyAgICAgICAxLCAtMSwKKyAg
ICAgIC0xLCAgMSwKKyAgICAgICAxLCAgMSwKKyAgICAgIC0xLCAtMSwKKyAgICAgICAxLCAtMV0p
LCBnbC5TVEFUSUNfRFJBVyk7CitnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDIsIGdsLkZMT0FU
LCBmYWxzZSwgMCwgMCk7CitnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyT2Jq
ZWN0c1sxXSk7CitnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IFVpbnQ4QXJyYXko
WworICAgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAyNTUsIDAsIDAsIDI1NSwKKyAgICAgIDI1
NSwgMCwgMCwgMjU1LAorICAgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAwLCAyNTUsIDAsIDI1
NSwKKyAgICAgIDAsIDI1NSwgMCwgMjU1LAorICAgICAgMCwgMjU1LCAwLCAyNTUsCisgICAgICAw
LCAyNTUsIDAsIDI1NV0pLCBnbC5TVEFUSUNfRFJBVyk7CitnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KDEsIDQsIGdsLlVOU0lHTkVEX0JZVEUsIHRydWUsIDAsIDApOword3R1LmdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IsICJhZnRlciBwcm9ncmFtIHNldHVwIik7CisKK3d0dS5nbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIgY3JlYXRpbmcgdGV4dHVyZSIpOwordmFy
IG51bVF1YWRzID0gTWF0aC5mbG9vcig2NTUzNiAvIDYpICsgNDsKK3ZhciBudW1Qb2ludHMgPSBu
dW1RdWFkcyAqIDY7CitkZWJ1ZygibnVtUXVhZHM6ICIgKyBudW1RdWFkcyk7CitkZWJ1ZygibnVt
UG9pbnRzOiAiICsgbnVtUG9pbnRzKTsKK3ZhciBpbmRleEJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcihu
dW1Qb2ludHMpOwordmFyIGluZGljZXMgPSBuZXcgVWludDhBcnJheShpbmRleEJ1Zik7Cit2YXIg
aW5kZXhCdWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2dsLmJpbmRCdWZmZXIoZ2wuRUxFTUVO
VF9BUlJBWV9CVUZGRVIsIGluZGV4QnVmZmVyKTsKK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SLCAiYWZ0ZXIgc2V0dGluZyB1cCBpbmRpY2VzIik7CisKK3ZhciBtb2RlcyA9IFsK
KyAge21vZGU6ICdQT0lOVFMnLCAgICAgICAgIG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwg
c2tpcDogMH0sCisgIHttb2RlOiAnTElORVMnLCAgICAgICAgICBvZmZzZXRzOiBbMCwgMSwgMiwg
MywgMiwgMV0sIHNraXA6IDB9LAorICB7bW9kZTogJ0xJTkVfTE9PUCcsICAgICAgb2Zmc2V0czog
WzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAxfSwKKyAge21vZGU6ICdMSU5FX1NUUklQJywgICAg
IG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwgc2tpcDogMH0sCisgIHttb2RlOiAnVFJJQU5H
TEVTJywgICAgICBvZmZzZXRzOiBbMCwgMSwgMiwgMywgMiwgMV0sIHNraXA6IDB9LAorICB7bW9k
ZTogJ1RSSUFOR0xFX1NUUklQJywgb2Zmc2V0czogWzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAw
fSwKKyAge21vZGU6ICdUUklBTkdMRV9GQU4nLCAgIG9mZnNldHM6IFswLCAxLCAzLCAyLCAyLCAx
XSwgc2tpcDogMX0KK107CisKK2ZvciAodmFyIG1tID0gMDsgbW0gPCBtb2Rlcy5sZW5ndGg7ICsr
bW0pIHsKKyAgdmFyIG1vZGVJbmZvID0gbW9kZXNbbW1dOworICB2YXIgbW9kZSA9IG1vZGVJbmZv
Lm1vZGU7CisgIHZhciBvZmZzZXRzID0gbW9kZUluZm8ub2Zmc2V0czsKKyAgdmFyIHNraXAgPSBt
b2RlSW5mby5za2lwOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBudW1RdWFkczsgKytpaSkg
eworICAgIHZhciBvZmZzZXQgPSBpaSAqIDY7CisgICAgdmFyIHF1YWQgPSAoaWkgPT0gMCB8fCBp
aSA9PSAobnVtUXVhZHMgLSAxKSkgPyA0IDogMDsKKyAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwg
NjsgKytqaikgeworICAgICAgaW5kaWNlc1tvZmZzZXQgKyBqal0gPSBxdWFkICsgb2Zmc2V0c1tq
al07CisgICAgfQorICB9CisgIGdsLmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIs
IGluZGljZXMsIGdsLlNUQVRJQ19EUkFXKTsKKworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJ0ZXN0
aW5nOiAiICsgbW9kZSk7CisgIC8vIERyYXcgd2l0aG91dCBsYXN0IDYgcG9pbnRzLgorICBnbC5k
cmF3RWxlbWVudHMoZ2xbbW9kZV0sIG51bVBvaW50cyAtIChza2lwICsgMSkgKiA2LCBnbC5VTlNJ
R05FRF9CWVRFLCBza2lwICogNik7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwgMCwgMCwg
MjU1XSwgIlNob3VsZCBiZSByZWQuIik7CisgIC8vIERyYXcgd2l0aCBsYXN0IDYgcG9pbnRzLgor
ICBnbC5kcmF3RWxlbWVudHMoZ2xbbW9kZV0sIG51bVBvaW50cywgZ2wuVU5TSUdORURfQllURSwg
MCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgIlNob3VsZCBiZSBn
cmVlbi4iKTsKK30KK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiYWZ0ZXIg
ZHJhd2luZyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CisKKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1w
bGUtY29ycnVwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wNWU4MTkxYWZmNjY5M2FkNjQ3NmNiOTQzOGI1Yjc3ZTJkMTZjNjI4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbApA
QCAtMCwwICsxLDEyNSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBL
aHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm
cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlz
IHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiog
Ik1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh
bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVy
c29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj
dCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
CisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlh
bHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiog
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO
RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9S
IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgor
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKyAgICA8dGl0bGU+V2ViR0wgTXVsdGlzYW1wbGUgUmVuZGVyYnVmZmVyIENvcnJ1cHRpb24g
VGVzdDwvdGl0bGU+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNh
bnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIwNDgiIGhlaWdodD0iMjA0OCIgc3R5bGU9IndpZHRo
OiAxMjhweDsgaGVpZ2h0OiAxMjhweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNjcmlwdCBpZD0idnNoYWRl
ciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgICAgICBhdHRyaWJ1dGUgdmVjNCB2UG9z
aXRpb247CisgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGdsX1Bv
c2l0aW9uID0gdlBvc2l0aW9uOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8c2Ny
aXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICAgICAgdm9p
ZCBtYWluKCkKKyAgICAgICAgeworICAgICAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLjAs
MC4wLDAuMCwwLjApOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0Pgor
ICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgIGZ1bmN0aW9uIGluaXQoKQorICAgICAgICB7
CisgICAgICAgICAgICBkZXNjcmlwdGlvbihkb2N1bWVudC50aXRsZSk7CisKKyAgICAgICAgICAg
IHZhciBsYXN0Q29udGV4dCA9IG51bGw7CisgICAgICAgICAgICB2YXIgY3ljbGVDb3VudCA9IDA7
CisgICAgICAgICAgICB2YXIgbWF4Q3ljbGVzID0gMTAwOworICAgICAgICAgICAgdmFyIGZhaWxl
ZCA9IGZhbHNlOworICAgICAgICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgICAg
ICAgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIsIHthbnRpYWxpYXM6
IHRydWUsIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZX0pOworCisgICAgICAgICAgICBnbC5j
bGVhckNvbG9yKDEuMCwgMC4wLCAwLjAsIDEuMCk7CisgICAgICAgICAgICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUKTsKKworICAgICAgICAgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQ
cm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlciJdLCBbInZQb3NpdGlvbiJdKTsKKyAgICAg
ICAgICAgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgICAgICAgICAg
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICAgICAgICAg
ICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoWyAwLDIu
NSwwLCAxLjUsMS41LDAsIDIuNSwxLjUsMCBdKSwgZ2wuU1RBVElDX0RSQVcpOworICAgICAgICAg
ICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisgICAgICAgICAgICBnbC52ZXJ0ZXhB
dHRyaWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIGN5Y2xlQW5kVGVzdCgpIHsKKyAgICAgICAgICAgICAgICB2YXIgZ2wyID0gd3R1
LmNyZWF0ZTNEQ29udGV4dChudWxsLCB7YW50aWFsaWFzOiB0cnVlfSk7CisKKyAgICAgICAgICAg
ICAgICBnbDIuY2FudmFzLndpZHRoID0gZ2wyLmNhbnZhcy5oZWlnaHQgPSAxMDI0OworICAgICAg
ICAgICAgICAgIGdsMi5jYW52YXMuc3R5bGUud2lkdGggPSBnbDIuY2FudmFzLnN0eWxlLmhlaWdo
dCA9ICIxcHgiOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZ2wy
LmNhbnZhcyk7CisKKyAgICAgICAgICAgICAgICBnbDIuY2xlYXJDb2xvcigxLjAsIDAuMCwgMC4w
LCAxLjApOworICAgICAgICAgICAgICAgIGdsMi5jbGVhcihnbDIuQ09MT1JfQlVGRkVSX0JJVCk7
CisKKyAgICAgICAgICAgICAgICBpZihsYXN0Q29udGV4dCkgeworICAgICAgICAgICAgICAgICAg
ICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgICAgICAgICAgICAgICAg
IHZhciBtc2cgPSAiU2hvdWxkIGJlIHJlZCBhZnRlciBsb29wICIgKyBjeWNsZUNvdW50OworICAg
ICAgICAgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0Q29sb3IoZ2wsCisgICAgICAgICAg
ICAgICAgICAgICAgICAwLCAwLCBnbC5jYW52YXMud2lkdGgsIGdsLmNhbnZhcy5oZWlnaHQsCisg
ICAgICAgICAgICAgICAgICAgICAgICBbMjU1LCAwLCAwLCAyNTVdLCBudWxsLAorICAgICAgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZChtc2cpOworICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsZWQgPSB0cnVl
OworICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgZGVidWcp
OworICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxhc3RDb250
ZXh0LmNhbnZhcyk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgbGFzdENv
bnRleHQgPSBnbDI7CisgICAgICAgICAgICAgICAgY3ljbGVDb3VudCsrOworCisgICAgICAgICAg
ICAgICAgaWYoY3ljbGVDb3VudCA8PSBtYXhDeWNsZXMgJiYgIWZhaWxlZCkgeworICAgICAgICAg
ICAgICAgICAgICB3dHUud2FpdEZvckNvbXBvc2l0ZShnbDIsIGN5Y2xlQW5kVGVzdCk7CisgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY3ljbGVBbmRU
ZXN0KCk7CisgICAgICAgfQorCisgICAgICAgaW5pdCgpOworICAgICAgIHZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworICAgIDwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xNGViZTM1MmQ0ZTVlZmQ3YTFjNWE0NjNjZTY0Yjc0M2MxZWQ4MGNm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbApAQCAtMCwwICsx
LDE1MSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1
dGUgdmVjMyBwb3M7CisgICAgYXR0cmlidXRlIHZlYzQgY29sb3JJbjsKKyAgICB1bmlmb3JtIGZs
b2F0IHBvaW50U2l6ZTsKKyAgICB2YXJ5aW5nIHZlYzQgY29sb3I7CisKKyAgICB2b2lkIG1haW4o
KQorICAgIHsKKyAgICAgICAgZ2xfUG9pbnRTaXplID0gcG9pbnRTaXplOworICAgICAgICBjb2xv
ciA9IGNvbG9ySW47CisgICAgICAgIGdsX1Bvc2l0aW9uID0gdmVjNChwb3MsIDEuMCk7CisgICAg
fQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJh
Z21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHZhcnlpbmcgdmVjNCBj
b2xvcjsKKworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSBj
b2xvcjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0idGVz
dGJlZCIgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgInVzZSBz
dHJpY3QiOworICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkgR0xfVkVSVEVYX1BST0dSQU1fUE9JTlRf
U0laRSBpcyBlbmFibGVkIGluIFdlYkdMJyk7CisKKyAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CisgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgndGVzdGJlZCcsIHsgYW50aWFs
aWFzOiBmYWxzZSB9KTsKKyAgICBzaG91bGRCZU5vbk51bGwoImdsIik7CisKKyAgICBnbC5kaXNh
YmxlKGdsLkJMRU5EKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQ
VEhfQlVGRkVSX0JJVCk7CisKKyAgICAvLyBUaGUgY2hvaWNlIG9mICgwLjQsIDAuNCkgZW5zdXJl
cyB0aGF0IHRoZSBjZW50ZXJzIG9mIHRoZSBzdXJyb3VuZGluZworICAgIC8vIHBpeGVscyBhcmUg
bm90IGNvbnRhaW5lZCB3aXRoaW4gdGhlIHBvaW50IHdoZW4gaXQgaXMgb2Ygc2l6ZSAxLCBidXQK
KyAgICAvLyB0aGF0IHRoZXkgZGVmaW5pdGVseSBhcmUgd2hlbiBpdCBpcyBvZiBzaXplIDIuCisg
ICAgdmFyIHZlcnRpY2VzID0gbmV3IEZsb2F0MzJBcnJheShbCisgICAgICAgIDAuNCwgMC40LCAw
LjBdKTsKKyAgICB2YXIgY29sb3JzID0gbmV3IFVpbnQ4QXJyYXkoWworICAgICAgICAyNTUsIDAs
IDAsIDI1NV0pOworCisgICAgdmFyIGNvbG9yT2Zmc2V0ID0gdmVydGljZXMuYnl0ZUxlbmd0aDsK
KworICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSgyICogMiAqIDQpOworICAgIHZhciBpbmRl
eCA9IDA7CisKKyAgICB2YXIgdmJvID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgZ2wuYmluZEJ1
ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZibyk7CisgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9C
VUZGRVIsIGNvbG9yT2Zmc2V0ICsgY29sb3JzLmJ5dGVMZW5ndGgsIGdsLlNUQVRJQ19EUkFXKTsK
KyAgICBnbC5idWZmZXJTdWJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgMCwgdmVydGljZXMpOworICAg
IGdsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBjb2xvck9mZnNldCwgY29sb3JzKTsK
KworICAgIGZ1bmN0aW9uIHRlc3QocHJvZ3JhbSkgeworICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQ
b2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgICAgICAgIGdsLmVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KDApOworICAgICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDQs
IGdsLlVOU0lHTkVEX0JZVEUsIHRydWUsIDAsIGNvbG9yT2Zmc2V0KTsKKyAgICAgICAgZ2wuZW5h
YmxlVmVydGV4QXR0cmliQXJyYXkoMSk7CisKKyAgICAgICAgdmFyIGxvY1BvaW50U2l6ZSA9IGds
LmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAncG9pbnRTaXplJyk7CisKKyAgICAgICAgc2hv
dWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9fRVJST1InKTsKKworICAgICAgICBkZWJ1Zygn
RHJhdyBhIHBvaW50IG9mIHNpemUgMSBhbmQgdmVyaWZ5IGl0IGRvZXMgbm90IHRvdWNoIGFueSBv
dGhlciBwaXhlbHMuJyk7CisKKyAgICAgICAgZ2wudW5pZm9ybTFmKGxvY1BvaW50U2l6ZSwgMS4w
KTsKKyAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIHZlcnRpY2VzLmxlbmd0aCAv
IDMpOworICAgICAgICAKKyAgICAgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9f
RVJST1InKTsKKworICAgICAgICBmb3IgKHZhciB5ID0gMDsgeSA8IDI7ICsreSkgeworICAgICAg
ICAgICAgZm9yICh2YXIgeCA9IDA7IHggPCAyOyArK3gpIHsKKyAgICAgICAgICAgICAgICB2YXIg
Y29ycmVjdENvbG9yID0gKHggPT0gMSAmJiB5ID09IDEpID8gWzI1NSwgMCwgMF0gOiBbMCwgMCwg
MF07CisgICAgICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgeCwgeSwgMSwgMSwg
Y29ycmVjdENvbG9yKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgICAgICAg
ZGVidWcoJ0RyYXcgYSBwb2ludCBvZiBzaXplIDIgYW5kIHZlcmlmeSBpdCBmaWxscyB0aGUgYXBw
cm9wcmlhdGUgcmVnaW9uLicpOworCisgICAgICAgIHZhciBwb2ludFNpemVSYW5nZSA9IGdsLmdl
dFBhcmFtZXRlcihnbC5BTElBU0VEX1BPSU5UX1NJWkVfUkFOR0UpOworICAgICAgICBpZiAocG9p
bnRTaXplUmFuZ2VbMV0gPj0gMi4wKSB7CisgICAgICAgICAgICBnbC51bmlmb3JtMWYobG9jUG9p
bnRTaXplLCAyLjApOworICAgICAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAsIHZl
cnRpY2VzLmxlbmd0aCAvIDMpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCkn
LCAnZ2wuTk9fRVJST1InKTsKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAs
IDAsIDIsIDIsIFsyNTUsIDAsIDBdKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGRlYnVnKCcn
KTsKKyAgICBkZWJ1ZygnUGFzcyAxJyk7CisgICAgdmFyIHByb2dyYW0xID0gd3R1LnNldHVwUHJv
Z3JhbShnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWydwb3MnLCAnY29sb3JJbiddKTsKKyAg
ICBzaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICdnbC5OT19FUlJPUicpOworICAgIHRlc3QocHJv
Z3JhbTEpOworCisgICAgLy8gVW5kZXIgc29tZSB2ZXJzaW9ucyBvZiBBTkdMRSBwb2ludCBzcHJp
dGUgc2hhZGVyIHByb2dyYW1zIHdlcmUgCisgICAgLy8gaW5jb3JyZWN0bHkgcmVsb2FkZWQgZnJv
bSBjYWNoZS4gUmVidWlsZGluZyB0aGUgc2hhZGVyIHByb2dyYW0gYW5kCisgICAgLy8gcmVwZWF0
aW5nIHRoZSB0ZXN0IHNpbXVsYXRlcyB0aGUgY29uZGl0aW9ucyB0aGF0IGNhdXNlZCBpdCB0byBm
YWlsCisgICAgZGVidWcoJycpOworICAgIGRlYnVnKCdQYXNzIDInKTsKKyAgICB2YXIgcHJvZ3Jh
bTIgPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBbJ3Bvcycs
ICdjb2xvckluJ10pOworICAgIHNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9S
Jyk7CisgICAgdGVzdChwcm9ncmFtMik7CisKKyAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRl
L2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wYzA3NDE2NGYzM2ZiYzA0OThmYjMxMjJmNTMxYWU0MzlhYTVkYzRhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sCkBAIC0wLDAg
KzEsNDYzIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKK2Rlc2NyaXB0aW9uKCJUZXN0IG9mIGdldCBjYWxscyBhZ2FpbnN0IEdMIG9i
amVjdHMgbGlrZSBnZXRCdWZmZXJQYXJhbWV0ZXIsIGV0Yy4iKTsKKworZnVuY3Rpb24gc2l6ZUlu
Qnl0ZXModHlwZSkgeworICBzd2l0Y2ggKHR5cGUpIHsKKyAgY2FzZSBnbC5CWVRFOgorICBjYXNl
IGdsLlVOU0lHTkVEX0JZVEU6CisgICAgcmV0dXJuIDE7CisgIGNhc2UgZ2wuU0hPUlQ6CisgIGNh
c2UgZ2wuVU5TSUdORURfU0hPUlQ6CisgICAgcmV0dXJuIDI7CisgIGNhc2UgZ2wuSU5UOgorICBj
YXNlIGdsLlVOU0lHTkVEX0lOVDoKKyAgY2FzZSBnbC5GTE9BVDoKKyAgICByZXR1cm4gNDsKKyAg
ZGVmYXVsdDoKKyAgICB0aHJvdyAidW5rbm93biB0eXBlIjsKKyAgfQorfQorCit2YXIgZ2wgPSB3
dHUuY3JlYXRlM0RDb250ZXh0KCk7CisKK2RlYnVnKCJ0ZXN0IGdldEF0dGFjaGVkU2hhZGVycyIp
OwordmFyIHN0YW5kYXJkVmVydCA9IHd0dS5sb2FkU3RhbmRhcmRWZXJ0ZXhTaGFkZXIoZ2wpOwor
dmFyIHN0YW5kYXJkRnJhZyA9IHd0dS5sb2FkU3RhbmRhcmRGcmFnbWVudFNoYWRlcihnbCk7Cit2
YXIgc3RhbmRhcmRQcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworZ2wuYXR0YWNoU2hhZGVy
KHN0YW5kYXJkUHJvZ3JhbSwgc3RhbmRhcmRWZXJ0KTsKK2dsLmF0dGFjaFNoYWRlcihzdGFuZGFy
ZFByb2dyYW0sIHN0YW5kYXJkRnJhZyk7CitnbC5saW5rUHJvZ3JhbShzdGFuZGFyZFByb2dyYW0p
OwordmFyIHNoYWRlcnMgPSBnbC5nZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRhcmRQcm9ncmFtKTsK
K3Nob3VsZEJlKCdzaGFkZXJzLmxlbmd0aCcsICcyJyk7CitzaG91bGRCZVRydWUoJ3NoYWRlcnNb
MF0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMV0gPT0gc3RhbmRhcmRGcmFnIHx8IHNoYWRl
cnNbMV0gPT0gc3RhbmRhcmRWZXJ0ICYmIHNoYWRlcnNbMF0gPT0gc3RhbmRhcmRGcmFnJyk7Citn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK3Nob3VsZEJlTnVsbCgnZ2wuZ2V0QXR0
YWNoZWRTaGFkZXJzKG51bGwpJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFM
VUUpOworc2hvdWxkVGhyb3coJ2dsLmdldEF0dGFjaGVkU2hhZGVycyhzdGFuZGFyZFZlcnQpJyk7
CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworZnVuY3Rpb24gdGVzdEludmFs
aWRBcmd1bWVudChmdW5jTmFtZSwgYXJndW1lbnROYW1lLCB2YWxpZEFyZ3VtZW50QXJyYXksIGZ1
bmMpIHsKKyAgdmFyIHZhbGlkQXJndW1lbnRzID0ge307CisgIGZvciAodmFyIGlpID0gMDsgaWkg
PCB2YWxpZEFyZ3VtZW50QXJyYXkubGVuZ3RoOyArK2lpKSB7CisgICAgdmFsaWRBcmd1bWVudHNb
dmFsaWRBcmd1bWVudEFycmF5W2lpXV0gPSB0cnVlOworICB9CisgIHZhciBzdWNjZXNzID0gdHJ1
ZTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IDB4MTAwMDA7ICsraWkpIHsKKyAgICBpZiAoIXZh
bGlkQXJndW1lbnRzW2lpXSkgeworICAgICAgdmFyIHJlc3VsdCA9IGZ1bmMoaWkpOworICAgICAg
aWYgKHJlc3VsdCAhPT0gbnVsbCkgeworICAgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgICAg
IHRlc3RGYWlsZWQoZnVuY05hbWUgKyAiIHJldHVybmVkICIgKyByZXN1bHQgKyAiIGluc3RlYWQg
b2YgbnVsbCBmb3IgaW52YWxpZCAiICsgYXJndW1lbnROYW1lICsgIiBlbnVtOiAiICsgd3R1Lmds
RW51bVRvU3RyaW5nKGdsLCBpaSkpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIHZh
ciBlcnIgPSBnbC5nZXRFcnJvcigpOworICAgICAgaWYgKGVyciAhPSBnbC5JTlZBTElEX0VOVU0p
IHsKKyAgICAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgICB0ZXN0RmFpbGVkKGZ1bmNOYW1l
ICsgIiBkaWQgbm90IGdlbmVyYXRlIElOVkFMSURfRU5VTSBmb3IgaW52YWxpZCAiICsgYXJndW1l
bnROYW1lICsgIiBlbnVtOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBpaSkpOworICAgICAg
ICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0KKyAgaWYgKHN1Y2Nlc3MpIHsKKyAgICB0ZXN0
UGFzc2VkKGZ1bmNOYW1lICsgIiBjb3JyZWN0bHkgaGFuZGxlZCBpbnZhbGlkICIgKyBhcmd1bWVu
dE5hbWUgKyAiIGVudW1zIik7CisgIH0KK30KKworZGVidWcoIiIpOworZGVidWcoInRlc3QgZ2V0
QnVmZmVyUGFyYW1ldGVyIik7CisvLyBUZXN0IGdldEJ1ZmZlclBhcmFtZXRlcgordmFyIGJ1ZmZl
clR5cGVzID0gW2dsLkFSUkFZX0JVRkZFUiwgZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVJdOworZm9y
ICh2YXIgYmIgPSAwOyBiYiA8IGJ1ZmZlclR5cGVzLmxlbmd0aDsgKytiYikgeworICB2YXIgYnVm
ZmVyVHlwZSA9IGJ1ZmZlclR5cGVzW2JiXTsKKyAgdmFyIGJ1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZl
cigpOworICBnbC5iaW5kQnVmZmVyKGJ1ZmZlclR5cGUsIGJ1ZmZlcik7CisgIGdsLmJ1ZmZlckRh
dGEoYnVmZmVyVHlwZSwgMTYsIGdsLkRZTkFNSUNfRFJBVyk7CisgIHZhciBleHByZXNzaW9uMSA9
ICJnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgYnVm
ZmVyVHlwZSkgKyAiLCBnbC5CVUZGRVJfU0laRSkiOworICB2YXIgZXhwcmVzc2lvbjIgPSAiZ2wu
Z2V0QnVmZmVyUGFyYW1ldGVyKGdsLiIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGJ1ZmZlclR5
cGUpICsgIiwgZ2wuQlVGRkVSX1VTQUdFKSI7CisgIHNob3VsZEJlKGV4cHJlc3Npb24xLCAnMTYn
KTsKKyAgc2hvdWxkQmUoZXhwcmVzc2lvbjIsICdnbC5EWU5BTUlDX0RSQVcnKTsKKyAgdGVzdElu
dmFsaWRBcmd1bWVudCgiZ2V0QnVmZmVyUGFyYW1ldGVyIiwgInBhcmFtZXRlciIsIFtnbC5CVUZG
RVJfU0laRSwgZ2wuQlVGRkVSX1VTQUdFXSwgZnVuY3Rpb24oYnVmZmVyVHlwZSkgeworICAgIHJl
dHVybiBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRCdWZmZXJQYXJh
bWV0ZXIoYnVmZmVyVHlwZSwgcGFyYW1ldGVyKTsKKyAgICB9OworICB9KGJ1ZmZlclR5cGUpKTsK
K30KK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldEJ1ZmZlclBhcmFtZXRlciIsCisgICAg
InRhcmdldCIsCisgICAgYnVmZmVyVHlwZXMsCisgICAgZnVuY3Rpb24odGFyZ2V0KSB7CisgICAg
ICByZXR1cm4gZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKHRhcmdldCwgZ2wuQlVGRkVSX1NJWkUpOwor
ICAgIH0KKyk7CisKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgZ2V0RnJhbWVidWZmZXJBdHRh
Y2htZW50UGFyYW1ldGVyIik7Cit2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKK2ds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworZ2wudGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0JBLCAyLCAyLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRF
LAorICAgICAgICAgICAgICBuZXcgVWludDhBcnJheShbCisgICAgICAgICAgICAgICAgICAwLCAw
LCAwLCAyNTUsCisgICAgICAgICAgICAgICAgICAyNTUsIDI1NSwgMjU1LCAyNTUsCisgICAgICAg
ICAgICAgICAgICAyNTUsIDI1NSwgMjU1LCAyNTUsCisgICAgICAgICAgICAgICAgICAwLCAwLCAw
LCAyNTVdKSk7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlO
X0ZJTFRFUiwgZ2wuTElORUFSKTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wu
VEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5FQVIpOworZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVS
RV8yRCwgbnVsbCk7Cit2YXIgZnJhbWVidWZmZXIgPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpOwor
Z2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmcmFtZWJ1ZmZlcik7CitnbC5mcmFt
ZWJ1ZmZlclRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGds
LlRFWFRVUkVfMkQsIHRleHR1cmUsIDApOwordmFyIHJlbmRlcmJ1ZmZlciA9IGdsLmNyZWF0ZVJl
bmRlcmJ1ZmZlcigpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitnbC5iaW5k
UmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVyKTsKK2dsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJC
VUZGRVIsIGdsLkRFUFRIX0NPTVBPTkVOVDE2LCAyLCAyKTsKK2dsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IpOworZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIs
IGdsLkRFUFRIX0FUVEFDSE1FTlQsIGdsLlJFTkRFUkJVRkZFUiwgcmVuZGVyYnVmZmVyKTsKKy8v
IEZJWE1FOiBvbiBzb21lIG1hY2hpbmVzIChpbiBwYXJ0aWN1bGFyIHRoZSBXZWJLaXQgY29tbWl0
IGJvdHMpIHRoZQorLy8gZnJhbWVidWZmZXIgc3RhdHVzIGlzIEZSQU1FQlVGRkVSX1VOU1VQUE9S
VEVEOyBtb3JlIGludmVzdGlnYXRpb24KKy8vIGlzIG5lZWRlZCB3aHkgdGhpcyBpcyB0aGUgY2Fz
ZSwgYmVjYXVzZSB0aGUgRkJPIGFsbG9jYXRlZAorLy8gaW50ZXJuYWxseSBieSB0aGUgV2ViS2l0
IGltcGxlbWVudGF0aW9uIGhhcyBhbG1vc3QgaWRlbnRpY2FsCisvLyBwYXJhbWV0ZXJzIHRvIHRo
aXMgb25lLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODQz
Lgorc2hvdWxkQmUoJ2dsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpJywg
J2dsLkZSQU1FQlVGRkVSX0NPTVBMRVRFJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJB
dHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwg
Z2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSknLCAnZ2wuVEVYVFVSRScpOwor
c2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJV
RkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JK
RUNUX05BTUUpJywgJ3RleHR1cmUnKTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFj
aG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5G
UkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfTEVWRUwpJywgJzAnKTsKK3Nob3VsZEJlKCdn
bC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNP
TE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfQ1VCRV9N
QVBfRkFDRSknLCAnMCcpOworCitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50
UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJV
RkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKScsICdnbC5SRU5ERVJCVUZGRVInKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIs
IGdsLkRFUFRIX0FUVEFDSE1FTlQsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05B
TUUpJywgJ3JlbmRlcmJ1ZmZlcicpOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0RnJh
bWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBbIGds
LkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUsCisgICAgICBnbC5GUkFNRUJVRkZF
Ul9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FLAorICAgICAgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVO
VF9URVhUVVJFX0xFVkVMLAorICAgICAgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJF
X0NVQkVfTUFQX0ZBQ0UKKyAgICBdLAorICAgIGZ1bmN0aW9uKHBhcmFtZXRlcikgeworICAgICAg
cmV0dXJuIGdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZF
UiwgZ2wuQ09MT1JfQVRUQUNITUVOVCwgcGFyYW1ldGVyKTsKKyAgICB9CispOwordGVzdEludmFs
aWRBcmd1bWVudCgKKyAgICAiZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyIiwKKyAg
ICAidGFyZ2V0IiwKKyAgICBbIGdsLkZSQU1FQlVGRkVSIF0sCisgICAgZnVuY3Rpb24odGFyZ2V0
KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKHRh
cmdldCwgZ2wuQ09MT1JfQVRUQUNITUVOVCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpF
Q1RfVFlQRSk7CisgICAgfQorKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldEZyYW1l
YnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciIsCisgICAgImF0dGFjaG1lbnQiLAorICAgIFsgZ2wu
Q09MT1JfQVRUQUNITUVOVDAsCisgICAgICBnbC5ERVBUSF9BVFRBQ0hNRU5ULAorICAgICAgZ2wu
U1RFTkNJTF9BVFRBQ0hNRU5ULAorICAgICAgZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UCisg
ICAgXSwKKyAgICBmdW5jdGlvbihhdHRhY2htZW50KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0RnJh
bWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBhdHRhY2htZW50LCBn
bC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKTsKKyAgICB9CispOworCisKK2Rl
YnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFByb2dyYW1QYXJhbWV0ZXIiKTsKK3Nob3VsZEJlKCdn
bC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wuREVMRVRFX1NUQVRVUykn
LCAnZmFsc2UnKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJv
Z3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3Nob3VsZEJlKCd0eXBlb2YgZ2wuZ2V0
UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLlZBTElEQVRFX1NUQVRVUyknLCAn
ImJvb2xlYW4iJyk7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFBy
b2dyYW0sIGdsLkFUVEFDSEVEX1NIQURFUlMpJywgJzInKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9n
cmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wuQUNUSVZFX0FUVFJJQlVURVMpJywgJzIn
KTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wu
QUNUSVZFX1VOSUZPUk1TKScsICcxJyk7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRQ
cm9ncmFtUGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLkRFTEVURV9TVEFU
VVMsCisgICAgICBnbC5MSU5LX1NUQVRVUywKKyAgICAgIGdsLlZBTElEQVRFX1NUQVRVUywKKyAg
ICAgIGdsLkFUVEFDSEVEX1NIQURFUlMsCisgICAgICBnbC5BQ1RJVkVfQVRUUklCVVRFUywKKyAg
ICAgIGdsLkFDVElWRV9VTklGT1JNUworICAgIF0sCisgICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7
CisgICAgICByZXR1cm4gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIHBh
cmFtZXRlcik7CisgICAgfQorKTsKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgZ2V0UmVuZGVy
YnVmZmVyUGFyYW1ldGVyIik7CitzaG91bGRCZSgnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVy
KGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX1dJRFRIKScsICcyJyk7CitzaG91bGRC
ZSgnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVS
QlVGRkVSX0hFSUdIVCknLCAnMicpOworLy8gTm90ZTogd2UgY2FuJ3QgdGVzdCB0aGUgYWN0dWFs
IHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBmb3JtYXQgc2luY2UKKy8vIHRoZSBpbXBsZW1lbnRhdGlv
biBpcyBhbGxvd2VkIHRvIGNoYW5nZSBpdC4KK3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVy
YnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0lOVEVSTkFM
X0ZPUk1BVCknKTsKK3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVy
KGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0RFUFRIX1NJWkUpJyk7Cit2YXIgY29s
b3JidWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKK2dsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IpOworZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHJlbmRl
cmJ1ZmZlcik7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK2dsLnJlbmRlcmJ1
ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMiwgMik7CitzaG91bGRCZU5v
blplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJF
TkRFUkJVRkZFUl9SRURfU0laRSknKTsKK3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVm
ZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUp
Jyk7CitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5E
RVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9CTFVFX1NJWkUpJyk7CitzaG91bGRCZU5vblplcm8o
J2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJV
RkZFUl9BTFBIQV9TSVpFKScpOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0UmVuZGVy
YnVmZmVyUGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLlJFTkRFUkJVRkZF
Ul9XSURUSCwKKyAgICAgIGdsLlJFTkRFUkJVRkZFUl9IRUlHSFQsCisgICAgICBnbC5SRU5ERVJC
VUZGRVJfSU5URVJOQUxfRk9STUFULAorICAgICAgZ2wuUkVOREVSQlVGRkVSX1JFRF9TSVpFLAor
ICAgICAgZ2wuUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUsCisgICAgICBnbC5SRU5ERVJCVUZGRVJf
QkxVRV9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0FMUEhBX1NJWkUsCisgICAgICBnbC5S
RU5ERVJCVUZGRVJfREVQVEhfU0laRSwKKyAgICAgIGdsLlJFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJ
WkUsCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5n
ZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBwYXJhbWV0ZXIpOworICAg
IH0pOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVy
IiwKKyAgICAidGFyZ2V0IiwKKyAgICBbIGdsLlJFTkRFUkJVRkZFUiBdLAorICAgIGZ1bmN0aW9u
KHRhcmdldCkgeworICAgICAgcmV0dXJuIGdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcih0YXJn
ZXQsIGdsLlJFTkRFUkJVRkZFUl9XSURUSCk7CisgICAgfSk7CisKK2RlYnVnKCIiKTsKK2RlYnVn
KCJUZXN0IGdldFNoYWRlclBhcmFtZXRlciIpOworc2hvdWxkQmUoJ2dsLmdldFNoYWRlclBhcmFt
ZXRlcihzdGFuZGFyZFZlcnQsIGdsLlNIQURFUl9UWVBFKScsICdnbC5WRVJURVhfU0hBREVSJyk7
CitzaG91bGRCZSgnZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHN0YW5kYXJkVmVydCwgZ2wuREVMRVRF
X1NUQVRVUyknLCAnZmFsc2UnKTsKK3Nob3VsZEJlKCdnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc3Rh
bmRhcmRWZXJ0LCBnbC5DT01QSUxFX1NUQVRVUyknLCAndHJ1ZScpOwordGVzdEludmFsaWRBcmd1
bWVudCgKKyAgICAiZ2V0U2hhZGVyUGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBb
IGdsLkRFTEVURV9TVEFUVVMsCisgICAgICBnbC5DT01QSUxFX1NUQVRVUywKKyAgICAgIGdsLlNI
QURFUl9UWVBFCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVy
biBnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc3RhbmRhcmRWZXJ0LCBwYXJhbWV0ZXIpOworICAgIH0K
Kyk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFRleFBhcmFtZXRlciIpOworZ2wuYmlu
ZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmcmFtZWJ1ZmZlcik7CitnbC5iaW5kVGV4dHVy
ZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8y
RCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKK2dsLnRleFBhcmFtZXRlcmko
Z2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKK2dsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1QX1RP
X0VER0UpOworZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBf
VCwgZ2wuQ0xBTVBfVE9fRURHRSk7CitzaG91bGRCZSgnZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiknLCAnZ2wuTkVBUkVTVCcpOworc2hvdWxk
QmUoJ2dsLmdldFRleFBhcmFtZXRlcihnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxU
RVIpJywgJ2dsLk5FQVJFU1QnKTsKK3Nob3VsZEJlKCdnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVY
VFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1MpJywgJ2dsLkNMQU1QX1RPX0VER0UnKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1Qp
JywgJ2dsLkNMQU1QX1RPX0VER0UnKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldFRl
eFBhcmFtZXRlciIsCisgICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5URVhUVVJFX01BR19GSUxU
RVIsCisgICAgICBnbC5URVhUVVJFX01JTl9GSUxURVIsCisgICAgICBnbC5URVhUVVJFX1dSQVBf
UywKKyAgICAgIGdsLlRFWFRVUkVfV1JBUF9UCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0
ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRUZXhQYXJhbWV0ZXIoZ2wuVEVYVFVSRV8yRCwgcGFy
YW1ldGVyKTsKKyAgICB9CispOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0VGV4UGFy
YW1ldGVyIiwKKyAgICAidGFyZ2V0IiwKKyAgICBbIGdsLlRFWFRVUkVfMkQsCisgICAgICBnbC5U
RVhUVVJFX0NVQkVfTUFQCisgICAgXSwKKyAgICBmdW5jdGlvbih0YXJnZXQpIHsKKyAgICAgIHJl
dHVybiBnbC5nZXRUZXhQYXJhbWV0ZXIodGFyZ2V0LCBnbC5URVhUVVJFX01BR19GSUxURVIpOwor
ICAgIH0KKyk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFVuaWZvcm0gd2l0aCBhbGwg
dmFyaWFudHMgb2YgZGF0YSB0eXBlcyIpOworLy8gQm9vbGVhbiB1bmlmb3JtIHZhcmlhYmxlcwor
dmFyIGJvb2xQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJj
ZXMvYm9vbFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFk
ZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoYm9vbFByb2dyYW0s
IGdsLkxJTktfU1RBVFVTKScsICd0cnVlJyk7Cit2YXIgYnZhbExvYyA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihib29sUHJvZ3JhbSwgImJ2YWwiKTsKK3ZhciBidmFsMkxvYyA9IGdsLmdldFVuaWZv
cm1Mb2NhdGlvbihib29sUHJvZ3JhbSwgImJ2YWwyIik7Cit2YXIgYnZhbDNMb2MgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24oYm9vbFByb2dyYW0sICJidmFsMyIpOwordmFyIGJ2YWw0TG9jID0gZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKGJvb2xQcm9ncmFtLCAiYnZhbDQiKTsKK2dsLnVzZVByb2dyYW0o
Ym9vbFByb2dyYW0pOworZ2wudW5pZm9ybTFpKGJ2YWxMb2MsIDEpOworZ2wudW5pZm9ybTJpKGJ2
YWwyTG9jLCAxLCAwKTsKK2dsLnVuaWZvcm0zaShidmFsM0xvYywgMSwgMCwgMSk7CitnbC51bmlm
b3JtNGkoYnZhbDRMb2MsIDEsIDAsIDEsIDApOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShib29sUHJvZ3JhbSwgYnZhbExvYyknLCAn
dHJ1ZScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oYm9vbFByb2dyYW0sIGJ2YWwyTG9jKScs
ICdbdHJ1ZSwgZmFsc2VdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShib29sUHJvZ3JhbSwg
YnZhbDNMb2MpJywgJ1t0cnVlLCBmYWxzZSwgdHJ1ZV0nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlm
b3JtKGJvb2xQcm9ncmFtLCBidmFsNExvYyknLCAnW3RydWUsIGZhbHNlLCB0cnVlLCBmYWxzZV0n
KTsKKy8vIEludGVnZXIgdW5pZm9ybSB2YXJpYWJsZXMKK3ZhciBpbnRQcm9ncmFtID0gd3R1Lmxv
YWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJjZXMvaW50VW5pZm9ybVNoYWRlci52ZXJ0
IiwgIi4uL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci5mcmFnIik7CitzaG91bGRCZSgnZ2wu
Z2V0UHJvZ3JhbVBhcmFtZXRlcihpbnRQcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyknLCAndHJ1ZScp
OwordmFyIGl2YWxMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oaW50UHJvZ3JhbSwgIml2YWwi
KTsKK3ZhciBpdmFsMkxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihpbnRQcm9ncmFtLCAiaXZh
bDIiKTsKK3ZhciBpdmFsM0xvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihpbnRQcm9ncmFtLCAi
aXZhbDMiKTsKK3ZhciBpdmFsNExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihpbnRQcm9ncmFt
LCAiaXZhbDQiKTsKK2dsLnVzZVByb2dyYW0oaW50UHJvZ3JhbSk7CitnbC51bmlmb3JtMWkoaXZh
bExvYywgMSk7CitnbC51bmlmb3JtMmkoaXZhbDJMb2MsIDIsIDMpOworZ2wudW5pZm9ybTNpKGl2
YWwzTG9jLCA0LCA1LCA2KTsKK2dsLnVuaWZvcm00aShpdmFsNExvYywgNywgOCwgOSwgMTApOwor
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9y
bShpbnRQcm9ncmFtLCBpdmFsTG9jKScsICcxJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShp
bnRQcm9ncmFtLCBpdmFsMkxvYyknLCAnWzIsIDNdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9y
bShpbnRQcm9ncmFtLCBpdmFsM0xvYyknLCAnWzQsIDUsIDZdJyk7CitzaG91bGRCZSgnZ2wuZ2V0
VW5pZm9ybShpbnRQcm9ncmFtLCBpdmFsNExvYyknLCAnWzcsIDgsIDksIDEwXScpOworLy8gRmxv
YXQgdW5pZm9ybSB2YXJpYWJsZXMKK3ZhciBmbG9hdFByb2dyYW0gPSB3dHUubG9hZFByb2dyYW1G
cm9tRmlsZShnbCwgIi4uL3Jlc291cmNlcy9mbG9hdFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9y
ZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dy
YW1QYXJhbWV0ZXIoZmxvYXRQcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyknLCAndHJ1ZScpOwordmFy
IGZ2YWxMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oZmxvYXRQcm9ncmFtLCAiZnZhbCIpOwor
dmFyIGZ2YWwyTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGZsb2F0UHJvZ3JhbSwgImZ2YWwy
Iik7Cit2YXIgZnZhbDNMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oZmxvYXRQcm9ncmFtLCAi
ZnZhbDMiKTsKK3ZhciBmdmFsNExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihmbG9hdFByb2dy
YW0sICJmdmFsNCIpOworZ2wudXNlUHJvZ3JhbShmbG9hdFByb2dyYW0pOworZ2wudW5pZm9ybTFm
KGZ2YWxMb2MsIDExKTsKK2dsLnVuaWZvcm0yZihmdmFsMkxvYywgMTIsIDEzKTsKK2dsLnVuaWZv
cm0zZihmdmFsM0xvYywgMTQsIDE1LCAxNik7CitnbC51bmlmb3JtNGYoZnZhbDRMb2MsIDE3LCAx
OCwgMTksIDIwKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxkQmUo
J2dsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsTG9jKScsICcxMScpOworc2hvdWxkQmUo
J2dsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsMkxvYyknLCAnWzEyLCAxM10nKTsKK3No
b3VsZEJlKCdnbC5nZXRVbmlmb3JtKGZsb2F0UHJvZ3JhbSwgZnZhbDNMb2MpJywgJ1sxNCwgMTUs
IDE2XScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsNExvYykn
LCAnWzE3LCAxOCwgMTksIDIwXScpOworLy8gU2FtcGxlciB1bmlmb3JtIHZhcmlhYmxlcwordmFy
IHNhbXBsZXJQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJj
ZXMvbm9vcFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvc2FtcGxlclVuaWZvcm1T
aGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoc2FtcGxlclBy
b2dyYW0sIGdsLkxJTktfU1RBVFVTKScsICd0cnVlJyk7Cit2YXIgczJEVmFsTG9jID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKHNhbXBsZXJQcm9ncmFtLCAiczJEIik7Cit2YXIgc0N1YmVWYWxMb2Mg
PSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oc2FtcGxlclByb2dyYW0sICJzQ3ViZSIpOworZ2wudXNl
UHJvZ3JhbShzYW1wbGVyUHJvZ3JhbSk7CitnbC51bmlmb3JtMWkoczJEVmFsTG9jLCAwKTsKK2ds
LnVuaWZvcm0xaShzQ3ViZVZhbExvYywgMSk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKHNhbXBsZXJQcm9ncmFtLCBzMkRWYWxMb2Mp
JywgJzAnKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKHNhbXBsZXJQcm9ncmFtLCBzQ3ViZVZh
bExvYyknLCAnMScpOworLy8gTWF0cml4IHVuaWZvcm0gdmFyaWFibGVzCit2YXIgbWF0UHJvZ3Jh
bSA9IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGdsLCAiLi4vcmVzb3VyY2VzL21hdFVuaWZvcm1T
aGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvbm9vcFVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hv
dWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIobWF0UHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMp
JywgJ3RydWUnKTsKK3ZhciBtdmFsMkxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihtYXRQcm9n
cmFtLCAibXZhbDIiKTsKK3ZhciBtdmFsM0xvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihtYXRQ
cm9ncmFtLCAibXZhbDMiKTsKK3ZhciBtdmFsNExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbiht
YXRQcm9ncmFtLCAibXZhbDQiKTsKK2dsLnVzZVByb2dyYW0obWF0UHJvZ3JhbSk7CitnbC51bmlm
b3JtTWF0cml4MmZ2KG12YWwyTG9jLCBmYWxzZSwgWzEsIDIsIDMsIDRdKTsKK2dsLnVuaWZvcm1N
YXRyaXgzZnYobXZhbDNMb2MsIGZhbHNlLCBbNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTNd
KTsKK2dsLnVuaWZvcm1NYXRyaXg0ZnYobXZhbDRMb2MsIGZhbHNlLCBbMTQsIDE1LCAxNiwgMTcs
IDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjldKTsKK2dsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0obWF0
UHJvZ3JhbSwgbXZhbDJMb2MpJywgJ1sxLCAyLCAzLCA0XScpOworc2hvdWxkQmUoJ2dsLmdldFVu
aWZvcm0obWF0UHJvZ3JhbSwgbXZhbDNMb2MpJywgJ1s1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEy
LCAxM10nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKG1hdFByb2dyYW0sIG12YWw0TG9jKScs
ICdbMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3
LCAyOCwgMjldJyk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJ0ZXN0IGdldFZlcnRleEF0dHJpYiIp
OwordmFyIGFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwg
OSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTZdKTsKK3ZhciBidWZmZXIgPSBnbC5jcmVhdGVC
dWZmZXIoKTsKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpOworZ2wuYnVm
ZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGFycmF5LCBnbC5EWU5BTUlDX0RSQVcpOworLy8gVmVy
dGV4IGF0dHJpYnV0ZSAwIGlzIHNwZWNpYWwgaW4gdGhhdCBpdCBoYXMgbm8gY3VycmVudCBzdGF0
ZSwgc28KKy8vIGZldGNoaW5nIEdMX0NVUlJFTlRfVkVSVEVYX0FUVFJJQiBnZW5lcmF0ZXMgYW4g
ZXJyb3IuIFVzZSBhdHRyaWJ1dGUKKy8vIDEgZm9yIHRoZXNlIHRlc3RzIGluc3RlYWQuCitnbC5l
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgxKTsKK2dsLnZlcnRleEF0dHJpYlBvaW50ZXIoMSwgNCwg
Z2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwg
Z2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORyknLCAnYnVmZmVyJyk7CitzaG91
bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfRU5BQkxF
RCknLCAndHJ1ZScpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhf
QVRUUklCX0FSUkFZX1NJWkUpJywgJzQnKTsKKy8vIFN0cmlkZSBNVVNUIGJlIHRoZSB2YWx1ZSB0
aGUgdXNlciBwdXQgaW4uCitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRF
WF9BVFRSSUJfQVJSQVlfU1RSSURFKScsICcwJyk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0
cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfVFlQRSknLCAnZ2wuRkxPQVQnKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9OT1JNQUxJ
WkVEKScsICdmYWxzZScpOworZ2wudmVydGV4QXR0cmliUG9pbnRlcigxLCA0LCBnbC5GTE9BVCwg
ZmFsc2UsIDM2LCAxMik7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRF
WF9BVFRSSUJfQVJSQVlfU1RSSURFKScsICczNicpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0
dHJpYk9mZnNldCgxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1BPSU5URVIpJywgJzEyJyk7Citn
bC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoMSk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0
cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfRU5BQkxFRCknLCAnZmFsc2UnKTsKK2dsLnZl
cnRleEF0dHJpYjRmKDEsIDUsIDYsIDcsIDgpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJp
YigxLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpJywgJ1s1LCA2LCA3LCA4XScpOworZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJn
ZXRWZXJ0ZXhBdHRyaWIiLAorICAgICJwYXJhbWV0ZXIiLAorICAgIFsgZ2wuVkVSVEVYX0FUVFJJ
Ql9BUlJBWV9CVUZGRVJfQklORElORywKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfRU5B
QkxFRCwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU0laRSwKKyAgICAgIGdsLlZFUlRF
WF9BVFRSSUJfQVJSQVlfU1RSSURFLAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9UWVBF
LAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9OT1JNQUxJWkVELAorICAgICAgZ2wuVkVS
VEVYX0FUVFJJQl9BUlJBWV9TVFJJREUsCisgICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0VO
QUJMRUQsCisgICAgICBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIKKyAgICBdLAorICAgIGZ1bmN0
aW9uKHBhcmFtZXRlcikgeworICAgICAgcmV0dXJuIGdsLmdldFZlcnRleEF0dHJpYigxLCBwYXJh
bWV0ZXIpOworICAgIH0KKyk7Cit2YXIgbnVtVmVydGV4QXR0cmlicyA9IGdsLmdldFBhcmFtZXRl
cihnbC5NQVhfVkVSVEVYX0FUVFJJQlMpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5J
TlZBTElEX1ZBTFVFLCAnZ2wuZ2V0VmVydGV4QXR0cmliKCcgKyBudW1WZXJ0ZXhBdHRyaWJzICsg
JywgZ2wuQ1VSUkVOVF9WRVJURVhfQVRUUklCKScpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVz
dCBjYXNlcyB3aGVyZSBuYW1lID09IDAiKTsKK2dsLmRlbGV0ZVRleHR1cmUodGV4dHVyZSk7Citz
aG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVG
RkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpF
Q1RfVFlQRSknLCAnZ2wuTk9ORScpOworZ2wuZGVsZXRlUmVuZGVyYnVmZmVyKHJlbmRlcmJ1ZmZl
cik7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZS
QU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5U
X09CSkVDVF9UWVBFKScsICdnbC5OT05FJyk7CitnbC5kZWxldGVCdWZmZXIoYnVmZmVyKTsKK3No
b3VsZEJlTnVsbCgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlf
QlVGRkVSX0JJTkRJTkcpJyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBh
N2QwZTNiYjhkZDcxMDY0MzMwNzFlZTQzNTNjYTlhOWM2NzdhNjYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwKQEAgLTAsMCArMSwxODMg
QEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlZlcmlmeSBjb3B5VGV4SW1hZ2UyRCBmb2xsb3dz
IGZvcm1hdCByZXN0aWN0aW9uczwvdGl0bGU+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImNh
bnZhc05vQWxwaGEiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPjwvY2FudmFzPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCitmdW5jdGlvbiBnZXRDaGFu
bmVsc0Zyb21Gb3JtYXQoZm9ybWF0KSB7CisgIHN3aXRjaCAoZ2xbZm9ybWF0XSkgeworICBjYXNl
IGdsLkFMUEhBOgorICAgIHJldHVybiAweDAwMDE7CisgIGNhc2UgZ2wuTFVNSU5BTkNFOgorICBj
YXNlIGdsLlJHQjoKKyAgICByZXR1cm4gMHgxMTEwOworICBjYXNlIGdsLkxVTUlOQU5DRV9BTFBI
QToKKyAgY2FzZSBnbC5SR0JBOgorICAgIHJldHVybiAweDExMTE7CisgIGRlZmF1bHQ6CisgICAg
cmV0dXJuIDA7CisgIH0KK30KKwordmFyIGZvcm1hdHMgPSBbCisgICdBTFBIQScsCisgICdMVU1J
TkFOQ0UnLAorICAnTFVNSU5BTkNFX0FMUEhBJywKKyAgJ1JHQicsCisgICdSR0JBJworXTsKKwor
dmFyIGdsID0gbnVsbDsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKworZGVzY3JpcHRpb24o
KTsKKwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKK3Zh
ciBjYW52YXNOb0FscGhhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhc05vQWxwaGEi
KTsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB7YWxwaGE6dHJ1ZX0pOwor
dmFyIGdsTm9BbHBoYSA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzTm9BbHBoYSwge2FscGhh
OmZhbHNlfSk7CisKK2RlYnVnKCJ0ZXN0IHdpdGggYW4gUkdCQSBiYWNrYnVmZmVyIik7Cit2YXIg
cHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CitnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAiRHVyaW5nIEluaXRpYWxpemF0aW9uIik7Cit0ZXN0Rm9ybWF0cygnUkdC
QScpOworCit0ZXN0QmFja2J1ZmZlckZvcm1hdHMoKTsKKworZGVidWcoInRlc3Qgd2l0aCBhbiBS
R0IgYmFja2J1ZmZlciIpOwordmFyIGdsID0gZ2xOb0FscGhhOwordmFyIHByb2dyYW0gPSB3dHUu
c2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
IkR1cmluZyBJbml0aWFsaXphdGlvbiIpOwordGVzdEZvcm1hdHMoJ1JHQicpOworCitmdW5jdGlv
biB0ZXN0QmFja2J1ZmZlckZvcm1hdHMoKSB7CisgIHZhciBmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1
ZmZlcigpOworICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisKKyAg
Zm9yICh2YXIgaWkgPSAwOyBpaSA8IGZvcm1hdHMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIGJh
Y2tGb3JtYXQgPSBmb3JtYXRzW2lpXTsKKworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJl
KCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICBnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsW2JhY2tGb3JtYXRdLCAyLCAyLCAwLCBnbFtiYWNr
Rm9ybWF0XSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShn
bC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOworICAgIGds
LnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5O
RUFSRVNUKTsKKworICAgIGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBn
bC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4LCAwKTsKKyAgICB2YXIgc3Rh
dHVzID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUik7CisKKyAgICBk
ZWJ1ZygnJyk7CisgICAgaWYgKHN0YXR1cyA9PSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkgewor
ICAgICAgZGVidWcoJ3Rlc3Qgd2l0aCAnICsgYmFja0Zvcm1hdCArICcgZmJvJyk7CisgICAgICB0
ZXN0Rm9ybWF0cyhiYWNrRm9ybWF0KTsKKyAgICB9IGVsc2UgeworICAgICAgZGVidWcoYmFja0Zv
cm1hdCArICcgbm90IHN1cHBvcnRlZCBhcyBhIHJlbmRlcmJ1ZmZlciBhdHRhY2htZW50Jyk7Cisg
ICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RGb3JtYXRzKGJhY2tGb3JtYXQpIHsKKyAgZm9y
ICh2YXIgaWkgPSAwOyBpaSA8IGZvcm1hdHMubGVuZ3RoOyArK2lpKSB7CisgICAgdGVzdENvcHlU
ZXhJbWFnZTJEKGJhY2tGb3JtYXQsIGZvcm1hdHNbaWldKTsKKyAgfQorfQorCitmdW5jdGlvbiB0
b0NoYW5uZWxzKHZhbHVlKSB7CisgIHJldHVybiAoKHZhbHVlICYgMHgxMDAwKSA/ICdSJyA6ICdf
JykgKworICAgICAgICAgKCh2YWx1ZSAmIDB4MDEwMCkgPyAnRycgOiAnXycpICsKKyAgICAgICAg
ICgodmFsdWUgJiAweDAwMTApID8gJ0InIDogJ18nKSArCisgICAgICAgICAoKHZhbHVlICYgMHgw
MDAxKSA/ICdBJyA6ICdfJyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb3B5VGV4SW1hZ2UyRChiYWNr
Rm9ybWF0LCB0ZXhGb3JtYXQpIHsKKyAgdmFyIG5lZWQgPSBnZXRDaGFubmVsc0Zyb21Gb3JtYXQo
dGV4Rm9ybWF0KTsKKyAgdmFyIGhhdmUgPSBnZXRDaGFubmVsc0Zyb21Gb3JtYXQoYmFja0Zvcm1h
dCk7CisgIHZhciBzaG91bGRQYXNzID0gKG5lZWQgJiBoYXZlKSA9PSBuZWVkCisKKyAgLy9kZWJ1
ZygibmVlZDogIiArIHRvQ2hhbm5lbHMobmVlZCkpOworICAvL2RlYnVnKCJoYXZlOiAiICsgdG9D
aGFubmVscyhoYXZlKSk7CisgIC8vZGVidWcoImJvdGg6ICIgKyB0b0NoYW5uZWxzKGhhdmUgJiBu
ZWVkKSk7CisKKyAgLy8gY2xlYXIgYmFja2J1ZmZlcgorICBnbC5jbGVhckNvbG9yKDAuMjUsIDEs
IDAuNzUsIDAuNSk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisgIHZhciB0
ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAvLyBCaW5kIHRoZSB0ZXh0dXJlIHRvIHRl
eHR1cmUgdW5pdCAwCisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOwor
ICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwg
Z2wuTkVBUkVTVCk7CisgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVS
RV9NQUdfRklMVEVSLCBnbC5ORUFSRVNUKTsKKworICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbFt0ZXhGb3JtYXRdLCAwLCAwLCAyLCAyLCAwKTsKKyAgaWYgKCFzaG91bGRQ
YXNzKSB7CisgICAgZ2xFcnJvclNob3VsZEJlKAorICAgICAgICBnbCwgZ2wuSU5WQUxJRF9PUEVS
QVRJT04sCisgICAgICAgICJzaG91bGQgbm90IGJlIGFibGUgdG8gY29weVRleEltYWdlMkQgIiAr
IHRleEZvcm1hdCArICIgZnJvbSAiICsgYmFja0Zvcm1hdCk7CisgICAgcmV0dXJuOworICB9CisK
KyAgZ2xFcnJvclNob3VsZEJlKAorICAgICAgZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgInNob3Vs
ZCBiZSBhYmxlIHRvIGNvcHlUZXhJbWFnZTJEICIgKyB0ZXhGb3JtYXQgKyAiIGZyb20gIiArIGJh
Y2tGb3JtYXQpOworCisgIC8vIERyYXcKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKworICB2YXIgZXhw
ZWN0ZWRDb2xvcnMgPSB7CisgICAgJ0FMUEhBJzogWzAsIDAsIDAsIDEyN10sCisgICAgJ0xVTUlO
QU5DRSc6IFs2NCwgNjQsIDY0LCAyNTVdLAorICAgICdMVU1JTkFOQ0VfQUxQSEEnOiBbNjQsIDY0
LCA2NCwgMTI3XSwKKyAgICAnUkdCJzogWzY0LCAyNTUsIDE5MSwgMjU1XSwKKyAgICAnUkdCQSc6
IFs2NCwgMjU1LCAxOTEsIDEyN10KKyAgfTsKKworICB2YXIgY29sb3IgPSBleHBlY3RlZENvbG9y
c1t0ZXhGb3JtYXRdOworCisgIHd0dS5jaGVja0NhbnZhcyhnbCwgY29sb3IsICJzaG91bGQgYmUg
IiArIGNvbG9yLCAxNik7CisKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNo
b3VsZCBiZSBubyBlcnJvcnMiKTsKK30KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhl
bHN0b3JlaS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
YzBjNDUxNGY2OTFlMDI1YzUxMmFiNThjZWZlMDk3ZGI0MzcxOTI1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCEtLQor
CisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisq
KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl
cnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lh
dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGlu
IHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0
IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp
c2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl
IE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlh
bHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl
cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1
YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFM
UyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoq
IEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS
UkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFV
VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBE
QU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB
Q1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O
TkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO
R1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgcGl4ZWxTdG9y
ZWkgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNr
dG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUw
Ij48L2NhbnZhcz4KKzxjYW52YXMgaWQ9IjJkMDAiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9j
YW52YXM+Cis8Y2FudmFzIGlkPSIyZDAxIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFz
PgorPGNhbnZhcyBpZD0iMmQwMiIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxj
YW52YXMgaWQ9IjJkMDMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
aWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQ
b3NpdGlvbjsKK3ZvaWQgbWFpbigpIHsKKyAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247Cit9Cis8
L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVu
dCI+Cit2b2lkIG1haW4oKSB7CisgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMS4wLDAuMCwwLjAsMS4w
KTsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gaW5p
dCgpIHsKKyAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhhdCBkcmF3SW1hZ2UgYW5k
IHJlYWRQaXhlbHMgYXJlIG5vdCBlZmZlY3RlZCBieSBnbC5QaXhlbHN0b3JlaShnbC5QQUNLX0FM
SUdOTUVOVCkgYW5kIHZpc2EgdmVyc2EiKTsKKworICBkZWJ1ZygiVGhlcmUgc2hvdWxkIGJlIDUg
cmVkIHRyaWFuZ2xlcyBvbiA1IGJsYWNrIHNxdWFyZXMgYWJvdmUiKTsKKyAgZGVidWcoIiIpOwor
CisgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgdmFyIGNhbnZhczNkID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImV4YW1wbGUiKTsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4
dCgiZXhhbXBsZSIpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNo
YWRlciIsICJmc2hhZGVyIl0sIFsidlBvc2l0aW9uIl0pOworCisgIHZhciB2ZXJ0ZXhPYmplY3Qg
PSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZl
cnRleE9iamVjdCk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQz
MkFycmF5KFsgMCwwLjUsMCwgLTAuNSwtMC41LDAsIDAuNSwtMC41LDAgXSksIGdsLlNUQVRJQ19E
UkFXKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisgIGdsLnZlcnRleEF0dHJp
YlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKworICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgIGdsLmRyYXdBcnJheXMo
Z2wuVFJJQU5HTEVTLCAwLCAzKTsKKworICBmdW5jdGlvbiBjaGVja0RhdGEoY3R4LCBuYW1lKSB7
CisgICAgLy8gVGVzdCBzZXZlcmFsIGxvY2F0aW9ucworICAgIC8vIEZpcnN0IGxpbmUgc2hvdWxk
IGJlIGFsbCBibGFjaworICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoY3R4LCAwLCAwLCA1MCwgMSwg
WzAsIDAsIDAsIDBdKTsKKworICAgIC8vIExpbmUgMjUgc2hvdWxkIGJlIHJlZCBmb3IgYXQgbGVh
c3QgNiByZWQgcGl4ZWxzIHN0YXJ0aW5nIDIyIHBpeGVscyBpbgorICAgIHd0dS5jaGVja0NhbnZh
c1JlY3QoY3R4LCAyMiwgMjUsIDYsIDEsIFsyNTUsIDAsIDAsIDI1NV0pOworCisgICAgLy8gTGFz
dCBsaW5lIHNob3VsZCBiZSBhbGwgYmxhY2sKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwg
MCwgNDksIDUwLCAxLCBbMCwgMCwgMCwgMF0pOworICB9CisKKyAgdmFyIGN0eDJkOworCisgIGZ1
bmN0aW9uIGNoZWNrQ29sb3JzKCkgeworICAgIGNoZWNrRGF0YShnbCwgIjNkIGNvbnRleHQiKTsK
KyAgICBjaGVja0RhdGEoY3R4MmQsICIyZCBjb250ZXh0Iik7CisgIH0KKworICB2YXIgdGFibGUg
PSBbMSwgMiwgNCwgOF07CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0YWJsZS5sZW5ndGg7ICsr
aWkpIHsKKyAgICBnbC5waXhlbFN0b3JlaShnbC5QQUNLX0FMSUdOTUVOVCwgdGFibGVbaWldKTsK
KyAgICBjdHgyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCIyZDAiICsgaWkpLmdldENvbnRl
eHQoIjJkIik7CisgICAgY3R4MmQuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ2NvcHknOwor
ICAgIGN0eDJkLmRyYXdJbWFnZShjYW52YXMzZCwgMCwgMCk7CisgICAgY2hlY2tDb2xvcnMoKTsK
KyAgICBhc3NlcnRNc2coZ2wuZ2V0UGFyYW1ldGVyKGdsLlBBQ0tfQUxJR05NRU5UKSA9PSB0YWJs
ZVtpaV0sCisgICAgICAgICJQQUNLX0FMSUdOTUVOVCBpcyAiICsgdGFibGVbaWldKTsKKyAgfQor
fQorCitpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29u
Zm9ybWFuY2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI0MTg1YjVkMmIxNTNmMWQ5NDlmNWRmNDdjYTM2ZmRhZTU2MWU1ODAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbApAQCAt
MCwwICsxLDE1NyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgT3JpZ2luIFJlc3RyaWN0aW9ucyBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0
YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJp
Y3QiOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5z
IHRoZSBsYXN0IDIgd29yZHMgb2YgdGhlIGRvbWFpbiBvZiBhIFVSTAorLy8gVGhpcyBpcyBwcm9i
YWJseSBub3QgdGhlIGNvcnJlY3QgY2hlY2sgYnV0IGl0IHdpbGwgZG8gZm9yIG5vdy4KK2Z1bmN0
aW9uIGdldEJhc2VEb21haW4oc3RyKSB7CisgIHN0ciA9IHN0ci5yZXBsYWNlKCJcXCIsICIvIik7
CisgIHZhciBwb3MgPSBzdHIuaW5kZXhPZigiOi8vIik7CisgIGlmIChwb3MgPj0gMCkgeworICAg
IHN0ciA9IHN0ci5zdWJzdHIocG9zICsgMyk7CisgIH0KKyAgdmFyIHBhcnRzID0gc3RyLnNwbGl0
KCcvJyk7CisgIHZhciBkb21haW4gPSBwYXJ0c1swXS5tYXRjaCgvXHcrXC5cdyskLyk7CisgIHJl
dHVybiBkb21haW4gfHwgJyc7Cit9CisKKy8vIENoZWNrcyBpZiBmdW5jdGlvbiB0aHJvd3MgYW4g
ZXhjZXB0aW9uLgorZnVuY3Rpb24gY2F1c2VkRXhjZXB0aW9uKGZ1bmMpIHsKKyAgdmFyIGhhZEV4
Y2VwdGlvbiA9IGZhbHNlOworICB0cnkgeworICAgIGZ1bmMoKTsKKyAgfSBjYXRjaChlKSB7Cisg
ICAgaGFkRXhjZXB0aW9uID0gdHJ1ZTsKKyAgfQorICByZXR1cm4gaGFkRXhjZXB0aW9uOworfQor
Cit2YXIgaW1nRG9tYWluOwordmFyIHBhZ2VEb21haW47Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
OworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CisgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgZW5zdXJlcyBXZWJHTCBpbXBsZW1lbnRhdGlvbnMgZm9sbG93IHByb3BlciBzYW1lLW9yaWdp
biByZXN0cmljdGlvbnMuIik7CisgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aW1nIik7CisgIGFzc2VydE1zZyhpbWcud2lkdGggPiAwICYmIGltZy5oZWlnaHQgPiAwLCAiaW1n
IHdhcyBsb2FkZWQiKTsKKyAgaW1nRG9tYWluID0gZ2V0QmFzZURvbWFpbihpbWcuc3JjKTsKKyAg
cGFnZURvbWFpbiA9IGdldEJhc2VEb21haW4od2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkpOwor
ICBhc3NlcnRNc2coaW1nRG9tYWluICE9IHBhZ2VEb21haW4sCisgICAgICAgICAgICAiaW1nIGRv
bWFpbiAoIiArIGltZ0RvbWFpbiArICIpIGFuZCBwYWdlIGRvbWFpbiAoIiArIHBhZ2VEb21haW4g
KyAiKSBhcmUgbm90IHRoZSBzYW1lLiIpOworCisgIGZ1bmN0aW9uIG1ha2VUZXhJbWFnZTJEKGds
LCBzcmMpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICBnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHNyYyk7
CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VUZXhTdWJJbWFnZTJEKGdsLCBzcmMpIHsK
KyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHNyYyk7CisgICAgfTsK
KyAgfQorCisgIGZ1bmN0aW9uIG1ha2VSZWFkUGl4ZWxzKGdsKSB7CisgICAgcmV0dXJuIGZ1bmN0
aW9uKCkgeworICAgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KDQpOworICAgICAgZ2wucmVh
ZFBpeGVscygwLCAwLCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAg
IH07CisgIH0KKworICBmdW5jdGlvbiBtYWtlVG9EYXRhVVJMKGNhbnZhcykgeworICAgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBkYXRhID0gY2FudmFzLnRvRGF0YVVSTCgpOworICAg
IH0KKyAgfQorCisgIHZhciBjYW52YXMxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZh
czEiKTsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMxKTsKKworICBkZWJ1
ZygiIik7CisgIGRlYnVnKCJjaGVjayB0aGF0IGFuIGF0dGVtcHQgdG8gdXBsb2FkIGFuIGltYWdl
IGZyb20gYW5vdGhlciBvcmlnaW4gdGhyb3dzIGFuIGV4Y2VwdGlvbi4iKTsKKyAgdmFyIHRleCA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4
KTsKKyAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAyNTYsIDI1Niwg
MCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgIGFzc2VydE1zZyhjYXVzZWRF
eGNlcHRpb24obWFrZVRleEltYWdlMkQoZ2wsIGltZykpLAorICAgICAgICAgICAgInRleEltYWdl
MkQgd2l0aCBjcm9zcy1vcmlnaW4gaW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iKTsKKyAg
YXNzZXJ0TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlVGV4U3ViSW1hZ2UyRChnbCwgaW1nKSksCisg
ICAgICAgICAgICAidGV4U3ViSW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdpbiBpbWFnZSBzaG91bGQg
dGhyb3cgZXhjZXB0aW9uLiIpOworCisgIGRlYnVnKCJjaGVjayB0aGF0IHJlYWRQaXhlbHMgYW5k
IHRvRGF0YVVSTCBjb250aW51ZSB0byB3b3JrIGFnYWluc3QgdGhpcyBjYW52YXMuIik7CisgIGFz
c2VydE1zZyghY2F1c2VkRXhjZXB0aW9uKG1ha2VSZWFkUGl4ZWxzKGdsKSksCisgICAgICAgICAg
ICAicmVhZFBpeGVscyBzaG91bGQgbmV2ZXIgdGhyb3cgZXhjZXB0aW9uIC0tIG5vdCBwb3NzaWJs
ZSB0byBkaXJ0eSBvcmlnaW4gb2YgV2ViR0wgY2FudmFzLiIpOworICBhc3NlcnRNc2coIWNhdXNl
ZEV4Y2VwdGlvbihtYWtlVG9EYXRhVVJMKGNhbnZhczEpKSwKKyAgICAgICAgICAgICJzaG91bGQg
bm90IHRocm93IGV4Y2VwdGlvbiBieSB0b0RhdGFVUkwgZm9yIFdlYkdMIGNhbnZhcywgd2hpY2gg
c2hvdWxkIHN0YXkgb3JpZ2luIGNsZWFuLiIpOworCisgIGRlYnVnKCJjaGVjayB0aGF0IGFuIGF0
dGVtcHQgdG8gdXBsb2FkIGEgdGFpbnRlZCBjYW52YXMgdGhyb3dzIGFuIGV4Y2VwdGlvbi4iKTsK
KyAgdmFyIGNhbnZhczIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMiIpOworICB2
YXIgY3R4MmQgPSBjYW52YXMyLmdldENvbnRleHQoIjJkIik7CisgIGN0eDJkLmRyYXdJbWFnZShp
bWcsIDAsIDApOworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1ha2VUb0RhdGFVUkwoY2Fu
dmFzMikpLAorICAgICAgICAgICAgInNob3VsZCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJM
IGZvciBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcy4iKTsKKyAgYXNzZXJ0TXNnKGNhdXNlZEV4Y2Vw
dGlvbihtYWtlVGV4SW1hZ2UyRChnbCwgY2FudmFzMikpLAorICAgICAgICAgICAgInRleEltYWdl
MkQgd2l0aCBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIp
OworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1ha2VUZXhTdWJJbWFnZTJEKGdsLCBjYW52
YXMyKSksCisgICAgICAgICAgICAidGV4U3ViSW1hZ2UyRCB3aXRoIE5PTiBvcmlnaW4gY2xlYW4g
Y2FudmFzIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIik7CisKKyAgZGVidWcoImNoZWNrIHRoYXQg
cmVhZFBpeGVscyBhbmQgdG9EYXRhVVJMIGNvbnRpbnVlIHRvIHdvcmsgYWdhaW5zdCB0aGlzIGNh
bnZhcy4iKTsKKyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRpb24obWFrZVJlYWRQaXhlbHMoZ2wp
KSwKKyAgICAgICAgICAgICJyZWFkUGl4ZWxzIHNob3VsZCBuZXZlciB0aHJvdyBleGNlcHRpb24g
LS0gbm90IHBvc3NpYmxlIHRvIGRpcnR5IG9yaWdpbiBvZiBXZWJHTCBjYW52YXMuIik7CisgIGFz
c2VydE1zZyghY2F1c2VkRXhjZXB0aW9uKG1ha2VUb0RhdGFVUkwoY2FudmFzMSkpLAorICAgICAg
ICAgICAgInNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3IgV2ViR0wg
Y2FudmFzLCB3aGljaCBzaG91bGQgc3RheSBvcmlnaW4gY2xlYW4uIik7CisKKyAgLy8gVE9ETzog
U2hvdWxkIGNoZWNrIHZpZGVvLgorICAvLyBUT0RPOiBTaG91bGQgY2hlY2sgQ09SUyBzdXBwb3J0
LgorCisgIGRlYnVnKCIiKTsKKyAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgc2hvdWxk
QmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJzZWQiKTsKKyAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNz
PSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOworICBub3RpZnlGaW5pc2hlZFRvSGFybmVz
cygpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzMSI+
PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXMyIj48L2NhbnZhcz4KKzxpbWcgaWQ9ImltZyIg
c3JjPSJodHRwOi8vd3d3Lm9wZW5nbC5vcmcvaW1nL29wZW5nbF9sb2dvLmpwZyIgc3R5bGU9ImRp
c3BsYXk6bm9uZTsiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40ODkwOGQ4ZDc5ZTlmM2UwYTZmOGFlZDQzMzgwZTliOTkyNWVkM2I0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtcmdiNTY1Lmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1
c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVl
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdC
IiwgIlVOU0lHTkVEX1NIT1JUXzVfNl81IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9
ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmZDM4ZWQzNTA1YzcyNzBm
MjA4YTY1ZTQzODhmZDg4ZmU0YWE0MmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAg
KzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0
ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNF80
XzRfNCIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIi
IGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1
NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lOTBhMzhhMDY2MDA0YTRhNGUzMjAxNWE1MTllN2RkODcwYzY4
YTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7Cisg
ICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2Vu
ZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzVfNV81XzEiLCB0ZXN0UHJvbG9ndWUp
KCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZh
cz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODUyMzJiMWYzMDdkZTlhZDI0
ZTcwM2YxMzY2NzA5ZTIxMjU0ZjYxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKQEAgLTAsMCArMSw0OSBAQAor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1
ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9CWVRFIiwgdGVzdFByb2xvZ3Vl
KSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52
YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1MDI1
YjE4NWQ0YTQwMmRlMTNkMTExNzRiMjU1NmE0NmU0M2EyNWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1s
CkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUg
S2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhp
cyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoq
ICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rp
b24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBj
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg
YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBl
cnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1Ympl
Y3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl
ZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJp
YWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoq
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ
TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBP
UiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4K
KworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1
bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCIiwgIlVOU0lHTkVEX1NI
T1JUXzVfNl81IiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTQ0NDQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1h
Z2UtcmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzMzYjQ4MmQ4MzkxNDhiOGUzZjMzOTRlOGY3
MjJkYTU5OGZjYTU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShn
bCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9TSE9SVF80XzRfNF80IiwgIi4uIiwg
dGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0
PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMDQwNTU0YzUxNTMwOGM2MWJmYzVkOGNmYmQ2ZDM1OTg5MjM3Mzg5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0
cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgi
UkdCQSIsICJVTlNJR05FRF9TSE9SVF81XzVfNV8xIiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgpJz4K
KzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGYyZDU1ZDM0OWIwYjMyZTdjZWJiNDMz
ZTlmNmRmM2M2NWY4M2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKwor
LyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiog
UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz
b24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0
aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo
LAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBN
YXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxz
IGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJz
dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMg
QVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBF
WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFN
QUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F
Q1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT
IElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgewor
ICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dl
bmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9CWVRFIiwgIi4uIiwgdGVzdFByb2xvZ3VlKSgp
Jz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhYzExZTI2
OTZjMmIzNGE1OTlmYzdhZGVmNjNmYzljZmY5NDJmYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCkBA
IC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKwor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0
aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCIiwgIlVOU0lHTkVEX1NIT1JU
XzVfNl81IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIz
MiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0
NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYTkxMWFhMDM3NmNlZmQ5NWJhN2U2MDY3YTE0OWQ0Y2JhNjc4
NmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAg
IHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVy
YXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9TSE9SVF80XzRfNF80IiwgdGVzdFByb2xvZ3VlKSgp
Jz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yN2Vm
NjJmZjdkOGZiYzFkNmM3ZDkyZDkyZjI2ZDU2OTI3N2VhZTUwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5o
dG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
K2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05F
RF9TSE9SVF81XzVfNV8xIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42NWM0YTdmNTM0YjY5YmZiOWZkOGUyNGE3M2Q0MDMzNTA0ZjY5MDlhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJV
TlNJR05FRF9CWVRFIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdp
ZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1hY3RpdmUtYmluZC0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk5NjIyMTVjOGFjMjVmNGI2ODNhYTg3
NGYzZGQxNzFjNjczZGEwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0
aXZlLWJpbmQtMi5odG1sCkBAIC0wLDAgKzEsMTkyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZT5XZWJHTCBBY3RpdmVUZXh0dXJlIEJpbmRU
ZXh0dXJlIGNvbmZvcm1hbmNlIHRlc3QgIzI8L3RpdGxlPgorICAgIDxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9
IjIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8Y2FudmFz
IGlkPSJjYW52YXMyZCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgc3R5bGU9IndpZHRoOiA0MHB4OyBo
ZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFk
ZXIveC12ZXJ0ZXgiPgordW5pZm9ybSBtYXQ0IHdvcmxkOworYXR0cmlidXRlIHZlYzMgdlBvc2l0
aW9uOworYXR0cmlidXRlIHZlYzIgdGV4Q29vcmQwOwordmFyeWluZyB2ZWMyIHRleENvb3JkOwor
dm9pZCBtYWluKCkKK3sKKyAgZ2xfUG9zaXRpb24gPSB3b3JsZCAqIHZlYzQodlBvc2l0aW9uLCAx
KTsKKyAgdGV4Q29vcmQgPSB0ZXhDb29yZDA7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZz
aGFkZXIyZCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKKwordW5pZm9ybSBzYW1wbGVyMkQgdGV4MmQ7Cit2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7
Cit2b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlMkQodGV4MmQsIHRleENv
b3JkKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlckN1YmUiIHR5cGU9Ingtc2hh
ZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2Ft
cGxlckN1YmUgdGV4Q3ViZTsKK3ZvaWQgbWFpbigpCit7CisgIGdsX0ZyYWdDb2xvciA9IHRleHR1
cmVDdWJlKHRleEN1YmUsIHZlYzMoMCwxLDApKTsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0Pgor
InVzZSBzdHJpY3QiOworZnVuY3Rpb24gaW5pdCgpCit7CisgIGRlc2NyaXB0aW9uKAorICAgICAg
IlRlc3RzIHRoYXQgYmluZGluZyBib3RoIFRFWFRVUkVfMkQgYW5kIFRFWFRVUkVfQ1VCRV9NQVAg
dG8gdGhlIHNhbWUiICsKKyAgICAgICJhY3RpdmUgdGV4dHVyZSB1bml0IHdvcmtzIGFzIGxvbmcg
YXMgdGhleSBhcmUgbm90IHVzZWQiICsKKyAgICAgICJzaW11bHRhbmVvdXNseSBpbiB0aGUgc2Ft
ZSBzaGFkZXIgcHJvZ3JhbS4iKTsKKworICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2FudmFzMmQiKTsKKyAgdmFyIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgi
MmQiKTsKKyAgY3R4MmQuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gImNvcHkiOworCisgIHZh
ciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgi
ZXhhbXBsZSIpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oCisgICAgICBnbCwg
WyJ2c2hhZGVyIiwgImZzaGFkZXIyZCJdLCBbInZQb3NpdGlvbiIsICJ0ZXhDb29yZDAiXSk7CisK
KyAgdmFyIHByb2dyYW0yZCA9IHByb2dyYW07CisgIHZhciBwcm9ncmFtQ3ViZSA9IHd0dS5zZXR1
cFByb2dyYW0oCisgICAgICBnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXJDdWJlIl0sIFsidlBvc2l0
aW9uIiwgInRleENvb3JkMCJdKTsKKworICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVm
ZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOwor
ICBnbC5idWZmZXJEYXRhKAorICAgICAgZ2wuQVJSQVlfQlVGRkVSLAorICAgICAgbmV3IEZsb2F0
MzJBcnJheShbLTEsIDEsMCwgMSwxLDAsIC0xLC0xLDAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAtMSwtMSwwLCAxLDEsMCwgIDEsLTEsMF0pLAorICAgICAgZ2wuU1RBVElDX0RSQVcpOworICBn
bC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigw
LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgIHZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5j
cmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9i
amVjdCk7CisgIGdsLmJ1ZmZlckRhdGEoCisgICAgICBnbC5BUlJBWV9CVUZGRVIsCisgICAgICBu
ZXcgRmxvYXQzMkFycmF5KFsgMCwwLCAxLDAsIDAsMSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAwLDEsIDEsMCwgMSwxXSksCisgICAgICBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLmVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KDEpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDIsIGdsLkZM
T0FULCBmYWxzZSwgMCwgMCk7CisKKyAgLy8gTWFrZSB0ZXh0dXJlIHVuaXQgMSBhY3RpdmUuCisg
IGdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTEpOworCisgIC8vIE1ha2UgYSAyZCB0ZXh0dXJl
CisgIHZhciB0ZXgyZCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wu
VEVYVFVSRV8yRCwgdGV4MmQpOworICBjdHgyZC5maWxsU3R5bGUgPSAicmdiYSgwLCAwLCAyNTUs
IDI1NSkiOworICBjdHgyZC5maWxsUmVjdCgwLCAwLCAxLCAxKTsKKyAgZ2wudGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52
YXMyZCk7CisKKyAgLy8gbWFrZSBhIGN1YmUgdGV4dHVyZQorICB2YXIgdGV4Q3ViZSA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4
Q3ViZSk7CisgIGN0eDJkLmZpbGxTdHlsZSA9ICJyZ2JhKDI1NSwgMCwgMjU1LCAyNTUpIjsKKyAg
Y3R4MmQuZmlsbFJlY3QoMCwgMCwgMSwgMSk7CisgIHZhciB0YXJnZXRzID0gWworICAgIGdsLlRF
WFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FU
SVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZF
X1osCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aXTsKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IHRhcmdldHMubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wudGV4SW1hZ2UyRCh0YXJn
ZXRzW2lpXSwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzMmQp
OworICB9CisKKyAgLy8gU2V0dXAgcHJvZ3JhbTJkIGFuZCBwcm9ncmFtQ3ViZQorICB2YXIgdGV4
MmRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbTJkLCAidGV4MmQiKTsKKyAgdmFy
IHdvcmxkMmRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbTJkLCAid29ybGQiKTsK
KyAgdmFyIHRleEN1YmVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbUN1YmUsICJ0
ZXhDdWJlIik7CisgIHZhciB3b3JsZEN1YmVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJv
Z3JhbUN1YmUsICJ3b3JsZCIpOworCisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbTJkKTsKKyAgZ2wu
dW5pZm9ybTFpKHRleDJkTG9jLCAxKTsKKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtQ3ViZSk7Cisg
IGdsLnVuaWZvcm0xaSh0ZXhDdWJlTG9jLCAxKTsKKworICBnbC5jbGVhckNvbG9yKDEsMCwwLDEp
OworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7
CisKKyAgdmFyIHByb2dyYW1zID0gW3Byb2dyYW0yZCwgcHJvZ3JhbUN1YmVdOworICB2YXIgd29y
bGRMb2NzID0gW3dvcmxkMmRMb2MsIHdvcmxkQ3ViZUxvY107CisgIGZvciAodmFyIGlpID0gMDsg
aWkgPCA0OyArK2lpKSB7CisgICAgdmFyIHggPSBpaSAlIDI7CisgICAgdmFyIHkgPSBNYXRoLmZs
b29yKGlpIC8gMik7CisgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtc1t4XSk7CisgICAgZ2wudW5p
Zm9ybU1hdHJpeDRmdigKKyAgICAgICAgd29ybGRMb2NzW3hdLCBmYWxzZSwKKyAgICAgICAgWzAu
NSwgMCwgMCwgMCwKKyAgICAgICAgIDAsIDAuNSwgMCwgMCwKKyAgICAgICAgIDAsIDAsIDEsIDAs
CisgICAgICAgICAtMC41ICsgeCwgLTAuNSArIHksIDAsIDFdKTsKKyAgICBnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMCwgNik7CisgIH0KKworICB2YXIgY29sb3JzID0gWworICAgICAgWzAs
MCwyNTUsMjU1XSwKKyAgICAgIFsyNTUsMCwyNTUsMjU1XSwKKyAgICAgIFswLDAsMjU1LDI1NV0s
CisgICAgICBbMjU1LDAsMjU1LDI1NV1dOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBjb2xv
cnMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIGMgPSBjb2xvcnNbaWldOworICAgIHZhciB4ID0g
aWkgJSAyOworICAgIHZhciB5ID0gTWF0aC5mbG9vcihpaSAvIDIpOworICAgIHd0dS5jaGVja0Nh
bnZhc1JlY3QoZ2wsIHgsIHksIDEsIDEsIGMpOworICB9Cit9CisKK2luaXQoKTsKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViOWE3OTIxNTQ4NGE1YjlkMDhl
YzgyZGJkYzViMTkzNmI5ZjIzYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LWFjdGl2ZS1iaW5kLmh0bWwKQEAgLTAsMCArMSwxNTcgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEFjdGl2ZVRleHR1cmUgQmluZFRleHR1
cmUgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2Fu
dmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBzdHlsZT0id2lkdGg6IDQwcHg7
IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iY2FudmFzMmQiIHdpZHRoPSIx
IiBoZWlnaHQ9IjEiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK3VuaWZvcm0g
bWF0NCB3b3JsZDsKK2F0dHJpYnV0ZSB2ZWMzIHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWMyIHRl
eENvb3JkMDsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgIGdsX1Bv
c2l0aW9uID0gd29ybGQgKiB2ZWM0KHZQb3NpdGlvbiwgMSk7CisgIHRleENvb3JkID0gdGV4Q29v
cmQwOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIGdsOworCitm
dW5jdGlvbiBpbml0KCkKK3sKKyAgZGVzY3JpcHRpb24oCisgICAgICAiVGVzdHMgdGhhdCBnbEFj
dGl2ZVRleHR1cmUgYW5kIGdsQmluZFRleHR1cmUgd29yayBhcyBleHBlY3RlZCIgKworICAgICAg
IlNwZWNpZmljYWxseSB0ZXh0dXJlIHRhcmdldHMgYXJlIHBlciBhY3RpdmUgdGV4dHVyZSB1bml0
LiIpOworCisgIHZhciBjYW52YXMyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMy
ZCIpOworICB2YXIgY3R4MmQgPSBjYW52YXMyZC5nZXRDb250ZXh0KCIyZCIpOworCisgIHZhciB3
dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxl
Iik7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICAgIGdsLAorICAgICAg
WyJ2c2hhZGVyIiwgd3R1LnNldHVwU2ltcGxlVGV4dHVyZUZyYWdtZW50U2hhZGVyKGdsKV0sCisg
ICAgICBbJ3ZQb3NpdGlvbicsICd0ZXhDb29yZDAnXSk7CisgIHd0dS5zZXR1cFVuaXRRdWFkKGds
KTsKKyAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKyAgZ2wuZGlzYWJsZShnbC5CTEVORCk7
CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIHZhciBjb2xvcnMgPSBb
CisgICAgICBbMCwxOTIsMTI4LDI1NV0sCisgICAgICBbMTI4LDY0LDI1NSwyNTVdLAorICAgICAg
WzE5MiwyNTUsNjQsMjU1XSwKKyAgICAgIFsyMDAsMCwyNTUsMjU1XV07CisKKyAgLy8gTWFrZSA0
IHRleHR1cmVzIGJ5IHVzaW5nIDQgYWN0aXZlIHRleHR1cmUgdW5pdHMgaWYgYXZhaWxhYmxlLgor
ICB2YXIgdGV4dW5pdHMgPSBNYXRoLm1pbihjb2xvcnMubGVuZ3RoLCBnbC5nZXRQYXJhbWV0ZXIo
Z2wuTUFYX0NPTUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFMpKQorICB2YXIgdGV4dHVyZXMgPSBb
XTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRleHVuaXRzOyArK2lpKSB7CisgICAgdmFyIHRl
eCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUw
ICsgaWkpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgdGV4
dHVyZXNbaWldID0gdGV4OworICB9CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Ip
OworCisgIC8vIG5vdyB1c2UgZWFjaCB0ZXh0dXJlIHVuaXQgdG8gd3JpdGUgaW50byB0aGUgdGV4
dHVyZXMsCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXh1bml0czsgKytpaSkgeworICAgIHZh
ciBjID0gY29sb3JzW2lpXTsKKyAgICBjdHgyZC5maWxsU3R5bGUgPQorICAgICAgICAicmdiYSgi
ICsgY1swXSArICIsIiArIGNbMV0gKyAiLCIgKyBjWzJdICsgIiwiICsgY1szXSArICIpIjsKKyAg
ICBjdHgyZC5maWxsUmVjdCgwLCAwLCAxLCAxKTsKKyAgICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRF
WFRVUkUwICsgaWkpOworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzMmQpOworICB9CisgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIHZhciB0ZXh0dXJlTG9jID0gZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKyAgdmFyIHdvcmxkTG9jID0gZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHByb2dyYW0sICJ3b3JsZCIpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SKTsKKworICBnbC5jbGVhckNvbG9yKDEsMCwwLDEpOworICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IHRleHVuaXRzOyArK2lpKSB7CisgICAgdmFyIHggPSBpaSAlIDI7CisgICAgdmFy
IHkgPSBNYXRoLmZsb29yKGlpIC8gMik7CisgICAgZ2wudW5pZm9ybTFpKHRleHR1cmVMb2MsIGlp
KTsKKyAgICBnbC51bmlmb3JtTWF0cml4NGZ2KAorICAgICAgICB3b3JsZExvYywgZmFsc2UsCisg
ICAgICAgIFswLjUsIDAsIDAsIDAsCisgICAgICAgICAwLCAwLjUsIDAsIDAsCisgICAgICAgICAw
LCAwLCAxLCAwLAorICAgICAgICAgLTAuNSArIHgsIC0wLjUgKyB5LCAwLCAxXSk7CisgICAgZ2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICB9CisgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IpOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXh1bml0czsgKytp
aSkgeworICAgIHZhciBjID0gY29sb3JzW2lpXTsKKyAgICB2YXIgeCA9IGlpICUgMjsKKyAgICB2
YXIgeSA9IE1hdGguZmxvb3IoaWkgLyAyKTsKKyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXko
NCk7CisgICAgZ2wucmVhZFBpeGVscyh4LCB5LCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLCBidWYpOworICAgIHZhciBtc2cgPSAnZXhwZWN0ZWQ6JyArCisgICAgICAgIGNbMF0gKyAn
LCAnICsgY1sxXSArICcsICcgKyBjWzJdICsgJywgJyArIGNbM10gKyAnIGZvdW5kOiAnICsKKyAg
ICAgICAgYnVmWzBdICsgJywgJyArCisgICAgICAgIGJ1ZlsxXSArICcsICcgKworICAgICAgICBi
dWZbMl0gKyAnLCAnICsKKyAgICAgICAgYnVmWzNdOworICAgIGlmIChidWZbMF0gIT0gY1swXSB8
fAorICAgICAgICBidWZbMV0gIT0gY1sxXSB8fAorICAgICAgICBidWZbMl0gIT0gY1syXSB8fAor
ICAgICAgICBidWZbM10gIT0gY1szXSkKKyAgICAgIHRlc3RGYWlsZWQobXNnKTsKKyAgICBlbHNl
CisgICAgICB0ZXN0UGFzc2VkKG1zZyk7CisgIH0KK30KKworaW5pdCgpOwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1t
aXBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFkMmU2ZmE5NWU0NjZlZjVhOGEyMWI1OWY4ODEzMjA1Mjc1
Y2U0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sCkBAIC0w
LDAgKzEsMzE5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9u
b3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg
b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29m
dHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0
ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv
CisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoq
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4K
KyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg
Rk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS
T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhF
IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCB0ZXh0dXJlIG1pcHMgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIy
IiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlk
PSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+Cit1bmlmb3JtIHZlYzQgdU11bHQ7
CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247CithdHRyaWJ1dGUgdmVjMiB0ZXhDb29yZDA7Cit2
YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0g
dlBvc2l0aW9uICogdU11bHQ7CisgICAgdGV4Q29vcmQgPSB0ZXhDb29yZDA7Cit9Cis8L3Njcmlw
dD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+Citw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gc2FtcGxlcjJEIHRleDsKK3Zhcnlpbmcg
dmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVy
ZTJEKHRleCwgdGV4Q29vcmQpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3Qi
OwordmFyIGNhbnZhczsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Z1bmN0aW9uIGluaXQo
KQoreworICBkZXNjcmlwdGlvbigiQ2hlY2tzIG1pcCBpc3N1ZXMiKTsKKworICBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOworICBzaG91bGRCZSgiY2FudmFzLndp
ZHRoIiwgIjIiKTsKKyAgc2hvdWxkQmUoImNhbnZhcy5oZWlnaHQiLCAiMiIpOworCisgIHZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKworICB2YXIgdGV4ID0gZ2wuY3JlYXRl
VGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICBnbC5n
ZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwgImZvciBnZW5lcmF0ZU1pcG1hcCB3aXRoIG1pcCAwIGlzIDB4MCIp
OworICBnbC50ZXhJbWFnZTJEKAorICAgICAgZ2wuVEVYVFVSRV8yRCwgMSwgZ2wuUkdCQSwgMSwg
MSwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgIG5ldyBVaW50OEFycmF5KDQp
KTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7CisgIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3IgZ2VuZXJhdGVNaXBtYXAgd2l0aCBtaXAg
MCBpcyAweDAiKTsKKworICB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRleCk7CisgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRF
WFRVUkVfQ1VCRV9NQVApOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFU
SU9OLCAiZm9yIGdlbmVyYXRlTWlwbWFwIHdpdGggbWlwIDAgaXMgMHgwIik7CisKKyAgdmFyIGZh
Y2VzID0gWworICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhU
VVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElW
RV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9a
CisgIF07CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBmYWNlcy5sZW5ndGg7ICsraWkpIHsKKyAg
ICBnbC50ZXhJbWFnZTJEKAorICAgICAgICBmYWNlc1tpaV0sIDAsIGdsLlJHQkEsIDIsIDIsIDAs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgIG5ldyBVaW50OEFycmF5KDQgKiAy
ICogMikpOworICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfQ1VCRV9NQVApOworICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgaWkgPT0gNSA/IGdsLk5PX0VSUk9SIDogZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICJmb3IgZ2VuZXJhdGVNaXBtYXAgd2l0aCAiICsgKGlpICsgMSkgKyAiIGZhY2Vz
Iik7CisgIH0KKworICB3dHUuc2V0dXBVbml0UXVhZChnbCwgMCwgMSk7CisgIHZhciBwcm9ncmFt
ID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICAgIGdsLCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBb
J3ZQb3NpdGlvbicsICd0ZXhDb29yZDAnXSwgWzAsIDFdKTsKKworICBnbC5kaXNhYmxlKGdsLkRF
UFRIX1RFU1QpOworICBnbC5kaXNhYmxlKGdsLkJMRU5EKTsKKworICB2YXIgY29sb3JzID0gewor
ICAgIGJsdWU6IFswLCAwLCAyNTUsIDI1NV0sCisgICAgcmVkOiBbMjU1LCAwLCAwLCAyNTVdLAor
ICAgIGdyZWVuOiAgWzAsIDI1NSwgMCwgMjU1XSwKKyAgICBjeWFuOiBbMTI4LCAyNTUsIDI1NSwg
MjU1XSwKKyAgICBibGFjazogWzAsIDAsIDAsIDI1NV0sCisgICAgYmxhbms6IFswLCAwLCAwLCAw
XQorICB9OworCisgIHZhciBtaXBzID0gWworICBdOworCisgIHZhciB0ZXhMb2MgPSBnbC5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOworICBnbC51bmlmb3JtMWkodGV4TG9jLCAw
KTsKKyAgdmFyIG11bHRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVNdWx0
Iik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorICB2YXIgY2xlYXJUZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGdsLnVuaWZvcm00
ZihtdWx0TG9jLCAxLCAxLCAxLCAxKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwg
Y2xlYXJUZXgpOworICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE2
LCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgIGRlYnVnKCdnbC50
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE2LCAxNiwgMCwgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwgbnVsbCk7Jyk7CisgIHNldE1pcERhdGEoMCwgMTYsICdibGFuaycp
OworICBtYWtlRGl2TWlwQ2hhaW4oKTsKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKyAgY2hlY2soJ2Js
YW5rJywgInRleHR1cmUgY3JlYXRlZCB3aXRoIG51bGwgdGhhdCBoYXMgYWxsIG1pcHMiKTsKKwor
ICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CisgIHZhciB0ZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAx
LCAxLCAxLCAxKTsKKworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAv
LyAxNngxNiB0ZXh0dXJlIG5vIG1pcHMKKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdjeWFuJyk7
CisKKyAgY2hlY2soJ2JsYWNrJywKKyAgICAgICAgInRleHR1cmUgdGhhdCBpcyBtaXNzaW5nIG1p
cHMgd2hlbiBURVhUVVJFX01JTl9GSUxURVIgbm90IE5FQVJFU1Qgb3IgTElORUFSIik7CisKKyAg
Z2VuZXJhdGVNaXBtYXAoKTsKKworICBjaGVjaygnY3lhbicsICJ0ZXh0dXJlIHRoYXQgaGFzIGFs
bCBtaXBzIik7CisKKyAgLy8gRmlsbCBpbiB0aGUgYm90dG9tIDIgbWlwcyB3aXRoIGEgZGlmZmVy
ZW50IGNvbG9yLgorICBmaWxsTGV2ZWwodGV4LCA0LCAxLCAnZ3JlZW4nKTsKKyAgZmlsbExldmVs
KHRleCwgMywgMiwgJ2dyZWVuJyk7CisKKyAgLy8gQ2hvb3NlIHRoZSBuZWFyZXN0IG1pcAorICB0
ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElO
RUFSX01JUE1BUF9ORUFSRVNUKTsKKworICBjaGVjaygnZ3JlZW4nLCAidGV4dHVyZSB0aGF0IGlz
IG9ubHkgdXNpbmcgdGhlIHNtYWxsZXN0IDIgbWlwcyIpOworCisgIGdsLnVuaWZvcm00ZihtdWx0
TG9jLCAxNiwgMTYsIDEsIDEpOworCisgIGNoZWNrKCdjeWFuJywgInRleHR1cmUgdGhhdCBpcyB1
c2luZyBvbmx5IHRoZSBsYXJnZXN0IDIgbWlwcyIpOworCisgIC8vIFNldCB0aGUgdG9wIGxldmVs
CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDEsICdyZWQnKTsKKyAgY2hlY2soJ3JlZCcsCisgICAgICAg
ICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0aGUgdG9wIGxldmVsIGV2ZW4gdGhvdWdoIG90
aGVyIGxldmVscyBhcmUgZGVmaW5lZCIpOworCisgIC8vIFNldCB0aGUgdG9wIDIgbGV2ZWxzIHVz
aW5nIGdlbmVyYXRlTWlwbWFwCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDIsICdibHVlJyk7CisgIGdl
bmVyYXRlTWlwbWFwKCk7CisKKyAgY2hlY2soJ2JsdWUnLAorICAgICAgICAidGV4dHVyZSB0aGF0
IGlzIG9ubHkgdXNpbmcgdGhlIHRvcCAyIGxldmVscyBldmVuIHRob3VnaCBvdGhlciBsZXZlbHMg
YXJlIGRlZmluZWQiKTsKKworICAvLyBTZXQgdGhlIHRvcCAyIGxldmVscyBiYWNrIHRvIHNpemVz
IHRoYXQgZW5kIHVwIHVzaW5nIGxldmVscyAyLCAzLCBhbmQgNCBhZ2Fpbi4KKyAgZmlsbExldmVs
KHRleCwgMCwgMTYsICdibHVlJyk7CisgIGZpbGxMZXZlbCh0ZXgsIDEsIDgsICdibHVlJyk7Cisg
IGNoZWNrKCdibHVlJywgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRoZSBsYXJnZXN0IDIg
bWlwcyIpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGNoZWNrKCdn
cmVlbicsICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0aGUgc21hbGxlc3QgMiBtaXBzIik7
CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorICB2YXIgdGV4ID0gY3JlYXRlVGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExv
YywgMSwgMSwgMSwgMSk7CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDgsICdjeWFuJyk7CisgIGdlbmVy
YXRlTWlwbWFwKCk7CisgIGNoZWNrKCdjeWFuJywgInRleHR1cmUgdGhhdCBoYXMgMyBtaXBzIik7
CisKKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdibHVlJyk7CisgIHRleFBhcmFtZXRlcmkoZ2wu
VEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICBjaGVjaygn
Ymx1ZScsICJ0ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0b3AgbWlwcyIpOworCisgIGZpbGxM
ZXZlbCh0ZXgsIDAsIDgsICdyZWQnKTsKKyAgdGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBn
bC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCk7CisgIGNoZWNr
KCdjeWFuJywgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHNtYWxsZXN0IG1pcHMiKTsKKwor
ICBnbC51bmlmb3JtNGYobXVsdExvYywgMTYsIDE2LCAxLCAxKTsKKyAgY2hlY2soJ3JlZCcsICJ0
ZXh0dXJlIHRoYXQgaXMgdXNpbmcgb25seSB0aGUgbGFyZ2VzdCBtaXAiKTsKKworICAvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIHZhciB0
ZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAxLCAxLCAxLCAx
KTsKKyAgZmlsbExldmVsKHRleCwgMiwgMSwgJ2dyZWVuJyk7CisgIGZpbGxMZXZlbCh0ZXgsIDEs
IDIsICdncmVlbicpOworICBmaWxsTGV2ZWwodGV4LCAwLCA0LCAnZ3JlZW4nKTsKKyAgY2hlY2so
J2dyZWVuJywgInRleHR1cmUgdGhhdCB3YXMgYnVpbHQgc21hbGxlc3QgbWlwIGZpcnN0Iik7CisK
KyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorICB2YXIgdGV4ID0gY3JlYXRlVGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExvYywg
MSwgMSwgMSwgMSk7CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2LCAncmVkJyk7CisgIGdlbmVyYXRl
TWlwbWFwKCk7CisgIGNoZWNrKCdyZWQnLCAidGV4dHVyZSB3aXRoIDEgZ2VubWlwbWFwcyIpOwor
ICBmaWxsTGV2ZWwodGV4LCAwLCAxNiwgJ2JsdWUnKTsKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKyAg
ZmlsbExldmVsKHRleCwgMCwgMTYsICdncmVlbicpOworICBnZW5lcmF0ZU1pcG1hcCgpOworICBj
aGVjaygnZ3JlZW4nLCAidGV4dHVyZSB3aXRoIDIgZ2VubWlwbWFwcyIpOworCisgIC8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBiZSBubyBlcnJvcnMuIik7CisKKyAg
ZnVuY3Rpb24gY3JlYXRlVGV4dHVyZSgpIHsKKyAgICBkZWJ1ZygiPGhyLz5nbC5jcmVhdGVUZXh0
dXJlKCkiKTsKKyAgICBtaXBzID0gW107CisgICAgbWFrZURpdk1pcENoYWluKCk7CisgICAgcmV0
dXJuIGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRleFBhcmFtZXRlcmko
dGFyZ2V0LCBwbmFtZSwgdmFsdWUpIHsKKyAgICBkZWJ1ZygiZ2wudGV4UGFyYW1ldGVyaSgiICsK
KyAgICAgICAgICB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRhcmdldCkgKyAiLCAiICsKKyAgICAg
ICAgICB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHBuYW1lKSArICIsICIgKworICAgICAgICAgIHd0
dS5nbEVudW1Ub1N0cmluZyhnbCwgdmFsdWUpICsgIikiKQorICAgIGdsLnRleFBhcmFtZXRlcmko
dGFyZ2V0LCBwbmFtZSwgdmFsdWUpOworICB9CisKKyAgZnVuY3Rpb24gZ2VuZXJhdGVNaXBtYXAo
KSB7CisgICAgZGVidWcoImdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpIik7CisgICAg
Z2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7CisgICAgdmFyIG1pcDAgPSBtaXBzWzBd
OworICAgIHZhciBzaXplID0gbWlwMC5zaXplOworICAgIHZhciBsZXZlbCA9IDE7CisgICAgZm9y
KDs7KSB7CisgICAgICBzaXplID0gTWF0aC5mbG9vcihzaXplIC8gMik7CisgICAgICBpZiAoIXNp
emUpIHsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBzZXRNaXBEYXRhKGxldmVsLCBz
aXplLCBtaXAwLmNvbG9yKTsKKyAgICAgICsrbGV2ZWw7CisgICAgfQorICAgIG1ha2VEaXZNaXBD
aGFpbigpOworICB9CisKKyAgZnVuY3Rpb24gY2hlY2soY29sb3IsIG1zZykgeworICAgIHd0dS5k
cmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBjb2xvcnNbY29sb3JdLCBtc2cg
KyAiIHNob3VsZCBkcmF3IHdpdGggIiArIGNvbG9yKTsKKyAgfQorCisgIGZ1bmN0aW9uIGZpbGxM
ZXZlbCh0ZXgsIGxldmVsLCBzaXplLCBjb2xvcikgeworICAgIHNldE1pcERhdGEobGV2ZWwsIHNp
emUsIGNvbG9yKTsKKyAgICBkZWJ1ZygiZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAiICsg
bGV2ZWwgKyAiLCBnbC5SR0JBLCAiICsgc2l6ZSArICIsICIgKyBzaXplICsKKyAgICAgICAgICAi
LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCAiICsgY29sb3IgKyAiKTsiKTsKKyAgICB3
dHUuZmlsbFRleHR1cmUoZ2wsIHRleCwgc2l6ZSwgc2l6ZSwgY29sb3JzW2NvbG9yXSwgbGV2ZWwp
OworICAgIG1ha2VEaXZNaXBDaGFpbigpOworICB9CisKKyAgZnVuY3Rpb24gc2V0TWlwRGF0YShs
ZXZlbCwgc2l6ZSwgY29sb3IpIHsKKyAgICBtaXBzW2xldmVsXSA9IHsKKyAgICAgIHNpemU6IHNp
emUsCisgICAgICBjb2xvcjogY29sb3IKKyAgICB9OworICB9CisKKyAgZnVuY3Rpb24gbWFrZURp
dk1pcENoYWluKGNvbG9yKSB7CisgICAgdmFyIGh0bWwgPSBbCisgICAgICAnPGRpdiBzdHlsZT0i
aGVpZ2h0OiA2OHB4OyBtYXJnaW4tdG9wOiA1cHgiPicsCisgICAgICAnPGRpdiBzdHlsZT0iZmxv
YXQ6bGVmdDsiPm1pcHM6IDwvZGl2PiddOworICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCA1OyAr
K2lpKSB7CisgICAgICB2YXIgbWlwID0gbWlwc1tpaV07CisgICAgICBpZiAobWlwKSB7CisgICAg
ICAgIGh0bWwucHVzaChtYWtlRGl2U3F1YXJlKG1pcC5zaXplLCBtaXAuY29sb3IpKTsKKyAgICAg
IH0gZWxzZSB7CisgICAgICAgIGh0bWwucHVzaChtYWtlRGl2U3F1YXJlKDE2LCB1bmRlZmluZWQp
KTsKKyAgICAgIH0KKyAgICB9CisgICAgaHRtbC5wdXNoKCI8L2Rpdj4iKTsKKyAgICBkZWJ1Zyho
dG1sLmpvaW4oIiIpKTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VEaXZTcXVhcmUoc2l6ZSwgY29s
b3IpIHsKKyAgICBzaXplICo9IDQ7CisgICAgdmFyIGMgPSBjb2xvciA/IGNvbG9yc1tjb2xvcl0g
OiBbMjU1LDI1NSwyNTVdOworICAgIHZhciBib3JkZXIgPSBjb2xvciA/ICdzb2xpZCcgOiAnZGFz
aGVkJzsKKyAgICByZXR1cm4gJzxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOiAnICsgc2l6
ZSArICdweDsgaGVpZ2h0OiAnICsgc2l6ZSArCisgICAgICAgICAgICdweDsgYmFja2dyb3VuZC1j
b2xvcjogJyArIHJnYihjKSArCisgICAgICAgICAgICc7IGJvcmRlcjogMXB4ICcgKyBib3JkZXIg
KyAnIGJsYWNrOyBtYXJnaW4tcmlnaHQ6IDNweDsiPjwvZGl2Pic7CisgIH0KKworICBmdW5jdGlv
biByZ2IoYykgeworICAgIHJldHVybiAncmdiKCcgKyBjWzBdICsgJywnICsgY1sxXSArICcsJyAr
IGNbMl0gKycpJzsKKyAgfQorfQorCitpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVv
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWVmODNiNmZkODUxZTNjNzFiMjg3Y2UwODBjNWJkZjNlZGEyNzYz
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sCkBA
IC0wLDAgKzEsMTc5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2
YXIgZ2wgPSBudWxsOwordmFyIHRleHR1cmVMb2MgPSBudWxsOwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IGZhbHNlOworCitpbml0VGVzdGluZ0hhcm5lc3NXYWl0VW50aWxEb25lKCk7CisKK2Z1
bmN0aW9uIGluaXQoKQoreworICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkgbnBvdCB2aWRlbycpOwor
CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFtcGxlIik7Cisg
ICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisgICAgdmFyIHByb2dyYW0gPSB3
dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworCisgICAgZ2wuY2xlYXJDb2xvcigwLDAsMCwxKTsK
KyAgICBnbC5jbGVhckRlcHRoKDEpOworCisgICAgdGV4dHVyZUxvYyA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CisKKyAgICB2YXIgdmlkZW8gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidmlkIik7CisgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigKKyAgICAgICAg
InBsYXlpbmciLCBmdW5jdGlvbigpIHsgcnVuVGVzdCh2aWRlbyk7IH0sIHRydWUpOworICAgIHZp
ZGVvLmxvb3AgPSB0cnVlOworICAgIHZpZGVvLnBsYXkoKTsKK30KKworLy8gVGhlc2UgdHdvIGRl
Y2xhcmF0aW9ucyBuZWVkIHRvIGJlIGdsb2JhbCBmb3IgInNob3VsZEJlIiB0byBzZWUgdGhlbQor
dmFyIGJ1ZiA9IG51bGw7Cit2YXIgaWR4ID0gMDsKK3ZhciBwaXhlbCA9IFswLCAwLCAwXTsKK3Zh
ciBjb3JyZWN0Q29sb3IgPSBudWxsOwordmFyIHRleHR1cmU7CisKK2Z1bmN0aW9uIHJ1bk9uZUl0
ZXJhdGlvbih2aWRlb0VsZW1lbnQsIHVzZVRleFN1YkltYWdlMkQsIGZsaXBZLCB0b3BDb2xvciwg
Ym90dG9tQ29sb3IsIGJhZE1pbkZpbHRlciwgYmFkQ2xhbXAsIGdlbk1pcHMpCit7CisgICAgZGVi
dWcoJ1Rlc3RpbmcgJyArICh1c2VUZXhTdWJJbWFnZTJEID8gJ3RleFN1YkltYWdlMkQnIDogJ3Rl
eEltYWdlMkQnKSArCisgICAgICAgICAgJyB3aXRoIGZsaXBZPScgKyBmbGlwWSk7CisgICAgZ2wu
Y2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgIC8v
IERpc2FibGUgYW55IHdyaXRlcyB0byB0aGUgYWxwaGEgY2hhbm5lbAorICAgIGdsLmNvbG9yTWFz
aygxLCAxLCAxLCAwKTsKKyAgICBpZiAoIXRleHR1cmUpIHsKKyAgICAgICAgdGV4dHVyZSA9IGds
LmNyZWF0ZVRleHR1cmUoKTsKKyAgICB9CisgICAgLy8gQmluZCB0aGUgdGV4dHVyZSB0byB0ZXh0
dXJlIHVuaXQgMAorICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOwor
ICAgIC8vIFNldCB1cCBwaXhlbCBzdG9yZSBwYXJhbWV0ZXJzCisgICAgZ2wucGl4ZWxTdG9yZWko
Z2wuVU5QQUNLX0ZMSVBfWV9XRUJHTCwgZmxpcFkpOworICAgIC8vIFVwbG9hZCB0aGUgdmlkZW9F
bGVtZW50IGludG8gdGhlIHRleHR1cmUKKyAgICBkZWJ1Zygic2l6ZTogIiArIHZpZGVvRWxlbWVu
dC52aWRlb1dpZHRoICsgIngiICsgdmlkZW9FbGVtZW50LnZpZGVvSGVpZ2h0KTsKKyAgICBpZiAo
dXNlVGV4U3ViSW1hZ2UyRCkgeworICAgICAgICAvLyBJbml0aWFsaXplIHRoZSB0ZXh0dXJlIHRv
IGJsYWNrIGZpcnN0CisgICAgICAgIGRlYnVnKCJ1c2UgdGV4U3ViSW1hZ2UyRCIpOworICAgICAg
ICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsCisgICAgICAgICAgICAg
ICAgICAgICAgdmlkZW9FbGVtZW50LnZpZGVvV2lkdGgsIHZpZGVvRWxlbWVudC52aWRlb0hlaWdo
dCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBu
dWxsKTsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB2aWRlb0VsZW1lbnQpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIGRlYnVnKCJ1c2UgdGV4SW1hZ2UyRCIpOworICAgICAgICBnbC50ZXhJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVv
RWxlbWVudCk7CisgICAgfQorCisgICAgLy8gU2V0IHVwIHRleHR1cmUgcGFyYW1ldGVycworICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBn
bC5MSU5FQVIpOworICAgIGlmIChiYWRNaW5GaWx0ZXIpIHsKKyAgICAgICAgZGVidWcoImJhZCBt
aW4gZmlsdGVyIik7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wu
VEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVJfTUlQTUFQX05FQVJFU1QpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIGRlYnVnKCJnb29kIG1pbiBmaWx0ZXIiKTsKKyAgICAgICAgZ2wudGV4UGFy
YW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7
CisgICAgfQorICAgIGlmIChiYWRDbGFtcCkgeworICAgICAgICBkZWJ1ZygiYmFkIGNsYW1wIik7
CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQ
X1MsIGdsLlJFUEVBVCk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwg
Z2wuVEVYVFVSRV9XUkFQX1QsIGdsLlJFUEVBVCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVi
dWcoImdvb2QgY2xhbXAiKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJE
LCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgICAgIGdsLnRleFBh
cmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VE
R0UpOworICAgIH0KKyAgICBpZiAoZ2VuTWlwcykgeworICAgICAgICBkZWJ1ZygiZ2VuZXJhdGUg
bWlwcyIpOworICAgICAgICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKTsKKyAgICAg
ICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInNob3VsZCBiZSBJ
TlZBTElEX09QRVJBVElPTiIpOworICAgIH0KKworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIG51bGwpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUp
OworCisvLyAgICB2YXIgYyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworLy8g
ICAgYy53aWR0aCA9IDE2OworLy8gICAgYy5oZWlnaHQgPSAxNjsKKy8vICAgIGMuc3R5bGUuYm9y
ZGVyID0gIjFweCBzb2xpZCBibGFjayI7CisvLyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCIy
ZCIpOworLy8gICAgY3R4LmRyYXdJbWFnZSh2aWRlb0VsZW1lbnQsIDAsIDAsIDE2LCAxNik7Cisv
LyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGMpOworCisgICAgLy8gUG9pbnQgdGhlIHVu
aWZvcm0gc2FtcGxlciB0byB0ZXh0dXJlIHVuaXQgMAorICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJl
TG9jLCAwKTsKKyAgICAvLyBEcmF3IHRoZSB0cmlhbmdsZXMKKyAgICB3dHUuZHJhd1F1YWQoZ2ws
IFswLCAwLCAwLCAyNTVdKTsKKyAgICAvLyBDaGVjayBhIGZldyBwaXhlbHMgbmVhciB0aGUgdG9w
IGFuZCBib3R0b20gYW5kIG1ha2Ugc3VyZSB0aGV5IGhhdmUKKyAgICAvLyB0aGUgcmlnaHQgY29s
b3IuCisgICAgZGVidWcoIkNoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyIik7CisgICAgd3R1LmNo
ZWNrQ2FudmFzUmVjdChnbCwgNCwgNCwgMiwgMiwgYm90dG9tQ29sb3IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAic2hvdWxkQmUgIiArIGJvdHRvbUNvbG9yKTsKKyAgICBkZWJ1ZygiQ2hlY2tp
bmcgdXBwZXIgbGVmdCBjb3JuZXIiKTsKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCA0LCBn
bC5jYW52YXMuaGVpZ2h0IC0gOCwgMiwgMiwgdG9wQ29sb3IsCisgICAgICAgICAgICAgICAgICAg
ICAgICAic2hvdWxkQmUgIiArIHRvcENvbG9yKTsKKyAgICBkZWJ1ZygiIik7Cit9CisKK2Z1bmN0
aW9uIHJ1blRlc3QodmlkZW9FbGVtZW50KQoreworICAgIHZhciByZWQgPSBbMjU1LCAwLCAwXTsK
KyAgICB2YXIgZ3JlZW4gPSBbMCwgMjU1LCAwXTsKKyAgICB2YXIgYmxhY2sgPSBbMCwgMCwgMF07
CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgZmFsc2UsIHRydWUsIGJsYWNrLCBi
bGFjaywgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVu
dCwgZmFsc2UsIHRydWUsIGJsYWNrLCBibGFjaywgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBy
dW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxzZSwgdHJ1ZSwgYmxhY2ssIGJsYWNrLCBm
YWxzZSwgdHJ1ZSwgZmFsc2UpOworICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZh
bHNlLCB0cnVlLCBibGFjaywgYmxhY2ssIHRydWUsIHRydWUsIGZhbHNlKTsKKyAgICBydW5PbmVJ
dGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxzZSwgdHJ1ZSwgZ3JlZW4sIHJlZCwgZmFsc2UsIGZh
bHNlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgZmFsc2UsIGZh
bHNlLCByZWQsIGdyZWVuLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBydW5PbmVJdGVyYXRp
b24odmlkZW9FbGVtZW50LCB0cnVlLCB0cnVlLCBncmVlbiwgcmVkLCBmYWxzZSwgZmFsc2UsIGZh
bHNlKTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCB0cnVlLCBmYWxzZSwgcmVk
LCBncmVlbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIGVycm9ycyIpOworICAgIHZpZGVvRWxlbWVudC5y
ZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIiwgcnVuVGVzdCk7CisgICAgZmluaXNoVGVzdCgp
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQoKSI+Cis8Y2FudmFz
IGlkPSJleGFtcGxlIiB3aWR0aD0iNjQiIGhlaWdodD0iNDgiPjwvY2FudmFzPgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8dmlkZW8gaWQ9
InZpZCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorICA8c291cmNlIHNyYz0iLi4vcmVzb3VyY2Vz
L25wb3QtdmlkZW8ubXA0IiAgdHlwZT0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDJFMDFFIicg
Lz4KKyAgPHNvdXJjZSBzcmM9Ii4uL3Jlc291cmNlcy9ucG90LXZpZGVvLndlYm12cDgud2VibSIg
dHlwZT0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDgiJyAvPgorICA8c291cmNlIHNyYz0iLi4vcmVz
b3VyY2VzL25wb3QtdmlkZW8udGhlb3JhLm9ndiIgIHR5cGU9J3ZpZGVvL29nZzsgY29kZWNzPSJ0
aGVvcmEiJyAvPgorPC92aWRlbz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDNkYTlhNjNkM2UxNzgxMzRlMjA1OTcxNTVhY2M3OThkODIzZTU2
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCkBA
IC0wLDAgKzEsMTU5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCB0ZXh0dXJlIHNpemUgbGltaXQgY29uZm9ybWFuY2UgdGVzdC48L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIi
IGhlaWdodD0iMzIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiQ2hlY2tzIHRoYXQgdmFyaW91
cyBzaXplcyBsaW1pdHMgb2YgdGV4dHVyZXMgIikKK3ZhciBjYW52YXM7CisKK2Z1bmN0aW9uIG51
bUxldmVsc0Zyb21TaXplKHNpemUpIHsKKyAgdmFyIGxldmVscyA9IDA7CisgIHdoaWxlICgoc2l6
ZSA+PiBsZXZlbHMpID4gMCkgeworICAgICsrbGV2ZWxzOworICB9CisgIHJldHVybiBsZXZlbHM7
Cit9CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENv
bnRleHQoImV4YW1wbGUiKTsKK3ZhciB0ZXN0cyA9IFsKKyAgeyBmb3JtYXQ6IGdsLkFMUEhBLCAg
ICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwgICAgICAgICAgc2l6ZTogMSwgZGF0YVR5
cGU6IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5MVU1JTkFOQ0UsICAgICAgIHR5cGU6
IGdsLlVOU0lHTkVEX0JZVEUsICAgICAgICAgIHNpemU6IDEsIGRhdGFUeXBlOiBVaW50OEFycmF5
ICB9LAorICB7IGZvcm1hdDogZ2wuTFVNSU5BTkNFX0FMUEhBLCB0eXBlOiBnbC5VTlNJR05FRF9C
WVRFLCAgICAgICAgICBzaXplOiAyLCBkYXRhVHlwZTogVWludDhBcnJheSAgfSwKKyAgeyBmb3Jt
YXQ6IGdsLlJHQiwgICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwgICAgICAgICAg
c2l6ZTogMywgZGF0YVR5cGU6IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5SR0IsICAg
ICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzVfNl81LCAgIHNpemU6IDEsIGRhdGFU
eXBlOiBVaW50MTZBcnJheSB9LAorICB7IGZvcm1hdDogZ2wuUkdCQSwgICAgICAgICAgICB0eXBl
OiBnbC5VTlNJR05FRF9CWVRFLCAgICAgICAgICBzaXplOiA0LCBkYXRhVHlwZTogVWludDhBcnJh
eSAgfSwKKyAgeyBmb3JtYXQ6IGdsLlJHQkEsICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURf
U0hPUlRfNF80XzRfNCwgc2l6ZTogMSwgZGF0YVR5cGU6IFVpbnQxNkFycmF5IH0sCisgIHsgZm9y
bWF0OiBnbC5SR0JBLCAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzVfNV81XzEs
IHNpemU6IDEsIGRhdGFUeXBlOiBVaW50MTZBcnJheSB9CitdOworCisvLyBOb3RlOiBXZSBleHBy
ZXNzbHkgb25seSB1c2UgMiB0ZXh0dXJlcyBiZWNhdXNlIGZpcnN0IGEgdGV4dHVyZSB3aWxsIGJl
IGRlZmluZWQKKy8vIGFzIHVzaW5nIGFsbCBtaXBzIG9mIDEgZm9ybWF0LCB0aGVuIGZvciBhIG1v
bWVudCBpdCB3aWxsIGhhdmUgbWl4ZWQgZm9ybWF0cyB3aGljaAorLy8gbWF5IHVuY292ZXIgYnVn
cy4KK3ZhciB0YXJnZXRzID0gWworICB7IHRhcmdldDogZ2wuVEVYVFVSRV8yRCwKKyAgICBtYXhT
aXplOiBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1RFWFRVUkVfU0laRSksCisgICAgbWF4TGV2ZWw6
IDEwMDAsCisgICAgdGV4OiBnbC5jcmVhdGVUZXh0dXJlKCksCisgICAgdGFyZ2V0czogW2dsLlRF
WFRVUkVfMkRdCisgIH0sCisgIHsgdGFyZ2V0OiBnbC5URVhUVVJFX0NVQkVfTUFQLAorICAgIG1h
eFNpemU6IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfQ1VCRV9NQVBfVEVYVFVSRV9TSVpFKSwKKyAg
ICBtYXhMZXZlbDogNSwKKyAgICB0ZXg6IGdsLmNyZWF0ZVRleHR1cmUoKSwKKyAgICB0YXJnZXRz
OiBbCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgICBnbC5URVhU
VVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lU
SVZFX1ksCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgICBnbC5U
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05F
R0FUSVZFX1oKKyAgICBdCisgIH0KK107CisKK2dsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19BTElH
Tk1FTlQsIDEpOworCit2YXIgdHJnID0gMDsKK3ZhciB0dCA9IDA7CitydW5OZXh0VGVzdCgpOwor
CitmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsKKyAgdmFyIHQgPSB0YXJnZXRzW3RyZ107CisKKyAg
aWYgKHR0ID09IDApIHsKKyAgICB2YXIgdGV4ID0gdC50ZXg7CisgICAgZ2wuYmluZFRleHR1cmUo
dC50YXJnZXQsIHRleCk7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIm1heCBzaXplIGZv
ciAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0LnRhcmdldCkgKyAiOiAiICsgdC5tYXhTaXpl
KTsKKyAgICB2YXIgbnVtTGV2ZWxzID0gbnVtTGV2ZWxzRnJvbVNpemUodC5tYXhTaXplKTsKKyAg
ICBkZWJ1ZygibnVtIGxldmVscyAiICsgbnVtTGV2ZWxzKTsKKyAgfQorCisgIHZhciB0ZXN0ID0g
dGVzdHNbdHRdOworICB0ZXN0Rm9ybWF0VHlwZSh0LCB0ZXN0KTsKKyAgKyt0dDsKKyAgaWYgKHR0
ID09IHRlc3RzLmxlbmd0aCkgeworICAgIHR0ID0gMDsKKyAgICArK3RyZzsKKyAgICBpZiAodHJn
ID09IHRhcmdldHMubGVuZ3RoKSB7CisgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICByZXR1cm47
CisgICAgfQorICB9CisgIHd0dS53YWl0Rm9yQ29tcG9zaXRlKGdsLCBydW5OZXh0VGVzdCkKK30K
KworZnVuY3Rpb24gdGVzdEZvcm1hdFR5cGUodCwgdGVzdCkgeworICBkZWJ1ZygiIik7CisgIGRl
YnVnKCJ0ZXN0aW5nOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LmZvcm1hdCkgKyAi
LCAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LnR5cGUpKTsKKyAgZm9yICh2YXIgaiA9
IDA7IGogPCB0LnRhcmdldHMubGVuZ3RoOyArK2opIHsKKyAgICB2YXIgdGFyZ2V0ID0gdC50YXJn
ZXRzW2pdOworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1Zyh3dHUuZ2xFbnVtVG9TdHJpbmcoZ2ws
IHRhcmdldCkpOworICAgIHZhciBudW1MZXZlbHMgPSBudW1MZXZlbHNGcm9tU2l6ZSh0Lm1heFNp
emUpOworICAgIHZhciBudW1UZXN0TGV2ZWxzID0gTWF0aC5taW4obnVtTGV2ZWxzLCB0Lm1heExl
dmVsKTsKKyAgICBmb3IgKHZhciBsID0gMDsgbCA8IG51bVRlc3RMZXZlbHM7ICsrbCkgeworICAg
ICAgLy8gRG8gYm90dG9tIGxldmVscyBmaXJzdDsKKyAgICAgIHZhciBzaXplID0gMSA8PCBsOwor
ICAgICAgdmFyIGxldmVsID0gbnVtTGV2ZWxzIC0gbCAtIDE7CisgICAgICB2YXIgb3RoZXJEaW1l
bnNpb24gPSB0LnRhcmdldCA9PSBnbC5URVhUVVJFXzJEID8gMSA6IHNpemU7CisgICAgICB2YXIg
YmFkU2l6ZSA9IHNpemUgKiAyOworICAgICAgdmFyIGJhZE90aGVyRGltZW5zaW9uID0gdC50YXJn
ZXQgPT0gZ2wuVEVYVFVSRV8yRCA/IDEgOiBiYWRTaXplOworICAgICAgdmFyIHBpeGVscyA9IG5l
dyB0ZXN0LmRhdGFUeXBlKGJhZFNpemUgKiBiYWRPdGhlckRpbWVuc2lvbiAqIHRlc3Quc2l6ZSk7
CisgICAgICBnbC50ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHRlc3QuZm9ybWF0LCBzaXplLCBv
dGhlckRpbWVuc2lvbiwgMCwgdGVzdC5mb3JtYXQsIHRlc3QudHlwZSwgcGl4ZWxzKTsKKyAgICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBzaG91bGQgYmUgbm8gZXJy
b3IgZm9yIGxldmVsOiAiICsgbGV2ZWwgKyAiICIgKyBzaXplICsgIngiICsgb3RoZXJEaW1lbnNp
b24pOworICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB0ZXN0LmZvcm1hdCwgb3Ro
ZXJEaW1lbnNpb24sIHNpemUsIDAsIHRlc3QuZm9ybWF0LCB0ZXN0LnR5cGUsIHBpeGVscyk7Cisg
ICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5v
IGVycm9yIGZvciBsZXZlbDogIiArIGxldmVsICsgIiAiICsgb3RoZXJEaW1lbnNpb24gKyAieCIg
KyBzaXplKTsKKyAgICAgIGdsLnRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgdGVzdC5mb3JtYXQs
IGJhZFNpemUsIGJhZE90aGVyRGltZW5zaW9uLCAwLCB0ZXN0LmZvcm1hdCwgdGVzdC50eXBlLCBw
aXhlbHMpOworICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAic2hv
dWxkIGdlbmVyYXRlIElOVkFMSURfVkFMVUUgZm9yIGxldmVsOiAiICsgbGV2ZWwgKyAiICIgKyBi
YWRTaXplICsgIngiICsgYmFkT3RoZXJEaW1lbnNpb24pOworICAgICAgZ2wudGV4SW1hZ2UyRCh0
YXJnZXQsIGxldmVsLCB0ZXN0LmZvcm1hdCwgYmFkT3RoZXJEaW1lbnNpb24sIGJhZFNpemUsIDAs
IHRlc3QuZm9ybWF0LCB0ZXN0LnR5cGUsIHBpeGVscyk7CisgICAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLklOVkFMSURfVkFMVUUsICJzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9WQUxVRSBmb3Ig
bGV2ZWw6ICIgKyBsZXZlbCArICIgIiArIGJhZE90aGVyRGltZW5zaW9uICsgIngiICsgYmFkU2l6
ZSk7CisgICAgfQorICB9Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUt
c2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E4NzVk
OGI5N2MzMWM0ZWU5NTFmMjRjMjZkYTNkMWQxMmVkNWU1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sCkBAIC0wLDAgKzEsMjM4IEBACis8IS0tCisKKy8qCisq
KiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9j
dW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1h
dGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRh
dGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoq
IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJp
YWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUg
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQ
Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP
UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMg
T1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoq
IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O
IFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU
SEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB0ZXh0dXJlIHNpemUgY29u
Zm9ybWFuY2UgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dl
YmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlk
PSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVp
Z2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWMzIHRl
eENvb3JkMDsKK3ZhcnlpbmcgdmVjMyB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xf
UG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgdGV4Q29vcmQgPSB0ZXhDb29yZDA7Cit9Cis8L3Nj
cmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+
CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gc2FtcGxlckN1YmUgdGV4OwordmFy
eWluZyB2ZWMzIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB0
ZXh0dXJlQ3ViZSh0ZXgsIG5vcm1hbGl6ZSh0ZXhDb29yZCkpOworfQorPC9zY3JpcHQ+Cis8c2Ny
aXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHZhcmlvdXMgc2l6
ZXMgb2YgdGV4dHVyZXMgcmVuZGVyIikKK3ZhciBjYW52YXM7CisKK3ZhciB3dHUgPSBXZWJHTFRl
c3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKK3ZhciBw
cm9ncmFtMkQgPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOwordmFyIHByb2dyYW1DdWJlTWFw
ID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICBnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWyd2
UG9zaXRpb24nLCAndGV4Q29vcmQwJ10sIFswLCAxXSk7CitnbC5kaXNhYmxlKGdsLkRFUFRIX1RF
U1QpOworZ2wuZGlzYWJsZShnbC5CTEVORCk7Cit2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgp
OwordmFyIG1heDJEU2l6ZSA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVEVYVFVSRV9TSVpFKTsK
K3ZhciBtYXhDdWJlTWFwU2l6ZSA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfQ1VCRV9NQVBfVEVY
VFVSRV9TSVpFKTsKK2RlYnVnKCJNQVhfVEVYVFVSRV9TSVpFOiIgKyBtYXgyRFNpemUpOworZGVi
dWcoIk1BWF9DVUJFX01BUF9URVhUVVJFX1NJWkU6IiArIG1heEN1YmVNYXBTaXplKTsKKy8vIEFz
c3VtaW5nIDIwNDh4MjA0OHhSR0JBICgyMm1lZyB3aXRoIG1pcHMpIHdpbGwgcnVuIG9uIGFsbCBX
ZWJHTCBwbGF0Zm9ybXMKK3ZhciBtYXgyRFNxdWFyZVNpemUgPSBNYXRoLm1pbihtYXgyRFNpemUs
IDIwNDgpOworLy8gSSdkIHByZWZlciB0aGlzIHRvIGJlIDIwNDggYnV0IHRoYXQncyAxNm1lZyB4
IDYgZmFjZXMgb3IgMTI4bWVnICh3aXRoIG1pcHMpCisvLyAxMDI0IGlzIDMzLjUgbWVnICh3aXRo
IG1pcHMpCit2YXIgbWF4Q3ViZU1hcFNpemUgPSBNYXRoLm1pbihtYXhDdWJlTWFwU2l6ZSwgMTAy
NCk7CisKK3ZhciBjb2xvcnMgPSBbCisgIHsgbmFtZTogImdyZWVuIiwgcmdiYTogWzAsIDAsIDI1
NSwgMjU1XSB9LAorICB7IG5hbWU6ICJyZWQiLCByZ2JhOiBbMjU1LCAwLCAwLCAyNTVdIH0sCisg
IHsgbmFtZTogImJsdWUiLCByZ2JhOiBbMCwgMjU1LCAwLCAyNTVdIH0sCisgIHsgbmFtZTogInll
bGxvdyIsIHJnYmE6IFsyNTUsIDI1NSwgMCwgMjU1XSB9LAorICB7IG5hbWU6ICJtYWdlbnRhIiwg
cmdiYTogWzI1NSwgMCwgMjU1LCAyNTVdIH0sCisgIHsgbmFtZTogImN5YW4iLCByZ2JhOiBbMCwg
MjU1LCAyNTUsIDI1NV0gfQorXTsKKwordmFyIGNvdW50ID0gMDsKK3ZhciBwb3dlciA9IDA7City
dW5UZXN0KCk7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgIGZ1bmN0aW9uIGRvVGVzdCgpIHsK
KyAgICB2YXIgc2l6ZSA9IE1hdGgucG93KDIsIHBvd2VyKTsKKyAgICBpZiAoc2l6ZSA+IG1heDJE
U2l6ZSkgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBnbC51c2VQcm9ncmFtKHBy
b2dyYW0yRCk7CisgICAgaWYgKCFjaGVja1RleHR1cmUoc2l6ZSwgMSwgZmFsc2UpKSByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKCFjaGVja1RleHR1cmUoMSwgc2l6ZSwgZmFsc2UpKSByZXR1cm4gZmFs
c2U7CisgICAgaWYgKHNpemUgPD0gbWF4MkRTcXVhcmVTaXplKSB7CisgICAgICBpZiAoIWNoZWNr
VGV4dHVyZShzaXplLCBzaXplLCBmYWxzZSkpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgfQorICAgIH0KKyAgICBpZiAoc2l6ZSA8PSBtYXhDdWJlTWFwU2l6ZSkgeworICAgICAgZ2wu
dXNlUHJvZ3JhbShwcm9ncmFtQ3ViZU1hcCk7CisgICAgICBpZiAoIWNoZWNrVGV4dHVyZShzaXpl
LCBzaXplLCB0cnVlKSkgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9CisgICAgfQor
ICAgIHJldHVybiB0cnVlOworICB9CisKKyAgaWYgKGRvVGVzdCgpKSB7CisgICAgKytwb3dlcjsK
KyAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDEwMCk7CisgIH0gZWxzZSB7CisgICAgZmluaXNoVGVz
dCgpOworICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrVGV4dHVyZSh3aWR0aCwgaGVpZ2h0LCBjdWJl
TWFwKSB7CisgIGRlYnVnKCIiKTsKKyAgY291bnQgPSAoY291bnQgKyAxKSAlIGNvbG9ycy5sZW5n
dGg7CisgIHZhciBjb2xvciA9IGNvbG9yc1tjb3VudF07CisgIHZhciB0ZXggPSBnbC5jcmVhdGVU
ZXh0dXJlKCk7CisgIHZhciB0YXJnZXQgPSBjdWJlTWFwID8gZ2wuVEVYVFVSRV9DVUJFX01BUCA6
IGdsLlRFWFRVUkVfMkQ7CisgIHZhciB0eXBlID0gY3ViZU1hcCA/ICJjdWJlIG1hcCIgOiAiMkQg
dGV4dHVyZSI7CisgIGRlYnVnKCJjaGVjayAiICsgd2lkdGggKyAiLCAiICsgaGVpZ2h0ICsgIiAi
ICsgdHlwZSk7CisgIGdsLmJpbmRUZXh0dXJlKHRhcmdldCwgdGV4KTsKKyAgZ2wudGV4UGFyYW1l
dGVyaSh0YXJnZXQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgZ2wudGV4
UGFyYW1ldGVyaSh0YXJnZXQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsK
KyAgZ2wudGV4UGFyYW1ldGVyaSh0YXJnZXQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9U
T19FREdFKTsKKyAgZmlsbExldmVsKDAsIHdpZHRoLCBoZWlnaHQsIGNvbG9yLnJnYmEsIGN1YmVN
YXApOworICB2YXIgZXJyID0gZ2wuZ2V0RXJyb3IoKTsKKyAgaWYgKGVyciA9PSBnbC5PVVRfT0Zf
TUVNT1JZKSB7CisgICAgZGVidWcoIm91dCBvZiBtZW1vcnkiKTsKKyAgICByZXR1cm4gZmFsc2U7
CisgIH0KKyAgaWYgKGVyciAhPSBnbC5OT19FUlJPUikgeworICAgIHRlc3RGYWlsZWQoInVuZXhw
ZWN0ZWQgZ2wgZXJyb3I6ICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGVycikpOworICB9Cisg
IHd0dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgY29sb3IucmdiYSwKKyAg
ICAgIHR5cGUgKyAiIG9mIHNpemUgIiArIHdpZHRoICsgIngiICsgaGVpZ2h0ICsgIiB3aXRoIG5v
IG1pcHMgc2hvdWxkIGRyYXcgd2l0aCAiICsgY29sb3IubmFtZSk7CisgIGNvdW50ID0gKGNvdW50
ICsgMSkgJSBjb2xvcnMubGVuZ3RoOworICBjb2xvciA9IGNvbG9yc1tjb3VudF07CisgIGZpbGxM
ZXZlbCgwLCB3aWR0aCwgaGVpZ2h0LCBjb2xvci5yZ2JhLCBjdWJlTWFwKTsKKyAgZ2wuZ2VuZXJh
dGVNaXBtYXAodGFyZ2V0KTsKKyAgdmFyIGVyciA9IGdsLmdldEVycm9yKCk7CisgIGlmIChlcnIg
PT0gZ2wuT1VUX09GX01FTU9SWSkgeworICAgIGRlYnVnKCJvdXQgb2YgbWVtb3J5Iik7CisgICAg
cmV0dXJuIGZhbHNlOworICB9CisgIGlmIChlcnIgIT0gZ2wuTk9fRVJST1IpIHsKKyAgICB0ZXN0
RmFpbGVkKCJ1bmV4cGVjdGVkIGdsIGVycm9yOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBl
cnIpKTsKKyAgfQorICBnbC50ZXhQYXJhbWV0ZXJpKHRhcmdldCwgZ2wuVEVYVFVSRV9NSU5fRklM
VEVSLCBnbC5MSU5FQVJfTUlQTUFQX05FQVJFU1QpOworICB3dHUuZHJhd1F1YWQoZ2wpOworICB3
dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yLnJnYmEsCisgICAgICB0eXBlICsgIiBvZiBzaXplICIg
KyB3aWR0aCArICJ4IiArIGhlaWdodCArICIgd2l0aCBtaXBzIHNob3VsZCBkcmF3IHdpdGggIiAr
IGNvbG9yLm5hbWUpOworCisgIGNvdW50ID0gKGNvdW50ICsgMSkgJSBjb2xvcnMubGVuZ3RoOwor
ICBjb2xvciA9IGNvbG9yc1tjb3VudF07CisgIGZpbGxMZXZlbCgwLCB3aWR0aCwgaGVpZ2h0LCBj
b2xvci5yZ2JhLCBjdWJlTWFwLCB0cnVlKTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAodGFyZ2V0KTsK
KworICB3dHUuZHJhd1F1YWQoZ2wpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yLnJnYmEs
CisgICAgICB0eXBlICsgIiBvZiBzaXplICIgKyB3aWR0aCArICJ4IiArIGhlaWdodCArICIgd2l0
aCBtaXBzIHNob3VsZCBkcmF3IHdpdGggIiArIGNvbG9yLm5hbWUpOworCisgIGdsLmRlbGV0ZVRl
eHR1cmUodGV4KTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBi
ZSBubyBlcnJvcnMuIik7CisgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlvbiBmaWxsTGV2ZWwo
bGV2ZWwsIHdpZHRoLCBoZWlnaHQsIGNvbG9yLCBvcHRfY3ViZW1hcCwgb3B0X3N1YlRleCkgewor
ICB2YXIgbnVtUGl4ZWxzID0gd2lkdGggKiBoZWlnaHQ7CisgIHZhciBwaXhlbHMgPSBudWxsOwor
ICB2YXIgbGFyZ2VEaW0gPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTsKKyAgdmFyIHNtYWxsRGlt
ID0gTWF0aC5taW4od2lkdGgsIGhlaWdodCk7CisKKyAgdmFyIHBpeGVsUm93ID0gbmV3IFVpbnQ4
QXJyYXkobGFyZ2VEaW0gKiA0KTsKKyAgZm9yICh2YXIgamogPSAwOyBqaiA8IGxhcmdlRGltOyAr
K2pqKSB7CisgICAgdmFyIG9mZiA9IGpqICogNDsKKyAgICBwaXhlbFJvd1tvZmYgKyAwXSA9IGNv
bG9yWzBdOworICAgIHBpeGVsUm93W29mZiArIDFdID0gY29sb3JbMV07CisgICAgcGl4ZWxSb3db
b2ZmICsgMl0gPSBjb2xvclsyXTsKKyAgICBwaXhlbFJvd1tvZmYgKyAzXSA9IGNvbG9yWzNdOwor
ICB9CisKKyAgaWYgKGxhcmdlRGltID09IG51bVBpeGVscykgeworICAgIHBpeGVscyA9IHBpeGVs
Um93OworICB9IGVsc2UgeworICAgIHZhciBwaXhlbHMgPSBuZXcgVWludDhBcnJheShudW1QaXhl
bHMgKiA0KTsKKyAgICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgc21hbGxEaW07ICsramopIHsKKyAg
ICAgIHZhciBvZmYgPSBqaiAqIGxhcmdlRGltICogNDsKKyAgICAgIHBpeGVscy5zZXQocGl4ZWxS
b3csIG9mZik7CisgICAgfQorICB9CisgCisgIHZhciB0YXJnZXRzID0gb3B0X2N1YmVtYXAgPyBb
CisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VC
RV9NQVBfTkVHQVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisg
ICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWiwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1pdIDoKKyAg
ICBbZ2wuVEVYVFVSRV8yRF07CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRhcmdldHMubGVu
Z3RoOyArK2lpKSB7CisgICAgLy8gZGVidWcod3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0YXJnZXRz
W2lpXSkpOworICAgIHZhciBpbmRleCA9IChpaSArIHBvd2VyKSAlIHRhcmdldHMubGVuZ3RoOwor
ICAgIHZhciB0YXJnZXQgPSB0YXJnZXRzW2luZGV4XTsKKyAgICBpZiAob3B0X3N1YlRleCkgewor
ICAgICAgZ2wudGV4U3ViSW1hZ2UyRCgKKyAgICAgICAgICB0YXJnZXQsIGxldmVsLCAwLCAwLCB3
aWR0aCwgaGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIHBpeGVs
cyk7CisgICAgfSBlbHNlIHsKKyAgICAgIGdsLnRleEltYWdlMkQoCisgICAgICAgICAgdGFyZ2V0
LCBsZXZlbCwgZ2wuUkdCQSwgd2lkdGgsIGhlaWdodCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwKKyAgICAgICAgICBwaXhlbHMpOworICAgIH0KKyAgfQorfQorCit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9y
bS1hcnJheXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODhhMTgzOTM4ZjUzNGNjMmJkOGUyMzA5MjBiY2I5
YWU4Mjc1NjYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMu
aHRtbApAQCAtMCwwICsxLDUwMiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
Ky0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgdW5pZm9ybSBhcnJheSBDb25mb3JtYW5jZSBUZXN0czwvdGl0
bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIg
aGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRl
ci94LXZlcnRleCI+CisgICAgYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKyAgICB2b2lkIG1h
aW4oKQorICAgIHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgIH0KKzwv
c2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50
Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICB1bmlmb3JtICQodHlwZSkgY29s
b3JbM107CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZl
YzQoY29sb3JbMF0kKGVsZW0pLCBjb2xvclsxXSQoZWxlbSksIGNvbG9yWzJdJChlbGVtKSwgMSk7
CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyLW1heCIgdHlwZT0ieC1zaGFk
ZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9y
bSB2ZWM0IGNvbG9yYVskKG1heFVuaWZvcm1WZWN0b3JzKV07CisgICAgdm9pZCBtYWluKCkKKyAg
ICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoY29sb3JhWyQodXNlZFVuaWZvcm1WZWN0
b3IpXSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyLW1heC1hYi1hYiIg
dHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7
CisgICAgdW5pZm9ybSB2ZWM0ICQoZGVjbDEpOworICAgIHVuaWZvcm0gdmVjNCAkKGRlY2wyKTsK
KyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgkKHVz
YWdlMSkgKyAkKHVzYWdlMikpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Rlc2NyaXB0aW9uKCk7CitkZWJ1ZygiIik7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKK3ZhciB2U3Jj
ID0gd3R1LmdldFNjcmlwdCgidnNoYWRlciIpOwordmFyIGZUZW1wbGF0ZSA9IHd0dS5nZXRTY3Jp
cHQoImZzaGFkZXIiKTsKKwordmFyIHR5cGVJbmZvcyA9IFsKKyAgeyB0eXBlOiAnZmxvYXQnLAor
ICAgIGpzVHlwZU9mOiAnbnVtYmVyJywKKyAgICBzZXR0ZXI6ICd1bmlmb3JtMWZ2JywKKyAgICBl
bGVtOiAnJywKKyAgICBudW1TcmNWYWx1ZXM6IDMsCisgICAgaW52YWxpZFNldDogZnVuY3Rpb24o
bG9jKSB7CisgICAgICBnbC51bmlmb3JtMmZ2KGxvYywgWzEsIDJdKTsKKyAgICB9LAorICAgIHNy
Y1ZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKGluZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAgIHJldHVy
biBzcmNWYWx1ZXNbaW5kZXhdLnRvU3RyaW5nKCk7CisgICAgfSwKKyAgICByZXR1cm5WYWx1ZUFz
U3RyaW5nOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8g
J251bGwnIDogdmFsdWUudG9TdHJpbmcoKTsKKyAgICB9LAorICAgIGNoZWNrVHlwZTogZnVuY3Rp
b24odmFsdWUpIHsKKyAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInOworICAg
IH0sCisgICAgY2hlY2tWYWx1ZTogZnVuY3Rpb24odHlwZUluZm8sIGluZGV4LCB2YWx1ZSkgewor
ICAgICAgcmV0dXJuIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleF0gPT0gdmFsdWU7CisgICAgfSwK
KyAgICBzcmNWYWx1ZXM6IFsxNiwgMTUsIDE0XSwKKyAgICBzcmNWYWx1ZXNMZXNzOiBbXSwKKyAg
ICBzcmNWYWx1ZXNMZXNzTXVsdGlwbGU6IFsxNl0sCisgICAgc3JjVmFsdWVzTW9yZU11bHRpcGxl
OiBbMTYsIDE1LCAxNCwgMTNdLAorICAgIHNyY1ZhbHVlc05vbk11bHRpcGxlOiBudWxsLAorICB9
LAorICB7IHR5cGU6ICd2ZWMyJywKKyAgICBqc1R5cGVPZjogJ0Zsb2F0MzJBcnJheScsCisgICAg
c2V0dGVyOiAndW5pZm9ybTJmdicsCisgICAgZWxlbTogJ1sxXScsCisgICAgbnVtU3JjVmFsdWVz
OiAzLAorICAgIGludmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFm
dihsb2MsIFsyXSk7CisgICAgfSwKKyAgICBpbGxlZ2FsU2V0OiBmdW5jdGlvbihsb2MpIHsKKyAg
ICAgIGdsLnVuaWZvcm0xZnYobG9jLCAyKTsKKyAgICB9LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6
IGZ1bmN0aW9uKGluZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAgIHJldHVybiAiWyIgKyBzcmNWYWx1
ZXNbaW5kZXggKiAyICsgMF0udG9TdHJpbmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAg
IHNyY1ZhbHVlc1tpbmRleCAqIDIgKyAxXS50b1N0cmluZygpICsgIl0iOworICAgIH0sCisgICAg
cmV0dXJuVmFsdWVBc1N0cmluZzogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1
ZSA9PT0gbnVsbCA/ICdudWxsJyA6ICgiWyIgKyB2YWx1ZVswXSArICIsICIgKyB2YWx1ZVsxXSAr
ICJdIik7CisgICAgfSwKKyAgICBjaGVja1R5cGU6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICBy
ZXR1cm4gdmFsdWUgJiYKKyAgICAgICAgICAgICB0eXBlb2YgdmFsdWUubGVuZ3RoID09PSAnbnVt
YmVyJyAmJgorICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCA9PSAyOworICAgIH0sCisgICAgY2hl
Y2tWYWx1ZTogZnVuY3Rpb24odHlwZUluZm8sIGluZGV4LCB2YWx1ZSkgeworICAgICAgcmV0dXJu
IHZhbHVlICE9PSBudWxsICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4
ICogMiArIDBdID09IHZhbHVlWzBdICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVz
W2luZGV4ICogMiArIDFdID09IHZhbHVlWzFdOworICAgIH0sCisgICAgc3JjVmFsdWVzOiBbMTYs
IDE1LCAxNCwgMTMsIDEyLCAxMV0sCisgICAgc3JjVmFsdWVzTGVzczogWzE2XSwKKyAgICBzcmNW
YWx1ZXNMZXNzTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxM10sCisgICAgc3JjVmFsdWVzTW9yZU11
bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDldLAorICAgIHNyY1ZhbHVlc05v
bk11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTBdLAorICB9LAorICB7IHR5cGU6
ICd2ZWMzJywKKyAgICBqc1R5cGVPZjogJ0Zsb2F0MzJBcnJheScsCisgICAgc2V0dGVyOiAndW5p
Zm9ybTNmdicsCisgICAgZWxlbTogJ1syXScsCisgICAgbnVtU3JjVmFsdWVzOiAzLAorICAgIGlu
dmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFmdihsb2MsIFsyXSk7
CisgICAgfSwKKyAgICBpbGxlZ2FsU2V0OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGdsLnVuaWZv
cm0xZnYobG9jLCAyKTsKKyAgICB9LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKGlu
ZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAgIHJldHVybiAiWyIgKyBzcmNWYWx1ZXNbaW5kZXggKiAz
ICsgMF0udG9TdHJpbmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tp
bmRleCAqIDMgKyAxXS50b1N0cmluZygpICsgIiwgIiArCisgICAgICAgICAgICAgICAgICAgc3Jj
VmFsdWVzW2luZGV4ICogMyArIDJdLnRvU3RyaW5nKCkgKyAiXSI7CisgICAgfSwKKyAgICByZXR1
cm5WYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlID09
PSBudWxsID8gJ251bGwnIDoKKyAgICAgICAgICAoIlsiICsgdmFsdWVbMF0gKyAiLCAiICsgdmFs
dWVbMV0gKyAiLCAiICsgdmFsdWVbMl0gKyAiXSIpOworICAgIH0sCisgICAgY2hlY2tUeXBlOiBm
dW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlICYmCisgICAgICAgICAgICAgdHlw
ZW9mIHZhbHVlLmxlbmd0aCA9PT0gJ251bWJlcicgJiYKKyAgICAgICAgICAgICB2YWx1ZS5sZW5n
dGggPT0gMzsKKyAgICB9LAorICAgIGNoZWNrVmFsdWU6IGZ1bmN0aW9uKHR5cGVJbmZvLCBpbmRl
eCwgdmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJgorICAgICAgICAgICAg
IHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDMgKyAwXSA9PSB2YWx1ZVswXSAmJgorICAgICAg
ICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDMgKyAxXSA9PSB2YWx1ZVsxXSAmJgor
ICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDMgKyAyXSA9PSB2YWx1ZVsy
XTsKKyAgICB9LAorICAgIHNyY1ZhbHVlczogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5
LCA4XSwKKyAgICBzcmNWYWx1ZXNMZXNzOiBbMTYsIDE1XSwKKyAgICBzcmNWYWx1ZXNMZXNzTXVs
dGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExXSwKKyAgICBzcmNWYWx1ZXNNb3JlTXVsdGlw
bGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMl0s
CisgICAgc3JjVmFsdWVzTm9uTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwg
OSwgOCwgN10sCisgIH0sCisgIHsgdHlwZTogJ3ZlYzQnLAorICAgIGpzVHlwZU9mOiAnRmxvYXQz
MkFycmF5JywKKyAgICBzZXR0ZXI6ICd1bmlmb3JtNGZ2JywKKyAgICBlbGVtOiAnWzNdJywKKyAg
ICBudW1TcmNWYWx1ZXM6IDMsCisgICAgaW52YWxpZFNldDogZnVuY3Rpb24obG9jKSB7CisgICAg
ICBnbC51bmlmb3JtMWZ2KGxvYywgWzJdKTsKKyAgICB9LAorICAgIGlsbGVnYWxTZXQ6IGZ1bmN0
aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFmdihsb2MsIDIpOworICAgIH0sCisgICAgc3Jj
VmFsdWVBc1N0cmluZzogZnVuY3Rpb24oaW5kZXgsIHNyY1ZhbHVlcykgeworICAgICAgcmV0dXJu
ICJbIiArIHNyY1ZhbHVlc1tpbmRleCAqIDQgKyAwXS50b1N0cmluZygpICsgIiwgIiArCisgICAg
ICAgICAgICAgICAgICAgc3JjVmFsdWVzW2luZGV4ICogNCArIDFdLnRvU3RyaW5nKCkgKyAiLCAi
ICsKKyAgICAgICAgICAgICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiA0ICsgMl0udG9TdHJpbmco
KSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDQgKyAzXS50
b1N0cmluZygpICsgIl0iOworICAgIH0sCisgICAgcmV0dXJuVmFsdWVBc1N0cmluZzogZnVuY3Rp
b24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCA/ICdudWxsJyA6CisgICAg
ICAgICAgKCJbIiArIHZhbHVlWzBdICsgIiwgIiArIHZhbHVlWzFdICsKKyAgICAgICAgICAgIiwg
IiArIHZhbHVlWzJdICsgIiwgIiArIHZhbHVlWzNdICsgIl0iKTsKKyAgICB9LAorICAgIGNoZWNr
VHlwZTogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSAmJgorICAgICAgICAg
ICAgIHR5cGVvZiB2YWx1ZS5sZW5ndGggPT09ICdudW1iZXInICYmCisgICAgICAgICAgICAgdmFs
dWUubGVuZ3RoID09IDQ7CisgICAgfSwKKyAgICBjaGVja1ZhbHVlOiBmdW5jdGlvbih0eXBlSW5m
bywgaW5kZXgsIHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYKKyAgICAg
ICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0ICsgMF0gPT0gdmFsdWVbMF0gJiYK
KyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0ICsgMV0gPT0gdmFsdWVb
MV0gJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0ICsgMl0gPT0g
dmFsdWVbMl0gJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNbaW5kZXggKiA0ICsg
M10gPT0gdmFsdWVbM107CisgICAgfSwKKyAgICBzcmNWYWx1ZXM6IFsxNiwgMTUsIDE0LCAxMywg
MTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNV0sCisgICAgc3JjVmFsdWVzTGVzczogWzE2LCAxNSwg
MTRdLAorICAgIHNyY1ZhbHVlc0xlc3NNdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTEs
IDEwLCA5XSwKKyAgICBzcmNWYWx1ZXNNb3JlTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIs
IDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMiwgMV0sCisgICAgc3JjVmFsdWVzTm9uTXVs
dGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNF0sCisg
IH0KK107CisKK2ZvciAodmFyIHR0ID0gMDsgdHQgPCB0eXBlSW5mb3MubGVuZ3RoOyArK3R0KSB7
CisgIHZhciB0eXBlSW5mbyA9IHR5cGVJbmZvc1t0dF07CisgIGRlYnVnKCIiKTsKKyAgZGVidWco
ImNoZWNrICIgKyB0eXBlSW5mby50eXBlKTsKKyAgdmFyIGZTcmMgPSB3dHUucmVwbGFjZVBhcmFt
cyhmVGVtcGxhdGUsIHR5cGVJbmZvKTsKKyAgLy9kZWJ1ZygiZlNyYzogIiArIGZTcmMpOworICB2
YXIgcHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbShnbCwgdlNyYywgZlNyYyk7CisKKyAgdmFyIG51
bVVuaWZvcm1zID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5BQ1RJVkVfVU5J
Rk9STVMpOworICBhc3NlcnRNc2cobnVtVW5pZm9ybXMgPT0gMSwgIjEgdW5pZm9ybSBmb3VuZCIp
OworICB2YXIgaW5mbyA9IGdsLmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgMCk7CisgIGFzc2Vy
dE1zZyhpbmZvLm5hbWUgPT0gImNvbG9yWzBdIiwKKyAgICAgICAgICAgICJ1bmlmb3JtIG5hbWUg
aXMgJ2NvbG9yWzBdJyBub3QgJ2NvbG9yJyBhcyBwZXIgT3BlbkdMIEVTIDIuMC4yNCBzZWN0aW9u
IDIuMTAiKTsKKyAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAiY29s
b3JbMF0iKTsKKyAgdmFyIHNyY1ZhbHVlcyA9IHR5cGVJbmZvLnNyY1ZhbHVlczsKKyAgdmFyIHNy
Y1ZhbHVlc0xlc3MgPSB0eXBlSW5mby5zcmNWYWx1ZXNMZXNzOworICB2YXIgc3JjVmFsdWVzTGVz
c011bHRpcGxlID0gdHlwZUluZm8uc3JjVmFsdWVzTGVzc011bHRpcGxlOworICB2YXIgc3JjVmFs
dWVzTW9yZU11bHRpcGxlID0gdHlwZUluZm8uc3JjVmFsdWVzTW9yZU11bHRpcGxlOworICB2YXIg
c3JjVmFsdWVzTm9uTXVsdGlwbGUgPSB0eXBlSW5mby5zcmNWYWx1ZXNOb25NdWx0aXBsZTsKKwor
ICAvLyBUcnkgc2V0dGluZyB0aGUgdmFsdWUgYmVmb3JlIHVzaW5nIHRoZSBwcm9ncmFtCisgIGds
W3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1ZXMpOworICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgInNob3VsZCBmYWlsIGlm
IHRoZXJlIGlzIG5vIGN1cnJlbnQgcHJvZ3JhbSIpOworCisgIGdsLnVzZVByb2dyYW0ocHJvZ3Jh
bSk7CisgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1ZXNMZXNzKTsKKyAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFLAorICAgICAgICAgICAgICAgICAgInNob3Vs
ZCBmYWlsIHdpdGggaW5zdWZmaWNpZW50IGFycmF5IHNpemUgd2l0aCBnbC4iICsgdHlwZUluZm8u
c2V0dGVyKTsKKyAgaWYgKHNyY1ZhbHVlc05vbk11bHRpcGxlKSB7CisgICAgZ2xbdHlwZUluZm8u
c2V0dGVyXShsb2MsIHNyY1ZhbHVlc05vbk11bHRpcGxlKTsKKyAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLklOVkFMSURfVkFMVUUsCisgICAgICAgICAgICAgICAgICAgICJzaG91bGQgZmFpbCB3
aXRoIG5vbi1tdWx0aXBsZSBhcnJheSBzaXplIHdpdGggZ2wuIiArIHR5cGVJbmZvLnNldHRlcik7
CisgIH0KKyAgZ2xbdHlwZUluZm8uc2V0dGVyXShsb2MsIHNyY1ZhbHVlcyk7CisgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAiY2FuIHNldCBhbiBh
cnJheSBvZiB1bmlmb3JtcyB3aXRoIGdsLiIgKyB0eXBlSW5mby5zZXR0ZXIpOworICBnbFt0eXBl
SW5mby5zZXR0ZXJdKGxvYywgc3JjVmFsdWVzTGVzc011bHRpcGxlKTsKKyAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICJjYW4gcGFydGlhbGx5IHNl
dCBhbiBhcnJheSBvZiB1bmlmb3JtcyB3aXRoIGdsLiIgKyB0eXBlSW5mby5zZXR0ZXIgKyAiIHdp
dGggYSBzbWFsbGVyIGFycmF5Iik7CisgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1
ZXNNb3JlTXVsdGlwbGUpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAg
ICAgICAgICAgICAgICAgImNhbiBzZXQgYW4gYXJyYXkgb2YgdW5pZm9ybXMgd2l0aCBnbC4iICsg
dHlwZUluZm8uc2V0dGVyICsgIiB3aXRoIGEgbGFyZ2VyIGFycmF5Iik7CisKKyAgdmFyIHZhbHVl
cyA9IGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgbG9jKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICJjYW4gY2FsbCBnbC5nZXRVbmlmb3JtIik7
CisgIGFzc2VydE1zZyh0eXBlSW5mby5jaGVja1R5cGUodmFsdWVzKSwKKyAgICAgICAgICAgICJn
bC5nZXRVbmlmb3JtIHJldHVybnMgdGhlIGNvcnJlY3QgdHlwZS4iKTsKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IHR5cGVJbmZvLm51bVNyY1ZhbHVlczsgKytpaSkgeworICAgIHZhciBlbGVtTG9j
ID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJjb2xvclsiICsgaWkgKyAiXSIpOwor
ICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAg
ICJjYW4gZ2V0IGxvY2F0aW9uIG9mIGVsZW1lbnQgIiArIGlpICsKKyAgICAgICAgICAgICAgICAg
ICAgIiBvZiBhcnJheSBmcm9tIGdsLmdldFVuaWZvcm1Mb2NhdGlvbiIpOworICAgIHZhciB2YWx1
ZSA9IGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgZWxlbUxvYyk7CisgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgImNhbiBnZXQgdmFsdWUgb2Yg
ZWxlbWVudCAiICsgaWkgKyAiIG9mIGFycmF5IGZyb20gZ2wuZ2V0VW5pZm9ybSIpOworICAgIGFz
c2VydE1zZyh0eXBlSW5mby5jaGVja1ZhbHVlKHR5cGVJbmZvLCBpaSwgdmFsdWUpLAorICAgICAg
ICAgICAgICAidmFsdWUgcHV0IGluICgiICsgdHlwZUluZm8uc3JjVmFsdWVBc1N0cmluZyhpaSwg
c3JjVmFsdWVzKSArCisgICAgICAgICAgICAgICIpIG1hdGNoZXMgdmFsdWUgcHVsbGVkIG91dCAo
IiArCisgICAgICAgICAgICAgIHR5cGVJbmZvLnJldHVyblZhbHVlQXNTdHJpbmcodmFsdWUpICsg
IikiKTsKKyAgfQorICB0eXBlSW5mby5pbnZhbGlkU2V0KGxvYyk7CisgIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAgICAidXNpbmcgdGhl
IHdyb25nIHNpemUgb2YgZ2wuVW5pZm9ybSBmYWlscyIpOworICB2YXIgZXhjZXB0aW9uQ2F1Z2h0
ID0gZmFsc2U7CisgIGlmICh0eXBlSW5mby5pbGxlZ2FsU2V0KSB7CisgICAgdHJ5IHsKKyAgICAg
IHR5cGVJbmZvLmlsbGVnYWxTZXQobG9jKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICBleGNl
cHRpb25DYXVnaHQgPSB0cnVlOworICAgIH0KKyAgICBhc3NlcnRNc2coZXhjZXB0aW9uQ2F1Z2h0
LCAicGFzc2luZyBub24tYXJyYXkgdG8gZ2xVbmlmb3JtKmZ2IHNob3VsZCB0aHJvdyBUeXBlRXJy
b3IiKTsKKyAgfQorCisgIGdsLnVzZVByb2dyYW0obnVsbCk7CisgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAiY2FuIGNhbGwgZ2wudXNlUHJvZ3Jh
bShudWxsKSIpOworfQorCisvLyBUaGlzIHRlc3QgaXMgdG8gdGVzdCBkcml2ZXJzIHRoZSBoYXZl
IGJ1Z3MgcmVsYXRlZCB0byBvcHRpbWl6aW5nCisvLyBhbiBhcnJheSBvZiB1bmlmb3JtcyB3aGVu
IG9ubHkgMSBvZiB0aG9zZSB1bmlmb3JtcyBpcyB1c2VkLgorZGVidWcoIiIpOworZGVidWcoIlRl
c3QgZHJpdmVycyBkb24ndCBvdmVyIG9wdGltaXplIHVudXNlZCBhcnJheSBlbGVtZW50cyIpOwor
dmFyIG1heFVuaWZvcm1WZWN0b3JzID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9GUkFHTUVOVF9V
TklGT1JNX1ZFQ1RPUlMpOwordmFyIHRlc3RzID0gWworIHsgZGVzYzogInVzaW5nIGxhc3QgZWxl
bWVudCIsCisgICBtYXhVbmlmb3JtVmVjdG9yczogbWF4VW5pZm9ybVZlY3RvcnMsCisgICB1c2Vk
VW5pZm9ybVZlY3RvcjogbWF4VW5pZm9ybVZlY3RvcnMgLSAxLAorICAgc2hhZGVyOiAiZnNoYWRl
ci1tYXgiLAorICAgY29sb3I6IFswLCAxLCAwLCAxXSwKKyAgIGFycmF5TmFtZTogImNvbG9yYSIs
CisgICBleHRyYU5hbWU6ICJjb2xvcmIiLAorIH0sCisgeyBkZXNjOiAidXNpbmcgZmlyc3QgZWxl
bWVudCIsCisgICBtYXhVbmlmb3JtVmVjdG9yczogbWF4VW5pZm9ybVZlY3RvcnMsCisgICB1c2Vk
VW5pZm9ybVZlY3RvcjogMCwKKyAgIHNoYWRlcjogImZzaGFkZXItbWF4IiwKKyAgIGNvbG9yOiBb
MCwgMSwgMCwgMV0sCisgICBhcnJheU5hbWU6ICJjb2xvcmEiLAorICAgZXh0cmFOYW1lOiAiY29s
b3JiIiwKKyB9LAorXTsKKworLy8gR2VuZXJhdGUgdGVzdCBzaGFkZXJzLiBXZSdyZSB0cnlpbmcg
dG8gZm9yY2UgdGhlIGRyaXZlciB0bworLy8gb3ZlcmZsb3cgZnJvbSAxIGFycmF5IGludG8gdGhl
IG5leHQgaWYgaXQgb3B0aW1pemVzLiBTbyBmb3IgZXhhbXBsZSBpZiBpdCB3YXMgQworLy8KKy8v
ICAgaW50IGJpZ1s0XTsKKy8vICAgaW50IGxpdHRsZVsxXTsKKy8vICAgYmlnWzVdID0gMTI0Owor
Ly8KKy8vIFdvdWxkIGVuZCB1cCBzZXR0aW5nIGxpdHRsZVswXSBpbnN0ZWFkIG9mIGJpZy4gU29t
ZSBkcml2ZXJzIG9wdGltaXplCisvLyB3aGVyZSBpZiB5b3Ugb25seSB1c2Ugc2F5ICdiaWdbM10n
IGl0IHdpbGwgYWN0dWFsbHkgb25seSBhbGxvY2F0ZSBqdXN0IDEgZWxlbWVudAorLy8gZm9yIGJp
Zy4KKy8vCisvLyBCdXQsIHNvbWUgZHJpdmVycyBoYXZlIGEgYnVnIHdoZXJlIHRoZSBmYWN0IHRo
YXQgdGhleSBvcHRpbWl6ZWQgYmlnIHRvIDEgZWxlbWVudAorLy8gZG9lcyBub3QgZ2V0IHBhc3Nl
ZCBkb3duIHRvIGdsVW5pZm9ybSBzbyB3aGVuIHNldHRpbmcgdGhlIHVuaWZvcm0gJ2JpZ1szXScg
dGhleQorLy8gb3ZlcndyaXRlIG1lbW9yeS4KKy8vCisvLyBJZiB0aGUgZHJpdmVyIGNyYXNoZXMs
IHllYS4gV2UgZm91bmQgYSBidWcuIFdlIGNhbiBibGFja2xpc3QgdGhlIGRyaXZlci4KKy8vIE90
aGVyd2lzZSB3ZSB0cnkgdmFyaW91cyBjb21iaW5hdGlvbnMgc28gdGhhdCBzZXR0aW5nICdsaXR0
bGVbMF0nIGZpcnN0CisvLyBhbmQgdGhlbiBzZXR0aW5nIGFsbCBlbGVtZW50cyBvZiAnYmlnJyB3
ZSBob3BlIGl0IHdpbGwgb3ZlcndyaXRlICdsaXR0bGVbMF0nCisvLyB3aGljaCB3aWxsIHNob3cg
dGhlIGJ1ZyBhbmQgYWdhaW4gd2UgY2FuIGJsYWNrbGlzdCB0aGUgZHJpdmVyLgorLy8KKy8vIFdl
IGRvbid0IGtub3cgaG93IHRoZSBkcml2ZXIgd2lsbCBvcmRlciwgaW4gbWVtb3J5LCB0aGUgdmFy
aW91cyB1bmlmb3JtcworLy8gb3IgZm9yIHRoYXQgbWF0dGVyIHdlIGRvbid0IGV2ZW4ga25vdyBp
ZiB0aGV5IHdpbGwgYmUgY29udGlndW91cyBpbiBtZW1vcnkKKy8vIGJ1dCB0byBob3BlZnVsbHkg
ZXhwb3NlIGFueSBidWdzIHdlIHRyeSB2YXJpb3VzIGNvbWJpbmF0aW9ucy4KKy8vCisvLyAgICBJ
dCBjb3VsZCBiZSB0aGUgY29tcGlsZXIgb3JkZXJzIHVuaWZvcm1zIGFscGhhYmV0aWNhbGx5Lgor
Ly8gICAgSXQgY291bGQgYmUgaXQgb3JkZXJzIHRoZW0gaW4gb3JkZXIgb2YgZGVjbGFyYXRpb24u
CisvLyAgICBJdCBjb3VsZCBiZSBpdCBvcmRlcnMgdGhlbSBpbiBvcmRlciBvZiB1c2FnZS4KKy8v
CisvLyBXZSBhbHNvIHRlc3QgdXNpbmcgb25seSBmaXJzdCBlbGVtZW50IG9mIGJpZyBvciBqdXN0
IHRoZSBsYXN0IGVsZW1lbnQgb2YgYmlnLgorLy8KK2ZvciAodmFyIG5hbWVPcmRlciA9IDA7IG5h
bWVPcmRlciA8IDI7ICsrbmFtZU9yZGVyKSB7CisgIHZhciBuYW1lMSA9IG5hbWVPcmRlciA/ICJj
b2xvcmEiIDogImNvbG9yYiI7CisgIHZhciBuYW1lMiA9IG5hbWVPcmRlciA/ICJjb2xvcmIiIDog
ImNvbG9yYSI7CisgIGZvciAodmFyIGxhc3QgPSAwOyBsYXN0IDwgMjsgKytsYXN0KSB7CisgICAg
dmFyIHVzZWRVbmlmb3JtVmVjdG9yID0gbGFzdCA/IG1heFVuaWZvcm1WZWN0b3JzIC0gMiA6IDA7
CisgICAgZm9yICh2YXIgZGVjbE9yZGVyID0gMDsgZGVjbE9yZGVyIDwgMjsgKytkZWNsT3JkZXIp
IHsKKyAgICAgIHZhciBiaWdOYW1lICAgID0gZGVjbE9yZGVyID8gbmFtZTEgOiBuYW1lMjsKKyAg
ICAgIHZhciBsaXR0bGVOYW1lID0gZGVjbE9yZGVyID8gbmFtZTIgOiBuYW1lMTsKKyAgICAgIHZh
ciBkZWNsMSA9IGJpZ05hbWUgKyAiWyIgKyAobWF4VW5pZm9ybVZlY3RvcnMgLSAxKSArICJdIjsK
KyAgICAgIHZhciBkZWNsMiA9IGxpdHRsZU5hbWUgKyAiWzFdIjsKKyAgICAgIGlmIChkZWNsT3Jk
ZXIpIHsKKyAgICAgICAgdmFyIHQgPSBkZWNsMTsKKyAgICAgICAgZGVjbDEgPSBkZWNsMjsKKyAg
ICAgICAgZGVjbDIgPSB0OworICAgICAgfQorICAgICAgZm9yICh2YXIgdXNhZ2VPcmRlciA9IDA7
IHVzYWdlT3JkZXIgPCAyOyArK3VzYWdlT3JkZXIpIHsKKyAgICAgICAgdmFyIHVzYWdlMSA9IGJp
Z05hbWUgKyAiWyIgKyB1c2VkVW5pZm9ybVZlY3RvciArICJdIjsKKyAgICAgICAgdmFyIHVzYWdl
MiA9IGxpdHRsZU5hbWUgKyAiWzBdIjsKKyAgICAgICAgaWYgKHVzYWdlT3JkZXIpIHsKKyAgICAg
ICAgICB2YXIgdCA9IHVzYWdlMTsKKyAgICAgICAgICB1c2FnZTEgPSB1c2FnZTI7CisgICAgICAg
ICAgdXNhZ2UyID0gdDsKKyAgICAgICAgfQorICAgICAgICB2YXIgZlNyYyA9IHd0dS5yZXBsYWNl
UGFyYW1zKHd0dS5nZXRTY3JpcHQoImZzaGFkZXItbWF4LWFiLWFiIiksIHsKKyAgICAgICAgICBk
ZWNsMTogZGVjbDEsCisgICAgICAgICAgZGVjbDI6IGRlY2wyLAorICAgICAgICAgIHVzYWdlMTog
dXNhZ2UxLAorICAgICAgICAgIHVzYWdlMjogdXNhZ2UyLAorICAgICAgICB9KTsKKyAgICAgICAg
dmFyIGRlc2MgPSAidGVzdGluZzogIiArIG5hbWUxICsgIjoiICsgbmFtZTIgKyAiIHVzaW5nICIg
KyAobGFzdCA/ICJsYXN0IiA6ICJmaXJzdCIpICsKKyAgICAgICAgICAgICIgY3JlYXRpbmcgdW5p
Zm9ybXMgIiArIGRlY2wxICsgIiAiICsgZGVjbDIgKyAiIGFuZCBhY2Nlc3NpbmcgIiArIHVzYWdl
MSArICIgIiArIHVzYWdlMjsKKyAgICAgICAgdGVzdHMucHVzaCh7CisgICAgICAgICAgZGVzYzog
ZGVzYywKKyAgICAgICAgICBtYXhVbmlmb3JtVmVjdG9yczogbWF4VW5pZm9ybVZlY3RvcnMgLSAx
LAorICAgICAgICAgIHVzZWRVbmlmb3JtVmVjdG9yOiB1c2VkVW5pZm9ybVZlY3RvciwKKyAgICAg
ICAgICBzb3VyY2U6IGZTcmMsCisgICAgICAgICAgY29sb3I6IFswLCAwLCAwLCAxXSwKKyAgICAg
ICAgICBhcnJheU5hbWU6IGJpZ05hbWUsCisgICAgICAgICAgZXh0cmFOYW1lOiBsaXR0bGVOYW1l
LAorICAgICAgICB9KTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKwordmFyIGFsbFJlcXVpcmVk
VW5pZm9ybUxvY2F0aW9uc1F1ZXJ5YWJsZSA9IHRydWU7CitmdW5jdGlvbiB0ZXN0VW5pZm9ybU9w
dGltaXphdGlvbklzc3Vlcyh0ZXN0SW5kZXgpIHsKKyAgdmFyIHRlc3QgPSB0ZXN0c1t0ZXN0SW5k
ZXhdOworICBkZWJ1ZygiIik7CisgIGRlYnVnKHRlc3QuZGVzYyk7CisgIHZhciBmU3JjID0gdGVz
dC5zb3VyY2U7CisgIGlmICghZlNyYykgeworICAgIGZTcmMgPSB3dHUucmVwbGFjZVBhcmFtcyh3
dHUuZ2V0U2NyaXB0KHRlc3Quc2hhZGVyKSwgdGVzdCk7CisgIH0KKworICB2YXIgY29uc29sZUVs
ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICB3dHUuYWRkU2hhZGVy
U291cmNlKAorICAgICAgY29uc29sZUVsZW0sICJ2ZXJ0ZXggc2hhZGVyIiwgdlNyYyk7CisgIHd0
dS5hZGRTaGFkZXJTb3VyY2UoCisgICAgICBjb25zb2xlRWxlbSwgImZyYWdtZW50IHNoYWRlciIs
IGZTcmMpOworCisgIHZhciBwcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtKGdsLCB2U3JjLCBmU3Jj
KTsKKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKworICB2YXIgY29sb3JiTG9jYXRpb24gPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgdGVzdC5leHRyYU5hbWUgKyAiWzBdIik7Cisg
IGlmIChjb2xvcmJMb2NhdGlvbikgeworICAgIGdsLnVuaWZvcm00ZnYoY29sb3JiTG9jYXRpb24s
IFswLCAxLCAwLCAwXSk7CisgIH0KKworICAvLyBTZXQganVzdCB0aGUgdXNlZCB1bmlmb3JtCisg
IHZhciBuYW1lID0gdGVzdC5hcnJheU5hbWUgKyAiWyIgKyB0ZXN0LnVzZWRVbmlmb3JtVmVjdG9y
ICsgIl0iOworICB2YXIgdW5pZm9ybUxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHBy
b2dyYW0sIG5hbWUpOworICBnbC51bmlmb3JtNGZ2KHVuaWZvcm1Mb2NhdGlvbiwgdGVzdC5jb2xv
cik7CisgIHd0dS5zZXR1cFF1YWQoZ2wsIDEsIHBvc2l0aW9uTG9jKTsKKyAgd3R1LmRyYXdJbmRl
eGVkUXVhZChnbCwgMSk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwg
InNob3VsZCBiZSBncmVlbiIpOworCisgIC8vIFNldCBhbGwgdGhlIHVudXNlZCB1bmlmb3Jtcwor
ICB2YXIgbG9jYXRpb25zID0gW107CisgIGFsbFJlcXVpcmVkVW5pZm9ybUxvY2F0aW9uc1F1ZXJ5
YWJsZSA9IHRydWU7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0Lm1heFVuaWZvcm1WZWN0
b3JzOyArK2lpKSB7CisgICAgdmFyIG5hbWUgPSB0ZXN0LmFycmF5TmFtZSArICJbIiArIGlpICsg
Il0iOworICAgIHZhciB1bmlmb3JtTG9jYXRpb24gPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJv
Z3JhbSwgbmFtZSk7CisgICAgbG9jYXRpb25zLnB1c2godW5pZm9ybUxvY2F0aW9uKTsKKyAgICBp
ZiAoaWkgPT0gdGVzdC51c2VkVW5pZm9ybVZlY3RvcikgeworICAgICAgY29udGludWU7CisgICAg
fQorICAgIC8vIExvY2F0aW9ucyA+IHVzZWRVbmZvcm1WZWN0b3IgbWF5IG5vdCBleGlzdC4KKyAg
ICAvLyBMb2NhdGlvbnMgPD0gdXNlZFVuaWZvcm1WZWN0b3IgTVVTVCBleGlzdC4KKyAgICBpZiAo
aWkgPD0gdGVzdC51c2VkVW5pZm9ybVZlY3RvciAmJiAodW5pZm9ybUxvY2F0aW9uID09PSB1bmRl
ZmluZWQgfHwgdW5pZm9ybUxvY2F0aW9uID09PSBudWxsKSkgeworICAgICAgYWxsUmVxdWlyZWRV
bmlmb3JtTG9jYXRpb25zUXVlcnlhYmxlID0gZmFsc2U7CisgICAgfQorICAgIGdsLnVuaWZvcm00
ZnYodW5pZm9ybUxvY2F0aW9uLCBbMSwgMCwgMCwgMV0pOworICB9CisgIHNob3VsZEJlVHJ1ZSgi
YWxsUmVxdWlyZWRVbmlmb3JtTG9jYXRpb25zUXVlcnlhYmxlIik7CisgIHZhciBwb3NpdGlvbkxv
YyA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICJhX3Bvc2l0aW9uIik7CisgIHd0dS5z
ZXR1cFF1YWQoZ2wsIDEsIHBvc2l0aW9uTG9jKTsKKyAgd3R1LmRyYXdJbmRleGVkUXVhZChnbCwg
MSk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBn
cmVlbiIpOworCisgIC8vIENoZWNrIHdlIGNhbiByZWFkICYgd3JpdGUgZWFjaCB1bmlmb3JtLgor
ICAvLyBOb3RlOiB1bmlmb3JtcyBwYXN0IHRlc3QudXNlZFVuaWZvcm1WZWN0b3IgbWlnaHQgbm90
IGV4aXN0LgorICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdC5tYXhVbmlmb3JtVmVjdG9yczsg
KytpaSkgeworICAgIGdsLnVuaWZvcm00ZnYobG9jYXRpb25zW2lpXSwgW2lpICsgNCwgaWkgKyAy
LCBpaSArIDMsIGlpICsgMV0pOworICB9CisKKyAgdmFyIGtFcHNpbG9uID0gMC4wMTsKKyAgdmFy
IGlzU2FtZSA9IGZ1bmN0aW9uKHYxLCB2MikgeworICAgIHJldHVybiBNYXRoLmFicyh2MSAtIHYy
KSA8IGtFcHNpbG9uOworICB9OworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0Lm1heFVu
aWZvcm1WZWN0b3JzOyArK2lpKSB7CisgICAgdmFyIGxvY2F0aW9uID0gbG9jYXRpb25zW2lpXTsK
KyAgICBpZiAobG9jYXRpb24pIHsKKyAgICAgIHZhciB2YWx1ZSA9IGdsLmdldFVuaWZvcm0ocHJv
Z3JhbSwgbG9jYXRpb25zW2lpXSk7CisgICAgICBpZiAoIWlzU2FtZSh2YWx1ZVswXSwgaWkgKyA0
KSB8fAorICAgICAgICAgICFpc1NhbWUodmFsdWVbMV0sIGlpICsgMikgfHwKKyAgICAgICAgICAh
aXNTYW1lKHZhbHVlWzJdLCBpaSArIDMpIHx8CisgICAgICAgICAgIWlzU2FtZSh2YWx1ZVszXSwg
aWkgKyAxKSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJsb2NhdGlvbjogIiArIGlpICsgIiB3YXMg
bm90IGNvcnJlY3QgdmFsdWUiKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9
Cit9CisKK3ZhciB0ZXN0SW5kZXggPSAwOworZnVuY3Rpb24gcnVuTmV4dFRlc3QoKSB7CisgIHRl
c3RVbmlmb3JtT3B0aW1pemF0aW9uSXNzdWVzKHRlc3RJbmRleCsrKTsKKyAgaWYgKHRlc3RJbmRl
eCA8IHRlc3RzLmxlbmd0aCkgeworICAgIHNldFRpbWVvdXQocnVuTmV4dFRlc3QsIDEwKTsKKyAg
fSBlbHNlIHsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hv
dWxkIGJlIG5vIGVycm9ycyIpOworICAgIGRlYnVnKCIiKTsKKyAgICBmaW5pc2hUZXN0KCk7Cisg
IH0KK30KK3J1bk5leHRUZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZv
cm0tZGVmYXVsdC12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iMWVhZTgwYzAwYTQyNzMxODZmYjM0ZTUwNzhkOGFiYTAyNTU5ZWI0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1s
CkBAIC0wLDAgKzEsMzYyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCB1bmlmb3JtIGRlZmF1bHQgdmFsdWVzPC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdC1ldmFsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJleGFt
cGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2c2hhZGVy
MCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwor
dm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKK30KKzwvc2NyaXB0
PgorPHNjcmlwdCBpZD0iZnNoYWRlcjAiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtICQodHlwZSkgdV91bmlmb3JtOworCitib29s
IGlzWmVybygkKHR5cGUpIHZhbHVlKSB7CisgJChjaGVjayk7Cit9CisKK3ZvaWQgbWFpbigpCit7
CisgIGdsX0ZyYWdDb2xvciA9IGlzWmVybyh1X3VuaWZvcm0pID8gdmVjNCgwLDEsMCwxKSA6IHZl
YzQoMSwwLDAsMSk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXIxIiB0eXBlPSJ4
LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247Cit2YXJ5aW5nIHZl
YzQgdl9jb2xvcjsKK3VuaWZvcm0gJCh0eXBlKSB1X3VuaWZvcm07CisKK2Jvb2wgaXNaZXJvKCQo
dHlwZSkgdmFsdWUpIHsKKyAgICQoY2hlY2spOworfQorCit2b2lkIG1haW4oKQoreworICAgIGds
X1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgIHZfY29sb3IgPSBpc1plcm8odV91bmlmb3JtKSA/
IHZlYzQoMCwxLDAsMSkgOiB2ZWM0KDEsMCwwLDEpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSJmc2hhZGVyMSIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVt
cCBmbG9hdDsKK3ZhcnlpbmcgdmVjNCB2X2NvbG9yOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9G
cmFnQ29sb3IgPSB2X2NvbG9yOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyMiIg
dHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlcjIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtICQodHlwZSkgdV91bmlmb3JtWzJdOworCitib29s
IGlzWmVybygkKHR5cGUpIHZhbHVlKSB7CisgICQoY2hlY2spOworfQorCit2b2lkIG1haW4oKQor
eworICBnbF9GcmFnQ29sb3IgPSBpc1plcm8odV91bmlmb3JtWzFdKSA/IHZlYzQoMCwxLDAsMSkg
OiB2ZWM0KDEsMCwwLDEpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyMyIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwordmFyeWlu
ZyB2ZWM0IHZfY29sb3I7Cit1bmlmb3JtICQodHlwZSkgdV91bmlmb3JtWzJdOworCitib29sIGlz
WmVybygkKHR5cGUpIHZhbHVlKSB7CisgICAkKGNoZWNrKTsKK30KKwordm9pZCBtYWluKCkKK3sK
KyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICB2X2NvbG9yID0gaXNaZXJvKHVfdW5p
Zm9ybVsxXSkgPyB2ZWM0KDAsMSwwLDEpIDogdmVjNCgxLDAsMCwxKTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlcjMiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzQgdl9jb2xvcjsKK3ZvaWQgbWFpbigpCit7
CisgICAgZ2xfRnJhZ0NvbG9yID0gdl9jb2xvcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1
c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciB0ZXN0cyA9IFsKK3sgdHlwZTogJ2Zs
b2F0JywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWUgPT0gMC4wIiwKKyAgc2V0Rm46IGZ1bmN0aW9u
KGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFmKGxvYywgMy4wKTsgfQorfSwKK3sgdHlwZTogJ2ludCcs
CisgIGNoZWNrOiAicmV0dXJuIHZhbHVlID09IDAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxv
YykgeyBnbC51bmlmb3JtMWkobG9jLCAzLjApOyB9Cit9LAoreyB0eXBlOiAnYm9vbCcsCisgIGNo
ZWNrOiAicmV0dXJuIHZhbHVlID09IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2Mp
IHsgZ2wudW5pZm9ybTFpKGxvYywgMSk7IH0KK30sCit7IHR5cGU6ICd2ZWMyJywKKyAgY2hlY2s6
ICJyZXR1cm4gdmFsdWVbMF0gPT0gMC4wICYmIHZhbHVlWzFdID09IDAuMCIsCisgIHNldEZuOiBm
dW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0yZihsb2MsIDMuMCwgMy4wKTsgfQorfSwKK3sg
dHlwZTogJ3ZlYzMnLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSAwLjAgJiYgdmFsdWVb
MV0gPT0gMC4wICYmIHZhbHVlWzJdID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9j
KSB7IGdsLnVuaWZvcm0zZihsb2MsIDMuMCwgMy4wLCAzLjApOyB9Cit9LAoreyB0eXBlOiAndmVj
NCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IDAuMCAmJiB2YWx1ZVsxXSA9PSAwLjAg
JiYgdmFsdWVbMl0gPT0gMC4wICYmIHZhbHVlWzNdID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlv
bihnbCwgbG9jKSB7IGdsLnVuaWZvcm00Zihsb2MsIDMuMCwgMy4wLCAzLjAsIDMuMCk7IH0KK30s
Cit7IHR5cGU6ICdpdmVjMicsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IDAgJiYgdmFs
dWVbMV0gPT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0yaShs
b2MsIDMsIDMpOyB9Cit9LAoreyB0eXBlOiAnaXZlYzMnLAorICBjaGVjazogInJldHVybiB2YWx1
ZVswXSA9PSAwICYmIHZhbHVlWzFdID09IDAgJiYgdmFsdWVbMl0gPT0gMCIsCisgIHNldEZuOiBm
dW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0zaShsb2MsIDMsIDMsIDMpOyB9Cit9LAoreyB0
eXBlOiAnaXZlYzQnLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSAwICYmIHZhbHVlWzFd
ID09IDAgJiYgdmFsdWVbMl0gPT0gMCAmJiB2YWx1ZVszXSA9PSAwIiwKKyAgc2V0Rm46IGZ1bmN0
aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTRpKGxvYywgMywgMywgMywgMyk7IH0KK30sCit7IHR5
cGU6ICdidmVjMicsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IGZhbHNlICYmIHZhbHVl
WzFdID09IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTJp
KGxvYywgMSwgMSk7IH0KK30sCit7IHR5cGU6ICdidmVjMycsCisgIGNoZWNrOiAicmV0dXJuIHZh
bHVlWzBdID09IGZhbHNlICYmIHZhbHVlWzFdID09IGZhbHNlICYmIHZhbHVlWzJdID09IGZhbHNl
IiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTNpKGxvYywgMSwgMSwg
MSk7IH0KK30sCit7IHR5cGU6ICdidmVjNCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09
IGZhbHNlICYmIHZhbHVlWzFdID09IGZhbHNlICYmIHZhbHVlWzJdID09IGZhbHNlICYmIHZhbHVl
WzNdID09IGZhbHNlIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTRp
KGxvYywgMSwgMSwgMSwgMSk7IH0KK30sCit7IHR5cGU6ICdtYXQyJywKKyAgY2hlY2s6CisgICAg
InJldHVybiAiICsKKyAgICAidmFsdWVbMF1bMF0gPT0gMC4wICYmIHZhbHVlWzBdWzFdID09IDAu
MCAmJiAiICsKKyAgICAidmFsdWVbMV1bMF0gPT0gMC4wICYmIHZhbHVlWzFdWzBdID09IDAuMCIs
CisgIHZhbHVlQ2hlY2s6CisgICAgInJldHVybiAiICsKKyAgICAidmFsdWVbMF0gPT0gMC4wICYm
IHZhbHVlWzFdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMl0gPT0gMC4wICYmIHZhbHVlWzNd
ID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm1NYXRyaXgy
ZnYobG9jLCBmYWxzZSwgWzEsIDEsIDEsIDFdKTsgfQorfSwKK3sgdHlwZTogJ21hdDMnLAorICBj
aGVjazoKKyAgICAicmV0dXJuICIgKworICAgICJ2YWx1ZVswXVswXSA9PSAwLjAgJiYgdmFsdWVb
MV1bMF0gPT0gMC4wICYmIHZhbHVlWzJdWzBdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMF1b
MV0gPT0gMC4wICYmIHZhbHVlWzFdWzFdID09IDAuMCAmJiB2YWx1ZVsyXVsxXSA9PSAwLjAgJiYg
IiArCisgICAgInZhbHVlWzBdWzJdID09IDAuMCAmJiB2YWx1ZVsxXVsyXSA9PSAwLjAgJiYgdmFs
dWVbMl1bMl0gPT0gMC4wIiwKKyAgdmFsdWVDaGVjazoKKyAgICAicmV0dXJuICIgKworICAgICJ2
YWx1ZVswXSA9PSAwLjAgJiYgdmFsdWVbMV0gPT0gMC4wICYmIHZhbHVlWzJdID09IDAuMCAmJiAi
ICsKKyAgICAidmFsdWVbM10gPT0gMC4wICYmIHZhbHVlWzRdID09IDAuMCAmJiB2YWx1ZVs1XSA9
PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzZdID09IDAuMCAmJiB2YWx1ZVs3XSA9PSAwLjAgJiYg
dmFsdWVbOF0gPT0gMC4wIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9y
bU1hdHJpeDNmdihsb2MsIGZhbHNlLCBbMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMV0pOyB9Cit9
LAoreyB0eXBlOiAnbWF0NCcsCisgIGNoZWNrOgorICAgICJyZXR1cm4gIiArCisgICAgInZhbHVl
WzBdWzBdID09IDAuMCAmJiB2YWx1ZVsxXVswXSA9PSAwLjAgJiYgdmFsdWVbMl1bMF0gPT0gMC4w
ICYmIHZhbHVlWzNdWzBdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMF1bMV0gPT0gMC4wICYm
IHZhbHVlWzFdWzFdID09IDAuMCAmJiB2YWx1ZVsyXVsxXSA9PSAwLjAgJiYgdmFsdWVbM11bMV0g
PT0gMC4wICYmICIgKworICAgICJ2YWx1ZVswXVsyXSA9PSAwLjAgJiYgdmFsdWVbMV1bMl0gPT0g
MC4wICYmIHZhbHVlWzJdWzJdID09IDAuMCAmJiB2YWx1ZVszXVsyXSA9PSAwLjAgJiYgIiArCisg
ICAgInZhbHVlWzBdWzNdID09IDAuMCAmJiB2YWx1ZVsxXVszXSA9PSAwLjAgJiYgdmFsdWVbMl1b
M10gPT0gMC4wICYmIHZhbHVlWzNdWzNdID09IDAuMCIsCisgIHZhbHVlQ2hlY2s6CisgICAgInJl
dHVybiAiICsKKyAgICAidmFsdWVbIDBdID09IDAuMCAmJiB2YWx1ZVsgMV0gPT0gMC4wICYmIHZh
bHVlWyAyXSA9PSAwLjAgJiYgdmFsdWVbIDNdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbIDRd
ID09IDAuMCAmJiB2YWx1ZVsgNV0gPT0gMC4wICYmIHZhbHVlWyA2XSA9PSAwLjAgJiYgdmFsdWVb
IDddID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbIDhdID09IDAuMCAmJiB2YWx1ZVsgOV0gPT0g
MC4wICYmIHZhbHVlWzEwXSA9PSAwLjAgJiYgdmFsdWVbMTFdID09IDAuMCAmJiAiICsKKyAgICAi
dmFsdWVbMTJdID09IDAuMCAmJiB2YWx1ZVsxM10gPT0gMC4wICYmIHZhbHVlWzE0XSA9PSAwLjAg
JiYgdmFsdWVbMTVdID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVu
aWZvcm1NYXRyaXg0ZnYobG9jLCBmYWxzZSwgWzEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsIDEsIDEsIDFdKTsgfQorfSwKK3sgdHlwZTogJ3NhbXBsZXIyRCcsCisgIGNoZWNr
OgorICAgICJ2ZWM0IHYgPSB0ZXh0dXJlMkQodmFsdWUsIHZlYzIoMCwgMCkpOyIgKworICAgICJy
ZXR1cm4gdi54ID09IDEuMCAmJiB2LnkgPT0gMS4wICYmIHYueiA9PSAxLjAgJiYgdi53ID09IDEu
MCIsCisgIHZhbHVlQ2hlY2s6CisgICAgInJldHVybiB2YWx1ZSA9PSAwIiwKKyAgc2V0Rm46IGZ1
bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFpKGxvYywgMSk7IH0KK30sCit7IHR5cGU6ICdz
YW1wbGVyQ3ViZScsCisgIGNoZWNrOgorICAgICJ2ZWM0IHYgPSB0ZXh0dXJlQ3ViZSh2YWx1ZSwg
dmVjMygwLCAwLCAwKSk7IiArCisgICAgInJldHVybiB2LnggPT0gMS4wICYmIHYueSA9PSAxLjAg
JiYgdi56ID09IDEuMCAmJiB2LncgPT0gMS4wIiwKKyAgdmFsdWVDaGVjazoKKyAgICAicmV0dXJu
IHZhbHVlID09IDAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMWko
bG9jLCAxKTsgfQorfSwKK107CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9
IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKK3ZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnNvbGUiKTsKK3ZhciBjaGVja0ZuOworCit3dHUuc2V0dXBVbml0UXVhZChnbCwgWzAsIDFd
KTsKKworLy8gU2V0IHVuaXQgMCB0byBhIG5vbi0wIHRleHR1cmUuCit2YXIgaGF2ZVZlcnRleFRl
eHR1cmVJbWFnZVVuaXRzID0KKyAgICBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRFWF9URVhU
VVJFX0lNQUdFX1VOSVRTKSA+PSAyOwordmFyIHRleDJEID0gZ2wuY3JlYXRlVGV4dHVyZSgpOwor
dmFyIHRleEN1YmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CitnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXgyRCk7CitnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhD
dWJlKTsKKwordmFyIHBpeGVsID0gbmV3IFVpbnQ4QXJyYXkoWzI1NSwgMjU1LCAyNTUsIDI1NV0p
OwordmFyIHRhcmdldHMgPSBbCisgIGdsLlRFWFRVUkVfMkQsCisgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWCwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICBnbC5U
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJ
VkVfWSwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICBnbC5URVhUVVJFX0NV
QkVfTUFQX05FR0FUSVZFX1oKK107Citmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGFyZ2V0cy5sZW5n
dGg7ICsraWkpIHsKKyAgICBnbC50ZXhJbWFnZTJEKAorICAgICAgICB0YXJnZXRzW2lpXSwgMCwg
Z2wuUkdCQSwgMSwgMSwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgcGl4ZWwpOworfQor
Cit2YXIgc2hhZGVyVGVtcGxhdGVzID0gWworeyB2czogInZzaGFkZXIwIiwgZnM6ICJmc2hhZGVy
MCIsIHR5cGU6ICdmJyB9LAoreyB2czogInZzaGFkZXIxIiwgZnM6ICJmc2hhZGVyMSIsIHR5cGU6
ICd2JyB9LAoreyB2czogInZzaGFkZXIyIiwgZnM6ICJmc2hhZGVyMiIsIHR5cGU6ICdmJyB9LAor
eyB2czogInZzaGFkZXIzIiwgZnM6ICJmc2hhZGVyMyIsIHR5cGU6ICd2JyB9LAorXTsKKworLy8g
R2V0IHNoYWRlciB0ZW1wbGF0ZXMKK2ZvciAodmFyIGlpID0gMDsgaWkgPCBzaGFkZXJUZW1wbGF0
ZXMubGVuZ3RoOyArK2lpKSB7CisgIHZhciB0ZW1wbGF0ZSA9IHNoYWRlclRlbXBsYXRlc1tpaV07
CisgIHRlbXBsYXRlLnZzID0gd3R1LmdldFNjcmlwdCh0ZW1wbGF0ZS52cyk7CisgIHRlbXBsYXRl
LmZzID0gd3R1LmdldFNjcmlwdCh0ZW1wbGF0ZS5mcyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RUeXBl
KHRlc3QpIHsKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZzogIiArIHRlc3QudHlwZSk7
CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHNoYWRlclRlbXBsYXRlcy5sZW5ndGg7ICsraWkp
IHsKKyAgICB2YXIgdGVtcGxhdGUgPSBzaGFkZXJUZW1wbGF0ZXNbaWldOworCisgICAgaWYgKHRl
c3QudHlwZS5zdWJzdHJpbmcoMCwgNykgPT0gInNhbXBsZXIiICYmCisgICAgICAgIHRlbXBsYXRl
LnR5cGUgPT0gJ3YnICYmCisgICAgICAgICFoYXZlVmVydGV4VGV4dHVyZUltYWdlVW5pdHMpIHsK
KyAgICAgIGNvbnRpbnVlOworICAgIH0KKworICAgIHZhciB2cyA9IHd0dS5yZXBsYWNlUGFyYW1z
KHRlbXBsYXRlLnZzLCB0ZXN0KTsKKyAgICB2YXIgZnMgPSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1w
bGF0ZS5mcywgdGVzdCk7CisKKyAgICB3dHUuYWRkU2hhZGVyU291cmNlKGMsICJ2ZXJ0ZXggc2hh
ZGVyIiwgdnMpOworICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywgImZyYWdtZW50IHNoYWRlciIs
IGZzKTsKKworICAgIHZhciB2cyA9IHd0dS5sb2FkU2hhZGVyKGdsLCB2cywgZ2wuVkVSVEVYX1NI
QURFUik7CisgICAgdmFyIGZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIGZzLCBnbC5GUkFHTUVOVF9T
SEFERVIpOworICAgIHZhciBwcm9ncmFtID0gd3R1LmNyZWF0ZVByb2dyYW0oZ2wsIHZzLCBmcyk7
CisKKyAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworCisgICAgdmFyIGxvYyA9IGdsLmdldFVu
aWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV91bmlmb3JtWzFdIik7CisgICAgaWYgKCFsb2MpIHsK
KyAgICAgICAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV91bmlm
b3JtIik7CisgICAgfQorCisgICAgdmFyIHZhbHVlID0gZ2wuZ2V0VW5pZm9ybShwcm9ncmFtLCBs
b2MpOworICAgIFRlc3RFdmFsKCJjaGVja0ZuID0gZnVuY3Rpb24odmFsdWUpIHsiICsgKHRlc3Qu
dmFsdWVDaGVjayA/IHRlc3QudmFsdWVDaGVjayA6IHRlc3QuY2hlY2spICsgIjt9Iik7CisgICAg
aWYgKGNoZWNrRm4odmFsdWUpKSB7CisgICAgICAgIHRlc3RQYXNzZWQoInVuaWZvcm0gaXMgemVy
byIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RGYWlsZWQoInVuaWZvcm0gaXMgbm90IHpl
cm8iKTsKKyAgICB9CisKKyAgICBkZWJ1ZygiZGVmYXVsdCB2YWx1ZSBzaG91bGQgYmUgemVybyIp
OworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1
LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIiwgMCk7CisKKyAgICBkZWJ1ZygidGVzdCB0ZXN0
IGJ5IHNldHRpbmcgdmFsdWUiKTsKKyAgICB0ZXN0LnNldEZuKGdsLCBsb2MpOworCisgICAgd3R1
LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0s
ICJzaG91bGQgYmUgcmVkIiwgMCk7CisKKyAgICBkZWJ1ZygicmUtbGlua2luZyBzaG91bGQgcmVz
ZXQgdG8gZGVmYXVsdHMiKTsKKyAgICBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKKworICAgIHd0
dS5kcmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVd
LCAic2hvdWxkIGJlIGdyZWVuIiwgMCk7CisKKyAgICBnbC5kZWxldGVQcm9ncmFtKHByb2dyYW0p
OworICAgIGdsLmRlbGV0ZVNoYWRlcih2cyk7CisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzKTsKKwor
ICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIEdM
IGVycm9ycyIpOworICB9Cit9CisKK3ZhciB0ZXN0TmR4ID0gMDsKK2Z1bmN0aW9uIHJ1bk5leHRU
ZXN0KCkgeworICAgIHRlc3RUeXBlKHRlc3RzW3Rlc3ROZHgrK10pOworICAgIGlmICh0ZXN0TmR4
ID49IHRlc3RzLmxlbmd0aCkgeworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgc2V0VGltZW91dChydW5OZXh0VGVzdCwgMSk7CisgICAgfQorfQorCitydW5OZXh0
VGVzdCgpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM1YzZkNzkw
MTc4ZTM5MjYxYjI5YmFmZmU1ODRlYmE2NGQzMjc3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZv
cm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCEtLQorLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGVzdHMgdGhlIFdlYkdMVW5pZm9ybUxvY2F0aW9u
IEFQSSIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgY29udGV4dEEgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCk7Cit2YXIgY29udGV4dEIgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7
Cit2YXIgcHJvZ3JhbUExID0gd3R1LmxvYWRTdGFuZGFyZFByb2dyYW0oY29udGV4dEEpOwordmFy
IHByb2dyYW1BMiA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHRBKTsKK3ZhciBwcm9n
cmFtQiA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHRCKTsKK3ZhciBwcm9ncmFtUyA9
IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGNvbnRleHRBLCAiLi4vcmVzb3VyY2VzL3N0cnVjdFVu
aWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvZnJhZ21lbnRTaGFkZXIuZnJhZyIpOwor
dmFyIHByb2dyYW1WID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoY29udGV4dEEsICIuLi9yZXNv
dXJjZXMvZmxvYXRVbmlmb3JtU2hhZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3Jt
U2hhZGVyLmZyYWciKTsKK3ZhciBsb2NhdGlvbkEgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRp
b24ocHJvZ3JhbUExLCAndV9tb2RlbFZpZXdQcm9qTWF0cml4Jyk7Cit2YXIgbG9jYXRpb25CID0g
Y29udGV4dEIuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1CLCAndV9tb2RlbFZpZXdQcm9qTWF0
cml4Jyk7Cit2YXIgbG9jYXRpb25TeCA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9n
cmFtUywgInVfc3RydWN0LngiKTsKK3ZhciBsb2NhdGlvblN4MjsKK3ZhciBsb2NhdGlvbkFycmF5
MCA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfYXJyYXlbMF0iKTsK
K3ZhciBsb2NhdGlvbkFycmF5MSA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFt
UywgInVfYXJyYXlbMV0iKTsKK3ZhciBsb2NhdGlvblZlYzQgPSBjb250ZXh0QS5nZXRVbmlmb3Jt
TG9jYXRpb24ocHJvZ3JhbVYsICJmdmFsNCIpOworCit2YXIgdmVjID0gWzEsIDIsIDMsIDRdOwor
dmFyIG1hdCA9IFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQs
IDE1LCAxNl07CisKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9f
RVJST1IsICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1BMikiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS51
bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uQSwgZmFsc2UsIG1hdCkiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51c2VQcm9ncmFt
KHByb2dyYW1BMSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEu
Tk9fRVJST1IsICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uQSwgZmFsc2UsIG1h
dCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1Is
ICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2KG51bGwsIGZhbHNlLCBtYXQpIik7CisKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51
c2VQcm9ncmFtKHByb2dyYW1TKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBj
b250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0xaShsb2NhdGlvblN4LCAzMzMpIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29u
dGV4dEEudW5pZm9ybTFmKGxvY2F0aW9uQXJyYXkwLCA0LjApIik7CitzaG91bGRHZW5lcmF0ZUdM
RXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTFmKGxv
Y2F0aW9uQXJyYXkxLCA1LjApIik7CisKK3Nob3VsZEJlKCJjb250ZXh0QS5nZXRVbmlmb3JtKHBy
b2dyYW1TLCBsb2NhdGlvblN4KSIsICIzMzMiKTsKK3Nob3VsZEJlKCJjb250ZXh0QS5nZXRVbmlm
b3JtKHByb2dyYW1TLCBsb2NhdGlvbkFycmF5MCkiLCAiNC4wIik7CitzaG91bGRCZSgiY29udGV4
dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25BcnJheTEpIiwgIjUuMCIpOworCitzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEu
dXNlUHJvZ3JhbShwcm9ncmFtVikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwg
Y29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51bmlmb3JtNGZ2KGxvY2F0aW9uVmVjNCwgdmVj
KSIpOworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0ocHJvZ3JhbVYsIGxvY2F0aW9uVmVj
NCkiLCAidmVjIik7CisKK3Nob3VsZEJlTnVsbCgiY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9u
KHByb2dyYW1WLCBcIklEb250RXhpc3RcIikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250
ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS5saW5rUHJvZ3JhbShwcm9ncmFtQTEp
Iik7CisvLyBBZnRlciBsaW5raW5nIGFsbCBib3hlcyBhcmUgYmFkLgorc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElPTiwgImNvbnRleHRBLnVu
aWZvcm1NYXRyaXg0ZnYobG9jYXRpb25BLCBmYWxzZSwgbWF0KSIpOworCisvLyBhZnRlciByZS1s
aW5raW5nIHRoZSBzYW1lIHByb2dyYW0sIGFsbCB1bmlmb3JtIGxvY2F0aW9ucyBiZWNvbWUgaW52
YWxpZC4KK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1Is
ICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1TKSIpOworY29udGV4dEEuc3RlbmNpbE1hc2so
MSk7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAi
Y29udGV4dEEubGlua1Byb2dyYW0ocHJvZ3JhbVMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Y29udGV4dEEsIGNvbnRleHRBLklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dEEudW5pZm9ybTFp
KGxvY2F0aW9uU3gsIDMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRl
eHRBLklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9j
YXRpb25TeCkiKTsKKworLy8gUmV0cmlldmUgdGhlIGxvY2F0aW9ucyBhZ2FpbiwgYW5kIHRoZXkg
c2hvdWxkIGJlIGdvb2QuCitsb2NhdGlvblN4ID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9u
KHByb2dyYW1TLCAidV9zdHJ1Y3QueCIpOworbG9jYXRpb25BcnJheTAgPSBjb250ZXh0QS5nZXRV
bmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X2FycmF5WzBdIik7CitkZWJ1ZygiaGVyZSIpOwor
Y29udGV4dEEuc3RlbmNpbE1hc2soMCk7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEs
IGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTFpKGxvY2F0aW9uU3gsIDMpIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29u
dGV4dEEudW5pZm9ybTFmKGxvY2F0aW9uQXJyYXkwLCAxMjMpIik7CitzaG91bGRCZSgiY29udGV4
dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25TeCkiLCAiMyIpOworc2hvdWxkQmUoImNv
bnRleHRBLmdldFVuaWZvcm0ocHJvZ3JhbVMsIGxvY2F0aW9uQXJyYXkwKSIsICIxMjMiKTsKKwor
Ly8gZ2V0VW5pZm9ybUxvY2F0aW9uIHNob3VsZCByZXR1cm4gYSBkaWZmZXJlbnQgb2JqZWN0IGV2
ZXJ5dGltZSwgc2hvdWxkIG5vdCBjYWNoZSBhbmQgcmV0dXJuIHRoZSBzYW1lIG9iamVjdAorZGVi
dWcoIlRlc3RpbmcgdGhhdCBnZXRVbmlmb3JtTG9jYXRpb24gcmV0dXJucyBhIGRpZmZlcmVudCBv
YmplY3QgZXZlcnl0aW1lIik7Citsb2NhdGlvblN4ICA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2Nh
dGlvbihwcm9ncmFtUywgInVfc3RydWN0LngiKTsKK2xvY2F0aW9uU3gyID0gY29udGV4dEEuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1TLCAidV9zdHJ1Y3QueCIpOworc2hvdWxkQmVGYWxzZSgi
bG9jYXRpb25TeCA9PT0gbG9jYXRpb25TeDIiKTsKK2xvY2F0aW9uU3guZm9vICA9IHt9OworbG9j
YXRpb25TeDIuZm9vID0ge307CitzaG91bGRCZUZhbHNlKCJsb2NhdGlvblN4LmZvbyA9PT0gbG9j
YXRpb25TeDIuZm9vIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2Ft
cGxlcnMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjBlZDU3N2QxNjAzNDExYzU3ZTBkOTY4M2U1OWM3MDA1MTQ3YzlkNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCkBAIC0wLDAg
KzEsMTEwIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAg
IDx0aXRsZT5XZWJHTCBzYW1wbGVyIHVuaWZvcm1zIGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4K
KyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyI+IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4
OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKworICA8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gaW5pdCgp
Cit7CisgIGRlc2NyaXB0aW9uKAorICAgICAgIlRlc3RzIHRoYXQgb25seSBVbmlmb3JtMWkgYW5k
IFVuaWZvcm0xaXYgY2FuIGJlIHVzZWQgdG8gc2V0IiArCisgICAgICAic2FtcGxlciB1bmlmb3Jt
cy4iKTsKKworICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFz
MmQiKTsKKworICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgIHZhciBnbCA9IHd0dS5jcmVh
dGUzRENvbnRleHQoImV4YW1wbGUiKTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJl
ZFF1YWQoZ2wpOworCisgIHZhciB0ZXh0dXJlTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHBy
b2dyYW0sICJ0ZXgiKTsKKworICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgMSk7CisgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAgICAgICAidW5pZm9ybTFpIGNhbiBz
ZXQgYSBzYW1wbGVyIHVuaWZvcm0iKTsKKyAgZ2wudW5pZm9ybTFpdih0ZXh0dXJlTG9jLCBbMV0p
OworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgInVuaWZv
cm0xaXYgY2FuIHNldCBhIHNhbXBsZXIgdW5pZm9ybSIpOworICBnbC51bmlmb3JtMWYodGV4dHVy
ZUxvYywgMSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisg
ICAgICAgICAgICAidW5pZm9ybTFmIHJldHVybnMgSU5WQUxJRF9PUEVSQVRJT04gaWYgYXR0ZW1w
dGluZyB0byBzZXQgYSBzYW1wbGVyIHVuaWZvcm0iKTsKKyAgZ2wudW5pZm9ybTFmdih0ZXh0dXJl
TG9jLCBbMV0pOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLAor
ICAgICAgICAgICAgInVuaWZvcm0xZnYgcmV0dXJucyBJTlZBTElEX09QRVJBVElPTiBpZiBhdHRl
bXB0aW5nIHRvIHNldCBhIHNhbXBsZXIgdW5pZm9ybSIpOworCisgIHZhciBtYXhUZXh0dXJlVW5p
dHMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX0NPTUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFMp
OworCisgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IG1heFRl
eHR1cmVVbml0czsgKytpaSkgeworICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCBpaSk7Cisg
ICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGdsLmdldEVycm9yKCkgPT0gZ2wuTk9fRVJST1IpOwor
ICB9CisgIGV4cGVjdFRydWUoc3VjY2VzcywgInVuaWZvcm0xaSB3b3JrcyBmb3IgYW55IHZhbGlk
IHRleHR1cmUgdW5pdCIpOworCisgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IG1heFRleHR1cmVVbml0czsgKytpaSkgeworICAgIGdsLnVuaWZvcm0xaXYodGV4
dHVyZUxvYywgW2lpXSk7CisgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGdsLmdldEVycm9yKCkg
PT0gZ2wuTk9fRVJST1IpOworICB9CisgIGV4cGVjdFRydWUoc3VjY2VzcywgInVuaWZvcm0xaXYg
d29ya3MgZm9yIGFueSB2YWxpZCB0ZXh0dXJlIHVuaXQiKTsKKworICB2YXIgc3VjY2VzcyA9IHRy
dWU7CisgIGZvciAodmFyIGlpID0gbWF4VGV4dHVyZVVuaXRzOyBpaSA8IDB4MTAwMDA7ICsraWkp
IHsKKyAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgaWkpOworICAgIHN1Y2Nlc3MgPSBzdWNj
ZXNzICYmIChnbC5nZXRFcnJvcigpID09IGdsLklOVkFMSURfVkFMVUUpOworICB9CisgIGV4cGVj
dFRydWUoc3VjY2VzcywgInVuaWZvcm0xaSBnZW5lcmF0ZXMgSU5WQUxJRF9WQUxVRSBmb3IgaW52
YWxpZCB0ZXh0dXJlIHVuaXRzIik7CisKKyAgdmFyIHN1Y2Nlc3MgPSB0cnVlOworICBmb3IgKHZh
ciBpaSA9IG1heFRleHR1cmVVbml0czsgaWkgPCAweDEwMDAwOyArK2lpKSB7CisgICAgZ2wudW5p
Zm9ybTFpdih0ZXh0dXJlTG9jLCBbaWldKTsKKyAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiAoZ2wu
Z2V0RXJyb3IoKSA9PSBnbC5JTlZBTElEX1ZBTFVFKTsKKyAgfQorICBleHBlY3RUcnVlKHN1Y2Nl
c3MsICJ1bmlmb3JtMWl2IGdlbmVyYXRlcyBJTlZBTElEX1ZBTFVFIGZvciBpbnZhbGlkIHRleHR1
cmUgdW5pdHMiKTsKKworfQorCitpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187602</attachid>
            <date>2013-02-11 09:48:41 -0800</date>
            <delta_ts>2013-02-12 14:07:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109075-20130211094506.patch</filename>
            <type>text/plain</type>
            <size>710348</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNDgzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWYwNDZmNWViYmU2YTEyNmRmNmU4
OThjMTE4YTA5ZmJlM2JhMmYzOC4uMDExZDg5MjU0OTQ3MTc1NmQ3NjlhNWRmZDYwNzNkOWY0NTUy
ZjY4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2MiBAQAorMjAxMy0wMi0xMSAgR3JlZ2cgVGF2YXJlcyAg
PGdtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZHMgZmFpbGluZyBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwOTA3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2
ZS10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRh
LXVybC10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1
ZmZlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2Nv
bnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9u
LWFuZC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1m
dW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJl
c3RyaWN0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlp
bmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmlu
Zy1hcnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQt
d29yZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJj
dWl0aW5nLW9wZXJhdG9ycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9y
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWls
YXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12
YXJ5aW5ncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3Zh
cmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
TF9TLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZl
ckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2Uy
RC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZGVsZXRlQnVmZmVyQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0Fy
cmF5cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0FycmF5c091dE9mQm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFk
QXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1Yklt
YWdlMkRIVE1MLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29z
L2Fjb3NfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRh
bl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18w
MDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29n
bGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFf
dG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVw
XzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxz
LXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9y
ZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29y
LXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmpl
Y3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29w
eS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1j
b25mb3JtYW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YjU2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiYTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiNTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1
NjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1p
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW1pcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1h
cnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZh
dWx0LXZhbHVlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLWxvY2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3Qt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3Jl
ZW4tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11
cmwtdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRy
YXdpbmctYnVmZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVz
dHJ1Y3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhz
dGVwLWdlbnR5cGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250
YWluaW5nLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1z
aG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXJzLXdpdGgtdmFyeWluZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29y
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1MX1MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLVNfVi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1Yklt
YWdlMkRCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3Vi
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhU
TUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9h
dGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xf
Zmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFt
cy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgt
aW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLXJnYmE1NTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5k
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9n
bC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFs
dWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTExICBK
b3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1Y4XSBJbmRleGVk
REI6IE1pbm9yIEdDIGNhbiBjb2xsZWN0IElEQkRhdGFiYXNlIHdyYXBwZXIgd2l0aCB2ZXJzaW9u
Y2hhbmdlIGhhbmRsZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGY0OGE4M2U1OTRhZTNhOWQ0NzQyZDI0NTkzY2Y2NWU4Y2FmYmM4OTIu
LjYxYTMxMGYyNWNiYzhhOTYwNTgxNzYzM2M5MDUwMTljOTg0OGUzZmMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQ1Niw3ICsxNDU2
LDQ2IEBAIHdlYmtpdC5vcmcvYi83NTI3NiBbIEFuZHJvaWQgXSBmYXN0L3JlcGFpbnQvc2hhZG93
LW11bHRpcGxlLXN0cmljdC12ZXJ0aWNhbC5odG1sCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFdlYkdMIFRlc3Rz
CiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2
OCB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRt
bCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLW1pcHMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3Jt
YW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20v
MTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMu
aHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLWxvY2F0aW9uLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwgWyBTa2lwIF0K
K2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUu
aHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4
IHdlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sIFsgU2tpcCBd
CitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQt
Y2FsbHMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwgWyBTa2lwIF0K
IGNyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0
cmliLXplcm8taXNzdWVzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUu
aHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBbIFNraXAgXQorY3Ji
dWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJy
YXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20v
MTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFy
aWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjgg
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1h
cnJheS1uYW1lcy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbCBbIFNraXAgXQorY3JidWcu
Y29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3Jk
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3
ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sIFsgU2tp
cCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRh
bl8wMDFfdG9fMDA4Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNv
bS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDgu
aHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbCBbIFNraXAgXQorY3Ji
dWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290
aHN0ZXBfMDAxX3RvXzAwNi5odG1sIFsgU2tpcCBdCisKK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sIFsgU2tpcCBTa2lwIF0KK2Ny
YnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRl
cmFsLnZlcnQuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5j
b20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRB
cmdzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2
NiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1s
IFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZm
ZXItb2Zmc2NyZWVuLXRlc3QuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9j
b25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbCBbIFNraXAgXQorY3Ji
dWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5o
dG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQv
Y29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCBbIFNraXAgXQor
Y3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRp
b24tYW5kLWRlc3RydWN0aW9uLmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzEwODkwMSB3
ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbCBbIFNs
b3cgXQogd2Via2l0Lm9yZy9iLzEwOTExNCB3ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRl
eHQtcmVsZWFzZS11cG9uLXJlbG9hZC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzQ4ZmUwOTNiYWExZDAzYmIwODQx
MTZjOWQ0NGNlOTQ5NTBmOTExNi4uZDVmOTEzMmVjMDFlMWYwNDczNzYwNDM1NTFlMGU2OTQzYTNm
ZDg3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTk3
NCw2ICs5NzQsODEgQEAgZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWdsb2JhbC1zZWxlY3Rpb24u
aHRtbAogIyBDdXJyZW50bHkgZmFpbGluZyBXZWJHTCB0ZXN0cyA8cmRhcjovL3Byb2JsZW0vOTM1
NTQ2MD4KIGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
dmlkZW8uaHRtbAogCisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDkwODEKK3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbCBb
IFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCBb
IFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVz
ZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9jb250
ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50
eXBlLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRf
bGl0ZXJhbC52ZXJ0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMu
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWds
b2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3Jz
Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50
Y29vcmQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMt
d2l0aC12YXJ5aW5ncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwgWyBTa2lwIF0K
K3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1s
IFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQjQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCBbIFNr
aXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNf
Vi5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJE
YXRhQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4SW1hZ2UyRC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbCBbIFNraXAgXQord2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZl
ckJhZEFyZ3MuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZHJhd0FycmF5cy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbCBbIFNraXAgXQord2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCBbIFNr
aXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3Mu
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2Uy
REhUTUwuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4
U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbCBbIFNraXAgXQord2Vi
Z2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbCBbIFNraXAg
XQord2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwgWyBT
a2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250
cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIFsgU2tpcCBdCit3ZWJn
bC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVz
LXRlc3QuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10
ZXN0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVi
dWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uv
cmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbCBbIFNraXAgXQord2ViZ2wv
Y29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbCBbIFNraXAg
XQord2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCBbIFNraXAgXQor
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCBbIFNraXAgXQor
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwg
WyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0
NC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJn
YmE0NDQ0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbCBbIFNraXAgXQord2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE0NDQ0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbCBbIFNraXAgXQor
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC12aWRlby5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LWFjdGl2ZS1iaW5kLTIuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1hY3RpdmUtYmluZC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbCBbIFNraXAgXQord2ViZ2wv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwgWyBTa2lwIF0K
KwogIyBTZW5kaW5nIHRoZSBtb3VzZSBkb3duIGV2ZW50IHRvIHRoZSBzY3JvbGxiYXIgc3RhcnRz
IGEgbmVzdGVkIHJ1biBsb29wIHdoaWNoIGNhdXNlcyBhIGhhbmcuCiBmYXN0L2V2ZW50cy9tb3Vz
ZWRvd24taW4tc3ViZnJhbWUtc2Nyb2xsYmFyLmh0bWwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNj
cmVlbi10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjAzNWI3YjIxMzY5MTY2MGUxNDI1
NzY4ODZkYWY5NWI2NGVhNzBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3Jl
ZW4tdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jYzdkNTFhNmM5Zjg5ZjQzZDZlMjU0MGM3NzgwOGY0MWYwZTI2ZDJmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZz
Y3JlZW4tdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGJ1ZmZlci1vZmZzY3JlZW4t
dGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5o
dG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMv
YnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZl
ci1wcmVzZXJ2ZS10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTU1YzVjYjg1ZThhNWZjNjAwNGI4Y2FmMjQ4NWI2OTVkZDFjZThlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUt
dGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZl
LXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZDIyYzAyMmYxNjUwOGU0ZmQ1YWJjZmQwMTlmN2UwNzI5
NTM4N2I3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
YnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXIt
cHJlc2VydmUtdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUt
dGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOWMzYzYwNDI0YWIxOThjYjczNDNiMzdmMWU2MTg1ODdjOWRjN2E3NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5n
YnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZl
ci10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTliN2FjNWE1OGQyNTY5YmUwZmRhOTNkMzI1MjI1MmFk
NjAzODY1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBk
cmF3aW5nYnVmZmVyLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVm
ZmVyLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90
by1kYXRhLXVybC10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTRh
YjljY2I5MzIwN2M4NGY0YzU3ZDVhY2ViNTNjNjRkYTQ0YWMyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90
by1kYXRhLXVybC10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGNkMDRkMjgwOGNhZjVjNGRlMDVkZjZkYWI4OTg2MzRhNmQ5ODliOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10
ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdG8tZGF0YS11cmwtdGVzdC5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3Qu
aHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlm
cmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2Nh
bnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3
aW5nLWJ1ZmZlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9j
b250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNjUzZjQ0YWM2ZTg3ZGUyZDQ1ZTJmOTg4ZDFiNjA0ZmE3N2M4ZTBk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0
dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUt
cHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kY2M0ZDA3ZTI0MmVkN2VhYTc2MjQ2MGZlYzIwNTk2ZTk1MDFmNTBmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9j
b250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIGNvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0
bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRy
YXdpbmctYnVmZmVyLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIu
aHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlm
cmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2Nv
bnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRl
eHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlNDQ5ZmY2NGU1Mjg4OGE2OGY5MzBmNTFlOGNhNGU5
OGRkYjYyNGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3Jl
YXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVj
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0
LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjMjJiODllMGVlNTk4
OTgxNDdjMjk1OWQ3OTU4NjA5OTEwYmVmZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0
aW9uLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgY29udGV4dC1jcmVhdGlvbi1hbmQtZGVz
dHJ1Y3Rpb24uaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0
LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1h
bmQtZGVzdHJ1Y3Rpb24uaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9j
b250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24t
c21vb3Roc3RlcC1nZW50eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNGUzMzA2NDQ3YjY1N2Y5MWExYzU1OGYzYWExMmZiMjRl
ZTM2ZDAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rp
b25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1m
dW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGZiYzA3NGE2Nzg3MDEyOGU1Njk2ZGY4ZThlMzhmNjkzMTZkNDc1NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvZnVu
Y3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3Rl
cC1nZW50eXBlLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9n
bHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMv
ZmxvYXRfbGl0ZXJhbC52ZXJ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMjgxNGI0NjgzODU5YTJkNjNhNzhmMWYxYzljZDc5NjQyYTk3MTk0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9m
bG9hdF9saXRlcmFsLnZlcnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9saXRl
cmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI1
YWNkNDljYjM5OTJlYWIwYTZjYTE3MGIyMDk4MTNlY2QzZmMwZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJh
bC52ZXJ0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwu
dmVydC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9s
aXRlcmFsLnZlcnQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
ci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
ZTBlOGUwZWRmZjM0ODUzMzdhZGViYjcyMDcyNTMzYjE0MjAxYzI0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3Jt
LXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0
cmljdGlvbnMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9y
bS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmMjM1MGEyNWI3MDFiOTJl
NzkwMjI4ZmJmMTUzZDAxMTUxMjVkOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmlj
dGlvbnMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXItdW5pZm9ybS1wYWNraW5n
LXJlc3RyaWN0aW9ucy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1w
YWNraW5nLXJlc3RyaWN0aW9ucy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVz
dHJpY3Rpb25zLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDc0
MzM5ZTZjNTkzNGJlNzE0Y2Q1YjY4NWJhNDYzYzkyYzMwYjA1MgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1w
YWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJp
Y3Rpb25zLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmct
cGFja2luZy1yZXN0cmljdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNmFjYjBmYWNkNTU3M2M4YmQ1
OWY1MWQyMmI0ZGI2N2RiOTM3NDFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rp
b25zLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVyLXZhcnlpbmctcGFja2luZy1y
ZXN0cmljdGlvbnMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFj
a2luZy1yZXN0cmljdGlvbnMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3Ry
aWN0aW9ucy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJy
YXlzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43Yzg4YzI5YWFjYjQwNDk5ZGRlNDAzM2MxNzczNjNhZTFiMzkzMDNm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6
IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1v
Zi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBhMTBjOTA5ZWQ5
MjQzZGM2YzZhNGE2Y2QyODE3OGY5YTA4MWY1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1
Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVy
LXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29u
dGFpbmluZy1hcnJheXMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFp
bmluZy1hcnJheXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJp
ZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRh
aW5pbmctYXJyYXlzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24t
bWlzbWF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2gtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzZDEzZDU5Yzg1NGEzM2JiYTA2ODY4YTE2YTI4MTJhZTgw
ODhmMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWds
b2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YWJlYTQw
OTNhMzQ0YzQwZWIwZjUyYTBhOTA3MjI4ZTM2ZWFmNDY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12
YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBz
aGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxl
LXByZWNpc2lvbi1taXNtYXRjaC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXBy
ZWNpc2lvbi1taXNtYXRjaC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1w
cmVjaXNpb24tbWlzbWF0Y2guaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlMjBj
NGIyNDIzZmE1ZGEzZmI2YjhjN2NjNGRhMDY4MTE5NmM3M2YKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJl
c2VydmVkLXdvcmRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJhMjk5ZWZjYTYxY2VlMjFhZTc5MmVlNjVkYWY2NzdiYTgxZjE2MWIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3Igc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwi
Pi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1u
b24tcmVzZXJ2ZWQtd29yZHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVy
YXRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40ZmE3Y2I2YTE0MDliOTI3ZGZhZmVkZjMxMmU1Y2EzYzY4ZmU1NDNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
c2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2ly
Y3VpdGluZy1vcGVyYXRvcnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA5YWQzODc1ODBhMmIxMDFmYjk0ODNjYzNhNDQ4MjVmNmU4YzNlOWIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciBzaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmct
b3BlcmF0b3JzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11
bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzczM2E4NGEyYzAw
NDQ0OGEyYTk4YzczODc5M2QxNDk0NTU0MTNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9y
bS1hcnJheS1uYW1lcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1u
YW1lcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1z
aW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2I1ODhjOWQzOTRl
ZDE5ZDQ5OGU3MTdjOGFjZjg2ZWY5NWIzZTBhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9y
bS1hcnJheS1uYW1lcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13aXRoLXNp
bWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sIj4u
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
c2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5
aW5ncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNzc3MzUy
ZTg2ZmRjMDMzNDE0Y2FhNjM3ZjM1MjQ5NDJjMTMyODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5n
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFy
eWluZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXJzLXdpdGgtdmFyeWluZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMTkzYjQ1YzMwMWYzYzgzZDY2Njg5
YzZlZDY0NmFiYmI3OWRlMjdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIHNoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sPC90aXRsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIj4uLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
cy13aXRoLXZhcnlpbmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJs
ZXMvZ2wtcG9pbnRjb29yZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wZDQzMDNhNTc4ZWYxYmE3NWViNjkwNWRkYzYxMTZjZTZlMDAzOWFkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9p
bnRjb29yZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50
Y29vcmQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVz
L2dsLXBvaW50Y29vcmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTZmNmEwODJkY2Y1MTdlNmE2MjJkMjJl
MmJlZjg0NGNkYjIwZGU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRl
c3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdy
YXBwZXIgZm9yIGdsLXBvaW50Y29vcmQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxh
IGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xz
bC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1BLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjNhY2JmNjJlYWJj
MTBiOWUyZWY2MDgwZmY4MjlhNDdlYzY4ODkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1BLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ3YjE5NjNlZjE2MmJiYjU5ODRlZTVl
N2M4MzgzYTE5YTg4M2ZjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1BLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitU
ZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIj4uLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9Imlm
cmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MzFkMmMyZWE4NDczNDE2MmY4MGI0OTNiM2Y3MDhkMzg3YjI1MDg4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUIxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmEzMjJkNDFhMjc1M2NjZGQ4M2U0NjIyNmJiZWUzZmZlNzRmOWJmYTcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQjEuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUIx
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjEuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQjEuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUIyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MmY0NWEzYmU4Yjk3MTlkOTBm
YzYyMThkZWI5NGJjZGNjZTQyNzViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3MWE4NmFkZjk5MGFmNzNlNjczNWZhNGZi
NDQyZTljMzM0ODU4NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUIyLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitU
ZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbCI+Li4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUIyLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktQjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44ZmZkMTc0NzI1ZGZhZmYwYjYwZDg2ZDQxMWFlMzY0NTk4NDUxOThiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQzMTA2NDNiYzA1ZDA1NWQzMWZjNmU1NDJhZWE4NDlmYzIwZjM5MjIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktQjMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJ
LUIzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQjMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUI0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzZkNGU4NzFiOTM3ZGJj
MTEyNTlmYmE1NjkwYTM4YzU1NTEzNTI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0
OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4YmVhZTRhM2Q4NTY1OGY1MDEyZDBi
MTc1NmMyYjA3MzY2NDEwNzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUI0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbCI+Li4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUI0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbCIg
d2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktQy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMGNjYWJkNGNhNzRjNjkyZTQ1MTMyNWJlZWJhNGVhNGRhODgzYjYxNgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1DLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRlM2Q2YmU2NmNjYTQ4YTY4N2ZmNTI1MzdlMzU2MDQ0ZjQzNjFjNjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktQy5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1DLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktRF9HLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjBjNWNlZDA5OTU2YTI0ODk2MWRk
Yzc5OTQxNjJlOWRmMjgyZWFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1EX0cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzVkZTNiMDU3NzAwMDVhMzZiYjg2ZTdh
MGVlOGNjMjgyZmI0MTkzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktRF9HLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwiPi4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1EX0cuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ4ZDJlOWFiYjg3YWNjMjE4Y2FmOGIwOTAyMjkwZjgzNTUxM2Nh
OGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktR19JLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdmNWRjMWExMzZiNGVjZjMyNzAyNTk0OTlhNjFmYzIxMDc5MWQwNmQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
cXVpY2tDaGVja0FQSS1HX0kuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdf
SS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sIiB3aWR0aD0iODAwIiBo
ZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2ViNjE4ZTkwYzBkNzc4YTY5MGU3YTE5ZjYyNTExZjkxMDVmYTFmYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjM0ODA4ZGY2M2YzZTM1MTgxNGIyNWFjNDZiODVlNWJmZjhmMjI0MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1MX1MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUxf
Uy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQt
d2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUxfUy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktU19WLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmU4MTI3NDlmNWFl
ZjU2NzQ0N2I5YjFlNmQ0MzQ3MTQ3Mzk3MjZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1TX1YuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Nzk5ODc4ZDhjNzg2YmY1
MjkyY2M2NDRmZTBiMzlkNWZjMDRmOWVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktU19WLmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwi
Pi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1TX1YuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2E1YjBkNzc5OGU2ZTgxNzVjOTExYzQ2YTBjZDQyM2Q0
YWRlYzI4OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRh
QmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFlNzYwODEwMmNkZWMzYjExYTZlZDE4MmRjMmMzZWIwNzBkMzk2MmYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGJ1ZmZl
ckRhdGFCYWRBcmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9idWZmZXJEYXRhQmFkQXJncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAi
PjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9j
b3B5VGV4SW1hZ2UyRC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMxMDRmMmMwNDc1YmUzMzRj
MjlhOGU3YTFlZGRjMGUwN2ZjN2Y4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4SW1hZ2UyRC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjlhZWNmZTgxMTQwZWQ0MzY4ODg1MjRiZmZiZTdkMTBlMzM3ZGJmNjIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvcHlU
ZXhJbWFnZTJELmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9j
b3B5VGV4SW1hZ2UyRC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleEltYWdlMkQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eEltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTI1NjNkOWE5YzMzZTFk
ZDBhYjkyYzJkYTNkMzYxNjBhYmVlNDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1h
Z2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4OTMzZTQ4OTI3
MjZkZGI5ZmIzMDc5MDJlMmZjOThjYjE0OWQ5MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFy
Z3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJE
QmFkQXJncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Nv
cHlUZXhTdWJJbWFnZTJELWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kN2IyNTJjYjAwZmUwOTI2
M2VkMWI0MDg3MmY2YjFhYzU3ZDJkYmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6
IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlU
ZXhTdWJJbWFnZTJELmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWIxZTAzOTQ1ZGQyNGNkNzMyNmIwNjEzYjMy
NTZiNTFiNjQ4YWNhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wt
dGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3Qg
V3JhcHBlciBmb3IgY29weVRleFN1YkltYWdlMkQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwiPi4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhT
dWJJbWFnZTJELmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2Nv
cHlUZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmIyMmFmYWFmNGUxMDIwZmNiMzUwYWQ0MTY4YmRhNWQzODU2MzU1
ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhT
dWJJbWFnZTJEQmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUyOGM3N2QzODRlYjdjMzdkMTQz
NzI4NzA2YjdhMjE0OGY1ZDE1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRC
YWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sPC9hPgorPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJn
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2ZhMTk4
MmI3MGIzMjgxNDlmNTI5NjhkODMxM2QxYWRmN2VkYzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFk
QXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0
ZUJ1ZmZlckJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGMzZDQyMzU1
YmIyMzEzMThlZmM5MzliNWY2ZjAwZWE2MzhlMDZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJn
cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFy
Z3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRl
QnVmZmVyQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWRjOTg1OTU0ZTY0Y2E0YjhjZTVhYjFlNzAzOGFmMmIxYWU5NjI3
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdBcnJheXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbAorUEFTUwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3QXJyYXlzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDAyZGY1OTcxZTQ0OGI3M2M0NDVj
ZjhiZTUxY2U3YmM1ODY4ZTliZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciBkcmF3QXJyYXlzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbDwvYT4KKzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2RyYXdBcnJheXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0Fy
cmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjRkZWFkNDUyZjM5ZTBl
NWFmZDAyM2JjZmEzZmMxYTZhY2ZjMzA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlz
T3V0T2ZCb3VuZHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0OWMwZGFjYmQw
MmQyZjg0ZmIzMGIyNzY1YTYxNWI4ZjM5YjFiYjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3Vu
ZHMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBkcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRP
ZkJvdW5kcy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxl
bWVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4MTNjMzVkZDMxNTI0ZTI4MDU2M2Y1ZDg5
YmI1YzlhMjJmNGVkMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVt
ZW50cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGEzN2NmNzE0OGM1MDQxMjhkNDZkNjVhY2VkY2E3NWFhMTIyMjcwZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVt
ZW50cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdFbGVtZW50cy5odG1sPC90aXRs
ZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwiPi4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2RyYXdFbGVtZW50cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZHJhd0VsZW1lbnRzQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43MjU3ZGMxNmM3YTNmZDc5MThkZWM0MTU4MGExYjVjZDkzMDE4MmE3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzQmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMDE2ZDExOGUyNzVmY2Y5MGFkOWNjNTQ2N2M2YzZkZDY5YTgyOTA5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJ
VCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGRyYXdFbGVt
ZW50c0JhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRB
cmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDM5Nzk4
ZDU5NWZiYzEwMzgwMTY5NWU1MjgwN2Q4ZWY0OGUwMTAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFy
Z3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVs
c0JhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEwYmMwZWI5ZGFhOGY1YTFm
MWE0MmRhNzNlNDk0MjMyNWVjYjcyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3IgcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwiPi4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L3JlYWRQaXhlbHNCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNjMyOGY2MWU1ZmE0M2NiZDFjNTU5ZTRiNDEyZmFjZGMwMzdjNDRkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYWYyYTk5MWQwNTQxMDBlOWIyOWQ1M2YyNjdjMmE2YjVkZGU5MmJmMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleElt
YWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0
by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4SW1hZ2UyREJhZEFy
Z3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0
LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdl
MkRCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhJbWFnZTJEQmFkQXJncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRI
VE1MLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NjgxMjdiYThjY2QyZTI3Mzk0M2M2OTBkMTgz
YmViZGZhZjNiODUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdl
MkRIVE1MLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGE5MTQzNjUyZTNmZjM4ZjNjZmY1MDYwZWM3ZGQ5YTk4NzFmZjczNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eEltYWdlMkRIVE1MLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0
by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4SW1hZ2UyREhUTUwu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRI
VE1MLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJE
SFRNTC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRB
cmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NTYyNjU5ZWMyYmM2NzEwZmY5OTI2MjE2YWRl
MTVhYTZiNTdkMzQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1Yklt
YWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI5YjEzYWVkYjg3MTZhMDFmNDIyNjZlYTc5
MDEzMjM0Y2JlZmMxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwiPi4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJn
cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lZTAzM2UzODE5MDYzNzk4MzljNDZmNzgyZGI5NmU1Y2JkNTdj
ODhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRI
VE1MLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWVmYjljNmEzNjZmNWEzOWJjMDViOGM4MmYyN2EzMTdjN2I0NmNmZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L3RleFN1YkltYWdlMkRIVE1MLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElU
IC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4U3ViSW1h
Z2UyREhUTUwuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3Rl
eFN1YkltYWdlMkRIVE1MLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWw8L2E+Cis8
ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18w
MDFfdG9fMDA2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOGZkNzIwZmE0NDU3Y2Q2OWI1OTQ4
ZmZkZjZiNDdiMWQ0NDlkNWNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3Mv
YWNvc18wMDFfdG9fMDA2Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmEzYzNkZmY1OGEwYzMxYmRiYjNiNzg4MDY4YzY2MmYxYWM2NTJiZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBF
RElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgYWNvc18w
MDFfdG9fMDA2Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2lu
L2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNmMjBjY2U0Y2U1NzI0
NjgzNzQ4ZjQxNzUwZmMwMDgxZWIxODg5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3Rv
XzAwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmNTlhMDAyNWFkZGZjYjgyNmRiMWVhNDc5MzUwZmViNmJm
YjU2YmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBE
TyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9y
IGFzaW5fMDAxX3RvXzAwNi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18w
MDYuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90
b18wMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvYXRhbi9hdGFuXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1M2IzNTZj
NDRlMmM3Y2ZhMTRkODY5MjlkMDJlMzFkZTYxZTZkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAw
OC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFu
XzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODEyMzg0ODhiODU4MDEyMWNkNDA0ZmZiMTNj
MzVjN2MwYmE3MjdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0
cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFw
cGVyIGZvciBhdGFuXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwiPi4uLy4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8w
MDFfdG9fMDA4Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xf
Zmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90
b18wMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4Yzc1NTM1ZDIxOTU5MjEwNWQ3Nzc5YmQ1
MmMyMTIwNjhjZDRmYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29n
bGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRy
b2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzA2ODJhYTAyZjk5NzMyNDBhY2UyYmQxNDJjOTg2Y2M5MjQ0Nzli
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVz
L0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIGNvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAw
MV90b18wMDguaHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cv
bG9nXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
NWFkZDExMzk1MTVhOGY3MDg1ZGEzZGMyZWY3NGQyYzBmZWE5NWFhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9f
MDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18w
MDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2df
MDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkNGI5OTllN2M2ODUzMTY3NWJjYzYzZjY3ZWVi
YTliMjlhYzdiNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciBsb2dfMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwiPi4uLy4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAw
OC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18w
MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wv
bG9nMi9sb2cyXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4MGVhNWMzYzU0
ZmM5NDc3YmQ2MzdhMDdlNTBkODE0YjQwMTJhZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2ds
ZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAw
MV90b18wMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNWVhODcxYWFjMGMzODgxNGQ5NTg2OGQ3MWViM2Rk
MTljODUzMzJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciBsb2cyXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6
IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwiPi4uLy4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFf
dG9fMDA4Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1l
Ij4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAv
c21vb3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41MmUxZjY1ZTJhN2ZhODUwYzkzNTIxMDFmZDUyYTlkMjAxM2Nm
ZTE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2ds
ZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0
ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAw
MV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Nt
b290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM1M2NhODAy
NDdkY2U1Y2NhNDZlODZhMjcyMzQwZTQyYjc3NWZkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8w
MDFfdG9fMDA2Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc21vb3Roc3RlcF8wMDFfdG9f
MDA2Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9v
dGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0
ZXBfMDAxX3RvXzAwNi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9
ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18w
MDYuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9w
cm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRy
aWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGE0
ZDgyN2E1MWQ2NTNhYzkyNDQ1ODZjYTA4OGZkZmE3MTJiMWJjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9j
YXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5h
bWVzLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3Qu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0
cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMTA4ZjQ4NTg3
MGEzYmI4ODE4NTY0NzU2Y2U2ZmQzNWJiM2M0MGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1s
b25nLW5hbWVzLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC1iaW5kLWF0dHJp
Yi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1z
L2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sIj4uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJp
Yi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9u
LWxvbmctbmFtZXMtdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU1MjJjYjMyMGFlZDBiNDAzY2RlMWNiOWIyN2QwZGIwOWNkM2FmMDkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9w
cm9ncmFtLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODBhODBiYzJlZmY1M2YyNWU3MjU5OGY2NjVkODIxOTcxNzk5NzI2MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3By
b2dyYW0tdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHByb2dyYW0tdGVzdC5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFt
ZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRkZWI5OTRhM2E2NDljZjU5YjEyODEwZTcwNzdhMTBlOTBi
MDM2NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Jl
YWRpbmcvcmVhZC1waXhlbHMtdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBp
eGVscy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3Jl
YWQtcGl4ZWxzLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NjIxZmU5MWRhYjk5NjMxMjRmM2NmYjhi
MWM1NzU4MGViMGRlNDcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3IgcmVhZC1waXhlbHMtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFk
LXBpeGVscy10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
YnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVj
dC1hdHRhY2htZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjc4Mjg3MWFmNTVhOTQzMWIw
YmJiMzljMzE4OGE4YWM1OTllOWUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVu
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVu
ZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCitQQVNTCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJh
bWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wYTRhM2RiOWQ2MGEzNDUwZjEyMWY1NWUwN2UyZjMwZDQ1NzI2OWMxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVy
cy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIGZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9y
ZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwiPi4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVi
dWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0
dGFjaG1lbnQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFiOGQ5OTlkODdiYWYzMTdkZGI3NGFlODQxYWU5MTNmNjgyNWZmZjAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
Z2wtc2Npc3Nvci10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3It
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNj
aXNzb3ItdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxM2MzMDQwZDk1YzYyNjZhZWJkYWU3OWEyMWI2
ZmVjNzg3YWIzYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgZ2wtc2Npc3Nvci10ZXN0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Np
c3Nvci10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hM2U0MzBmMmQ5NTQzOGU5ZGI4ZTJhNTc0ZTlhMWRiYmI5Njg1MmJk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9y
ZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQ2ODQ0NWUzM2I0YThmOWY5NWYwZTg5NDEyYWRkYjg4ZDRmMjFlNDMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10
aGFuLTY1NTM2LWluZGljZXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBtb3JlLXRoYW4t
NjU1MzYtaW5kaWNlcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02
NTUzNi1pbmRpY2VzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhh
bi02NTUzNi1pbmRpY2VzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNv
cnJ1cHRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhOGZmZmY1NGU5Zjk4OGU2YzY5MDMx
MDU1NzI0NTUzZWE1MTI2NGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2Ft
cGxlLWNvcnJ1cHRpb24uaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NDc1NDJkNzcyMTJjODRmZDI3NjA3MjlmN2UzZWM4YTU1ZDU1
YjE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVu
ZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0t
IFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4g
RE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZv
ciBtdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
bXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwv
aWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmMwOWJlZGMxMGM2YWM3NDhhODQ4NGY2OGEzNWEwN2U3OWI0YmFi
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRl
cmluZy9wb2ludC1zaXplLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc1ZWE3NjcxNDI5ODQ0MDI4YzNhNzg4MTFkYjVkOTlmZmJmYzQ0ZDUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
cG9pbnQtc2l6ZS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8t
Z2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHBvaW50LXNpemUuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwiPi4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvcG9pbnQtc2l6ZS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTkxMDYyODcyYThhZWY0ZDIyNmZjOWRlZDY5YTQxMDYzMWQ2MWM0
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0YXRl
L2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbAorUEFTUworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3Qt
Z2V0LWNhbGxzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1v
YmplY3QtZ2V0LWNhbGxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDM0YWY4OWY5ZTUwMDQ4MGY5NGJkZjM3
YjljNTg1NTI4ZTM3ZTNkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0
cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFw
cGVyIGZvciBnbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9n
bC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0YXRlL2dsLW9iamVjdC1nZXQt
Y2FsbHMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1h
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3ZDM5NzBhNTU4MjViNDY4MWZhZDFkNDU5NmIy
MTQyNGZhYjZiNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFn
ZS0yZC1mb3JtYXRzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9y
bWF0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2OGM2ZTBlYTgwZTU3MThhZGExOTY4ZDg5YmQwOWFkYjlk
MTdjMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3IgY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3Jt
YXRzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wt
cGl4ZWxzdG9yZWktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyNzUwOWRiMGJmMTdkNmM1NzIw
NzkzNTFkYTA4NTA3MTJiZDc3OGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWku
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YmI3YjZlNTk0OGY1
MGUyZWVjZDFkOTM4MTQ1ZmE1NWVlNzE5ZjZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBnbC1waXhlbHN0b3JlaS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3Rv
cmVpLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzVkZTIxNjNlNjExYmIzNmM5NWQwOWNkYzA2NmU3NDI1
MjczZTQzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZv
cm1hbmNlLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45YjliOWJkYTVjNmI5YmI0ZDFlMDgyMjFlZWU5YTcyMjc5NmY0ZWI5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
b3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igb3Jp
Z2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmln
aW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9v
cmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwv
aWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDliOTYyOTQ0MGJiZmVkOGM5NjEyYmI2ZmE1YjIwM2Q2ODdmNjE0Ygot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy1yZ2I1NjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhZDVkZmE1ZjFmY2EwMjNjMGQ2YWE1
NmUxZDU1YWEwOTE2ZDJhNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy1yZ2I1NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2
NS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTExYmNk
Njc4NThkMjYxNTBhY2IzNmZjNjliODM2NGViMWI5ZjNlZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiNTY1Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5o
dG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZy
YW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYxNTAwYjc5YzI4YmNmMDJhOWJkYzUzMWRhZjNjNWUzNTE4MjA1MTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtcmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2YwNzQ2ZTZjZWNmNzA1ODQ2NDk5MDc1NTJj
Zjc3OWViNWMxNTNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdi
YTQ0NDQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbCI+Li4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiYTU1NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzMjk0MDIz
NmU1M2VkMWU5OTA1YTY5ZjgwMjQzMTZjMzU1OGZhNDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNDIwNTQ2Mzk4NzUyODIxZjdkMTJkOTRjNDM0YTc5MDFiZTdiYjE2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNh
bnZhcy1yZ2JhNTU1MS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbCI+Li4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODBmNzgwYjU2ZTdmOTUzYjc2MTgwMGZmYzI1NjNlYTdmZGQ5NjA4OQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDwvdGl0bGU+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWw8L2E+Cis8ZGl2IGlkPSJy
ZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2I0ZGEyN2I0M2ZlNGVlYmUwMTAzZDc4NzJkYTMyNjYxMzk2NzJhYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWltYWdlLXJnYjU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJn
YjU2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODRhMmVkZThlYmRiZTEwNDZlMmMwMjY5YmRj
NDU0MDMxMzYxY2I2OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
NTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiZDJmZWE1OTg0ZGU0
YWU3NDlhMDkxMGJjYjRlNTNkODA0MDI4ODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1s
Ij4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sPC9hPgorPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbCIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtaW1hZ2UtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwMTJlZjA2ZTkx
NzNjZThmZDJlYTk0NzZlZTJkODI0MjQ0Nzg5MDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWltYWdlLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWltYWdlLXJnYmE0NDQ0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjViNGZmZmI4MDdhMmU5YzNkNTkxMDNkODVjNDc3ZmQ5ZDliN2JkZGUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2Jh
NDQ0NC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2Vi
Z2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWltYWdlLXJnYmE0NDQ0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2IzYjQ0OTVjMjhmYjg1MzJkNzkzNGYxZjg2MGVmMTY5
MmViNTExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOGFkYzQ5YzY5Njc1
Y2ZmZmJjN2ZhNjBiZGY2MzQxODMxOWIxNzNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJ
VCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbDwvdGl0bGU+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1
NTEuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sIiB3
aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZmY3NWU3MmYwMWRmNzM3NzI2MjI3NjE0N2NlMTVjMmNl
Njk3MzM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Uu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtaW1hZ2UuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWRiMTgzYTUzMjJkZjFjMWNmOGQxYzJhZmMy
OTg2MjE3NGY1NWY1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLXJnYjU2NS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNThiYTVmMzA0NzY3
NDZjMTllMTYxMTczNjJjZTBhOGRjNTQ2NTc1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtdmlkZW8tcmdiNTY1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLXJnYjU2NS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhlZDE2NjFlNDIwN2Q4YzA4NjkxZWE4MDk5ODY5NmZmNjQ2MWY3YTgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLXJnYjU2NS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2
NS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjMzYWNjN2RjM2RjOGJjMWU0NWVmMjY3ZGY4NjZhZjgwMjAxMDIxMDUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1y
Z2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1NjQ1ZGEyYjIzNTRlMTJmYWY1MGZmMGE0ZWQxZWVj
NmNlYzUyYWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sIj4uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0i
NjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLXJnYmE1NTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDE4YjA0YmJmNTY2MTJmM2M0
NGY4Y2NhZTdiMGRkOWFkYzFlM2MxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1yZ2JhNTU1MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1y
Z2JhNTU1MS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdi
YTU1NTEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wOWQyOGI1Zjk1MmM2OGE1ZWNhN2I1NzRhOWE4OWNmNWZhMWQzZmNmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTU1NTEuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRl
by1yZ2JhNTU1MS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9Imlm
cmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1y
Z2JhNTU1MS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NDc0OGE4NDQ5ZjU2NTBkZDVh
ODUyZjUyNTMxYWM3ZmM2Njc4Zjg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtdmlkZW8uaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC12aWRlby5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9Imlm
cmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5o
dG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYxNjg4NWJlZGVjZjY0Y2UxZjRmNDk3M2Q2ZGUwOGU2NDZkYmU1MDMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLWFjdGl2ZS1iaW5kLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdkMGU2NmEy
ZmZkNjI2YWE0ZDk1ZDBkZmQxYmVkMmZlN2VkZTAxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBD
b25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwiPi4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUt
YWN0aXZlLWJpbmQtMi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9
ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1h
Y3RpdmUtYmluZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYWY1
ZDQzZDM4ZmY4MTIxODk4NWMzNzliNTJhZGU3ZjA5M2QxMTQ4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmlu
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZl
LWJpbmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjlhMTMyNjY1NDU1NGUxNjE4ZTA1Y2ViOTJhOWUwODcx
ZWU5MjBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBE
TyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9y
IHRleHR1cmUtYWN0aXZlLWJpbmQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3Rp
dmUtYmluZC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA4MmNhMGE5MDFhYTJjNTlmMmMzMGFmYzU4NzhkOGU5NWQ1NGU1YWYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1p
cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtbWlwcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjA5Njk1YTM5MjY4ZTgwYmQxYzNmYjIzZDY3NDJiYmNmYWEwMGQwNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlw
cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleHR1cmUtbWlwcy5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
PC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sPC9hPgor
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1taXBzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzM3NTQ3ZTk1ODQzMjcwNWZjYjM3MDA4NmJmNTYxMzE4OGMxY2Q0
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtbnBvdC12aWRlby1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1ucG90LXZpZGVvLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjEyM2NmYTFjNmJmNDUz
NzkyM2Y5OTY1YTMyN2NhMzY4ZmUzOTA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitU
ZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hYzM0YjFhY2YzYzdhYTIxZjY4OGI3YjJjNGIzMWNhY2UwM2I1OWNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1zaXplLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGlt
aXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1zaXplLWxpbWl0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTgwMzkzZjg2YjYy
YzYyOWE0ZDU2NzNkZmY0MzJiZTcyZDQ3ZDBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0
dXJlLXNpemUtbGltaXQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmEwZDk4ZjkyNDFmYTE4MTQ4ZmM1YWZlNWUzYTlhM2RhNGMwOTU1N2MKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0
dXJlLXNpemUtbGltaXQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXh0dXJlLXNpemUt
bGltaXQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5o
dG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8
ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE2MTUxYjdlNTQzOGE0N2QzN2Q3YmU4MzdjZTc5
YTZmODAxMGFhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRl
eHR1cmUtc2l6ZS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0
bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtc2l6ZS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9
ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wt
dW5pZm9ybS1hcnJheXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2YmE3YjIxZDYyYzNiZWNk
YzZmY2FkMjQwMzlkMWFiMTZlZGZhZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9y
bS1hcnJheXMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kODhkMGQzMGQ5ZGY1OGUwMTJlM2FiYzQ2NzQyNmM4MDkyMmNjNjI4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1h
cnJheXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC11bmlmb3JtLWFycmF5cy5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbCI+Li4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9y
bS1hcnJheXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZh
bHVlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTU0Y2Jj
M2RiNzllYjBhY2FmYTljZmIwODQ0YzhjZTRhYzczZmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVl
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1
ZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0t
ZGVmYXVsdC12YWx1ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjJiMmZlNmUxZGU3Yjg1OTljZDAwYzQ0
NTBjYzk2YmM5YTE2MDc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIHVuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVl
cy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8
aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9
IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9y
bS1sb2NhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc5Y2UzNDk3YmJjZjBlMjhmMTQy
NzIxMGU2Y2IxZDRlN2M0MjFlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRp
b24uaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmU0MzIx
YWMzZmU0MjUzMGM1MTEzMzFjNDVkZDdkZDNkMDAwMTU4MwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB1bmlmb3JtLWxvY2F0aW9uLmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRt
bDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFt
ZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZv
cm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1w
bGVycy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmNlYTIyMjA0MTU0NDcyODg4MmE4
NmM5ODBkOWEyY2MxNjg0Y2U3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNh
bXBsZXJzLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVkNDIwZDY3NmZhNTA0ZDE2Mjg2OGZhMjAxNjI2Nzk1ZTNiNzNmZDMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91
bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB1bmlmb3Jt
LXNhbXBsZXJzLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2Ft
cGxlcnMtdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxl
cnMtdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRl
c3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
NDQ2MWQ5YmI0MWU4ODJmYTg3MmJmNTZhNjQ5ZjU4ZjZkYzA2N2RjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sCkBAIC0wLDAgKzEsMTE3IEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgcmVxdWly
ZWQgYnVmZmVyIGNsZWFyIGJlaGF2aW91ciB0ZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgorYm9keSB7CisgICAgaGVpZ2h0OiAzMDAwcHg7Cit9Cis8L3N0eWxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCit2YXIgaXRlciA9IDA7Cit2YXIgZ2wx
OwordmFyIGdsMjsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCitmdW5jdGlvbiB0aW1l
cigpIHsKKyAgICBpZiAoaXRlciA9PSAwKSB7CisgICAgICAgIC8vIHNvbWUgcmFuZG9tIGhhY2t5
IHN0dWZmIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGdldCBhIGNvbXBvc2l0aW5nIHN0ZXAKKyAgICAg
ICAgd2luZG93LnNjcm9sbEJ5KDAsIDEwKTsKKyAgICAgICAgd2luZG93LnNjcm9sbEJ5KDAsIC0x
MCk7CisgICAgICAgIGl0ZXIrKzsKKworICAgICAgICBzZXRUaW1lb3V0KHRpbWVyLCA1MDApOwor
ICAgIH0gZWxzZSBpZiAoaXRlciA9PSAxKSB7CisgICAgICAgIGZ1bmN0aW9uIGNsZWFyKGdsKSB7
CisgICAgICAgICAgICAvLyBzY2lzc29yIHdhcyBzZXQgZWFybGllcgorICAgICAgICAgICAgZ2wu
Y2xlYXJDb2xvcigwLCAwLCAxLCAxKTsKKyAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JV
RkZFUl9CSVQpOworICAgICAgICB9CisgICAgICAgIGNsZWFyKGdsMSk7CisgICAgICAgIGNsZWFy
KGdsMik7CisKKyAgICAgICAgZGVidWcoImNoZWNrIG9uIHNjcmVlbiBjYW52YXMiKTsKKyAgICAg
ICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbDEsIDAsIDEwLCAxMCwgMTAsIFswLCAwLCAyNTUsIDI1
NV0sICJjbGVhcmVkIGNvcm5lciBzaG91bGQgYmUgYmx1ZSwgc3RlbmNpbCBzaG91bGQgYmUgcHJl
c2VydmVkIik7CisgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wxLCAwLCAwLCAxMCwgMTAs
IFswLCAwLCAwLCAwXSwgInJlbWFpbmRlciBvZiBidWZmZXIgc2hvdWxkIGJlIGNsZWFyZWQiKTsK
KyAgICAgICAgZGVidWcoImNoZWNrIG9mZiBzY3JlZW4gY2FudmFzIik7CisgICAgICAgIHd0dS5j
aGVja0NhbnZhc1JlY3QoZ2wyLCAwLCAxMCwgMTAsIDEwLCBbMCwgMCwgMjU1LCAyNTVdLCAiY2xl
YXJlZCBjb3JuZXIgc2hvdWxkIGJlIGJsdWUsIHN0ZW5jaWwgc2hvdWxkIGJlIHByZXNlcnZlZCIp
OworICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsMiwgMCwgMCwgMTAsIDEwLCBbMjU1LCAw
LCAwLCAyNTVdLCAicmVtYWluZGVyIG9mIGJ1ZmZlciBzaG91bGQgYmUgdW4tY2xlYXJlZCByZWQi
KTsKKworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCitmdW5jdGlvbiBnbygpIHsK
KyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25z
IGNvcnJlY3RseSBjbGVhciB0aGUgZHJhd2luZyBidWZmZXIgb24gY29tcG9zaXRlIGlmIHByZXNl
cnZlRHJhd2luZ0J1ZmZlciBpcyBmYWxzZS4iKTsKKworICAgIGRlYnVnKCIiKTsKKworICAgIGds
MSA9IHd0dS5jcmVhdGUzRENvbnRleHQoImMiKTsKKyAgICBnbDIgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCk7CisgICAgc2hvdWxkQmVUcnVlKCJnbDEgIT0gbnVsbCIpOworICAgIHNob3VsZEJlVHJ1
ZSgiZ2wyICE9IG51bGwiKTsKKworICAgIHNob3VsZEJlVHJ1ZSgnZ2wxLmdldENvbnRleHRBdHRy
aWJ1dGVzKCkucHJlc2VydmVEcmF3aW5nQnVmZmVyID09IGZhbHNlJyk7CisgICAgc2hvdWxkQmVU
cnVlKCdnbDIuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgPT0g
ZmFsc2UnKTsKKworICAgIGZ1bmN0aW9uIGluaXQoZ2wpIHsKKyAgICAgICAgZ2wuY2xlYXJDb2xv
cigxLCAwLCAwLCAxKTsKKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGds
LkRFUFRIX0JVRkZFUl9CSVQgfCBnbC5TVEVOQ0lMX0JVRkZFUl9CSVQpOworCisgICAgICAgIC8v
IGVuYWJsZSBzY2lzc29yIGhlcmUsIGJlZm9yZSBjb21wb3NpdGluZywgdG8gbWFrZSBzdXJlIGl0
J3MgY29ycmVjdGx5CisgICAgICAgIC8vIGlnbm9yZWQgYW5kIHJlc3RvcmVkCisgICAgICAgIGds
LnNjaXNzb3IoMCwgMTAsIDEwLCAxMCk7CisgICAgICAgIGdsLmVuYWJsZShnbC5TQ0lTU09SX1RF
U1QpOworICAgIH0KKworICAgIGluaXQoZ2wxKTsKKyAgICBpbml0KGdsMik7CisKKyAgICBzZXRU
aW1lb3V0KHRpbWVyLCA1MDApOworfQorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IGdvLCBmYWxzZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxjYW52YXMg
d2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmx1ZTsiIGlk
PSJjIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZh
cy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjMThkMWIzYmNjMWQzOGM2
NDlkMTg4NDY5MDA1NTc1Y2U5ZWY1NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVy
LXByZXNlcnZlLXRlc3QuaHRtbApAQCAtMCwwICsxLDExMiBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHJlcXVpcmVkIGJ1ZmZlciBjbGVhciBi
ZWhhdmlvdXIgdGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2Jv
ZHkgeworICAgIGhlaWdodDogMzAwMHB4OworfQorPC9zdHlsZT4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KKwordmFyIGl0ZXIgPSAwOwordmFyIGdsMTsKKwordmFyIHd0dSA9IFdl
YkdMVGVzdFV0aWxzOworCitmdW5jdGlvbiB0aW1lcigpIHsKKyAgICBpZiAoaXRlciA9PSAwKSB7
CisgICAgICBmdW5jdGlvbiBpbml0KGdsKSB7CisgICAgICAgICAgZ2wuY2xlYXJDb2xvcigxLCAw
LCAwLCAxKTsKKyAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQ
VEhfQlVGRkVSX0JJVCB8IGdsLlNURU5DSUxfQlVGRkVSX0JJVCk7CisKKyAgICAgICAgICAvLyBl
bmFibGUgc2Npc3NvciBoZXJlLCBiZWZvcmUgY29tcG9zaXRpbmcsIHRvIG1ha2Ugc3VyZSBpdCdz
IGNvcnJlY3RseQorICAgICAgICAgIC8vIGlnbm9yZWQgYW5kIHJlc3RvcmVkCisgICAgICAgICAg
Z2wuc2Npc3NvcigwLCAxMCwgMTAsIDEwKTsKKyAgICAgICAgICBnbC5lbmFibGUoZ2wuU0NJU1NP
Ul9URVNUKTsKKyAgICAgIH0KKyAgICAgIGluaXQoZ2wxKTsKKyAgICB9IGVsc2UgaWYgKGl0ZXIg
PT0gMSkgeworICAgICAgICAvLyBzb21lIHJhbmRvbSBoYWNreSBzdHVmZiB0byBtYWtlIHN1cmUg
dGhhdCB3ZSBnZXQgYSBjb21wb3NpdGluZyBzdGVwCisgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgw
LCAxMCk7CisgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCAtMTApOworICAgIH0gZWxzZSBpZiAo
aXRlciA9PSAyKSB7CisgICAgICAgIGZ1bmN0aW9uIGNsZWFyKGdsKSB7CisgICAgICAgICAgICAv
LyBzY2lzc29yIHdhcyBzZXQgZWFybGllcgorICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcigwLCAw
LCAxLCAxKTsKKyAgICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisg
ICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAxMCwgMTAsIDEwLCBbMCwgMCwg
MjU1LCAyNTVdLCAiY2xlYXJlZCBjb3JuZXIgc2hvdWxkIGJlIGJsdWUsIHN0ZW5jaWwgc2hvdWxk
IGJlIHByZXNlcnZlZCIpOworICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwg
MCwgMTAsIDEwLCBbMCwgMCwgMCwgMF0sICJyZW1haW5kZXIgb2YgYnVmZmVyIHNob3VsZCBiZSBj
bGVhcmVkIik7CisgICAgICAgIH0KKyAgICAgICAgY2xlYXIoZ2wxKTsKKworICAgICAgICBmaW5p
c2hUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpdGVyKys7CisgICAgc2V0
VGltZW91dCh0aW1lciwgNTAwKTsKK30KKworZnVuY3Rpb24gZ28oKSB7CisgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCBlbnN1cmVzIFdlYkdMIGltcGxlbWVudGF0aW9ucyBjb3JyZWN0bHkgY2xl
YXIgdGhlIGRyYXdpbmcgYnVmZmVyIG9uIGNvbXBvc2l0ZSBpZiBwcmVzZXJ2ZURyYXdpbmdCdWZm
ZXIgaXMgZmFsc2UuIik7CisKKyAgICBkZWJ1ZygiIik7CisKKyAgICBnbDEgPSB3dHUuY3JlYXRl
M0RDb250ZXh0KCJjIik7CisgICAgaWYgKCFnbDEpIHsKKyAgICAgICAgZmluaXNoVGVzdCgpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgc2hvdWxkQmVUcnVlKCJnbDEgIT0gbnVsbCIp
OworICAgIHNob3VsZEJlVHJ1ZSgnZ2wxLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlc2VydmVE
cmF3aW5nQnVmZmVyID09IGZhbHNlJyk7CisKKyAgICBzZXRUaW1lb3V0KHRpbWVyLCA1MDApOwor
fQorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGdvLCBmYWxzZSk7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwh
LS0gSW1wb3J0YW50IHRvIHB1dCB0aGUgY2FudmFzIGF0IHRoZSB0b3Agc28gdGhhdCBpdCdzIGFs
d2F5cyB2aXNpYmxlIGV2ZW4gaW4gdGhlIHRlc3Qgc3VpdGUgcnVubmVyLgorICAgICBPdGhlcndp
c2UgaXQganVzdCBkb2Vzbid0IGdldCBjb21wb3NpdGVkIGluIEZpcmVmb3guIC0tPgorPGNhbnZh
cyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibHVlOyIg
aWQ9ImMiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJh
d2luZ2J1ZmZlci10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTYzNzljNmFmYTgxNDNjODU0NDkzNzk1MTU1MzczZmNjYjA0ZWMyOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbApAQCAtMCwwICsxLDEz
OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ2FudmFzLmRyYXdpbmdCdWZmZXJXaWR0aCxkcmF3aW5nQnVmZmVySGVpZ2h0IENvbmZvcm1h
bmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0
cmljdCI7CitkZXNjcmlwdGlvbigpOworZGVidWcoIiIpOworCit2YXIgZ2w7Cit2YXIgb2xkVmll
d3BvcnQ7CisKK2Z1bmN0aW9uIGdldE1heFZpZXdwb3J0RGltZW5zaW9ucygpIHsKKyAgLy8gY3Jl
YXRlIGEgZnJlc2ggY2FudmFzLiBUaGlzIGNhbnZhcyB3aWxsIGJlIGRpc2NhcmRlZAorICAvLyBh
ZnRlciBleGl0aW5nIHRoaXMgZnVuY3Rpb24uCisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJjYW52YXMiKTsKKyAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywg
e2FudGlhbGlhczogZmFsc2V9KTsKKyAgaWYgKCFnbCkgeworICAgIHRlc3RGYWlsZWQoImNvbnRl
eHQgZG9lcyBub3QgZXhpc3QiKTsKKyAgICByZXR1cm4gWzAsIDBdOworICB9IGVsc2UgeworICAg
IHRlc3RQYXNzZWQoImNvbnRleHQgZXhpc3RzIik7CisKKyAgICAvLyBGb3IgYSBkZWZhdWx0IHNp
emUgY2FudmFzIHRoZXNlIHNob3VsZCBiZSBlcXVhbC4KKyAgICAvLyBXZWJHTCBjb250ZXh0cyBh
cmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkcmF3aW5nQnVmZmVyCisg
ICAgLy8gZm9yIHRoaW5ncyBsaWtlIGhpLXJlcyBkaXNwbGF5cy4KKyAgICBzaG91bGRCZSgnZ2wu
ZHJhd2luZ0J1ZmZlcldpZHRoJywgJ2dsLmNhbnZhcy53aWR0aCcpOworICAgIHNob3VsZEJlKCdn
bC5kcmF3aW5nQnVmZmVySGVpZ2h0JywgJ2dsLmNhbnZhcy5oZWlnaHQnKTsKKyAgICByZXR1cm4g
Z2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WSUVXUE9SVF9ESU1TKTsKKyAgfQorfQorCitmdW5jdGlv
biB0ZXN0KGRlc2lyZWRXaWR0aCwgZGVzaXJlZEhlaWdodCkgeworICBkZWJ1ZygiIik7CisgIGRl
YnVnKCJ0ZXN0aW5nIGNhbnZhcyB3aWR0aCA9ICIgKyBkZXNpcmVkV2lkdGggKyAiLCBoZWlnaHQg
PSAiICsgZGVzaXJlZEhlaWdodCk7CisKKyAgLy8gTWFrZSBhIGZyZXNoIGNhbnZhcy4KKyAgdmFy
IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICBjYW52YXMud2lk
dGggPSBkZXNpcmVkV2lkdGg7CisgIGNhbnZhcy5oZWlnaHQgPSBkZXNpcmVkSGVpZ2h0OworCisg
IC8vIFRoaXMgJ2dsJyBtdXN0IGJlIGdsb2JhbCBmb3Igc2hvdWxkQmUgdG8gd29yay4KKyAgZ2wg
PSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywge2FudGlhbGlhczogZmFsc2V9KTsKKyAgaWYg
KCFnbCkgeworICAgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKKyAgfSBl
bHNlIHsKKyAgICB0ZXN0UGFzc2VkKCJjb250ZXh0IGV4aXN0cyIpOworCisgICAgLy8gVmVyaWZ5
IHRoZXNlIHN0YXRzIGRpZG4ndCBjaGFuZ2Ugc2luY2UgdGhleSBjb21lIGZyb20gYSBkaWZmZXJl
bnQKKyAgICAvLyBjb250ZXh0LgorICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFY
X1ZJRVdQT1JUX0RJTVMpWzBdJywgJ21heFNpemVbMF0nKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0
UGFyYW1ldGVyKGdsLk1BWF9WSUVXUE9SVF9ESU1TKVsxXScsICdtYXhTaXplWzFdJyk7CisKKyAg
ICAvLyBjaGVjayB0aGUgaW5pdGlhbCB2aWV3cG9ydCBtYXRjaGVzIHRoZSBkcmF3aW5nQnVmZmVy
V2lkdGggYW5kIGRyYXdpbmdCdWZmZXJIZWlnaHQKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1l
dGVyKGdsLlZJRVdQT1JUKVswXScsICcwJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRl
cihnbC5WSUVXUE9SVClbMV0nLCAnMCcpOworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIo
Z2wuVklFV1BPUlQpWzJdJywgJ2dsLmRyYXdpbmdCdWZmZXJXaWR0aCcpOworICAgIHNob3VsZEJl
KCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzNdJywgJ2dsLmRyYXdpbmdCdWZmZXJIZWln
aHQnKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygidGVzdGluZyByZXNpemluZyBjYW52
YXMgdG8gd2lkdGggPSAiICsgZGVzaXJlZFdpZHRoICsgIiwgaGVpZ2h0ID0gIiArIGRlc2lyZWRI
ZWlnaHQpOworCisgICAgb2xkVmlld3BvcnQgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQp
OworCisgICAgLy8gZmxpcCB3aWR0aCBhbmQgaGVpZ2h0CisgICAgY2FudmFzLndpZHRoID0gZGVz
aXJlZEhlaWdodDsKKyAgICBjYW52YXMuaGVpZ2h0ID0gZGVzaXJlZFdpZHRoOworCisgICAgLy8g
VmVyaWZ5IHRoZSB2aWV3cG9ydCBkaWRuJ3QgY2hhbmdlLgorICAgIHNob3VsZEJlKCdnbC5nZXRQ
YXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzBdJywgJ29sZFZpZXdwb3J0WzBdJyk7CisgICAgc2hvdWxk
QmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbMV0nLCAnb2xkVmlld3BvcnRbMV0nKTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsyXScsICdvbGRWaWV3
cG9ydFsyXScpOworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzNd
JywgJ29sZFZpZXdwb3J0WzNdJyk7CisKKyAgICAvLyBmaXggdGhlIHZpZXdwb3J0CisvLyAgICBn
bC52aWV3cG9ydCgwLCAwLCBnbC5kcmF3aW5nQnVmZmVyV2lkdGgsIGdsLmRyYXdpbmdCdWZmZXJI
ZWlnaHQpOworCisgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAnZ2wuTk9fRVJST1InKTsK
KyAgfQorfQorCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgbWF4U2l6ZSA9IGdldE1h
eFZpZXdwb3J0RGltZW5zaW9ucygpOworZGVidWcoIk1BWF9WSUVXUE9SVF9ESU1TOiAiICsgbWF4
U2l6ZVswXSArICIsICIgKyBtYXhTaXplWzFdKTsKKworc2hvdWxkQmVUcnVlKCdtYXhTaXplWzBd
ID4gMCcpOworc2hvdWxkQmVUcnVlKCdtYXhTaXplWzFdID4gMCcpOworCisvLyB0ZXN0IGEgc21h
bGwgc2l6ZSB0byBtYWtlIHN1cmUgaXQgd29ya3MgYXQgYWxsLgordGVzdCgxNiwgMzIpOworCisv
LyBNYWtlIGEgY2FudmFzIHNsaWdodGx5IGxhcmdlciB0aGFuIHRoZSBtYXggc2l6ZSBXZWJHTCBj
YW4gaGFuZGxlLgorLy8gRnJvbSBzZWN0aW9uIDIuMiBvZiB0aGUgc3BlYyB0aGUgV2ViR0wgaW1w
bGVtZW50YXRpb24gc2hvdWxkIGFsbG93IHRoaXMgdG8gd29yay4KKworLy8gdGVzdCBhIHNpemUg
bGFyZ2VyIHRoYW4gTUFYX1ZJRVdQT1JUX0RJTVMgaW4gYm90aCBkaW1lbnNpb25zCit0ZXN0KG1h
eFNpemVbMF0gKyAzMiwgOCk7CisKK2RlYnVnKCIiKQordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90
by1kYXRhLXVybC10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNmZThkZmYxYTg5MWU1OTM5Mjc1OTNiZWJjNzllM2IyMzljYWJiODYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTMwIEBA
Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5j
LgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29y
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRv
IGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoq
IHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn
ZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGll
cyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl
IE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k
IHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3Bp
ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUg
TUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiog
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBP
RiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBP
UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhF
UiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdG9E
YXRhVVJMIHRlc3Q8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyB3aWR0
aD0iMjAiIGhlaWdodD0iMjAiIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibGFjazsgd2lkdGg6
IDE2cHg7IGhlaWdodDogMTZweCIgaWQ9ImMzZCI+PC9jYW52YXM+Cis8Y2FudmFzIHdpZHRoPSIy
MCIgaGVpZ2h0PSIyMCIgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyB3aWR0aDogMTZw
eDsgaGVpZ2h0OiAxNnB4IiBpZD0iYzJkIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIG51bVRlc3RzID0gMTA7
Cit2YXIgZ2w7Cit2YXIgY3R4OworCit2YXIgbWFpbiA9IGZ1bmN0aW9uKCkgeworICBkZXNjcmlw
dGlvbigpOworICBjdHggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYzJkIikuZ2V0Q29udGV4
dCgiMmQiKTsKKyAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjM2QiKTsKKworICBpZiAoIWds
KSB7CisgICAgdGVzdEZhaWxlZCgiY2FuJ3QgY3JlYXRlIDNkIGNvbnRleHQiKTsKKyAgICByZXR1
cm47CisgIH0KKworICB2YXIgY2xlYXJSZWN0ID0gZnVuY3Rpb24oZ2wsIHgsIHksIHdpZHRoLCBo
ZWlnaHQsIGNvbG9yKSB7CisgICAgZ2wuY2xlYXJDb2xvcihjb2xvclswXSAvIDI1NSwgY29sb3Jb
MV0gLyAyNTUsIGNvbG9yWzJdIC8gMjU1LCBjb2xvclszXSAvIDI1NSk7CisgICAgZ2wuc2Npc3Nv
cih4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklU
KTsKKyAgfTsKKworICB2YXIgdGVzdFNpemUgPSBmdW5jdGlvbihnbCwgd2lkdGgsIGhlaWdodCwg
Y2FsbGJhY2spIHsKKyAgICBkZWJ1ZygidGVzdGluZyAiICsgd2lkdGggKyAiIGJ5ICIgKyBoZWln
aHQpOworICAgIGdsLmNhbnZhcy53aWR0aCA9IHdpZHRoOworICAgIGdsLmNhbnZhcy5oZWlnaHQg
PSBoZWlnaHQ7CisgICAgZ2wudmlld3BvcnQoMCwgMCwgd2lkdGgsIGhlaWdodCk7CisgICAgZ2wu
ZW5hYmxlKGdsLlNDSVNTT1JfVEVTVCk7CisKKyAgICB2YXIgYm90dG9tQ29sb3IgPSBbMjU1LCAw
LCAwLCAyNTVdOworICAgIHZhciB0b3BDb2xvciA9IFswLCAyNTUsIDAsIDI1NV07CisgICAgdmFy
IHJpZ2h0Q29sb3IgPSBbMCwgMCwgMjU1LCAyNTVdOworICAgIHZhciBoYWxmSGVpZ2h0ID0gTWF0
aC5mbG9vcihoZWlnaHQgLyAyKTsKKyAgICB2YXIgdG9wSGVpZ2h0ID0gaGVpZ2h0IC0gaGFsZkhl
aWdodDsKKyAgICB2YXIgY2FudmFzVG9wSGVpZ2h0ID0gaGVpZ2h0IC0gdG9wSGVpZ2h0OworICAg
IGNsZWFyUmVjdChnbCwgMCwgMCwgd2lkdGgsIGhhbGZIZWlnaHQsIGJvdHRvbUNvbG9yKTsKKyAg
ICBjbGVhclJlY3QoZ2wsIDAsIGhhbGZIZWlnaHQsIHdpZHRoLCB0b3BIZWlnaHQsIHRvcENvbG9y
KTsKKyAgICBjbGVhclJlY3QoZ2wsIHdpZHRoIC0gMSwgMCwgMSwgaGVpZ2h0LCByaWdodENvbG9y
KTsKKworICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKKyAgICBpbWcub25sb2FkID0gZnVuY3Rp
b24oKSB7CisgICAgICBjdHguY2FudmFzLndpZHRoID0gd2lkdGg7CisgICAgICBjdHguY2FudmFz
LmhlaWdodCA9IGhlaWdodDsKKyAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsKKyAgICAg
IHd0dS5jaGVja0NhbnZhc1JlY3QoY3R4LCAwLCAwLCB3aWR0aCAtIDEsIHRvcEhlaWdodCwgdG9w
Q29sb3IpOworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChjdHgsIDAsIHRvcEhlaWdodCwgd2lk
dGggLSAxLCBoYWxmSGVpZ2h0LCBib3R0b21Db2xvcik7CisgICAgICB3dHUuY2hlY2tDYW52YXNS
ZWN0KGN0eCwgd2lkdGggLSAxLCAwLCAxLCBoZWlnaHQsIHJpZ2h0Q29sb3IpOworICAgICAgZGVi
dWcoIiIpOworICAgICAgY2FsbGJhY2soKTsKKyAgICB9OworICAgIGltZy5zcmMgPSBnbC5jYW52
YXMudG9EYXRhVVJMKCk7CisgIH07CisKKyAgdmFyIHRlc3RzID0gWworICAgIHsgd2lkdGg6ICAx
NiAgICAsIGhlaWdodDogIDE2ICAgICwgfSwKKyAgICB7IHdpZHRoOiAgMTYgLSAxLCBoZWlnaHQ6
ICAxNiAgICAsIH0sCisgICAgeyB3aWR0aDogIDE2IC0gMSwgaGVpZ2h0OiAgMTYgLSAxLCB9LAor
ICAgIHsgd2lkdGg6ICAxNiArIDEsIGhlaWdodDogIDE2IC0gMSwgfSwKKyAgICB7IHdpZHRoOiAg
MTYgLSAxLCBoZWlnaHQ6ICAxNiArIDEsIH0sCisgICAgeyB3aWR0aDogMjU2ICAgICwgaGVpZ2h0
OiAyNTYgICAgLCB9LAorICAgIHsgd2lkdGg6IDI1NiAtIDEsIGhlaWdodDogMjU2ICAgICwgfSwK
KyAgICB7IHdpZHRoOiAyNTYgLSAxLCBoZWlnaHQ6IDI1NiAtIDEsIH0sCisgICAgeyB3aWR0aDog
MjU2ICsgMSwgaGVpZ2h0OiAyNTYgLSAxLCB9LAorICAgIHsgd2lkdGg6IDI1NiAtIDEsIGhlaWdo
dDogMjU2ICsgMSwgfSwKKyAgICB7IHdpZHRoOiA1MTIgICAgLCBoZWlnaHQ6IDUxMiAgICAsIH0s
CisgICAgeyB3aWR0aDogNTEyIC0gMSwgaGVpZ2h0OiA1MTIgICAgLCB9LAorICAgIHsgd2lkdGg6
IDUxMiAtIDEsIGhlaWdodDogNTEyIC0gMSwgfSwKKyAgICB7IHdpZHRoOiA1MTIgKyAxLCBoZWln
aHQ6IDUxMiAtIDEsIH0sCisgICAgeyB3aWR0aDogNTEyIC0gMSwgaGVpZ2h0OiA1MTIgKyAxLCB9
LAorICBdOworICB2YXIgdGVzdEluZGV4ID0gMDsKKyAgdmFyIHJ1bk5leHRUZXN0ID0gZnVuY3Rp
b24oKSB7CisgICAgaWYgKHRlc3RJbmRleCA9PSB0ZXN0cy5sZW5ndGgpIHsKKyAgICAgIGZpbmlz
aFRlc3QoKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisgICAgdmFyIHRlc3QgPSB0ZXN0c1t0ZXN0
SW5kZXgrK107CisgICAgdGVzdFNpemUoZ2wsIHRlc3Qud2lkdGgsIHRlc3QuaGVpZ2h0LCBmdW5j
dGlvbigpIHsKKyAgICAgIHNldFRpbWVvdXQocnVuTmV4dFRlc3QsIDEwMCk7CisgICAgfSkKKyAg
fTsKKyAgcnVuTmV4dFRlc3QoKTsKK307CittYWluKCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250
ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250
ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDE4YzA2YWQ0ZWFiNWVmYTk2NjY1M2NmYTgyNTlhZWI5YTkyZGZjYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZm
ZXIuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBjYW52YXMgeworICAgICAgICAgICAgICAg
IHdpZHRoOjUwcHg7CisgICAgICAgICAgICAgICAgaGVpZ2h0OjUwcHg7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICAuc3F1YXJlIHsKKyAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1i
bG9jazsKKyAgICAgICAgICAgICAgICB3aWR0aDo1MHB4OworICAgICAgICAgICAgICAgIGhlaWdo
dDo1MHB4OworICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6cmVkOworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgInVz
ZSBzdHJpY3QiOworICAgICAgICAgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgICAg
ICAgICAgZnVuY3Rpb24gY2hlY2tSZXN1bHQoY3R4MSwgY3R4MiwgcHJlc2VydmUpIHsKKyAgICAg
ICAgICAgICAgICB2YXIgaW1nRGF0YTEgPSBjdHgxLmdldEltYWdlRGF0YSgwLDAsMSwxKTsKKyAg
ICAgICAgICAgICAgICB2YXIgaW1nRGF0YTIgPSBjdHgyLmdldEltYWdlRGF0YSgwLDAsMSwxKTsK
KyAgICAgICAgICAgICAgICB2YXIgY29ycmVjdDEgPSBbMjU1LDAsMCwyNTVdOworICAgICAgICAg
ICAgICAgIHZhciBjb3JyZWN0MiA9IHByZXNlcnZlID8gWzI1NSwwLDAsMjU1XSA6IFswLDAsMCwy
NTVdOworICAgICAgICAgICAgICAgIHZhciBvazEgPSB0cnVlOworICAgICAgICAgICAgICAgIHZh
ciBvazIgPSB0cnVlOworICAgICAgICAgICAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgNDsgKytw
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChpbWdEYXRhMS5kYXRhW3BdICE9IGNvcnJlY3Qx
W3BdKQorICAgICAgICAgICAgICAgICAgICAgICAgb2sxID0gZmFsc2U7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChpbWdEYXRhMi5kYXRhW3BdICE9IGNvcnJlY3QyW3BdKQorICAgICAgICAgICAg
ICAgICAgICAgICAgb2syID0gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGlmIChvazEgJiYgb2syKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdSZW5k
ZXJlZCBvayB3aXRoIHByZXNlcnZlRHJhd2luZ0J1ZmZlciAnICsgcHJlc2VydmUgKycuJyk7Cisg
ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdEaWQg
bm90IHJlbmRlciBvayB3aXRoIHByZXNlcnZlRHJhd2luZ0J1ZmZlciAnICsgcHJlc2VydmUgKyAn
LicpOworICAgICAgICAgICAgICAgIGlmIChwcmVzZXJ2ZSkgeworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hUZXN0KCkKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICBydW5UZXN0KHRydWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdChwcmVzZXJ2ZSkgeworICAgICAgICAgICAgICAg
IHZhciBjMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyArIChwcmVzZXJ2ZSAqIDMgKyAx
KSk7CisgICAgICAgICAgICAgICAgdmFyIGMyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Mn
ICsgKHByZXNlcnZlICogMyArIDIpKTsKKyAgICAgICAgICAgICAgICB2YXIgYzMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnYycgKyAocHJlc2VydmUgKiAzICsgMykpOworICAgICAgICAgICAg
ICAgIHZhciBjdHgxID0gYzEuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICAgICAgICAgICAgICB2YXIg
Y3R4MiA9IGMyLmdldENvbnRleHQoJzJkJyk7CisgICAgICAgICAgICAgICAgdmFyIGdsID0gd3R1
LmNyZWF0ZTNEQ29udGV4dChjMywgeyBhbHBoYTpmYWxzZSwgcHJlc2VydmVEcmF3aW5nQnVmZmVy
OnByZXNlcnZlIH0pOworICAgICAgICAgICAgICAgIGdsLmNsZWFyQ29sb3IoMSwgMCwgMCwgMSk7
CisgICAgICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgICAg
ICAgICAgICAgY3R4MS5kcmF3SW1hZ2UoYzMsIDAsIDApOworICAgICAgICAgICAgICAgIHd0dS53
YWl0Rm9yQ29tcG9zaXRlKGdsLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgY3R4
Mi5kcmF3SW1hZ2UoYzMsIDAsIDApOworICAgICAgICAgICAgICAgICAgICBjaGVja1Jlc3VsdChj
dHgxLCBjdHgyLCBwcmVzZXJ2ZSk7CisgICAgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8
ZGl2PgorICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzEnPjwvY2FudmFzPgorICAgICAgICAgICAg
PGNhbnZhcyBpZD0nYzInPjwvY2FudmFzPgorICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzMnPjwv
Y2FudmFzPgorICAgICAgICAgICAgPHNwYW4+c2hvdWxkIGxvb2sgYXMgcmlnaHQgcGF0dGVybjwv
c3Bhbj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+CisgICAgICAgICAg
ICA8ZGl2IGNsYXNzPSdzcXVhcmUnIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrJz48L2Rp
dj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+CisgICAgICAgIDwvZGl2
PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzQnPjwvY2FudmFzPgor
ICAgICAgICAgICAgPGNhbnZhcyBpZD0nYzUnPjwvY2FudmFzPgorICAgICAgICAgICAgPGNhbnZh
cyBpZD0nYzYnPjwvY2FudmFzPgorICAgICAgICAgICAgPHNwYW4+c2hvdWxkIGxvb2sgYXMgcmln
aHQgcGF0dGVybjwvc3Bhbj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+
CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSdzcXVhcmUnPjwvZGl2PgorICAgICAgICAgICAgPGRp
diBjbGFzcz0nc3F1YXJlJz48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbignVmVyaWZ5IHRoYXQgcHJlc2VydmVEcmF3aW5nQnVmZmVyIGF0dHJpYnV0ZSBp
cyBob25vcmVkLicpOworICAgICAgICAgICAgcnVuVGVzdChmYWxzZSk7CisgICAgICAgICAgICB2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgi
c3VjY2Vzc2Z1bGx5UGFyc2VkIik7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MDhmYzM5MTM0MGFhN2U4ZWM5YzA3ODZhYmY3NTA3YjRmZDYxNWFlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPlRlc3QgdGhhdCBjb250ZXh0cyBhcmUgZnJlZWQgYW5kIGdhcmJhZ2UgY29s
bGVjdGVkIHJlYXNvbmFibHk8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorInVzZSBzdHJpY3QiOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIHRhcmdldCA9
IDUwMDsKK3ZhciBjb3VudCA9IDA7CisKK2Rlc2NyaXB0aW9uKCk7Citkb05leHRUZXN0KCk7CisK
Ky8vIENyZWF0ZXMgYSBjYW52YXMgYW5kIGEgdGV4dHVyZSB0aGVuIGV4aXRzLiBUaGVyZSBhcmUK
Ky8vIG5vIHJlZmVyZW5jZXMgdG8gZWl0aGVyIHNvIGJvdGggc2hvdWxkIGJlIGdhcmJhZ2UgY29s
bGVjdGVkLgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImNhbnZhcyIpOworICAvLyBUaGlzIGlzIHNhZmUgZm9yIGFueSBkZXZpY2UuIFNl
ZSBkcmF3aW5nQnVmZmVyV2lkdGggaW4gc3BlYy4KKyAgY2FudmFzLndpZHRoID0gMjA0ODsKKyAg
Y2FudmFzLmhlaWdodCA9IDIwNDg7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2Fu
dmFzKTsKKyAgdmFyIG1heFRleHR1cmVTaXplID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9URVhU
VVJFX1NJWkUpOworICB2YXIgc2l6ZSA9IE1hdGgubWluKDEwMjQsIG1heFRleHR1cmVTaXplKTsK
KyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV8yRCwgdGV4KTsKKyAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JB
LCBzaXplLCBzaXplLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgICAg
ICAgIG5ldyBVaW50OEFycmF5KHNpemUgKiBzaXplICogNCkpOworICBnbC5jbGVhcihnbC5DT0xP
Ul9CVUZGRVJfQklUKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3Vs
ZCBiZSBubyBlcnJvcnMiKTsKK30KKworZnVuY3Rpb24gZG9OZXh0VGVzdCgpIHsKKyAgKytjb3Vu
dDsKKyAgZGVidWcoInRlc3QgIiArIGNvdW50ICsgIiBvZiAiICsgdGFyZ2V0KTsKKyAgdGVzdCgp
OworICBpZiAoY291bnQgPCB0YXJnZXQpIHsKKyAgICBzZXRUaW1lb3V0KGRvTmV4dFRlc3QsIDEw
MCk7CisgIH0gZWxzZSB7CisgICAgZmluaXNoVGVzdCgpOworICB9Cit9CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzQwZDBhMjliMDZjMGM2YmZjMzU2NjRhOWE5YjIzNjM4ZWQxMWE5Zgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3Rl
cC1nZW50eXBlLmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5HTFNMIHNtb290aHN0ZXAtZ2VudHlwZSBmdW5jdGlv
biB0ZXN0PC90aXRsZT4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorICA8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+CisgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0
PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZ2VuZXJhdG9yLmpzIj4gPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKworCitHTFNM
R2VuZXJhdG9yLnJ1bkZlYXR1cmVUZXN0KHsKKyAgZmVhdHVyZTogInNtb290aHN0ZXAiLAorICBh
cmdzOiAiJCh0eXBlKSBlZGdlMCwgJCh0eXBlKSBlZGdlMSwgJCh0eXBlKSB2YWx1ZSIsCisgIGJh
c2VBcmdzOiAiZWRnZTAkKGZpZWxkKSwgZWRnZTEkKGZpZWxkKSwgdmFsdWUkKGZpZWxkKSIsCisg
IHRlc3RGdW5jOiAiJChmdW5jKSgkKHR5cGUpLCAkKHR5cGUpLCAkKHR5cGUpKSIsCisgIGVtdUZ1
bmM6IFsiZmxvYXQgJChmdW5jKV9iYXNlKGZsb2F0IGVkZ2UwLCBmbG9hdCBlZGdlMSwgZmxvYXQg
dmFsdWUpIHsiLAorICAgICAgICAgICAgIiAgZmxvYXQgdCA9IGNsYW1wKCh2YWx1ZSAtIGVkZ2Uw
KSAvIChlZGdlMSAtIGVkZ2UwKSwgMC4wLCAxLjApOyIsCisgICAgICAgICAgICAiICByZXR1cm4g
dCAqIHQgKiAoMy4wIC0gMi4wICogdCk7IiwKKyAgICAgICAgICAgICJ9Il0uam9pbigiXG4iKSwK
KyAgZ3JpZFJlczogOCwKKyAgdG9sZXJhbmNlOiAxLAorICB0ZXN0czogWworICAgIFsiJChvdXRw
dXQpID0gdmVjNCgiLAorICAgICAiICAgICQoZnVuYykoMC4zLCAwLjcsICQoaW5wdXQpLngpLCIs
CisgICAgICIgICAgJChmdW5jKSgwLjIsIDAuOCwgJChpbnB1dCkueSksIiwKKyAgICAgIiAgICAw
LCIsCisgICAgICIgICAgMSk7Il0uam9pbigiXG4iKSwKKyAgICBbIiQob3V0cHV0KSA9IHZlYzQo
IiwKKyAgICAgIiAgICAkKGZ1bmMpKHZlYzIoMC40LCAwLjYpLCB2ZWMyKDAuOCwgMC45KSwgJChp
bnB1dCkueHkpLCIsCisgICAgICIgICAgMCwgMSk7Il0uam9pbigiXG4iKSwKKyAgICBbIiQob3V0
cHV0KSA9IHZlYzQoIiwKKyAgICAgIiAgICAkKGZ1bmMpKHZlYzMoMC4zLCAwLjUsIDAuNyksIHZl
YzMoMC43LCAwLjksIDEuMCksICQoaW5wdXQpLnh5eiksIiwKKyAgICAgIiAgICAxKTsiXS5qb2lu
KCJcbiIpLAorICAgIFsiJChvdXRwdXQpID0gIiwKKyAgICAgIiAgICAkKGZ1bmMpKHZlYzQoMC4z
LCAwLjQsIDAuNSwgMC4yKSwgIiwKKyAgICAgIiAgICAgICAgICAgIHZlYzQoMC43LCAwLjYsIDAu
OSwgMC44KSwgIiwKKyAgICAgIiAgICAgICAgICAgICQoaW5wdXQpKTsiXS5qb2luKCJcbiIpCisg
IF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZl
cnQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzg4ZTRlMWRhNmU4ZTU3ZDQ1MDViYTM3N2U4NjI5Y2IyNTRjMDEzMgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwKQEAgLTAsMCArMSw3
MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgR0xTTCBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNz
cyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNl
LXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZlcnRleFNo
YWRlciIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorCisvLyBwYXJzaW5n
IGZsb2F0aW5nIHBvaW50IGxpdGVyYWxzIHNob3VsZCBzdWNjZWVkCit2b2lkIG1haW4oKSB7Cisg
IGZsb2F0IHplcm8gPSAwLjA7CisgIGZsb2F0IGZyYWN0aW9uYWxDb25zdGFudCA9IDEuMDsKKyAg
ZmxvYXQgZnJhY3Rpb25hbENvbnN0YW50RXhwb25lbnQgPSAxLjBlMTsKKyAgZmxvYXQgZnJhY3Rp
b25hbENvbnN0YW50UG9zRXhwb25lbnQgPSAxLjBlKzE7CisgIGZsb2F0IGZyYWN0aW9uYWxDb25z
dGFudE5lZ0V4cG9uZW50ID0gMS4wZS0xOworICBmbG9hdCBkaWdpdFNlcXVlbmNlRXhwb25lbnQg
PSAxZTE7CisgIGZsb2F0IGRpZ2l0U2VxdWVuY2VQb3NFeHBvbmVudCA9IDFlKzE7CisgIGZsb2F0
IGRpZ2l0U2VxdWVuY2VOZWdFeHBvbmVudCA9IDFlLTE7CisgIGZsb2F0IHBvaW50RGlnaXQgPSAu
MTsKKyAgZmxvYXQgZGlnaXRQb2ludD0gMS47CisgIGZsb2F0IHVwcGVyQ2FzZUV4cG9uZW50ID0g
MS4wRTE7CisgIGhpZ2hwIGZsb2F0IHBvc0luUmFuZ2UgPSA0NjExNjg2MDE4NDI3Mzg3OTAzLjsg
IC8vIDJeNjIgLSAxCisgIGhpZ2hwIGZsb2F0IHBvc091dFJhbmdlID0gNDYxMTY4NjAxODQyNzM4
NzkwNS47ICAvLyAyXjYyICsgMQorICBoaWdocCBmbG9hdCBwb3NIdWdlID0gMUUxMDA7CisgIGhp
Z2hwIGZsb2F0IG5lZ0luUmFuZ2UgPSAtNDYxMTY4NjAxODQyNzM4NzkwMy47CisgIGhpZ2hwIGZs
b2F0IG5lZ091dFJhbmdlID0gLTQ2MTE2ODYwMTg0MjczODc5MDUuOworICBoaWdocCBmbG9hdCBu
ZWdIdWdlID0gMUUxMDA7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitH
TFNMQ29uZm9ybWFuY2VUZXN0ZXIucnVuVGVzdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUw
OGM3ZTdiNjJiMWIwMDU2NWM3ZWE3Y2JjYWE2YWUyOTcyZTBjZjMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbApAQCAt
MCwwICsxLDI2OCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgdW5pZm9ybSBwYWNraW5nIHJlc3RyY3Rpb25zIENvbmZvcm1hbmNlIFRlc3Q8
L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9j
YW52YXM+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+Cisg
ICAgYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAg
ICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIHByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OworICAgIHZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisgICAgdm9pZCBtYWlu
KCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZfdmFyeWluZzsKKyAgICB9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtdmVy
dGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOworICAgIHZhcnlpbmcgdmVjNCB2
X3Zhcnlpbmc7CisgICAgdW5pZm9ybSAkKHR5cGUpIHVfdW5pZm9ybVskKG51bVRlc3RUeXBlKV07
CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIHZfdmFyeWluZyA9ICQoY29kZSk7Cisg
ICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgaWQ9ImZzaGFkZXJBcnJheVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAg
IHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVuaWZvcm0gJCh0eXBlKSB1X3VuaWZvcm1b
JChudW1UZXN0VHlwZSldOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFn
Q29sb3IgPSAkKGNvZGUpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlclVu
aWZvcm1UZXN0IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBhdHRyaWJ1dGUgdmVj
NCBhX3Bvc2l0aW9uOworICAgIHZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CiskKHVuaWZvcm1zKQor
ICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICB2X3ZhcnlpbmcgPSAkKGNvZGUpOworICAg
ICAgICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJmc2hhZGVyVW5pZm9ybVRlc3QiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAg
IHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworJCh1bmlmb3JtcykKKyAgICB2b2lkIG1haW4oKQor
ICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gJChjb2RlKTsKKyAgICB9Cis8L3NjcmlwdD4K
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworZGVidWcoIiIpOwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhh
bXBsZSIpOworCit2YXIgdW5pZm9ybVR5cGVzID0gWworICB7IHR5cGU6ICJib29sIiwgICAgICAg
IGNvbXBvbmVudHNQZXJSb3c6IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQp
JChpbmRleCksIDAsIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAiZmxvYXQiLCAgICAgICBjb21wb25l
bnRzUGVyUm93OiAxLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgp
LCAwLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogImludCIsICAgICAgICAgY29tcG9uZW50c1BlclJv
dzogMSwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCwgMCwg
MCkiLCB9LAorICB7IHR5cGU6ICJ2ZWMyIiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDIsIHJv
d3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDApIiwgfSwKKyAg
eyB0eXBlOiAiaXZlYzIiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiAyLCByb3dzOiAxLCBjb2Rl
OiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogImJ2
ZWMyIiwgICAgICAgY29tcG9uZW50c1BlclJvdzogMiwgcm93czogMSwgY29kZTogInZlYzQodV91
bmlmb3JtJChpZCkkKGluZGV4KSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWMzIiwgICAgICAg
IGNvbXBvbmVudHNQZXJSb3c6IDMsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQp
JChpbmRleCksIDApIiwgfSwKKyAgeyB0eXBlOiAiaXZlYzMiLCAgICAgICBjb21wb25lbnRzUGVy
Um93OiAzLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwKSIs
IH0sCisgIHsgdHlwZTogImJ2ZWMzIiwgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czog
MSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCkiLCB9LAorICB7IHR5cGU6
ICJ2ZWM0IiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0
KHVfdW5pZm9ybSQoaWQpJChpbmRleCkpIiwgfSwKKyAgeyB0eXBlOiAiaXZlYzQiLCAgICAgICBj
b21wb25lbnRzUGVyUm93OiA0LCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQo
aW5kZXgpKSIsIH0sCisgIHsgdHlwZTogImJ2ZWM0IiwgICAgICAgY29tcG9uZW50c1BlclJvdzog
NCwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSkiLCB9LAorLy8g
WWVzLCB0aGUgc3BlYyBzYXlzIG1hdDIgdGFrZXMgNCBjb2x1bW5zLCAyIHJvd3MuCisgIHsgdHlw
ZTogIm1hdDIiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czogMiwgY29kZTogInZl
YzQodV91bmlmb3JtJChpZCkkKGluZGV4KVswXSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJtYXQz
IiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDMsIHJvd3M6IDMsIGNvZGU6ICJ2ZWM0KHVfdW5p
Zm9ybSQoaWQpJChpbmRleClbMF0sIDApIiwgfSwKKyAgeyB0eXBlOiAibWF0NCIsICAgICAgICBj
b21wb25lbnRzUGVyUm93OiA0LCByb3dzOiA0LCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQo
aW5kZXgpWzBdKSIsIH0sCisvLyBTYW1wbGVycyBnZW5lcmFsbHkgaGF2ZSBtb3JlIHJlc3RpY3Rp
dmUgbGltaXRzLgorLy8gIHsgdHlwZTogInNhbXBsZXIyRCIsICAgY29tcG9uZW50c1BlclJvdzog
MSwgcm93czogMSwgY29kZTogInZlYzQodGV4dHVyZTJEKHVfdW5pZm9ybVskKGluZGV4KV0sIHZl
YzIoMCwgMCkpKSIsIH0sCisvLyAgeyB0eXBlOiAic2FtcGxlckN1YmUiLCBjb21wb25lbnRzUGVy
Um93OiAxLCByb3dzOiAxLCBjb2RlOiAidmVjNCh0ZXh0dXJlQ3ViZSh1X3VuaWZvcm1bJChpbmRl
eCldLCB2ZWMzKDAsIDAsIDApKSkiLCB9LAorXTsKKwordmFyIHZCYXNlU291cmNlID0gd3R1Lmdl
dFNjcmlwdCgidnNoYWRlciIpOwordmFyIGZCYXNlU291cmNlID0gd3R1LmdldFNjcmlwdCgiZnNo
YWRlciIpOwordmFyIHZBcnJheVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyQXJy
YXlUZXN0Iik7Cit2YXIgZkFycmF5VGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXJB
cnJheVRlc3QiKTsKK3ZhciB2VW5pZm9ybVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hh
ZGVyVW5pZm9ybVRlc3QiKTsKK3ZhciBmVW5pZm9ybVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0
KCJmc2hhZGVyVW5pZm9ybVRlc3QiKTsKKwordmFyIHRlc3RzID0gW107Cit2YXIgc2hhZGVyVHlw
ZXMgPSBbCisgIHsgdHlwZTogInZlcnRleCIsCisgICAgLy8gRm9yIHRlc3RzIHRoYXQgZXhwZWN0
IGZhaWx1cmUgd2hpY2ggc2hhZGVyIG1pZ2h0IGZhaWwuCisgICAgdmVydEV4cGVjdGF0aW9uOiBm
YWxzZSwKKyAgICBmcmFnRXhwZWN0YXRpb246IHRydWUsCisgICAgdmVydEFycmF5VGVzdDogdkFy
cmF5VGVzdFNvdXJjZSwKKyAgICBmcmFnQXJyYXlUZXN0OiBmQmFzZVNvdXJjZSwKKyAgICB2ZXJ0
VW5pZm9ybVRlc3Q6IHZVbmlmb3JtVGVzdFNvdXJjZSwKKyAgICBmcmFnVW5pZm9ybVRlc3Q6IGZC
YXNlU291cmNlLAorICAgIG1heFZlY3RvcnM6IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVkVSVEVY
X1VOSUZPUk1fVkVDVE9SUyksCisgICAgbWluVmVjdG9yczogMTI4LCAgLy8gR0xTTCBFUyAxLjAu
MTcgQXBwZW5kaXggQS43LAorICB9LAorICB7IHR5cGU6ICJmcmFnbWVudCIsCisgICAgLy8gRm9y
IHRlc3RzIHRoYXQgZXhwZWN0IGZhaWx1cmUgd2hpY2ggc2hhZGVyIG1pZ2h0IGZhaWwuCisgICAg
dmVydEV4cGVjdGF0aW9uOiB0cnVlLAorICAgIGZyYWdFeHBlY3RhdGlvbjogZmFsc2UsCisgICAg
dmVydEFycmF5VGVzdDogdkJhc2VTb3VyY2UsCisgICAgZnJhZ0FycmF5VGVzdDogZkFycmF5VGVz
dFNvdXJjZSwKKyAgICB2ZXJ0VW5pZm9ybVRlc3Q6IHZCYXNlU291cmNlLAorICAgIGZyYWdVbmlm
b3JtVGVzdDogZlVuaWZvcm1UZXN0U291cmNlLAorICAgIG1heFZlY3RvcnM6IGdsLmdldFBhcmFt
ZXRlcihnbC5NQVhfRlJBR01FTlRfVU5JRk9STV9WRUNUT1JTKSwKKyAgICBtaW5WZWN0b3JzOiAx
NiwgIC8vIEdMU0wgRVMgMS4wLjE3IEFwcGVuZGl4IEEuNywKKyAgfSwKK107Citmb3IgKHZhciBz
cyA9IDA7IHNzIDwgc2hhZGVyVHlwZXMubGVuZ3RoOyArK3NzKSB7CisgIHZhciBzaGFkZXJUeXBl
ID0gc2hhZGVyVHlwZXNbc3NdOworICBkZWJ1ZygibWF4ICIgKyBzaGFkZXJUeXBlLnR5cGUgKyAi
OiAiICsgc2hhZGVyVHlwZS5tYXhWZWN0b3JzKTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHVu
aWZvcm1UeXBlcy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgaW5mbyA9IHVuaWZvcm1UeXBlc1tp
aV07CisgICAgd3R1LmxvZygiY2hlY2tpbmc6ICIgKyBpbmZvLnR5cGUpOworICAgIC8vIENvbXB1
dGUgdGhlIG1heGltdW0gYW1vdW50IG9mIHRoaXMgdHlwZSBhbGxvd2VkIGluIGEgc2luZ2xlIGFy
cmF5LgorICAgIHZhciBudW1WYXJzID0gTWF0aC5mbG9vcihzaGFkZXJUeXBlLm1heFZlY3RvcnMg
LyBpbmZvLnJvd3MpOworICAgIC8vIENvbXB1dGUgdGhlIG1pbmltdW0gcmVxdWlyZWQgdG8gd29y
ayBpbiBhIHNpbmdsZSBhcnJheS4KKyAgICB2YXIgbWluVmFycyA9IE1hdGguZmxvb3Ioc2hhZGVy
VHlwZS5taW5WZWN0b3JzIC8gaW5mby5yb3dzKTsKKyAgICAvLyBUZXN0IGFycmF5WzFdIG9mIHRo
ZSB0eXBlCisgICAgdmFyIGNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUsIHtpZDog
IiIsIGluZGV4OiAiWzBdIn0pOworICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJj
ZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0QXJyYXlUZXN0LCB7bnVtVGVzdFR5
cGU6IDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAor
ICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS5mcmFnQXJy
YXlUZXN0LCB7bnVtVGVzdFR5cGU6IDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIGZTaGFk
ZXJTdWNjZXNzOiB0cnVlLAorICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICBwYXNzTXNn
OiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiArIGlu
Zm8udHlwZSArICIgd2l0aCAxIGVsZW1lbnQgc2hvdWxkIHN1Y2NlZWQiLAorICAgIH0pOworICAg
IC8vIFRlc3QgYXJyYXlbbWF4XSBvZiB0aGUgdHlwZQorICAgIC8vIE5vdGU6IFdlIGNhbid0IHRl
c3QgdGhpcyBhcyBhY3R1YWwgR0wgZHJpdmVycyBhcmUgb25seSByZXF1aXJlZCB0byBiZSBhYmxl
IHRvCisgICAgLy8gZG8gdGhlIG1pbmltdW0gbnVtYmVyLiBBZnRlciB0aGF0IGl0IGNhbiBmYWls
IGZvciBhbnkgcmVhc29uLgorICAgIGlmIChmYWxzZSkgeworICAgICAgdmFyIGNvZGUgPSB3dHUu
cmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyAobnVtVmFycyAt
IDEpICsgIl0ifSk7CisgICAgICB0ZXN0cy5wdXNoKHsKKyAgICAgICAgdlNoYWRlclNvdXJjZTog
d3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0QXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6
IG51bVZhcnMsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgICAgdlNoYWRlclN1Y2Nlc3M6IHRy
dWUsCisgICAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUu
ZnJhZ0FycmF5VGVzdCwge251bVRlc3RUeXBlOiBudW1WYXJzLCBjb2RlOiBjb2RlfSwgaW5mbyks
CisgICAgICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgICBsaW5rU3VjY2VzczogdHJ1
ZSwKKyAgICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCB1bmlm
b3JtIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIG51bVZhcnMgKyAiIGVsZW1l
bnRzICh0aGUgbWF4aW11bSkgc2hvdWxkIHN1Y2NlZWQiLAorICAgICAgfSk7CisgICAgfQorCisg
ICAgLy8gVGVzdCByZXF1aXJlZCBudW1iZXIgb2YgdW5pZm9ybXMKKyAgICB2YXIgY29kZSA9IHd0
dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChtaW5WYXJz
IC0gMSkgKyAiXSJ9KTsKKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0
dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUudmVydEFycmF5VGVzdCwge251bVRlc3RUeXBlOiBt
aW5WYXJzLCBjb2RlOiBjb2RlfSwgaW5mbyksCisgICAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwK
KyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ0Fy
cmF5VGVzdCwge251bVRlc3RUeXBlOiBtaW5WYXJzLCBjb2RlOiBjb2RlfSwgaW5mbyksCisgICAg
ICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgICAg
cGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCB1bmlmb3JtIGFycmF5IG9m
ICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIG1pblZhcnMgKyAiIGVsZW1lbnRzICh0aGUgbWlu
aW11bSByZXF1aXJlZCkgc2hvdWxkIHN1Y2NlZWQiLAorICAgIH0pOworCisgICAgLy8gVGVzdCBh
cnJheVttYXggKyAxXSBhY2Nlc3NpbmcgbGFzdCBlbGVtZW50LiBXZWJHTCByZXF1aXJlcyB0aGlz
IHRvIGZhaWwuCisgICAgdmFyIGNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUsIHtp
ZDogIiIsIGluZGV4OiAiWyIgKyBudW1WYXJzICsgIl0ifSk7CisgICAgdGVzdHMucHVzaCh7Cisg
ICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZlcnRBcnJh
eVRlc3QsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAg
ICAgIHZTaGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLnZlcnRFeHBlY3RhdGlvbiwKKyAgICAgIGZT
aGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ0FycmF5VGVzdCwg
e251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgZlNo
YWRlclN1Y2Nlc3M6IHNoYWRlclR5cGUuZnJhZ0V4cGVjdGF0aW9uLAorICAgICAgbGlua1N1Y2Nl
c3M6IGZhbHNlLAorICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0
aCB1bmlmb3JtIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIChudW1WYXJzICsg
MSkgKyAiIGVsZW1lbnRzIChvbmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3NpbmcgbGFzdCBlbGVtZW50
IHNob3VsZCBmYWlsIiwKKyAgICB9KTsKKworICAgIC8vIFRlc3QgYXJyYXlbbWF4ICsgMV0gYWNj
ZXNzaW5nIGZpcnN0IGVsZW1lbnQuIFdlYkdMIHJlcXVpcmVzIHRoaXMgdG8gZmFpbCBidXQgRVMg
YWxsb3dzIHRydW5jYXRpbmcgYXJyYXkuCisgICAgdmFyIGNvZGUgPSB3dHUucmVwbGFjZVBhcmFt
cyhpbmZvLmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0pOworICAgIHRlc3RzLnB1c2goewor
ICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0QXJy
YXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCBjb2RlOiBjb2RlfSwgaW5mbyksCisg
ICAgICB2U2hhZGVyU3VjY2Vzczogc2hhZGVyVHlwZS52ZXJ0RXhwZWN0YXRpb24sCisgICAgICBm
U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdBcnJheVRlc3Qs
IHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEsIGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIGZT
aGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLmZyYWdFeHBlY3RhdGlvbiwKKyAgICAgIGxpbmtTdWNj
ZXNzOiBmYWxzZSwKKyAgICAgIHBhc3NNc2c6IHNoYWRlclR5cGUudHlwZSArICIgc2hhZGVyIHdp
dGggdW5pZm9ybSBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRoICIgKyAobnVtVmFycyAr
IDEpICsgIiBlbGVtZW50cyAob25lIHBhc3QgbWF4aW11bSkgYWNjZXNzaW5nIGZpcnN0IGVsZW1l
bnQgc2hvdWxkIGZhaWwiLAorICAgIH0pOworCisgICAgLy8gVGVzdCBtYXggdW5pZm9ybXMgb2Yg
dHlwZS4KKyAgICAvLyBOb3RlOiBXZSBjYW4ndCB0ZXN0IHRoaXMgYXMgYWN0dWFsIEdMIGRyaXZl
cnMgYXJlIG9ubHkgcmVxdWlyZWQgdG8gYmUgYWJsZSB0bworICAgIC8vIGRvIHRoZSBtaW5pbXVt
IG51bWJlci4gQWZ0ZXIgdGhhdCBpdCBjYW4gZmFpbCBmb3IgYW55IHJlYXNvbi4KKyAgICBpZiAo
ZmFsc2UpIHsKKyAgICB9CisKKyAgICB2YXIgZ2VuZXJhdGVDb2RlID0gZnVuY3Rpb24obnVtVmFy
cykgeworICAgICAgdmFyIHVuaWZvcm1zID0gW107CisgICAgICB2YXIgY29kZXMgPSBbXTsKKyAg
ICAgIGZvciAodmFyIHV1ID0gMDsgdXUgPCBudW1WYXJzOyArK3V1KSB7CisgICAgICAgIHVuaWZv
cm1zLnB1c2goIiAgICB1bmlmb3JtICIgKyBpbmZvLnR5cGUgKyAiIHVfdW5pZm9ybSIgKyB1dSAr
ICI7Iik7CisgICAgICAgIGNvZGVzLnB1c2god3R1LnJlcGxhY2VQYXJhbXMoaW5mby5jb2RlLCB7
aWQ6IHV1LCBpbmRleDogIiJ9KSk7CisgICAgICB9CisgICAgICByZXR1cm4geworICAgICAgICB1
bmlmb3JtczogdW5pZm9ybXMuam9pbigiXG4iKSwKKyAgICAgICAgY29kZTogY29kZXMuam9pbigi
ICsgXG4gICAgICAgICAgICAiKSwKKyAgICAgIH07CisgICAgfTsKKworICAgIC8vIFRlc3QgbWF4
KzEgdW5pZm9ybXMgb2YgdHlwZS4KKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3Vy
Y2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUudmVydFVuaWZvcm1UZXN0LCBnZW5lcmF0
ZUNvZGUobnVtVmFycyArIDEpLCBpbmZvKSwKKyAgICAgIHZTaGFkZXJTdWNjZXNzOiBzaGFkZXJU
eXBlLnZlcnRFeHBlY3RhdGlvbiwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFy
YW1zKHNoYWRlclR5cGUuZnJhZ1VuaWZvcm1UZXN0LCBnZW5lcmF0ZUNvZGUobnVtVmFycyArIDEp
LCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLmZyYWdFeHBlY3RhdGlv
biwKKyAgICAgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgICAgIHBhc3NNc2c6IHNoYWRlclR5cGUu
dHlwZSArICIgc2hhZGVyIHdpdGggIiArIChudW1WYXJzICsgMSkgKyAiIHVuaWZvcm1zIG9mICIg
KyBpbmZvLnR5cGUgKyAiIChvbmUgcGFzdCBtYXhpbXVtKSBzaG91bGQgZmFpbCIsCisgICAgfSk7
CisKKyAgICAvLyBUZXN0IHJlcXVpcmVkIHVuaWZvcm1zIG9mIHR5cGUuCisgICAgdGVzdHMucHVz
aCh7CisgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLnZl
cnRVbmlmb3JtVGVzdCwgZ2VuZXJhdGVDb2RlKG1pblZhcnMpLCBpbmZvKSwKKyAgICAgIHZTaGFk
ZXJTdWNjZXNzOiB0cnVlLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMo
c2hhZGVyVHlwZS5mcmFnVW5pZm9ybVRlc3QsIGdlbmVyYXRlQ29kZShtaW5WYXJzKSwgaW5mbyks
CisgICAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGxpbmtTdWNjZXNzOiB0cnVlLAor
ICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFkZXIgd2l0aCAiICsgbWluVmFy
cyArICIgdW5pZm9ybXMgb2YgIiArIGluZm8udHlwZSArICIgKHRoZSBtaW5pbXVtIHJlcXVpcmVk
KSBzaG91bGQgc3VjY2VlZCIsCisgICAgfSk7CisgIH0KK30KK0dMU0xDb25mb3JtYW5jZVRlc3Rl
ci5ydW5UZXN0cyh0ZXN0cyk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZh
cnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWlu
Zy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3MzY0MjMyNmY2MTQ4MjZk
YzA0YzE0ZTA4NmVkNDMyNTQ2M2FkM2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbApAQCAtMCwwICsxLDIyMCBAQAor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdmFy
eWluZyBwYWNraW5nIHJlc3RyY3Rpb25zIENvbmZvcm1hbmNlIFRlc3Q8L3RpdGxlPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wt
ZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
Z2xzbC1jb25mb3JtYW5jZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2Fu
dmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+Cis8c2NyaXB0
IGlkPSJ2c2hhZGVyQXJyYXlUZXN0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1
dGUgdmVjNCBhX3Bvc2l0aW9uOwordmFyeWluZyAkKHR5cGUpIHZfdmFyeWluZ1skKG51bVRlc3RU
eXBlKV07Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAg
ICAkKHZjb2RlKQorfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyQXJyYXlUZXN0IiB0
eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
KyAgICB2YXJ5aW5nICQodHlwZSkgdl92YXJ5aW5nWyQobnVtVGVzdFR5cGUpXTsKKyAgICB2b2lk
IG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gJChmY29kZSk7CisgICAgfQor
PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyVmFyeWluZ1Rlc3QiIHR5cGU9Ingtc2hhZGVy
L3gtZnJhZ21lbnQiPgorYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKyQodmFyeWluZ3MpCisg
ICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsK
KyAgICAgICAgJCh2Y29kZSkKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJW
YXJ5aW5nVGVzdCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CiskKHZhcnlpbmdzKQorICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAg
ICBnbF9GcmFnQ29sb3IgPSAkKGZjb2RlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworZGVidWcoIiIpOwordmFyIHd0dSA9IFdlYkdM
VGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworCit2
YXIgdmFyeWluZ1R5cGVzID0gWworICB7IHR5cGU6ICJmbG9hdCIsICAgICAgIGNvbXBvbmVudHNQ
ZXJSb3c6IDEsIHJvd3M6IDEsIHZjb2RlOiAidl92YXJ5aW5nJChpZCkkKGluZGV4KSA9IDEuMDsi
LCAgICAgICAgICAgICAgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleCksIDAsIDAs
IDApIiwgfSwKKyAgeyB0eXBlOiAidmVjMiIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiAyLCBy
b3dzOiAxLCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkgPSB2ZWMyKDAsIDApOyIsICAg
ICAgIGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpLCAwLCAwKSIsIH0sCisgIHsg
dHlwZTogInZlYzMiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czogMSwgdmNvZGU6
ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gdmVjMygwLCAwLCAwKTsiLCAgICBmY29kZTogInZl
YzQodl92YXJ5aW5nJChpZCkkKGluZGV4KSwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWM0IiwgICAg
ICAgIGNvbXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDEsIHZjb2RlOiAidl92YXJ5aW5nJChpZCkk
KGluZGV4KSA9IHZlYzQoMCwgMCwgMCwgMCk7IiwgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQp
JChpbmRleCkpIiwgfSwKKy8vIFllcywgdGhlIHNwZWMgc2F5cyBtYXQyIHRha2VzIDQgY29sdW1u
cywgMiByb3dzLiAgICB2Y29kZTogIiIsCisgIHsgdHlwZTogIm1hdDIiLCAgICAgICAgY29tcG9u
ZW50c1BlclJvdzogNCwgcm93czogMiwgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0g
bWF0MigxLjApOyIsIGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpWzBdLCAwLCAw
KSIsIH0sCisgIHsgdHlwZTogIm1hdDMiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93
czogMywgdmNvZGU6ICJ2X3ZhcnlpbmckKGlkKSQoaW5kZXgpID0gbWF0MygxLjApOyIsIGZjb2Rl
OiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpWzBdLCAwKSIsIH0sCisgIHsgdHlwZTogIm1h
dDQiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czogNCwgdmNvZGU6ICJ2X3Zhcnlp
bmckKGlkKSQoaW5kZXgpID0gbWF0NCgxLjApOyIsIGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlk
KSQoaW5kZXgpWzBdKSIsIH0sCitdOworCit2YXIgdkFycmF5VGVzdFNvdXJjZSA9IHd0dS5nZXRT
Y3JpcHQoInZzaGFkZXJBcnJheVRlc3QiKTsKK3ZhciBmQXJyYXlUZXN0U291cmNlID0gd3R1Lmdl
dFNjcmlwdCgiZnNoYWRlckFycmF5VGVzdCIpOwordmFyIHZWYXJ5aW5nVGVzdFNvdXJjZSA9IHd0
dS5nZXRTY3JpcHQoInZzaGFkZXJWYXJ5aW5nVGVzdCIpOwordmFyIGZWYXJ5aW5nVGVzdFNvdXJj
ZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXJWYXJ5aW5nVGVzdCIpOworCit2YXIgbWluVmFyeWlu
Z1ZlY3RvcnMgPSA4OwordmFyIG1heFZhcnlpbmdWZWN0b3JzID0gZ2wuZ2V0UGFyYW1ldGVyKGds
Lk1BWF9WQVJZSU5HX1ZFQ1RPUlMpOwordmFyIHRlc3RzID0gW107CisKK2ZvciAodmFyIGlpID0g
MDsgaWkgPCB2YXJ5aW5nVHlwZXMubGVuZ3RoOyArK2lpKSB7CisgIHZhciBpbmZvID0gdmFyeWlu
Z1R5cGVzW2lpXTsKKyAgd3R1LmxvZygiY2hlY2tpbmc6ICIgKyBpbmZvLnR5cGUpOworICAvLyBD
b21wdXRlIHRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aGlzIHR5cGUgYWxsb3dlZCBpbiBhIHNpbmds
ZSBhcnJheS4KKyAgdmFyIG51bVZhcnMgPSBNYXRoLmZsb29yKG1heFZhcnlpbmdWZWN0b3JzIC8g
aW5mby5yb3dzKTsKKyAgLy8gQ29tcHV0ZSB0aGUgbWluaW11bSByZXF1aXJlZCB0byB3b3JrIGlu
IGEgc2luZ2xlIGFycmF5LgorICB2YXIgbWluVmFycyA9IE1hdGguZmxvb3IobWluVmFyeWluZ1Zl
Y3RvcnMgLyBpbmZvLnJvd3MpOworICAvLyBUZXN0IGFycmF5WzFdIG9mIHRoZSB0eXBlCisgIHZh
ciB2Y29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGluZGV4OiAi
WzBdIn0pOworICB2YXIgZmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6
ICIiLCBpbmRleDogIlswXSJ9KTsKKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTog
d3R1LnJlcGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiAxLCB2Y29k
ZTogdmNvZGV9LCBpbmZvKSwKKyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBmU2hhZGVy
U291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmQXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6
IDEsIGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAg
IGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggdmFyeWluZyBh
cnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRoIDEgZWxlbWVudCBzaG91bGQgc3VjY2VlZCIs
CisgIH0pOworICAvLyBkbyB0aGUgbWluaW11bSBudW1iZXIuIEFmdGVyIHRoYXQgaXQgY2FuIGZh
aWwgZm9yIGFueSByZWFzb24uCisgIGlmIChmYWxzZSkgeworICAgIHZhciB2Y29kZSA9IHd0dS5y
ZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyAobnVtVmFycyAt
IDEpICsgIl0ifSk7CisgICAgdmFyIGZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby5mY29k
ZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChudW1WYXJzIC0gMSkgKyAiXSJ9KTsKKyAgICB0ZXN0
cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHZBcnJheVRl
c3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbnVtVmFycywgdmNvZGU6IHZjb2RlfSwgaW5mbyksCisg
ICAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBs
YWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbnVtVmFycywgZmNvZGU6
IGZjb2RlfSwgaW5mbyksCisgICAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGxpbmtT
dWNjZXNzOiB0cnVlLAorICAgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCB2YXJ5aW5nIGFycmF5
IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIG51bVZhcnMgKyAiIGVsZW1lbnRzICh0aGUg
bWF4aW11bSkgc2hvdWxkIHN1Y2NlZWQiLAorICAgIH0pOworICB9CisKKyAgLy8gVGVzdCByZXF1
aXJlZCBudW1iZXIgb2YgdW5pZm9ybXMKKyAgdmFyIHZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMo
aW5mby52Y29kZSwge2lkOiAiIiwgaW5kZXg6ICJbIiArIChtaW5WYXJzIC0gMSkgKyAiXSJ9KTsK
KyAgdmFyIGZjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby5mY29kZSwge2lkOiAiIiwgaW5k
ZXg6ICJbIiArIChtaW5WYXJzIC0gMSkgKyAiXSJ9KTsKKyAgdGVzdHMucHVzaCh7CisgICAgdlNo
YWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RU
eXBlOiBtaW5WYXJzLCB2Y29kZTogdmNvZGV9LCBpbmZvKSwKKyAgICB2U2hhZGVyU3VjY2Vzczog
dHJ1ZSwKKyAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmQXJyYXlUZXN0U291
cmNlLCB7bnVtVGVzdFR5cGU6IG1pblZhcnMsIGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgIGZT
aGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6
ICJzaGFkZXJzIHdpdGggdmFyeWluZyBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRoICIg
KyBtaW5WYXJzICsgIiBlbGVtZW50cyAodGhlIG1pbmltdW0gcmVxdWlyZWQpIHNob3VsZCBzdWNj
ZWVkIiwKKyAgfSk7CisKKyAgLy8gVGVzdCBhcnJheVttYXggKyAxXSBhY2Nlc3NpbmcgbGFzdCBl
bGVtZW50LiBXZWJHTCByZXF1aXJlcyB0aGlzIHRvIGZhaWwuCisgIHZhciB2Y29kZSA9IHd0dS5y
ZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyBudW1WYXJzICsg
Il0ifSk7CisgIHZhciBmY29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNvZGUsIHtpZDog
IiIsIGluZGV4OiAiWyIgKyBudW1WYXJzICsgIl0ifSk7CisgIHRlc3RzLnB1c2goeworICAgIHZT
aGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0
VHlwZTogbnVtVmFycyArIDEsIHZjb2RlOiB2Y29kZX0sIGluZm8pLAorICAgIHZTaGFkZXJTdWNj
ZXNzOiBmYWxzZSwKKyAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmQXJyYXlU
ZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCBmY29kZTogZmNvZGV9LCBpbmZv
KSwKKyAgICBmU2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgbGlua1N1Y2Nlc3M6IGZhbHNlLAor
ICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggdmFyeWluZyBhcnJheSBvZiAiICsgaW5mby50eXBl
ICsgIiB3aXRoICIgKyAobnVtVmFycyArIDEpICsgIiBlbGVtZW50cyAob25lIHBhc3QgbWF4aW11
bSkgYWNjZXNzaW5nIGxhc3QgZWxlbWVudCBzaG91bGQgZmFpbCIsCisgIH0pOworCisgIC8vIFRl
c3QgYXJyYXlbbWF4ICsgMV0gYWNjZXNzaW5nIGZpcnN0IGVsZW1lbnQuIFdlYkdMIHJlcXVpcmVz
IHRoaXMgdG8gZmFpbCBidXQgRVMgYWxsb3dzIHRydW5jYXRpbmcgYXJyYXkuCisgIHZhciB2Y29k
ZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWzBdIn0p
OworICB2YXIgZmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6ICIiLCBp
bmRleDogIlswXSJ9KTsKKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1LnJl
cGxhY2VQYXJhbXModkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBudW1WYXJzICsgMSwg
dmNvZGU6IHZjb2RlfSwgaW5mbyksCisgICAgdlNoYWRlclN1Y2Nlc3M6IGZhbHNlLAorICAgIGZT
aGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0
VHlwZTogbnVtVmFycyArIDEsIGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgIGZTaGFkZXJTdWNj
ZXNzOiBmYWxzZSwKKyAgICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgcGFzc01zZzogInNoYWRl
cnMgd2l0aCB2YXJ5aW5nIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggIiArIChudW1W
YXJzICsgMSkgKyAiIGVsZW1lbnRzIChvbmUgcGFzdCBtYXhpbXVtKSBhY2Nlc3NpbmcgZmlyc3Qg
ZWxlbWVudCBzaG91bGQgZmFpbCIsCisgIH0pOworCisgIC8vIFRlc3QgbWF4IHVuaWZvcm1zIG9m
IHR5cGUuCisgIC8vIE5vdGU6IFdlIGNhbid0IHRlc3QgdGhpcyBhcyBhY3R1YWwgR0wgZHJpdmVy
cyBhcmUgb25seSByZXF1aXJlZCB0byBiZSBhYmxlIHRvCisgIC8vIGRvIHRoZSBtaW5pbXVtIG51
bWJlci4gQWZ0ZXIgdGhhdCBpdCBjYW4gZmFpbCBmb3IgYW55IHJlYXNvbi4KKyAgaWYgKGZhbHNl
KSB7CisgIH0KKworICB2YXIgZ2VuZXJhdGVDb2RlID0gZnVuY3Rpb24obnVtVmFycykgeworICAg
IHZhciB2YXJ5aW5ncyA9IFtdOworICAgIHZhciB2Y29kZXMgPSBbXTsKKyAgICB2YXIgZmNvZGVz
ID0gW107CisgICAgZm9yICh2YXIgdXUgPSAwOyB1dSA8IG51bVZhcnM7ICsrdXUpIHsKKyAgICAg
IHZhcnlpbmdzLnB1c2goIiAgICB2YXJ5aW5nICIgKyBpbmZvLnR5cGUgKyAiIHZfdmFyeWluZyIg
KyB1dSArICI7Iik7CisgICAgICB2Y29kZXMucHVzaCh3dHUucmVwbGFjZVBhcmFtcyhpbmZvLnZj
b2RlLCB7aWQ6IHV1LCBpbmRleDogIiJ9KSk7CisgICAgICBmY29kZXMucHVzaCh3dHUucmVwbGFj
ZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6IHV1LCBpbmRleDogIiJ9KSk7CisgICAgfQorICAgIHJl
dHVybiB7CisgICAgICB2YXJ5aW5nczogdmFyeWluZ3Muam9pbigiXG4iKSwKKyAgICAgIHZjb2Rl
OiB2Y29kZXMuam9pbigiXG4gICAgICAgICAgICAiKSwKKyAgICAgIGZjb2RlOiBmY29kZXMuam9p
bigiICsgXG4gICAgICAgICAgICAiKSwKKyAgICB9OworICB9OworCisgIC8vIFRlc3QgbWF4KzEg
dmFyeWluZ3Mgb2YgdHlwZS4KKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1
LnJlcGxhY2VQYXJhbXModlZhcnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNvZGUobnVtVmFycyAr
IDEpLCBpbmZvKSwKKyAgICB2U2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgZlNoYWRlclNvdXJj
ZTogd3R1LnJlcGxhY2VQYXJhbXMoZlZhcnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNvZGUobnVt
VmFycyArIDEpLCBpbmZvKSwKKyAgICBmU2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgbGlua1N1
Y2Nlc3M6IGZhbHNlLAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggIiArIChudW1WYXJzICsg
MSkgKyAiIHZhcnlpbmdzIG9mICIgKyBpbmZvLnR5cGUgKyAiIChvbmUgcGFzdCBtYXhpbXVtKSBz
aG91bGQgZmFpbCIsCisgIH0pOworCisgIC8vIFRlc3QgcmVxdWlyZWQgdmFyeWluZ3Mgb2YgdHlw
ZS4KKyAgdGVzdHMucHVzaCh7CisgICAgdlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMo
dlZhcnlpbmdUZXN0U291cmNlLCBnZW5lcmF0ZUNvZGUobWluVmFycyksIGluZm8pLAorICAgIHZT
aGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1z
KGZWYXJ5aW5nVGVzdFNvdXJjZSwgZ2VuZXJhdGVDb2RlKG1pblZhcnMpLCBpbmZvKSwKKyAgICBm
U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICBwYXNzTXNn
OiAic2hhZGVycyB3aXRoICIgKyBtaW5WYXJzICsgIiB2YXJ5aW5ncyBvZiAiICsgaW5mby50eXBl
ICsgIiAodGhlIG1pbmltdW0gcmVxdWlyZWQpIHNob3VsZCBzdWNjZWVkIiwKKyAgfSk7Cit9CisK
K0dMU0xDb25mb3JtYW5jZVRlc3Rlci5ydW5UZXN0cyh0ZXN0cyk7Cit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5
cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmlu
Zy1hcnJheXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZGM2OGE5NDJkNjQ0ZjdmMGZmM2U2ZmY1YTIxZGEy
MWJhZmE3NzFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5
LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbApAQCAtMCwwICsxLDE1NyBAQAorCis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5HTFNMIEFycmF5
IG9mIFN0cnVjdHMgQ29udGFpbmluZyBBcnJheXM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0
cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4g
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPiA8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0idnNoYWRlciIsIHR5cGU9Ingtc2hhZGVyL3gt
dmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247Cit2b2lkIG1haW4odm9pZCkgewor
ICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0i
ZnNoYWRlcjAiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1w
IGZsb2F0Oworc3RydWN0IG15X3N0cnVjdCB7CisgIHZlYzQgY29sb3JbMl07Cit9OwordW5pZm9y
bSBteV9zdHJ1Y3QgdV9jb2xvcnNbMl07Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX0ZyYWdD
b2xvciA9IHVfY29sb3JzWzBdLmNvbG9yWzBdOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJm
c2hhZGVyMSIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CitzdHJ1Y3QgbXlfc3RydWN0IHsKKyAgdmVjNCBjb2xvclsyXTsKK307Cit1bmlmb3Jt
IG15X3N0cnVjdCB1X2NvbG9yc1syXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0Nv
bG9yID0gdV9jb2xvcnNbMF0uY29sb3JbMV07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZz
aGFkZXItd2l0aC1vbmUtZWxlbWVudC1hcnJheXMiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50
Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Oworc3RydWN0IG15X3N0cnVjdCB7CisgIHZlYzQg
Y29sb3JbMV07Cit9OwordW5pZm9ybSBteV9zdHJ1Y3QgdV9jb2xvcnNbMV07Cit2b2lkIG1haW4o
dm9pZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfY29sb3JzWzBdLmNvbG9yWzBdOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMyIsIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQi
PgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CitzdHJ1Y3QgbXlfc3RydWN0IHsKKyAgdmVjNCBj
b2xvcjFbMl07CisgIHZlYzQgY29sb3IyWzJdOworfTsKK3VuaWZvcm0gbXlfc3RydWN0IHVfY29s
b3JzWzJdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X2NvbG9yc1sw
XS5jb2xvcjFbMF0gKyB1X2NvbG9yc1swXS5jb2xvcjJbMF0gKyB1X2NvbG9yc1sxXS5jb2xvcjFb
MV0gK3VfY29sb3JzWzFdLmNvbG9yMlsxXTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworCit2YXIgd3R1ID0gV2ViR0xU
ZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJjYW52YXMiKTsKK3d0dS5z
ZXR1cFVuaXRRdWFkKGdsKTsKKworZm9yICh2YXIgaWkgPSAwOyBpaSA8IDI7ICsraWkpIHsKKyAg
dmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlciIg
KyBpaV0sIFsiYV9wb3NpdGlvbiJdKTsKKyAgdmFyIHJlZF9sb2MgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzBdLmNvbG9yWyIgKyBpaSAgKyAiXSIpOworICB2YXIg
Z3JlZW5fbG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1swXS5j
b2xvclsiICsgKDEgLSBpaSkgKyAiXSIpOworICBnbC51bmlmb3JtNGZ2KHJlZF9sb2MsIFsxLCAw
LCAwLCAxXSk7CisgIGdsLnVuaWZvcm00ZnYoZ3JlZW5fbG9jLCBbMCwgMSwgMCwgMV0pOworICB3
dHUuZHJhd1F1YWQoZ2wpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0s
ICJTaG91bGQgYmUgcmVkIik7Cit9CisKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShn
bCwgWyJ2c2hhZGVyIiwgImZzaGFkZXItd2l0aC1vbmUtZWxlbWVudC1hcnJheXMiXSwgWyJhX3Bv
c2l0aW9uIl0pOwordmFyIGdyZWVuX2xvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFt
LCAidV9jb2xvcnNbMF0uY29sb3JbMF0iKTsKK2dsLnVuaWZvcm00ZnYoZ3JlZW5fbG9jLCBbMCwg
MSwgMCwgMV0pOword3R1LmRyYXdRdWFkKGdsKTsKK3d0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1
NSwgMCwgMjU1XSwgIlNob3VsZCBiZSBncmVlbiIpOworCit2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1
cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyMyJdLCBbImFfcG9zaXRpb24iXSk7Cit2
YXIgbnVtVW5pZm9ybXMgPSBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGdsLkFDVElW
RV9VTklGT1JNUyk7CitzaG91bGRCZSgibnVtVW5pZm9ybXMiLCAiNCIpOwordmFyIHVuaWZvcm1z
ID0gW10KK2ZvciAodmFyIGlpID0gMDsgaWkgPCBudW1Vbmlmb3JtczsgKytpaSkgeworICB1bmlm
b3Jtcy5wdXNoKGdsLmdldEFjdGl2ZVVuaWZvcm0ocHJvZ3JhbSwgaWkpLm5hbWUpOworfQordW5p
Zm9ybXMuc29ydCgpOworc2hvdWxkQmUoInVuaWZvcm1zWzBdIiwgJyJ1X2NvbG9yc1swXS5jb2xv
cjFbMF0iJyk7CitzaG91bGRCZSgidW5pZm9ybXNbMV0iLCAnInVfY29sb3JzWzBdLmNvbG9yMlsw
XSInKTsKK3Nob3VsZEJlKCJ1bmlmb3Jtc1syXSIsICcidV9jb2xvcnNbMV0uY29sb3IxWzBdIicp
Oworc2hvdWxkQmUoInVuaWZvcm1zWzNdIiwgJyJ1X2NvbG9yc1sxXS5jb2xvcjJbMF0iJyk7Cit2
YXIgbG9jMDAgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzBdLmNv
bG9yMSIpOwordmFyIGxvYzAxID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2Nv
bG9yc1swXS5jb2xvcjIiKTsKK3ZhciBsb2MxMCA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9n
cmFtLCAidV9jb2xvcnNbMV0uY29sb3IxIik7Cit2YXIgbG9jMTEgPSBnbC5nZXRVbmlmb3JtTG9j
YXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzFdLmNvbG9yMiIpOworc2hvdWxkQmVUcnVlKCJsb2Mw
MCAhPSB1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgibG9jMDEgIT0gdW5kZWZpbmVkIik7Citz
aG91bGRCZVRydWUoImxvYzEwICE9IHVuZGVmaW5lZCIpOworc2hvdWxkQmVUcnVlKCJsb2MxMSAh
PSB1bmRlZmluZWQiKTsKK2dsLnVuaWZvcm00ZnYobG9jMDAsIFsxLCAwLCAwLCAwXSk7CitnbC51
bmlmb3JtNGZ2KGxvYzAxLCBbMCwgMSwgMCwgMF0pOworZ2wudW5pZm9ybTRmdihsb2MxMCwgWzAs
IDAsIDAsIDAsIDAsIDAsIDEsIDBdKTsKK2dsLnVuaWZvcm00ZnYobG9jMTEsIFswLCAwLCAwLCAw
LCAwLCAwLCAwLCAxXSk7Cit2YXIgbG9jMTAxID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dy
YW0sICJ1X2NvbG9yc1sxXS5jb2xvcjFbMV0iKTsKK3ZhciBsb2MxMTEgPSBnbC5nZXRVbmlmb3Jt
TG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzFdLmNvbG9yMlsxXSIpOworc2hvdWxkQmVUcnVl
KCJsb2MxMDEgIT0gdW5kZWZpbmVkIik7CitzaG91bGRCZVRydWUoImxvYzExMSAhPSB1bmRlZmlu
ZWQiKTsKK3d0dS5kcmF3UXVhZChnbCwgWzAsIDAsIDAsIDBdKTsKK2dsLnVuaWZvcm00ZnYobG9j
MTAxLCBbMCwgMCwgMCwgMF0pOworZ2wudW5pZm9ybTRmdihsb2MxMTEsIFswLCAwLCAwLCAwXSk7
Cit3dHUuZHJhd1F1YWQoZ2wsIFswLCAwLCAwLCAwXSk7Cit3dHUuY2hlY2tDYW52YXMoZ2wsIFsy
NTUsIDI1NSwgMCwgMF0sICJTaG91bGQgYmUgeWVsbG93Iik7CisKK2dsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBzaG91bGQgYmUgbm8gZXJyb3JzIik7CisKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lz
aW9uLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxl
LXByZWNpc2lvbi1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwODhhY2Y5YWFiZTc5MzNiZTIw
ODNmNjU1MjUzNmE3ZDc5ZThiZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEs
MTI0IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3Jv
dXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxz
IiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5
LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxs
IGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdo
b20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFs
bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisq
KiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J
VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD
VElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9V
VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBP
UiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBHTFNMIENvbmZvcm1hbmNlIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMu
Y3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3Rh
bnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9ImZzaGFkZXJXaXRoTWVkaXVtcEdsb2JhbCIgdHlw
ZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorLy8gVGhlcmUgaXMgbm8gZGVmYXVs
dCBwcmVjaXNpb24gaW4gZnJhZ21lbnQgc2hhZGVycywgc28gc3BlY2lmeSBtZWRpdW1wLgorcHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gdmVjNCBmb287CisKK3ZvaWQgbWFpbigp
Cit7CisgICAgZ2xfRnJhZ0NvbG9yID0gZm9vOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJm
c2hhZGVyV2l0aE1lZGl1bXBHbG9iYWxTdHJ1Y3QiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1q
YXZhc2NyaXB0Ij4KKy8vIFRoZXJlIGlzIG5vIGRlZmF1bHQgcHJlY2lzaW9uIGluIGZyYWdtZW50
IHNoYWRlcnMsIHNvIHNwZWNpZnkgbWVkaXVtcC4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
CitzdHJ1Y3QgZm9vCit7CisgICB2ZWM0IGJhcjsKK307CisKK3VuaWZvcm0gZm9vIGJhejsKKwor
dm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSBiYXouYmFyOworfQorPC9zY3JpcHQ+
Cis8c2NyaXB0IGlkPSJ2c2hhZGVyV2l0aEhpZ2hwR2xvYmFsIiB0eXBlPSJ4LXNoYWRlci94LXZl
cnRleCI+CisvLyBEZWZhdWx0IHByZWNpc2lvbiBmb3IgdmVydGV4IHNoYWRlcnMgaXMgaGlnaHAu
Cit1bmlmb3JtIHZlYzQgZm9vOworCit2b2lkIG1haW4oKSB7CisgICAgZ2xfUG9zaXRpb24gPSBm
b287Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXJXaXRoSGlnaHBHbG9iYWxTdHJ1
Y3QiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKy8vIERlZmF1bHQgcHJlY2lzaW9uIGZvciB2
ZXJ0ZXggc2hhZGVycyBpcyBoaWdocC4KK3N0cnVjdCBmb28KK3sKKyAgIHZlYzQgYmFyOworfTsK
KwordW5pZm9ybSBmb28gYmF6OworCit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0g
YmF6LmJhcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0
aW9uKCJDaGVja3Mgc2hhZGVycyB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgYW5kIHByZWNpc2lvbiBx
dWFsaWZpZXIgbWlzbWF0Y2guIik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKwordmFy
IGdsc2xUZXN0cyA9IFtdOworCitnbHNsVGVzdHMucHVzaCh7CisgIHZTaGFkZXJJZDogJ3ZzaGFk
ZXJXaXRoSGlnaHBHbG9iYWwnLAorICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgZlNoYWRlcklk
OiAnZnNoYWRlcldpdGhNZWRpdW1wR2xvYmFsJywKKyAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisg
IGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgcGFzc01zZzogIm1pc21hdGNoaW5nIHByZWNpc2lvbiBm
b3IgdW5pZm9ybXMgY2F1c2VzIGxpbmsgZXJyb3IgKGFzIGV4cGVjdGVkKSIsCit9KTsKKworZ2xz
bFRlc3RzLnB1c2goeworICB2U2hhZGVySWQ6ICd2c2hhZGVyV2l0aEhpZ2hwR2xvYmFsU3RydWN0
JywKKyAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgIGZTaGFkZXJJZDogJ2ZzaGFkZXJXaXRoTWVk
aXVtcEdsb2JhbFN0cnVjdCcsCisgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICBsaW5rU3VjY2Vz
czogZmFsc2UsCisgIHBhc3NNc2c6ICJtaXNtYXRjaGluZyBwcmVjaXNpb24gZm9yIHN0cnVjdHVy
ZSB1bmlmb3JtcyBjYXVzZXMgbGluayBlcnJvciAoYXMgZXhwZWN0ZWQpIiwKK30pOworCitHTFNM
Q29uZm9ybWFuY2VUZXN0ZXIucnVuVGVzdHMoZ2xzbFRlc3RzKTsKKworZGVidWcoIiIpOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kYzhhMTYwZjc1YTVhMTQwZTQzOGUzOTljYzZkOGUzNDZjOWI0MGZkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sCkBA
IC0wLDAgKzEsNzI0IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBHTFNMIENvbmZvcm1hbmNlIFRlc3RzIC0gTm9uIFJlc2VydmVkIFdvcmRz
PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idmVydGV4U2hhZGVyMCIgdHlwZT0idGV4dC9zb21ldGhp
bmctbm90LWphdmFzY3JpcHQiPgorc3RydWN0ICRyZXBsYWNlTWUgeworICB2ZWM0ICRyZXBsYWNl
TWU7Cit9Oworc3RydWN0IEZvbyB7CisgICRyZXBsYWNlTWUgJHJlcGxhY2VNZTsKK307CithdHRy
aWJ1dGUgdmVjNCBwb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgICAgRm9vIGY7CisgICAgZi4k
cmVwbGFjZU1lLiRyZXBsYWNlTWUgPSBwb3NpdGlvbjsKKyAgICBnbF9Qb3NpdGlvbiA9IGYuJHJl
cGxhY2VNZS4kcmVwbGFjZU1lOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnbWVudFNo
YWRlcjAiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBt
ZWRpdW1wIGZsb2F0OwordmVjNCAkcmVwbGFjZU1lKCkgeworICAgIHJldHVybiB2ZWM0KDAsMSww
LDEpOworfQordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSAkcmVwbGFjZU1lKCk7
Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlcjEiIHR5cGU9InRleHQvc29t
ZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0ICRyZXBsYWNlTWU7Cit2b2lk
IG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gJHJlcGxhY2VNZTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXIxIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2
YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3ZlYzQgZm9vKHZlYzQgJHJlcGxh
Y2VNZSkgeworICByZXR1cm4gJHJlcGxhY2VNZTsKK30KK3ZvaWQgbWFpbigpCit7CisgICAgZ2xf
RnJhZ0NvbG9yID0gZm9vKHZlYzQoMSwwLDEsMSkpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSJ2ZXJ0ZXhTaGFkZXIyIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+Cit2
YXJ5aW5nIHZlYzQgJHJlcGxhY2VNZTsKK2F0dHJpYnV0ZSB2ZWM0IHBvc2l0aW9uOwordm9pZCBt
YWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHBvc2l0aW9uOworICAgICRyZXBsYWNlTWUgPSBw
b3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXIyIiB0eXBl
PSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9h
dDsKK3ZhcnlpbmcgdmVjNCAkcmVwbGFjZU1lOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFn
Q29sb3IgPSAkcmVwbGFjZU1lOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhTaGFk
ZXIzIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CithdHRyaWJ1dGUgdmVj
NCBwb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSBwb3NpdGlvbjsK
K30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXIzIiB0eXBlPSJ0ZXh0L3Nv
bWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZv
cm0gdmVjNCAkcmVwbGFjZU1lOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSAk
cmVwbGFjZU1lOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIERY
V29yZHMgPSBbCisgICJCdWZmZXIiLAorICAiZG91YmxlIiwKKyAgInVpbnQiLAorICAiaGFsZiIs
CisgICJkd29yZCIsCisgICJzdHJpbmciLAorICAidGV4dHVyZSIsCisgICJwaXhlbHNoYWRlciIs
CisgICJ2ZXJ0ZXhzaGFkZXIiLAorICAic3dpdGNoIiwKKyAgIm1pbjE2ZmxvYXQiLAorICAibWlu
MTBmbG9hdCIsCisgICJtaW4xNmludCIsCisgICJtaW4xMmludCIsCisgICJtaW4xNnVpbnQiLAor
ICAidmVjdG9yIiwKKyAgIm1hdHJpeCIsCisgICJmbG9hdDIiLAorICAiZmxvYXQzIiwKKyAgImZs
b2F0NCIsCisgICJmbG9hdDF4MSIsCisgICJmbG9hdDF4MiIsCisgICJmbG9hdDF4MyIsCisgICJm
bG9hdDF4NCIsCisgICJmbG9hdDJ4MSIsCisgICJmbG9hdDJ4MiIsCisgICJmbG9hdDJ4MyIsCisg
ICJmbG9hdDJ4NCIsCisgICJmbG9hdDN4MSIsCisgICJmbG9hdDN4MiIsCisgICJmbG9hdDN4MyIs
CisgICJmbG9hdDN4NCIsCisgICJmbG9hdDR4MSIsCisgICJmbG9hdDR4MiIsCisgICJmbG9hdDR4
MyIsCisgICJmbG9hdDR4NCIsCisgICJpbnQxeDEiLAorICAiaW50MXgyIiwKKyAgImludDF4MyIs
CisgICJpbnQxeDQiLAorICAiaW50MngxIiwKKyAgImludDJ4MiIsCisgICJpbnQyeDMiLAorICAi
aW50Mng0IiwKKyAgImludDN4MSIsCisgICJpbnQzeDIiLAorICAiaW50M3gzIiwKKyAgImludDN4
NCIsCisgICJpbnQ0eDEiLAorICAiaW50NHgyIiwKKyAgImludDR4MyIsCisgICJpbnQ0eDQiLAor
ICAiZG91YmxlMXgxIiwKKyAgImRvdWJsZTF4MiIsCisgICJkb3VibGUxeDMiLAorICAiZG91Ymxl
MXg0IiwKKyAgImRvdWJsZTJ4MSIsCisgICJkb3VibGUyeDIiLAorICAiZG91YmxlMngzIiwKKyAg
ImRvdWJsZTJ4NCIsCisgICJkb3VibGUzeDEiLAorICAiZG91YmxlM3gyIiwKKyAgImRvdWJsZTN4
MyIsCisgICJkb3VibGUzeDQiLAorICAiZG91YmxlNHgxIiwKKyAgImRvdWJsZTR4MiIsCisgICJk
b3VibGU0eDMiLAorICAiZG91YmxlNHg0IiwKKyAgImFib3J0IiwKKyAgImFicyIsCisgICJhY29z
IiwKKyAgImFsbCIsCisgICJBbGxNZW1vcnlCYXJyaWVyIiwKKyAgIkFsbE1lbW9yeUJhcnJpZXJX
aXRoR3JvdXBTeW5jIiwKKyAgImFueSIsCisgICJhc2RvdWJsZSIsCisgICJhc2Zsb2F0IiwKKyAg
ImFzaW4iLAorICAiYXNpbnQiLAorICAiYXNpbnQiLAorICAiYXN1aW50IiwKKyAgImFzdWludCIs
CisgICJhdGFuIiwKKyAgImF0YW4yIiwKKyAgImNlaWwiLAorICAiY2xhbXAiLAorICAiY2xpcCIs
CisgICJjb3MiLAorICAiY29zaCIsCisgICJjb3VudGJpdHMiLAorICAiY3Jvc3MiLAorICAiRDNE
Q09MT1J0b1VCWVRFNCIsCisgICJkZHgiLAorICAiZGR4X2NvYXJzZSIsCisgICJkZHhfZmluZSIs
CisgICJkZHkiLAorICAiZGR5X2NvYXJzZSIsCisgICJkZHlfZmluZSIsCisgICJkZWdyZWVzIiwK
KyAgImRldGVybWluYW50IiwKKyAgIkRldmljZU1lbW9yeUJhcnJpZXIiLAorICAiRGV2aWNlTWVt
b3J5QmFycmllcldpdGhHcm91cFN5bmMiLAorICAiZGlzdGFuY2UiLAorICAiZG90IiwKKyAgImRz
dCIsCisgICJlcnJvcmYiLAorICAiRXZhbHVhdGVBdHRyaWJ1dGVBdENlbnRyb2lkIiwKKyAgIkV2
YWx1YXRlQXR0cmlidXRlQXRTYW1wbGUiLAorICAiRXZhbHVhdGVBdHRyaWJ1dGVTbmFwcGVkIiwK
KyAgImV4cCIsCisgICJleHAyIiwKKyAgImYxNnRvZjMyIiwKKyAgImYzMnRvZjE2IiwKKyAgImZh
Y2Vmb3J3YXJkIiwKKyAgImZpcnN0Yml0aGlnaCIsCisgICJmaXJzdGJpdGxvdyIsCisgICJmbG9v
ciIsCisgICJmbWEiLAorICAiZm1vZCIsCisgICJmcmFjIiwKKyAgImZyZXhwIiwKKyAgImZ3aWR0
aCIsCisgICJHZXRSZW5kZXJUYXJnZXRTYW1wbGVDb3VudCIsCisgICJHZXRSZW5kZXJUYXJnZXRT
YW1wbGVQb3NpdGlvbiIsCisgICJHcm91cE1lbW9yeUJhcnJpZXIiLAorICAiR3JvdXBNZW1vcnlC
YXJyaWVyV2l0aEdyb3VwU3luYyIsCisgICJJbnRlcmxvY2tlZEFkZCIsCisgICJJbnRlcmxvY2tl
ZEFuZCIsCisgICJJbnRlcmxvY2tlZENvbXBhcmVFeGNoYW5nZSIsCisgICJJbnRlcmxvY2tlZENv
bXBhcmVTdG9yZSIsCisgICJJbnRlcmxvY2tlZEV4Y2hhbmdlIiwKKyAgIkludGVybG9ja2VkTWF4
IiwKKyAgIkludGVybG9ja2VkTWluIiwKKyAgIkludGVybG9ja2VkT3IiLAorICAiSW50ZXJsb2Nr
ZWRYb3IiLAorICAiaXNmaW5pdGUiLAorICAiaXNpbmYiLAorICAiaXNuYW4iLAorICAibGRleHAi
LAorICAibGVuZ3RoIiwKKyAgImxlcnAiLAorICAibGl0IiwKKyAgImxvZyIsCisgICJsb2cxMCIs
CisgICJsb2cyIiwKKyAgIm1hZCIsCisgICJtYXgiLAorICAibWluIiwKKyAgIm1vZGYiLAorICAi
bXNhZDQiLAorICAibXVsIiwKKyAgIm5vaXNlIiwKKyAgIm5vcm1hbGl6ZSIsCisgICJwb3ciLAor
ICAicHJpbnRmIiwKKyAgIlByb2Nlc3MyRFF1YWRUZXNzRmFjdG9yc0F2ZyIsCisgICJQcm9jZXNz
MkRRdWFkVGVzc0ZhY3RvcnNNYXgiLAorICAiUHJvY2VzczJEUXVhZFRlc3NGYWN0b3JzTWluIiwK
KyAgIlByb2Nlc3NJc29saW5lVGVzc0ZhY3RvcnMiLAorICAiUHJvY2Vzc1F1YWRUZXNzRmFjdG9y
c0F2ZyIsCisgICJQcm9jZXNzUXVhZFRlc3NGYWN0b3JzTWF4IiwKKyAgIlByb2Nlc3NRdWFkVGVz
c0ZhY3RvcnNNaW4iLAorICAiUHJvY2Vzc1RyaVRlc3NGYWN0b3JzQXZnIiwKKyAgIlByb2Nlc3NU
cmlUZXNzRmFjdG9yc01heCIsCisgICJQcm9jZXNzVHJpVGVzc0ZhY3RvcnNNaW4iLAorICAicmFk
aWFucyIsCisgICJyY3AiLAorICAicmVmbGVjdCIsCisgICJyZWZyYWN0IiwKKyAgInJldmVyc2Vi
aXRzIiwKKyAgInJvdW5kIiwKKyAgInJzcXJ0IiwKKyAgInNhdHVyYXRlIiwKKyAgInNpZ24iLAor
ICAic2luIiwKKyAgInNpbmNvcyIsCisgICJzaW5oIiwKKyAgInNtb290aHN0ZXAiLAorICAic3Fy
dCIsCisgICJzdGVwIiwKKyAgInRhbiIsCisgICJ0YW5oIiwKKyAgInRleDFEIiwKKyAgInRleDFE
IiwKKyAgInRleDFEYmlhcyIsCisgICJ0ZXgxRGdyYWQiLAorICAidGV4MURsb2QiLAorICAidGV4
MURwcm9qIiwKKyAgInRleDJEIiwKKyAgInRleDJEIiwKKyAgInRleDJEYmlhcyIsCisgICJ0ZXgy
RGdyYWQiLAorICAidGV4MkRsb2QiLAorICAidGV4MkRwcm9qIiwKKyAgInRleDNEIiwKKyAgInRl
eDNEIiwKKyAgInRleDNEYmlhcyIsCisgICJ0ZXgzRGdyYWQiLAorICAidGV4M0Rsb2QiLAorICAi
dGV4M0Rwcm9qIiwKKyAgInRleENVQkUiLAorICAidGV4Q1VCRSIsCisgICJ0ZXhDVUJFYmlhcyIs
CisgICJ0ZXhDVUJFZ3JhZCIsCisgICJ0ZXhDVUJFbG9kIiwKKyAgInRleENVQkVwcm9qIiwKKyAg
InRyYW5zcG9zZSIsCisgICJ0cnVuYyIKK107CisKK3ZhciBHTFNMXzRfMjBfMTFfd29yZHMgPSBb
CisgICJhdHRyaWJ1dGUiLAorICAiY29uc3QiLAorICAidW5pZm9ybSIsCisgICJ2YXJ5aW5nIiwK
KyAgImNvaGVyZW50IiwKKyAgInZvbGF0aWxlIiwKKyAgInJlc3RyaWN0IiwKKyAgInJlYWRvbmx5
IiwKKyAgIndyaXRlb25seSIsCisgICJhdG9taWNfdWludCIsCisgICJsYXlvdXQiLAorICAiY2Vu
dHJvaWQiLAorICAiZmxhdCIsCisgICJzbW9vdGgiLAorICAibm9wZXJzcGVjdGl2ZSIsCisgICJw
YXRjaCIsCisgICJzYW1wbGUiLAorICAiYnJlYWsiLAorICAiY29udGludWUiLAorICAiZG8iLAor
ICAiZm9yIiwKKyAgIndoaWxlIiwKKyAgInN3aXRjaCIsCisgICJjYXNlIiwKKyAgImRlZmF1bHQi
LAorICAiaWYiLAorICAiZWxzZSIsCisgICJzdWJyb3V0aW5lIiwKKyAgImluIiwKKyAgIm91dCIs
CisgICJpbm91dCIsCisgICJmbG9hdCIsCisgICJkb3VibGUiLAorICAiaW50IiwKKyAgInZvaWQi
LAorICAiYm9vbCIsCisgICJ0cnVlIiwKKyAgImZhbHNlIiwKKyAgImludmFyaWFudCIsCisgICJk
aXNjYXJkIiwKKyAgInJldHVybiIsCisgICJtYXQyIiwKKyAgIm1hdDMiLAorICAibWF0NCIsCisg
ICJkbWF0MiIsCisgICJkbWF0MyIsCisgICJkbWF0NCIsCisgICJtYXQyeDIiLAorICAibWF0Mngz
IiwKKyAgIm1hdDJ4NCIsCisgICJkbWF0MngyIiwKKyAgImRtYXQyeDMiLAorICAiZG1hdDJ4NCIs
CisgICJtYXQzeDIiLAorICAibWF0M3gzIiwKKyAgIm1hdDN4NCIsCisgICJkbWF0M3gyIiwKKyAg
ImRtYXQzeDMiLAorICAiZG1hdDN4NCIsCisgICJtYXQ0eDIiLAorICAibWF0NHgzIiwKKyAgIm1h
dDR4NCIsCisgICJkbWF0NHgyIiwKKyAgImRtYXQ0eDMiLAorICAiZG1hdDR4NCIsCisgICJ2ZWMy
IiwKKyAgInZlYzMiLAorICAidmVjNCIsCisgICJpdmVjMiIsCisgICJpdmVjMyIsCisgICJpdmVj
NCIsCisgICJidmVjMiIsCisgICJidmVjMyIsCisgICJidmVjNCIsCisgICJkdmVjMiIsCisgICJk
dmVjMyIsCisgICJkdmVjNCIsCisgICJ1aW50IiwKKyAgInV2ZWMyIiwKKyAgInV2ZWMzIiwKKyAg
InV2ZWM0IiwKKyAgImxvd3AiLAorICAibWVkaXVtcCIsCisgICJoaWdocCIsCisgICJwcmVjaXNp
b24iLAorICAic2FtcGxlcjFEIiwKKyAgInNhbXBsZXIyRCIsCisgICJzYW1wbGVyM0QiLAorICAi
c2FtcGxlckN1YmUiLAorICAic2FtcGxlcjFEU2hhZG93IiwKKyAgInNhbXBsZXIyRFNoYWRvdyIs
CisgICJzYW1wbGVyQ3ViZVNoYWRvdyIsCisgICJzYW1wbGVyMURBcnJheSIsCisgICJzYW1wbGVy
MkRBcnJheSIsCisgICJzYW1wbGVyMURBcnJheVNoYWRvdyIsCisgICJzYW1wbGVyMkRBcnJheVNo
YWRvdyIsCisgICJpc2FtcGxlcjFEIiwKKyAgImlzYW1wbGVyMkQiLAorICAiaXNhbXBsZXIzRCIs
CisgICJpc2FtcGxlckN1YmUiLAorICAiaXNhbXBsZXIxREFycmF5IiwKKyAgImlzYW1wbGVyMkRB
cnJheSIsCisgICJ1c2FtcGxlcjFEIiwKKyAgInVzYW1wbGVyMkQiLAorICAidXNhbXBsZXIzRCIs
CisgICJ1c2FtcGxlckN1YmUiLAorICAidXNhbXBsZXIxREFycmF5IiwKKyAgInVzYW1wbGVyMkRB
cnJheSIsCisgICJzYW1wbGVyMkRSZWN0IiwKKyAgInNhbXBsZXIyRFJlY3RTaGFkb3ciLAorICAi
aXNhbXBsZXIyRFJlY3QiLAorICAidXNhbXBsZXIyRFJlY3QiLAorICAic2FtcGxlckJ1ZmZlciIs
CisgICJpc2FtcGxlckJ1ZmZlciIsCisgICJ1c2FtcGxlckJ1ZmZlciIsCisgICJzYW1wbGVyMkRN
UyIsCisgICJpc2FtcGxlcjJETVMiLAorICAidXNhbXBsZXIyRE1TIiwKKyAgInNhbXBsZXIyRE1T
QXJyYXkiLAorICAiaXNhbXBsZXIyRE1TQXJyYXkiLAorICAidXNhbXBsZXIyRE1TQXJyYXkiLAor
ICAic2FtcGxlckN1YmVBcnJheSIsCisgICJzYW1wbGVyQ3ViZUFycmF5U2hhZG93IiwKKyAgImlz
YW1wbGVyQ3ViZUFycmF5IiwKKyAgInVzYW1wbGVyQ3ViZUFycmF5IiwKKyAgImltYWdlMUQiLAor
ICAiaWltYWdlMUQiLAorICAidWltYWdlMUQiLAorICAiaW1hZ2UyRCIsCisgICJpaW1hZ2UyRCIs
CisgICJ1aW1hZ2UyRCIsCisgICJpbWFnZTNEIiwKKyAgImlpbWFnZTNEIiwKKyAgInVpbWFnZTNE
IiwKKyAgImltYWdlMkRSZWN0IiwKKyAgImlpbWFnZTJEUmVjdCIsCisgICJ1aW1hZ2UyRFJlY3Qi
LAorICAiaW1hZ2VDdWJlIiwKKyAgImlpbWFnZUN1YmUiLAorICAidWltYWdlQ3ViZSIsCisgICJp
bWFnZUJ1ZmZlciIsCisgICJpaW1hZ2VCdWZmZXIiLAorICAidWltYWdlQnVmZmVyIiwKKyAgImlt
YWdlMURBcnJheSIsCisgICJpaW1hZ2UxREFycmF5IiwKKyAgInVpbWFnZTFEQXJyYXkiLAorICAi
aW1hZ2UyREFycmF5IiwKKyAgImlpbWFnZTJEQXJyYXkiLAorICAidWltYWdlMkRBcnJheSIsCisg
ICJpbWFnZUN1YmVBcnJheSIsCisgICJpaW1hZ2VDdWJlQXJyYXkiLAorICAidWltYWdlQ3ViZUFy
cmF5IiwKKyAgImltYWdlMkRNUyIsCisgICJpaW1hZ2UyRE1TIiwKKyAgInVpbWFnZTJETVMiLAor
ICAiaW1hZ2UyRE1TQXJyYXkiLAorICAiaWltYWdlMkRNU0FycmF5IiwKKyAgInVpbWFnZTJETVNB
cnJheSIsCisgICJzdHJ1Y3QiCitdOworCit2YXIgR0xTTF80XzIwXzExX2Z1dHVyZV93b3JkcyA9
IFsKKyAgImNvbW1vbiIsCisgICJwYXJ0aXRpb24iLAorICAiYWN0aXZlIiwKKyAgImFzbSIsCisg
ICJjbGFzcyIsCisgICJ1bmlvbiIsCisgICJlbnVtIiwKKyAgInR5cGVkZWYiLAorICAidGVtcGxh
dGUiLAorICAidGhpcyIsCisgICJwYWNrZWQiLAorICAicmVzb3VyY2UiLAorICAiZ290byIsCisg
ICJpbmxpbmUiLAorICAibm9pbmxpbmUiLAorICAicHVibGljIiwKKyAgInN0YXRpYyIsCisgICJl
eHRlcm4iLAorICAiZXh0ZXJuYWwiLAorICAiaW50ZXJmYWNlIiwKKyAgImxvbmciLAorICAic2hv
cnQiLAorICAiaGFsZiIsCisgICJmaXhlZCIsCisgICJ1bnNpZ25lZCIsCisgICJzdXBlcnAiLAor
ICAiaW5wdXQiLAorICAib3V0cHV0IiwKKyAgImh2ZWMyIiwKKyAgImh2ZWMzIiwKKyAgImh2ZWM0
IiwKKyAgImZ2ZWMyIiwKKyAgImZ2ZWMzIiwKKyAgImZ2ZWM0IiwKKyAgInNhbXBsZXIzRFJlY3Qi
LAorICAiZmlsdGVyIiwKKyAgInNpemVvZiIsCisgICJjYXN0IiwKKyAgIm5hbWVzcGFjZSIsCisg
ICJ1c2luZyIsCisgICJyb3dfbWFqb3IiCitdOworCit2YXIgR0xTTF8xXzBfMTdfd29yZHMgPSBb
CisgICJhdHRyaWJ1dGUiLAorICAiY29uc3QiLAorICAidW5pZm9ybSIsCisgICJ2YXJ5aW5nIiwK
KyAgImJyZWFrIiwKKyAgImNvbnRpbnVlIiwKKyAgImRvIiwKKyAgImZvciIsCisgICJ3aGlsZSIs
CisgICJpZiIsCisgICJlbHNlIiwKKyAgImluIiwKKyAgIm91dCIsCisgICJpbm91dCIsCisgICJm
bG9hdCIsCisgICJpbnQiLAorICAidm9pZCIsCisgICJib29sIiwKKyAgInRydWUiLAorICAiZmFs
c2UiLAorICAibG93cCIsCisgICJtZWRpdW1wIiwKKyAgImhpZ2hwIiwKKyAgInByZWNpc2lvbiIs
CisgICJpbnZhcmlhbnQiLAorICAiZGlzY2FyZCIsCisgICJyZXR1cm4iLAorICAibWF0MiIsCisg
ICJtYXQzIiwKKyAgIm1hdDQiLAorICAidmVjMiIsCisgICJ2ZWMzIiwKKyAgInZlYzQiLAorICAi
aXZlYzIiLAorICAiaXZlYzMiLAorICAiaXZlYzQiLAorICAiYnZlYzIiLAorICAiYnZlYzMiLAor
ICAiYnZlYzQiLAorICAic2FtcGxlcjJEIiwKKyAgInNhbXBsZXJDdWJlIiwKKyAgInN0cnVjdCIK
K10KKwordmFyIEdMU0xfMV8wXzE3X0Z1dHVyZVdvcmRzID0gWworICAiYXNtIiwKKyAgImNsYXNz
IiwKKyAgInVuaW9uIiwKKyAgImVudW0iLAorICAidHlwZWRlZiIsCisgICJ0ZW1wbGF0ZSIsCisg
ICJ0aGlzIiwKKyAgInBhY2tlZCIsCisgICJnb3RvIiwKKyAgInN3aXRjaCIsCisgICJkZWZhdWx0
IiwKKyAgImlubGluZSIsCisgICJub2lubGluZSIsCisgICJ2b2xhdGlsZSIsCisgICJwdWJsaWMi
LAorICAic3RhdGljIiwKKyAgImV4dGVybiIsCisgICJleHRlcm5hbCIsCisgICJpbnRlcmZhY2Ui
LAorICAiZmxhdCIsCisgICJsb25nIiwKKyAgInNob3J0IiwKKyAgImRvdWJsZSIsCisgICJoYWxm
IiwKKyAgImZpeGVkIiwKKyAgInVuc2lnbmVkIiwKKyAgInN1cGVycCIsCisgICJpbnB1dCIsCisg
ICJvdXRwdXQiLAorICAiaHZlYzIiLAorICAiaHZlYzMiLAorICAiaHZlYzQiLAorICAiZHZlYzIi
LAorICAiZHZlYzMiLAorICAiZHZlYzQiLAorICAiZnZlYzIiLAorICAiZnZlYzMiLAorICAiZnZl
YzQiLAorICAic2FtcGxlcjFEIiwKKyAgInNhbXBsZXIzRCIsCisgICJzYW1wbGVyMURTaGFkb3ci
LAorICAic2FtcGxlcjJEU2hhZG93IiwKKyAgInNhbXBsZXIyRFJlY3QiLAorICAic2FtcGxlcjNE
UmVjdCIsCisgICJzYW1wbGVyMkRSZWN0U2hhZG93IiwKKyAgInNpemVvZiIsCisgICJjYXN0IiwK
KyAgIm5hbWVzcGFjZSIsCisgICJ1c2luZyIKK107CisKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciB3
dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKK3Zh
ciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKwordmFyIGJhZFdvcmRz
ID0gWworICB7IHdvcmRzOiBEWFdvcmRzIH0sCisgIHsgd29yZHM6IEdMU0xfNF8yMF8xMV93b3Jk
cywgfSwKKyAgeyB3b3JkczogR0xTTF80XzIwXzExX2Z1dHVyZV93b3JkcywgfQorXTsKKwordmFy
IHJlc2VydmVkV29yZHNMaXN0cyA9IFsKKyAgR0xTTF8xXzBfMTdfd29yZHMsCisgIEdMU0xfMV8w
XzE3X0Z1dHVyZVdvcmRzCitdOworCit2YXIgcmVzZXJ2ZWRXb3JkcyA9IHsgfTsKK2ZvciAodmFy
IGlpID0gMDsgaWkgPCByZXNlcnZlZFdvcmRzTGlzdHMubGVuZ3RoOyArK2lpKSB7CisgIHZhciBs
aXN0ID0gcmVzZXJ2ZWRXb3Jkc0xpc3RzW2lpXTsKKyAgZm9yICh2YXIgamogPSAwOyBqaiA8IGxp
c3QubGVuZ3RoOyArK2pqKSB7CisgICAgcmVzZXJ2ZWRXb3Jkc1tsaXN0W2pqXV0gPSB0cnVlOwor
ICB9Cit9CisKK3ZhciBjaGVja2VkV29yZHMgPSB7fTsKKwordmFyIHNyYyA9IFtdOworZm9yICh2
YXIgaWkgPSAwOyBpaSA8IDQ7ICsraWkpIHsKKyAgdmFyIHZzcmMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidmVydGV4U2hhZGVyIiArIGlpKS50ZXh0OworICB2YXIgZnNyYyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmcmFnbWVudFNoYWRlciIgKyBpaSkudGV4dDsKKyAgc3JjLnB1c2go
e3ZzcmM6IHZzcmMsIGZzcmM6IGZzcmN9KTsKK30KKwordmFyIGJhZFdvcmROZHggPSAwOwordmFy
IGxpc3ROZHggPSAwOworCitmdW5jdGlvbiB0ZXN0TmV4dFdvcmQoKSB7CisgIHZhciBsaXN0ID0g
YmFkV29yZHNbYmFkV29yZE5keF0ud29yZHM7CisgIGlmIChsaXN0TmR4ID49IGxpc3QubGVuZ3Ro
KSB7CisgICAgKytiYWRXb3JkTmR4OworICAgIGlmIChiYWRXb3JkTmR4ID49IGJhZFdvcmRzLmxl
bmd0aCkgeworICAgICAgZmluaXNoVGVzdCgpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgICBs
aXN0TmR4ID0gMDsKKyAgICBsaXN0ID0gYmFkV29yZHNbYmFkV29yZE5keF0ud29yZHM7CisgIH0K
KyAgdGVzdFdvcmQobGlzdFtsaXN0TmR4XSk7CisgICsrbGlzdE5keDsKKyAgc2V0VGltZW91dCh0
ZXN0TmV4dFdvcmQsMSk7Cit9Cit0ZXN0TmV4dFdvcmQoKTsKKworZnVuY3Rpb24gdGVzdFdvcmQo
d29yZCkgeworICBpZiAod29yZCBpbiByZXNlcnZlZFdvcmRzIHx8IHdvcmQgaW4gY2hlY2tlZFdv
cmRzKSB7CisgICAgcmV0dXJuOworICB9CisgIGNoZWNrZWRXb3Jkc1t3b3JkXSA9IHRydWU7Cisg
IGRlYnVnKCIiKTsKKyAgZGVidWcoInRlc3Rpbmc6ICIgKyB3b3JkKTsKKworICBmb3IgKHZhciBp
aSA9IDA7IGlpIDwgc3JjLmxlbmd0aDsgKytpaSkgeworICAgIHZhciB2cyA9IHNyY1tpaV0udnNy
Yy5yZXBsYWNlKC9cJHJlcGxhY2VNZS9nLCB3b3JkKTsKKyAgICB2YXIgZnMgPSBzcmNbaWldLmZz
cmMucmVwbGFjZSgvXCRyZXBsYWNlTWUvZywgd29yZCk7CisKKyAgICB3dHUuYWRkU2hhZGVyU291
cmNlKGMsICJ2ZXJ0ZXggc2hhZGVyIiwgdnMpOworICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywg
ImZyYWdtZW50IHNoYWRlciIsIGZzKTsKKworICAgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgICB2
YXIgcHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbShnbCwgdnMsIGZzLCBmdW5jdGlvbihtc2cpIHsK
KyAgICAgIGRlYnVnKG1zZyk7CisgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgfSk7CisgICAg
aWYgKHN1Y2Nlc3MpIHsKKyAgICAgIHRlc3RQYXNzZWQoInNoYWRlciB3aXRoOiAnIiArIHdvcmQg
KyAiJyBjb21waWxlZCIpOworICAgIH0gZWxzZSB7CisgICAgICB0ZXN0RmFpbGVkKCJzaGFkZXIg
d2l0aDogJyIgKyB3b3JkICsgIicgZmFpbGVkIHRvIGNvbXBpbGUiKTsKKyAgICB9CisgICAgaWYg
KHByb2dyYW0pIHsKKyAgICAgIGdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSk7CisgICAgfQorICAg
IHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJlIG5vIEdMIGVy
cm9ycyIpOworICB9Cit9CisKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVy
LXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNzU0OGYz
NmM5MmIwZjc2NDI1ZTU0YzI2ZTdmYjliY2JiODJkNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbApAQCAtMCww
ICsxLDE5MSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
CisgICAgICA8dGl0bGU+V2ViR0wgc2hvcnQtY2lyY3VpdCBldmFsdWF0aW9uPC90aXRsZT4KKyAg
ICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIi8+CisgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2Rl
c2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pgor
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CisgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMi
Pjwvc2NyaXB0PgorICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52YXM+CisKKyAg
ICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgV2ViR0wgU2hhZGVy
cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4KKyAgICA8IS0tIFBh
c3MgdGhyb3VnaCBTaGFkZXJzIC0tPgorICAgIDxzY3JpcHQgaWQ9InZzaGFkZXIwIiB0eXBlPSJ4
LXNoYWRlci94LXZlcnRleCI+CisgICAgICAvKiBQQVNTLVRIUk9VR0ggVkVSVEVYIFNIQURFUiAq
LworICAgICAgYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworCisgICAgICB2b2lkIG1haW4oKQor
ICAgICAgeworICAgICAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICAgIH0KKyAgICA8
L3NjcmlwdD4KKworICAgIDxzY3JpcHQgaWQ9ImZzaGFkZXIwIiB0eXBlPSJ4LXNoYWRlci94LWZy
YWdtZW50Ij4KKyAgICAgIC8qIFBBU1MtVEhST1VHSCBGUkFHTUVOVCBTSEFERVIgKi8KKyAgICAg
IHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgICAgdmFyeWluZyB2ZWM0IHZQYXNzVGhyb3Vn
aDsKKworICAgICAgdm9pZCBtYWluKCkKKyAgICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0g
dlBhc3NUaHJvdWdoOworICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPCEtLSBiYXNpYyBj
b25kaXRvbmFsIHNob3J0IGNpcmN1aXQgU2hhZGVycyAtLT4KKyAgICA8c2NyaXB0IGlkPSJ2c2hh
ZGVyMSIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgICAgYXR0cmlidXRlIHZlYzQgdlBv
c2l0aW9uOworICAgICAgdmFyeWluZyB2ZWM0IHZQYXNzVGhyb3VnaDsKKworICAgICAgdm9pZCBt
YWluKCkKKyAgICAgIHsKKyAgICAgICAgaW50IHggPSAxOworICAgICAgICAkKHZhcmlhYmxlcykK
KyAgICAgIAorICAgICAgICBpZiAoJChjb25kaXRpb24pKQorICAgICAgICB7IC8qZG8gbm90aGlu
ZyovIH0KKworICAgICAgICAvKiBpZiB4IHdhcyB1bm1vZGlmaWVkIHJldHVybiBncmVlbiwgZWxz
ZSByZXR1cm4gcmVkICovCisgICAgICAgIHZQYXNzVGhyb3VnaCA9ICh4ID09IDEpID8gdmVjNCgw
LCAxLCAwLCAxKSA6IHZlYzQoMSwgMCwgMCwgMSk7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gdlBv
c2l0aW9uOworICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPHNjcmlwdCBpZD0iZnNoYWRl
cjEiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAgICAgcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7CisKKyAgICAgIHZvaWQgbWFpbigpCisgICAgICB7CisgICAgICAgIGludCB4ID0gMTsK
KyAgICAgICAgJCh2YXJpYWJsZXMpCisgICAgICAgIAorICAgICAgICBpZiAoJChjb25kaXRpb24p
KQorICAgICAgICB7IC8qZG8gbm90aGluZyovIH0KKworICAgICAgICBnbF9GcmFnQ29sb3IgPSAo
eCA9PSAxKSA/IHZlYzQoMCwgMSwgMCwgMSkgOiB2ZWM0KDEsIDAsIDAsIDEpOworICAgICAgfQor
ICAgIDwvc2NyaXB0PgorCisgICAgPCEtLSBNYWluIGJvZHkgb2YgdGhlIFdlYmdsIHByb2dyYW0g
LS0+CisgICAgPHNjcmlwdD4KKyAgICAidXNlIHN0cmljdCI7CisgICAgICBkZXNjcmlwdGlvbigp
OworCisgICAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgICB2YXIgZ2wgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCk7CisgICAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb25zb2xlIik7CisKKyAgICAgIHd0dS5zZXR1cFVuaXRRdWFkKGdsLCBbMCwgMV0pOworCisg
ICAgICB2YXIgc2hhZGVyVGVtcGxhdGVzID0gWworICAgICAgeyB2czogInZzaGFkZXIxIiwgZnM6
ICJmc2hhZGVyMCIgfSwgLy8gYmFzaWMgdmVydGV4IHNob3J0LWNpcmN1aXQgdGVzdAorICAgICAg
eyB2czogInZzaGFkZXIwIiwgZnM6ICJmc2hhZGVyMSIgfSwgLy8gYmFzaWMgZnJhZ21lbnQgc2hv
cnQtY2lyY3VpdCB0ZXN0CisgICAgICBdOworCisgICAgICAvKiByZXBsYWNlIHRoZSBuYW1lcyBv
ZiB0aGUgc2hhZGVycyBpbiB0aGUgdGVtcGF0ZSB2YXJpYWJsZXMgd2l0aAorICAgICAgKiB0aGUg
c2hhZGVycyB0aGVtc2VsdmVzICovCisgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2hhZGVy
VGVtcGxhdGVzLmxlbmd0aDsgKytpaSkgeworICAgICAgICB2YXIgdGVtcGxhdGUgPSBzaGFkZXJU
ZW1wbGF0ZXNbaWldOworICAgICAgICB0ZW1wbGF0ZS52cyA9IHd0dS5nZXRTY3JpcHQodGVtcGxh
dGUudnMpOworICAgICAgICB0ZW1wbGF0ZS5mcyA9IHd0dS5nZXRTY3JpcHQodGVtcGxhdGUuZnMp
OworICAgICAgfQorCisgICAgICAvKiBkZWZpbmUgdGhlIGNvbmRpdG9uIHRoYXQgd2lsbCBiZSB1
c2VkIGluIHRoZSBzaGFkZXJzLiBJZiBhZGRpdGlvbmFsCisgICAgICAgKiB2YXJpYWJsZXMgYXJl
IG5lZWRlZCB0aGF0IGFyZSBub3QgcHJlc2VudCBpIHRoZSBzaGFkZXIgdGhleSBteSBiZQorICAg
ICAgICogZGVmaW5lZCBpbiB0aGUgdmFyaWFibGVzIHZhcmlhYmxlICovCisgICAgICB2YXIgdGVz
dHMgPSBbCisgICAgICAgIHsgY29uZGl0aW9uOiAidHJ1ZSB8fCAoeCA9IDApID09IDEiLCB2YXJp
YWJsZXM6ICIiIH0sIC8qIHRlc3QgYmFzaWMgJ29yJyBzaG9ydCBjaXJjdWl0ICovCisgICAgICAg
IHsgY29uZGl0aW9uOiAiZmFsc2UgJiYgKHggPSAwKSA9PSAxIiwgdmFyaWFibGVzOiAiIiB9LCAv
KiB0ZXN0IGJhc2ljICdhbmQnIHNob3J0IGNpcmN1aXQgKi8KKyAgICAgICAgeyBjb25kaXRpb246
ICIoaiA9PSAzICYmIGogPT0gaykgfHwgKGogPiAoeCA9IDApKSIsIHZhcmlhYmxlczogImludCBq
ID0gMztcbmludCBrID0gMzsiIH0sIC8qIHRlc3QgYmFzaWMgJ29yJyBzaG9ydCBjaXJjdWl0IHdp
dGggYWN0dWFsIGNvbmRpdGlvbiAqLworICAgICAgICB7IGNvbmRpdGlvbjogIihqID09IDMgJiYg
aiA9PSBrKSAmJiAoaiA+ICh4ID0gMCkpIiwgdmFyaWFibGVzOiAiaW50IGogPSAzO1xuaW50IGsg
PSA0OyIgfSwgLyogdGVzdCBiYXNpYyAnYW5kJyBzaG9ydCBjaXJjdWl0IHdpdGggYWN0dWFsIGNv
bmRpdGlvbiAqLworICAgICAgICB7IGNvbmRpdGlvbjogIihqICsgMyA+IGsgJiYgKChqIDwgMTAp
IHx8ICh4ICsgNSA+IGogKyAoeCA9IDApKSkgfHwgKCB4ID0gMCApID09IDcpIiwgdmFyaWFibGVz
OiAiaW50IGogPSA1O1xuaW50IGsgPSAzOyIgfSwgLyogY29tcGxleCB0ZXN0ICovCisgICAgICAg
IHsgY29uZGl0aW9uOiAiaiArIDEgPT0gNiA/IHggPT0gMSB8fCBqID4gKHggPSAwKSA6ICh4ID0g
MCkgPT0gMSAmJiAoeCA9IDApIDw9IDEiLCB2YXJpYWJsZXM6ICJpbnQgaiA9IDU7IiB9LCAvKiBu
ZXN0ZWQgd2l0aCB0ZXJuYXJ5IG9wZXJhdG9yICovCisgICAgICBdOworCisgICAgICBmdW5jdGlv
biB0ZXN0U2hvcnRDaXJjdWl0KHRlc3QpIHsKKyAgICAgICAgZGVidWcoIiIpOworICAgICAgICBk
ZWJ1ZygidGVzdGluZyBzaG9ydCBjaXJjdWl0IGNvbmRpdGlvbjogIiArIHRlc3QuY29uZGl0aW9u
KTsKKworICAgICAgICAvKiBTZXR0aW5nIGNsZWFyIGNvbG9yIHRvIGJsdWUgKi8KKyAgICAgICAg
Z2wuY2xlYXJDb2xvcigwLjAsIDAuMCwgMS4wLCAxLjApOworCisgICAgICAgIGZvciAodmFyIGlp
ID0gMDsgaWkgPCBzaGFkZXJUZW1wbGF0ZXMubGVuZ3RoOyArK2lpKSB7CisKKyAgICAgICAgICAv
KiBjbGVhciB0aGUgc2NyZWVuIHNvIHRoYXQgc3Vic2VxdWVudCB0ZXN0cyBkb24ndCBjb25mbGlj
dCAqLworICAgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgICAgICAg
IHZhciB0ZW1wbGF0ZSA9IHNoYWRlclRlbXBsYXRlc1tpaV07CisKKyAgICAgICAgICB2YXIgdnMg
PSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZS52cywgdGVzdCk7CisgICAgICAgICAgdmFyIGZz
ID0gd3R1LnJlcGxhY2VQYXJhbXModGVtcGxhdGUuZnMsIHRlc3QpOworCisgICAgICAgICAgd3R1
LmFkZFNoYWRlclNvdXJjZShjLCAidmVydGV4IHNoYWRlciIsIHZzKTsKKyAgICAgICAgICB3dHUu
YWRkU2hhZGVyU291cmNlKGMsICJmcmFnbWVudCBzaGFkZXIiLCBmcyk7CisKKyAgICAgICAgICB2
YXIgdnMgPSB3dHUubG9hZFNoYWRlcihnbCwgdnMsIGdsLlZFUlRFWF9TSEFERVIpOworICAgICAg
ICAgIHZhciBmcyA9IHd0dS5sb2FkU2hhZGVyKGdsLCBmcywgZ2wuRlJBR01FTlRfU0hBREVSKTsK
KyAgICAgICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5jcmVhdGVQcm9ncmFtKGdsLCB2cywgZnMpOwor
CisgICAgICAgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtKTsKKworICAgICAgICAgIHd0dS5kcmF3
UXVhZChnbCk7CisgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVd
LCAic2hvdWxkIGJlIGdyZWVuIiwgMCk7CisKKyAgICAgICAgICBnbC5kZWxldGVQcm9ncmFtKHBy
b2dyYW0pOworICAgICAgICAgIGdsLmRlbGV0ZVNoYWRlcih2cyk7CisgICAgICAgICAgZ2wuZGVs
ZXRlU2hhZGVyKGZzKTsKKworICAgICAgICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5P
X0VSUk9SLCAic2hvdWxkIGJlIG5vIEdMIGVycm9ycyIpOworICAgICAgICB9CisgICAgICB9CisK
KyAgICAgIHZhciB0ZXN0TmR4ID0gMDsKKyAgICAgIGZ1bmN0aW9uIHJ1bk5leHRUZXN0KCkgewor
ICAgICAgICAgIHRlc3RTaG9ydENpcmN1aXQodGVzdHNbdGVzdE5keCsrXSk7CisgICAgICAgICAg
aWYgKHRlc3ROZHggPj0gdGVzdHMubGVuZ3RoKSB7CisgICAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICBzZXRUaW1lb3V0KHJ1bk5leHRU
ZXN0LCAxKTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIHJ1bk5leHRUZXN0KCk7CisK
KyAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCisgICAgPC9zY3JpcHQ+Cisg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1p
bGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1p
bGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGUwZDQ1NjhmY2E2NzAy
MDVmZmVlMmE0ZGUxODQ1NmJkMjk1NDhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sCkBAIC0wLDAgKzEsMTMx
IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5HTFNM
IHNpbWlsYXIgbmFtZXMgaXNzdWU8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3Nj
cmlwdD4KKworPHNjcmlwdCBpZD0idnNoYWRlciIsIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4K
K2F0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX1Bv
c2l0aW9uID0gYV9wb3NpdGlvbjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjEi
LCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
dW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvblsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xs
aXNpb24yWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7Cisg
ICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1lQ29sbGlzaW9uWzBdICsgdV9uYW1lQ29sbGlzaW9uMlsw
XSArIHVfbmFtZVswXTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjIiLCB0eXBl
PSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9y
bSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9u
WzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xf
RnJhZ0NvbG9yID0gdV9uYW1lQ29sbGlzaW9uMlswXSArIHVfbmFtZUNvbGxpc2lvblswXSArIHVf
bmFtZVswXTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjMiLCB0eXBlPSJ4LXNo
YWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0
IHVfbmFtZUNvbGxpc2lvblsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVbMl07Cit1bmlmb3JtIHZl
YzQgdV9uYW1lQ29sbGlzaW9uMlsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0Nv
bG9yID0gdV9uYW1lQ29sbGlzaW9uWzBdICsgdV9uYW1lWzBdICsgdV9uYW1lQ29sbGlzaW9uMlsw
XTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjQiLCB0eXBlPSJ4LXNoYWRlci94
LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFt
ZUNvbGxpc2lvbjJbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lWzJdOwordW5pZm9ybSB2ZWM0IHVf
bmFtZUNvbGxpc2lvblsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0g
dV9uYW1lQ29sbGlzaW9uMlswXSArIHVfbmFtZVswXSArIHVfbmFtZUNvbGxpc2lvblswXTsKK30K
Kzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjUiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsK
K3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb25bMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29s
bGlzaW9uMlsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1l
WzBdICsgdV9uYW1lQ29sbGlzaW9uWzBdICsgdV9uYW1lQ29sbGlzaW9uMlswXTsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjYiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4K
K3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSB2ZWM0IHVfbmFtZVsyXTsKK3VuaWZv
cm0gdmVjNCB1X25hbWVDb2xsaXNpb24yWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lv
blsyXTsKK3ZvaWQgbWFpbih2b2lkKSB7CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9uYW1lWzBdICsg
dV9uYW1lQ29sbGlzaW9uMlswXSArIHVfbmFtZUNvbGxpc2lvblswXTsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1
MCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigpOworCit2
YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJj
YW52YXMiKTsKK3d0dS5zZXR1cFVuaXRRdWFkKGdsKTsKKworZm9yICh2YXIgaWkgPSAwOyBpaSA8
IDY7ICsraWkpIHsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFk
ZXIiLCAiZnNoYWRlciIgKyAoaWkgKyAxKV0sIFsiYV9wb3NpdGlvbiJdKTsKKyAgdmFyIGxvYzEg
PSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfbmFtZVswXSIpOworICB2YXIgbG9j
MiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9uYW1lQ29sbGlzaW9uWzBdIik7
CisgIHZhciBsb2MzID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X25hbWVDb2xs
aXNpb24yWzBdIik7CisgIGdsLnVuaWZvcm00ZnYobG9jMSwgWzEsIDAsIDAsIDBdKTsKKyAgZ2wu
dW5pZm9ybTRmdihsb2MyLCBbMCwgMSwgMCwgMF0pOworICBnbC51bmlmb3JtNGZ2KGxvYzMsIFsw
LCAwLCAwLCAxXSk7CisgIHd0dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwg
WzI1NSwgMjU1LCAwLCAyNTVdLCAiU2hvdWxkIGJlIHllbGxvdyIpOworfQorCitnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9ycyIpOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIxYmRj
MDdjNzIzMGI3ZTkzNmVlNTExYzBiY2MwZmJlOWY4OWE4NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBD
b25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZvcm1hbmNlLXRlc3QuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZlcnRleFNoYWRlck5vVmFy
eWluZyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgordm9pZCBtYWluKCkK
K3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgaWQ9InZlcnRleFNoYWRlclVudXNlZFZhcnlpbmciIHR5cGU9InRleHQvc29tZXRoaW5nLW5v
dC1qYXZhc2NyaXB0Ij4KK3ZhcnlpbmcgdmVjNCB2X3Zhcnlpbmc7CisKK3ZvaWQgbWFpbigpCit7
CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KDAsMCwwLDApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJmcmFnbWVudFNoYWRlclVudXNlZFZhcnlpbmciIHR5cGU9InRleHQvc29tZXRoaW5nLW5v
dC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit2YXJ5aW5nIHZlYzQg
dl92YXJ5aW5nOworCit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMCww
LDAsMCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyVXNlZFZhcnlp
bmciIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRp
dW1wIGZsb2F0OworCit2YXJ5aW5nIHZlYzQgdl92YXJ5aW5nOworCit2b2lkIG1haW4oKQorewor
ICAgIGdsX0ZyYWdDb2xvciA9IHZfdmFyeWluZzsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKy8v
IEdMU0wgMS4wLjE3IDQuMy41CisidXNlIHN0cmljdCI7CitHTFNMQ29uZm9ybWFuY2VUZXN0ZXIu
cnVuVGVzdHMoWworICB7CisgICAgdlNoYWRlcklkOiAidmVydGV4U2hhZGVyTm9WYXJ5aW5nIiwK
KyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBmU2hhZGVySWQ6ICJmcmFnbWVudFNoYWRl
clVudXNlZFZhcnlpbmciLAorICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNj
ZXNzOiB0cnVlLAorICAgIHBhc3NNc2c6ICJ2ZXJ0ZXggc2hhZGVyIHdpdGggbm8gdmFyeWluZyBh
bmQgZnJhZ21lbnQgc2hhZGVyIHdpdGggdW51c2VkIHZhcnlpbmcgbXVzdCBzdWNjZWVkIiwKKyAg
fSwKKyAgeworICAgIHZTaGFkZXJJZDogInZlcnRleFNoYWRlck5vVmFyeWluZyIsCisgICAgdlNo
YWRlclN1Y2Nlc3M6IHRydWUsCisgICAgZlNoYWRlcklkOiAiZnJhZ21lbnRTaGFkZXJVc2VkVmFy
eWluZyIsCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgbGlua1N1Y2Nlc3M6IGZhbHNl
LAorICAgIHBhc3NNc2c6ICJ2ZXJ0ZXggc2hhZGVyIHdpdGggbm8gdmFyeWluZyBhbmQgZnJhZ21l
bnQgc2hhZGVyIHdpdGggdXNlZCB2YXJ5aW5nIG11c3QgZmFpbCIsCisgIH0sCisgIHsKKyAgICB2
U2hhZGVySWQ6ICJ2ZXJ0ZXhTaGFkZXJVbnVzZWRWYXJ5aW5nIiwKKyAgICB2U2hhZGVyU3VjY2Vz
czogdHJ1ZSwKKyAgICBmU2hhZGVySWQ6ICJmcmFnbWVudFNoYWRlclVudXNlZFZhcnlpbmciLAor
ICAgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiB0cnVlLAorICAgIHBh
c3NNc2c6ICJ2ZXJ0ZXggc2hhZGVyIHdpdGggdW51c2VkIHZhcnlpbmcgYW5kIGZyYWdtZW50IHNo
YWRlciB3aXRoIHVudXNlZCB2YXJ5aW5nIG11c3Qgc3VjY2VlZCIsCisgIH0sCisgIHsKKyAgICB2
U2hhZGVySWQ6ICJ2ZXJ0ZXhTaGFkZXJVbnVzZWRWYXJ5aW5nIiwKKyAgICB2U2hhZGVyU3VjY2Vz
czogdHJ1ZSwKKyAgICBmU2hhZGVySWQ6ICJmcmFnbWVudFNoYWRlclVzZWRWYXJ5aW5nIiwKKyAg
ICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICBwYXNz
TXNnOiAidmVydGV4IHNoYWRlciB3aXRoIHVudXNlZCB2YXJ5aW5nIGFuZCBmcmFnbWVudCBzaGFk
ZXIgd2l0aCB1c2VkIHZhcnlpbmcgbXVzdCBzdWNjZWVkIiwKKyAgfSwKK10pOwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVz
L2dsLXBvaW50Y29vcmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWE3NDcxMTE4MDI2NzVjOTQwYjkyNDM2
OTFkNzczMWYwOWRlMzczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9p
bnRjb29yZC5odG1sCkBAIC0wLDAgKzEsMTYzIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQg
KGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisq
KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRo
b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmln
aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUs
IHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8K
KyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRv
IGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMg
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVE
LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJD
SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS
SU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg
SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElB
QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RI
RVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisq
KiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxT
LgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPmdsLXBvaW50Y29vcmQgVGVzdDwvdGl0bGU+CisgIDxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPiA8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij4KKzwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgIDxzY3JpcHQgaWQ9InZz
aGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCB2UG9z
aXRpb247CisgICAgdW5pZm9ybSBmbG9hdCB1UG9pbnRTaXplOworICAgIHZvaWQgbWFpbigpCisg
ICAgeworICAgICAgZ2xfUG9pbnRTaXplID0gdVBvaW50U2l6ZTsKKyAgICAgIGdsX1Bvc2l0aW9u
ID0gdlBvc2l0aW9uOworICAgIH0KKyAgPC9zY3JpcHQ+CisKKyAgPHNjcmlwdCBpZD0iZnNoYWRl
ciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxv
YXQ7CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KAor
ICAgICAgICBnbF9Qb2ludENvb3JkLngsCisgICAgICAgIGdsX1BvaW50Q29vcmQueSwKKyAgICAg
ICAgMCwKKyAgICAgICAgMSk7CisgICAgfQorICA8L3NjcmlwdD4KKworICA8c2NyaXB0PgorICAg
ICJ1c2Ugc3RyaWN0IjsKKyAgICBkZXNjcmlwdGlvbigiQ2hlY2tzIGdsX1BvaW50Q29vcmQgYW5k
IGdsX1BvaW50U2l6ZSIpOworICAgIGRlYnVnKCIiKTsKKworICAgIC8vIE5PVEU6IEknbSBub3Qg
MTAwJSBjb25maWRlbnQgaW4gdGhpcyB0ZXN0LiBJIHRoaW5rIGl0IGlzIGNvcnJlY3QuCisKKyAg
ICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29u
dGV4dCgiZXhhbXBsZSIpOworICAgIHNob3VsZEJlTm9uTnVsbCgiZ2wiKTsKKyAgICB2YXIgcHJv
Z3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIl0sIFsidlBv
c2l0aW9uIl0pOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7
CisKKyAgICB2YXIgY2FudmFzID0gZ2wuY2FudmFzOworICAgIHZhciB3aWR0aCA9IGNhbnZhcy53
aWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gY2FudmFzLmhlaWdodDsKKyAgICBzaG91bGRCZSgid2lk
dGgiLCAiaGVpZ2h0Iik7CisKKyAgICB2YXIgbWF4UG9pbnRTaXplID0gZ2wuZ2V0UGFyYW1ldGVy
KGdsLkFMSUFTRURfUE9JTlRfU0laRV9SQU5HRSlbMV07CisgICAgc2hvdWxkQmVUcnVlKCJtYXhQ
b2ludFNpemUgPj0gMSIpOworICAgIC8vIFRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIHBvaW50IHNp
emVzIG1heSBiZSBmbG9hdGluZy1wb2ludCBudW1iZXJzLgorICAgIHNob3VsZEJlVHJ1ZSgiTWF0
aC5mbG9vcihtYXhQb2ludFNpemUpID49IDEiKTsKKyAgICBtYXhQb2ludFNpemUgPSBNYXRoLmZs
b29yKG1heFBvaW50U2l6ZSk7CisgICAgc2hvdWxkQmVUcnVlKCJtYXhQb2ludFNpemUgJSAxID09
IDAiKTsKKworICAgIG1heFBvaW50U2l6ZSA9IE1hdGgubWluKG1heFBvaW50U2l6ZSwgNjQpOwor
ICAgIHZhciBwb2ludFdpZHRoID0gbWF4UG9pbnRTaXplIC8gd2lkdGg7CisgICAgdmFyIHBvaW50
U3RlcCA9IE1hdGguZmxvb3IobWF4UG9pbnRTaXplIC8gNCk7CisgICAgdmFyIHBvaW50U3RlcCA9
IE1hdGgubWF4KDEsIHBvaW50U3RlcCk7CisKKyAgICB2YXIgcG9pbnRTaXplTG9jID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1UG9pbnRTaXplIik7CisgICAgZ2wudW5pZm9ybTFm
KHBvaW50U2l6ZUxvYywgbWF4UG9pbnRTaXplKTsKKworICAgIHZhciBwaXhlbE9mZnNldCA9ICht
YXhQb2ludFNpemUgJSAyKSA/ICgxIC8gd2lkdGgpIDogMDsKKyAgICB2YXIgdmVydGV4T2JqZWN0
ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIs
IHZlcnRleE9iamVjdCk7CisgICAgZ2wuYnVmZmVyRGF0YSgKKyAgICAgICAgZ2wuQVJSQVlfQlVG
RkVSLAorICAgICAgICBuZXcgRmxvYXQzMkFycmF5KAorICAgICAgICAgIFstMC41ICsgcGl4ZWxP
ZmZzZXQsIC0wLjUgKyBwaXhlbE9mZnNldCwKKyAgICAgICAgICAgIDAuNSArIHBpeGVsT2Zmc2V0
LCAtMC41ICsgcGl4ZWxPZmZzZXQsCisgICAgICAgICAgIC0wLjUgKyBwaXhlbE9mZnNldCwgIDAu
NSArIHBpeGVsT2Zmc2V0LAorICAgICAgICAgICAgMC41ICsgcGl4ZWxPZmZzZXQsICAwLjUgKyBw
aXhlbE9mZnNldF0pLAorICAgICAgICBnbC5TVEFUSUNfRFJBVyk7CisgICAgZ2wuZW5hYmxlVmVy
dGV4QXR0cmliQXJyYXkoMCk7CisgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAyLCBnbC5G
TE9BVCwgZmFsc2UsIDAsIDApOworCisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8
IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworCisgICAgZ2wuZHJhd0FycmF5cyhnbC5QT0lOVFMsIDAs
IDQpOworICAgIHNob3VsZEJlKCJnbC5nZXRFcnJvcigpIiwgImdsLk5PX0VSUk9SIik7CisKKyAg
ICBmdW5jdGlvbiBzMnAocykgeworICAgICAgcmV0dXJuIChzICsgMS4wKSAqIDAuNSAqIHdpZHRo
OworICAgIH0KKworICAgIC8vZnVuY3Rpb24gcHJpbnQoeCwgeSkgeworICAgIC8vICB2YXIgYiA9
IG5ldyBVaW50OEFycmF5KDQpOworICAgIC8vICBnbC5yZWFkUGl4ZWxzKHgsIHksIDEsIDEsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGIpOworICAgIC8vICBkZWJ1ZygiIiArIHggKyAiLCIg
KyB5ICsgIjogIiArIGJbMF0gKyAiLCIgKyBiWzFdICsgIiwiICsgYlsyXSk7CisgICAgLy99Cisg
ICAgLy8KKyAgICAvL2ZvciAodmFyIGlpID0gMDsgaWkgPCAxMDA7ICsraWkpIHsKKyAgICAvLyAg
cHJpbnQoaWksIGlpKTsKKyAgICAvL30KKworICAgIGZvciAodmFyIHB5ID0gMDsgcHkgPCAyOyAr
K3B5KSB7CisgICAgICBmb3IgKHZhciBweCA9IDA7IHB4IDwgMjsgKytweCkgeworICAgICAgICBk
ZWJ1ZygiIik7CisgICAgICAgIHZhciBwb2ludFggPSAtMC41ICsgcHggKyBwaXhlbE9mZnNldDsK
KyAgICAgICAgdmFyIHBvaW50WSA9IC0wLjUgKyBweSArIHBpeGVsT2Zmc2V0OworICAgICAgICBm
b3IgKHZhciB5eSA9IDA7IHl5IDwgbWF4UG9pbnRTaXplOyB5eSArPSBwb2ludFN0ZXApIHsKKyAg
ICAgICAgICBmb3IgKHZhciB4eCA9IDA7IHh4IDwgbWF4UG9pbnRTaXplOyB4eCArPSBwb2ludFN0
ZXApIHsKKyAgICAgICAgICAgIC8vIGZvcm11bGEgZm9yIHMgYW5kIHQgZnJvbSBPcGVuR0wgRVMg
Mi4wIHNwZWMgc2VjdGlvbiAzLjMKKyAgICAgICAgICAgIHZhciB4dyA9IHMycChwb2ludFgpOwor
ICAgICAgICAgICAgdmFyIHl3ID0gczJwKHBvaW50WSk7CisgICAgICAgICAgICAvL2RlYnVnKCJ4
dzogIiArIHh3ICsgIiB5dzogIiArIHl3KTsKKyAgICAgICAgICAgIHZhciB1ID0geHggLyBtYXhQ
b2ludFNpemUgKiAyIC0gMTsKKyAgICAgICAgICAgIHZhciB2ID0geXkgLyBtYXhQb2ludFNpemUg
KiAyIC0gMTsKKyAgICAgICAgICAgIHZhciB4ZiA9IE1hdGguZmxvb3IoczJwKHBvaW50WCArIHUg
KiBwb2ludFdpZHRoKSk7CisgICAgICAgICAgICB2YXIgeWYgPSBNYXRoLmZsb29yKHMycChwb2lu
dFkgKyB2ICogcG9pbnRXaWR0aCkpOworICAgICAgICAgICAgLy9kZWJ1ZygieGY6ICIgKyB4ZiAr
ICIgeWY6ICIgKyB5Zik7CisgICAgICAgICAgICB2YXIgcyA9IDAuNSArICh4ZiArIDAuNSAtIHh3
KSAvIG1heFBvaW50U2l6ZTsKKyAgICAgICAgICAgIHZhciB0ID0gMC41ICsgKHlmICsgMC41IC0g
eXcpIC8gbWF4UG9pbnRTaXplOworICAgICAgICAgICAgLy9kZWJ1ZygiczogIiArIHMgKyAiIHQ6
ICIgKyB0KTsKKyAgICAgICAgICAgIHZhciBjb2xvciA9IFtNYXRoLmZsb29yKHMgKiAyNTUpLCBN
YXRoLmZsb29yKCgxIC0gdCkgKiAyNTUpLCAwXTsKKyAgICAgICAgICAgIHZhciBtc2cgPSAicGl4
ZWwgIiArIHhmICsgIiwiICsgeWYgKyAiIHNob3VsZCBiZSAiICsgY29sb3I7CisgICAgICAgICAg
ICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCB4ZiwgeWYsIDEsIDEsIGNvbG9yLCBtc2csIDQpOwor
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAgIHZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworICA8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWI5OTU4N2Y5
ZTI2ZGUzMGUxNzZhYmFhNDUxMTFmYWIxZDIxNDhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisK
Ky8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoq
IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy
c29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0
ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4g
dGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQg
bGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz
aCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg
TWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFs
cyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy
bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vi
c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxT
IEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiog
RVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJS
QU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVU
SE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERB
TUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFD
VCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05O
RUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H
UyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5
cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNr
QVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQS5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMg
c3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5k
b21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVu
Y3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUg
aW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAg
ICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wg
Y29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAg
ICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRl
KSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRl
c3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9y
VGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAg
ICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0g
T2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3Ny
Y10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFy
Z3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAg
ICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdl
bmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkp
CisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0
aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAg
ICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAg
ICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4g
Y2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29y
azogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNl
KGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xb
bmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5l
ZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUu
Zy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVm
ZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAg
ICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2Fy
Z3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikr
IikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVh
bnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291
bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWls
ZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2Ny
aXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48
Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQjEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmY2M3NGM4ODIxMjllYTk1OGM0MTg5ZDFjMjAyODA3YmJjODMxODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbApA
QCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIg
Lz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtQjEuanMiPjwvc2Ny
aXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRl
c3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsK
Ky8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50cwor
VGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENvdW50
ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkgewor
ICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsgIiBp
cyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2VuID0g
QXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307Cisg
ICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVhY2gg
R0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlk
IGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdz
LCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENoZWNr
KSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAgICAg
ICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisK
KyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9CisgICAg
ICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNo
ZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAgICAg
aWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJnczog
IituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEp
fSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5h
cHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQgdGhh
dCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAg
YXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24o
YSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAg
ICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVl
O30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1ZSwg
ZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBh
ZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4ucmV0
dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1cm4g
dmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0
LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4gb2s7
CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAgfSBj
YXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3IoZSkp
OworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246YWJz
b2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmVlOTA4YjQyNzE0ZGVmZjk1
NWU1MmQ4YWE3NTJhNTMyZWY3MzljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0
L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJh
cmdHZW5lcmF0b3JzLUIyLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZp
ZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdl
bmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigp
IHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdH
ZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRo
cm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0
IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIg
YWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRp
bnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50
IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVu
bmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYg
KCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3Qu
dG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNd
ID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8g
aWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVk
IGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAg
ICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7
cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAg
ICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBy
djsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQg
d2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25h
bWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5q
b2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5h
cHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBj
bGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxs
aW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBh
Ym92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3Nl
cnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAo
ZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisg
ICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYp
OyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCBy
YW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1l
LCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8
c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5Pgor
PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1CMy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjg3MmM5ZjZiMjJiMGQyZjU5YjRhMmY3OWU5ZjQ0ZGI1YzY4OTVmMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy5odG1sCkBAIC0wLDAg
KzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBH
cm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlh
bHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoq
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4g
YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioK
KyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig
QU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNF
IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91
dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1CMy5qcyI+PC9zY3JpcHQ+CisK
KzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0
IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hl
biBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50
ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7
CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBp
ZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3Np
bmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5l
cmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlm
ICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5j
dGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncwor
ICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwg
c2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAg
ICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChh
bHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAg
ICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFy
IG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwg
YXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2Vu
LmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUr
IigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2lu
KCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdl
biwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1
bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRP
aygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1
cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBm
dW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7Cisg
ICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBo
ZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRl
c3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1
ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBh
ZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3Vy
Y2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBn
ZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAg
IH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUp
IHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAg
fQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9
PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0ZGNhYTM3YjQ0OGMzZGNjNzZmYzk3ZDcz
NTY2ZWE1MGFkZGI5MzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQjQuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBo
cmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVy
YXRvcnMtQjQuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBB
cmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVk
IHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2
YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRv
cnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5l
dyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7Cisg
ICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5
VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7Cisg
ICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9t
bHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJn
R2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5u
b0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJj
ZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVl
OworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBo
YXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBh
cmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFz
c2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4g
T2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4u
Y2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAg
ICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZh
bGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIr
YXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwi
KSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdM
LCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAg
dGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wu
ZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisg
ICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJD
bGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlv
bihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOwor
ICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRl
c3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFt
ZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5j
YW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ5
NDU1N2Q1OWNmOTNmMDMxNzAzZThjNzNjMzMzMDM1YWM3NDAzYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwKQEAgLTAsMCArMSw4NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9
ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVp
Y2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLUMuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5
cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVu
Y3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdp
dGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJn
cyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZh
ciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1l
XSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhl
IFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1l
XTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5n
ZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCBy
YW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dl
bmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykg
eworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFy
IHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVk
QXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5
VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNl
OworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0
IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1Zh
bGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1h
cChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwK
KyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsK
KyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3Jr
cyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hv
dWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50
b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXty
diA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBp
ZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAg
ICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNy
ZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQor
ICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1l
KyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9p
bigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZh
bHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4u
dGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0
ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQor
Cis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8
L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLURfRy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LURfRy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1YzI0MzNlYTkyMmYzOTZkNWI1NjQ3YmYwZjY4OWM1ZjM5
OWM3NjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
RF9HLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4v
dW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNh
dGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLURf
Ry5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVy
YXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQg
YXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5k
b21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgewor
ICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9y
KG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZh
ciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFy
Z3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8v
IHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5l
cmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1
bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFk
eVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3Mp
OworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAg
ICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4g
dmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxp
ZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJW
YWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qu
dG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0Fy
Z1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8v
IGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJn
cworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1h
cChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwK
KyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3Mp
OyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0
dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVC
dWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAg
aWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5n
IHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3Jl
dHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAg
IHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50
KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3Jt
YXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3tw
b3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTQxZmM5
Zjg0ZDM3OGYwYTBhOTQyNzE0NTU2MTIzYmE1YmZlMTg2MgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbApAQCAtMCwwICsxLDg0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlj
a0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtR19JLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1
bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3
aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFy
Z3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2
YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFt
ZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRo
ZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFt
ZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4u
Z2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGgg
cmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdH
ZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMp
IHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZh
ciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmll
ZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFk
eVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxz
ZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhh
dCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdW
YWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5t
YXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIs
CisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7
CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29y
a3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNo
b3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qu
dG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7
cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8g
aWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAg
ICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5j
cmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkK
KyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFt
ZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpv
aW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5W
YWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2Vu
LnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAg
dGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30K
KworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgor
PC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1MX1MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NDQyMGNlZTFmODA4N2VkYWI2M2ZkOWMyOGQ1NzYxOGIx
NTUyNjEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUxfUy5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4u
L3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1M
X1MuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlw
dCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5l
cmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlk
IGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFu
ZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsK
KyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJv
cihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2
YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRB
cmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAv
LyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2Vu
ZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBm
dW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVh
ZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdz
KTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAg
ICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFu
IHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFs
aWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgi
VmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0
LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tB
cmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAv
LyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFy
Z3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5t
YXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIs
CisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdz
KTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJl
dHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRl
QnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAg
IGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmlu
ZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXty
ZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAg
ICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3Vu
dCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9y
bWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7
cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiMjhl
YjQyZTMxMDIzMjE3NTM2MTYwM2QyYzUyZTYwNjRhNmQzMjEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwKQEAgLTAsMCArMSw4NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9
ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVp
Y2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLVNfVi5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBm
dW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQg
d2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRB
cmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAo
dmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25h
bWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0
aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25h
bWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2Vu
LmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRo
IHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJn
R2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJz
KSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2
YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJp
ZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVh
ZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFs
c2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRo
YXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJn
VmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3Mu
bWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIiki
LAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykp
OworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdv
cmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBz
aG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0
LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigp
e3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8v
IGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAg
ICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wu
Y3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAp
CisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25h
bWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5q
b2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJu
VmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dl
bi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAg
IHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9
CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4K
KzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9idWZmZXJEYXRhQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFy
Z3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42Njc2ZTc3OTA1YjQ2MTM0YWNiMGJiOWYzMjg2Y2Q3YTRjYWIz
NTE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3Mu
aHRtbApAQCAtMCwwICsxLDc5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKwor
LS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0
LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4u
L3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3Jp
cHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFy
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFw
R0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgdmFyIGJ1ZiA9IGdsLmNyZWF0ZUJ1
ZmZlcigpOworICB2YXIgZWJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVy
KGdsLkFSUkFZX0JVRkZFUiwgYnVmKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZ
X0JVRkZFUiwgZWJ1Zik7CisgIHJldHVybiBbZ2wsIGJ1ZiwgZWJ1Zl07Cit9CisKK1Rlc3RzLnRl
c3RCdWZmZXJEYXRhID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBhc3NlcnRPaygiemVybyBzaXplIGRh
dGEiLAorICAgICAgICBmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBu
ZXcgRmxvYXQzMkFycmF5KDApLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgYXNzZXJ0RmFpbCgi
YmFkIHRhcmdldCIsCisgICAgICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5URVhUVVJF
XzJELCBuZXcgRmxvYXQzMkFycmF5KFsxLDIsM10pLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisvLyAg
ICBhc3NlcnRGYWlsKCJhcnJheSBmb3IgZGF0YSIsCisvLyAgICAgICAgZnVuY3Rpb24oKXtnbC5i
dWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgWzEsMiwzXSwgZ2wuU1RBVElDX0RSQVcpO30pOwor
ICAgIGFzc2VydEZhaWwoImJhZCB1c2FnZSIsCisgICAgICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVy
RGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoWzEsMiwzXSksIGdsLlRFWFRV
UkVfMkQpO30pOworICAgIGFzc2VydEZhaWwoIm51bGwgZGF0YSIsCisgICAgICAgIGZ1bmN0aW9u
KCl7Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG51bGwsIGdsLlNUQVRJQ19EUkFXKTt9
KTsKKyAgICBhc3NlcnRGYWlsKCJ1bmRlZmluZWQgZGF0YSIsCisgICAgICAgIGZ1bmN0aW9uKCl7
Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHVuZGVmaW5lZCwgZ2wuU1RBVElDX0RSQVcp
O30pOworICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5FTEVNRU5UX0FS
UkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbMSwyLDNdKSwgZ2wuU1RBVElDX0RSQVcpO30p
OworICAgIHRocm93RXJyb3IoZ2wsICdidWZmZXJEYXRhJyk7CisgICAgZ2wuYmluZEJ1ZmZlcihn
bC5BUlJBWV9CVUZGRVIsIG51bGwpOworICAgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5idWZm
ZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbMSwyLDNdKSwgZ2wuU1RB
VElDX0RSQVcpO30pOworICAgIHRocm93RXJyb3IoZ2wsICdidWZmZXJEYXRhJyk7CisgICAgZ2wu
YmluZEJ1ZmZlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgbnVsbCk7CisgICAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIG5ldyBV
aW50MTZBcnJheShbMSwyLDNdKSwgZ2wuU1RBVElDX0RSQVcpO30pOworICAgIHRocm93RXJyb3Io
Z2wsICdidWZmZXJEYXRhJyk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCwgYnVm
LCBlYnVmKSB7CisgICAgZ2wuZGVsZXRlQnVmZmVyKGJ1Zik7CisgICAgZ2wuZGVsZXRlQnVmZmVy
KGVidWYpOworfQorCisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1
dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIg
aGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFn
ZTJELmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTVhNGYyZmMwNjZhZjFlNWM3ZGM1MjMxOGRlMDI5MTFiNThi
ODUyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0
bWwKQEAgLTAsMCArMSwxMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQu
Y3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4v
dW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlw
dCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICB2YXIg
Y2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZhciBnbCA9IHdyYXBH
TENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICByZXR1cm4gW2dsXTsKK30KKworVGVz
dHMuc2V0dXAgPSBmdW5jdGlvbihnbCkgeworICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgp
OworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICB2YXIgdGV4Q3ViZU1h
cCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJF
X01BUCwgdGV4Q3ViZU1hcCk7CisgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0g
ZnVuY3Rpb24oZ2wsdGV4LCB0ZXhDdWJlTWFwKSB7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIG51bGwpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCBudWxs
KTsKKyAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworICBnbC5kZWxldGVUZXh0dXJlKHRleEN1YmVN
YXApOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgIGdsLmNv
cHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwxLDEsMCk7CisgIGds
LmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwyLDEsMCk7Cisg
IGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwxLDIsMCk7
CisgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwxNiwx
NiwwKTsKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMTUs
MTUsMSwxLDApOworICB2YXIgdmFsaWRfdGFyZ2V0cyA9IFsKKyAgICBnbC5URVhUVVJFXzJELAor
ICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVf
TUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAg
IGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQ
X1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisgIF07Cisg
IHZhbGlkX3RhcmdldHMuZm9yRWFjaChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0T2soZnVuY3Rp
b24oKXtnbC5jb3B5VGV4SW1hZ2UyRCh0LCAwLCBnbC5SR0JBLCAwLDAsMSwxLDApO30pOworICB9
KTsKK30KK1Rlc3RzLnRlc3RSb3VuZHRyaXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciBzaCA9
IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0eS1mbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOwor
ICAgIGdsLmNsZWFyQ29sb3IoMS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICBnbC5jbGVhcihnbC5D
T0xPUl9CVUZGRVJfQklUKTsKKyAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7CisgICAg
Z2wucmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7Cisg
ICAgYXNzZXJ0RXF1YWxzKFsyNTUsMCwwLDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBi
dWZbM11dKTsKKyAgICAvLyByZWQgdGV4dHVyZQorICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwxNiwxNiwwKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAg
ICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5D
TEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBnbC5jbGVh
ckNvbG9yKDAuMCwgMC4wLCAxLjAsIDEuMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVS
X0JJVCk7CisgICAgLy8gYmx1ZSBmcmFtZWJ1ZmZlcgorICAgIGdsLnJlYWRQaXhlbHMoMCwwLDEs
MSxnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIGFzc2VydEVxdWFscyhbMCww
LDI1NSwyNTVdLCBbYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXSk7CisgICAgc2guYXBw
bHkoKTsgLy8gcGFpbnQgaXQgd2l0aCB0ZXh0dXJlCisgICAgZ2wucmVhZFBpeGVscygwLDAsMSwx
LGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFsyNTUs
MCwwLDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICBzaC5kZXN0
cm95KCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3Njcmlw
dD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZsaXAtdmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0
ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4OworYXR0cmlidXRlIHZlYzIgVGV4OworCit2YXJ5
aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB0ZXhDb29yZDAgPSB2ZWM0
KFRleC5zLCAxLjAtVGV4LnQsIDAuMCwgMC4wKTsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVy
dGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mcmFnIiB0eXBl
PSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit1bmlm
b3JtIHNhbXBsZXIyRCBUZXh0dXJlOworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBt
YWluKCkKK3sKKyAgICB2ZWM0IGMgPSB0ZXh0dXJlMkQoVGV4dHVyZSwgdGV4Q29vcmQwLnN0KTsK
KyAgICBnbF9GcmFnQ29sb3IgPSBjOworfQorPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3Np
dGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIg
d2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiNGRjYzIyZTlh
ZTAwMTYyNzE4NWY4MWVkZjFjYTk3MmIzOGExMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDEwOSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFw
cGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5z
dGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0
KGNhbnZhcykpOworICAgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9u
KGdsKSB7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJl
KGdsLlRFWFRVUkVfMkQsIHRleCk7CisgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3du
ID0gZnVuY3Rpb24oZ2wsdGV4KSB7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51
bGwpOworICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJE
ID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBhc3NlcnRPaygiaGVpZ2h0ID4gYmFja0hlaWdodCIsIGZ1
bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGds
LlJHQkEsIDAsMCwgMTcsMSwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygid2lkdGggPiBiYWNr
V2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBnbC5SR0JBLCAwLDAsIDEsMTcsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soIngg
KyB3aWR0aCA+IGJhY2tXaWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE2LDAsIDEsMSwwKTsKKyAgICB9KTsKKyAg
ICBhc3NlcnRPaygieSArIGhlaWdodCA+IGJhY2tIZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAg
ICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDE2LCAxLDEs
MCk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soIk5lZ2F0aXZlIFgiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAtMSwwLCAx
LDEsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soIk5lZ2F0aXZlIFkiLCBmdW5jdGlvbigpewor
ICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLC0x
LCAxLDEsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTmVnYXRpdmUgaGVpZ2h0IiwgZnVu
Y3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgMCwwLCAtMSwxLDApOworICAgIH0pOworICAgIGFzc2VydEZhaWwoIk5lZ2F0aXZlIHdp
ZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgZ2wuUkdCQSwgMCwwLCAxLC0xLDApOworICAgIH0pOworICAgIGFzc2VydEZhaWwoIk5v
biAwIGJvcmRlciIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwgMSwxLDEpOworICAgIH0pOworICAgIGFzc2VydEZh
aWwoIk5lZ2F0aXZlIGJvcmRlciIsZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxLDEsLTEpOworICAgIH0pOworICAg
IGFzc2VydE9rKCJHb29kIEFyZ3MiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIDE2LDE2LDApOworICAgIH0pOwor
ICAgIGFzc2VydEZhaWwoIk5QT1QgdGV4dHVyZSB0byA+IGxldmVsIDAiLCBmdW5jdGlvbigpewor
ICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAxLCBnbC5SR0JBLCAwLDAs
IDE1LDE2LDApOworICAgIH0pOworICAgIGFzc2VydEZhaWwoIkJhZCB0YXJnZXQiLCBmdW5jdGlv
bigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5GTE9BVCwgMCwgZ2wuUkdCQSwgMCww
LCAxNiwxNiwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRGYWlsKCJCYWQgaW50ZXJuYWwgZm9ybWF0
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuRkxPQVQsIDAsMCwgMTYsMTYsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0RmFpbCgiTmVn
YXRpdmUgbGV2ZWwiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAtMSwgZ2wuUkdCQSwgMCwwLCAxNiwxNiwwKTsKKyAgICB9KTsKK30KKworCitU
ZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2Fu
dmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFz
IGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDUxYjNlYWI5
Y2I0M2E5ZWZiYjE2NmIwYWZjMzY4YThlMGM5ZDgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQuaHRtbApAQCAtMCwwICsxLDE0MiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQor
CisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisq
KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl
cnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lh
dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGlu
IHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0
IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp
c2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl
IE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlh
bHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl
cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1
YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFM
UyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoq
IEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS
UkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFV
VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBE
QU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB
Q1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O
TkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO
R1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0
eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxp
Y2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFy
dFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFz
KSk7CisgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7Cisg
IHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRV
UkVfMkQsIHRleCk7CisgIHZhciB0ZXhDdWJlTWFwID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFwKTsKKyAgcmV0dXJu
IFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgsdGV4Q3ViZU1hcCkg
eworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgZ2wuYmluZFRleHR1
cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgbnVsbCk7CisgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsK
KyAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXhDdWJlTWFwKTsKK30KKworCitUZXN0cy50ZXN0VGV4SW1h
Z2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIDAsMCwxNiwxNiwwKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwwLCAwLDAsMSwxKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwwLCAwLDAsMiwxKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwwLCAwLDAsMSwyKTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgMCwwLCAwLDAsMTYsMTYpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCAwLDAsIDE1LDE1LDEsMSk7CisgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIDAsIDEsMSwgMCwwLDE1LDE1KTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgMTUsMTUsIDAsMCwxLDEpOworICB2YXIgdmFsaWRfdGFyZ2V0cyA9
IFsKKyAgICBnbC5URVhUVVJFXzJELAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVf
WCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9D
VUJFX01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwK
KyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgZ2wuVEVYVFVSRV9DVUJF
X01BUF9ORUdBVElWRV9aCisgIF07CisgIHZhbGlkX3RhcmdldHMuZm9yRWFjaChmdW5jdGlvbih0
KSB7CisgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQo
dCwgMCwgZ2wuUkdCQSwgMCwwLDEsMSwwKTsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQo
dCwgMCwgMCwwLDAsMCwxLDEpOworICAgIH0pOworICB9KTsKK30KK1Rlc3RzLnRlc3RSb3VuZHRy
aXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciBzaCA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0
eS1mbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOworICAgIGdsLmNsZWFyQ29sb3IoMS4wLCAw
LjAsIDAuMCwgMS4wKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICB2
YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7CisgICAgZ2wucmVhZFBpeGVscygwLDAsMSwxLGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFsyNTUsMCww
LDI1NV0sIFtidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICAvLyByZWQgdGV4
dHVyZQorICAgIGdsLmNsZWFyQ29sb3IoMC4wLCAwLjAsIDAuMCwgMC4wKTsKKyAgICBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdnbCcpKTsKKyAgICBnbC5jbGVhckNvbG9yKDEuMCwgMC4wLCAwLjAsIDEuMCk7Cisg
ICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgZ2wuY29weVRleFN1YkltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLDAsMCwxNiwxNik7CisgICAgZ2wudGV4UGFyYW1ldGVy
aShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7Cisg
ICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wu
Q0xBTVBfVE9fRURHRSk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5U
RVhUVVJFX01BR19GSUxURVIsIGdsLkxJTkVBUik7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5U
RVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CisgICAgZ2wuY2xl
YXJDb2xvcigwLjAsIDAuMCwgMS4wLCAxLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZF
Ul9CSVQpOworICAgIC8vIGJsdWUgZnJhbWVidWZmZXIKKyAgICBnbC5yZWFkUGl4ZWxzKDAsMCwx
LDEsZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICBhc3NlcnRFcXVhbHMoWzAs
MCwyNTUsMjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXV0pOworICAgIHNoLmFw
cGx5KCk7IC8vIHBhaW50IHdpdGggdGV4dHVyZQorICAgIGdsLnJlYWRQaXhlbHMoMCwwLDEsMSxn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIGFzc2VydEVxdWFscyhbMjU1LDAs
MCwyNTVdLCBbYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXSk7CisgICAgc2guZGVzdHJv
eSgpOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+
Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4
Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwordmFyeWlu
ZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQwID0gdmVjNChU
ZXgucywgMS4wLVRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRl
eCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZnJhZyIgdHlwZT0i
eC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9y
bSBzYW1wbGVyMkQgVGV4dHVyZTsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFp
bigpCit7CisgICAgdmVjNCBjID0gdGV4dHVyZTJEKFRleHR1cmUsIHRleENvb3JkMC5zdCk7Cisg
ICAgZ2xfRnJhZ0NvbG9yID0gYzsKK30KKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRp
b246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdp
ZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MmM0NzRj
NTU0MDk1ZTEyZjcyNWZiYWNmYzk5OGIwOGZlNzNiMjI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxMTEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKwor
VGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICAgIHZhciBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdM
Q29udGV4dChjYW52YXMpKTsKKyAgICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMuc2V0dXAgPSBm
dW5jdGlvbihnbCkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICByZXR1cm4gW2dsXQorfQorCitU
ZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLHRleCkgeworICAgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfMkQsIG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30KKworVGVz
dHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihnbCkgeworICAgIGdsLmNvcHlUZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwgMTYsMTYsIDApOworICAgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJ3aWR0aCA+IGRzdCB0ZXggd2lkdGgiLCBmdW5j
dGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAw
LDAsIDAsMCwgMTcsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9WQUxVRSwgImhlaWdodCA+IGRzdCB0ZXggaGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAg
Z2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDAsIDEsMTcpOwor
ICAgIH0pOworICAgIC8vIFRoZSBzcGVjIHNheXMgdGhlIHNvdXJjZSBpbWFnZSBkaW1lbnNpb25z
IGNhbiBiZSBvdXQgb2YgcmFuZ2UuCisgICAgYXNzZXJ0T2soInggPiBkc3QgdGV4IHdpZHRoIiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgMCwwLCAxNiwwLCAxLDEpOworICAgIH0pOworICAgIGFzc2VydE9rKCJ5ID4gZHN0IHRleCB3
aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIDAsMCwgMCwxNiwgMSwxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieCA8IDAi
LCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCAwLDAsIC0xLDAsIDEsMSk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInkgPCAwIiwgZnVu
Y3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
MCwwLCAwLC0xLCAxLDEpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFM
SURfVkFMVUUsICJ3aWR0aCA8IDAiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3Vi
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMCwgLTEsMSk7CisgICAgfSk7CisgICAg
YXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgImhlaWdodCA8IDAiLCBmdW5jdGlv
bigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAs
IDAsMCwgMSwtMSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9W
QUxVRSwgInhvZmZzZXQgPCAwIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1Yklt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgLTEsMCwgMCwwLCAxNiwxNik7CisgICAgfSk7CisgICAg
YXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInlvZmZzZXQgPCAwIiwgZnVuY3Rp
b24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwt
MSwgMCwwLCAxNiwxNik7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInggPCAwIGZ1bGwgd2lkdGgi
LCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCAwLDAsIC0xLDAsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygieSA8IDAgZnVs
bCBoZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCAwLDAsIDAsLTEsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBhc3NlcnRPayhm
dW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LCAwLDAsIDAsMCwgMTYsMTYpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklO
VkFMSURfRU5VTSwgImJhZCB0YXJnZXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5VGV4
U3ViSW1hZ2UyRChnbC5GTE9BVCwgMCwgMCwwLCAwLDAsIDE2LDE2KTsKKyAgICB9KTsKKyAgICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiIiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgLTEsIDAsMCwgMCwwLCAxNiwx
Nik7CisgICAgfSk7Cit9CisKKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisK
Kzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgor
PC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9j
YW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRl
QnVmZmVyQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmVlMGNiYzAxZDg4ZGMyYjhmYTcyMWIyNmRhYWY1NjgxYjQ1ODE2MjgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0
bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5j
c3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91
bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94
LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBj
YW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gZ2V0R0xD
b250ZXh0KGNhbnZhcyk7CisgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy50ZXN0RGVsZXRlQnVm
ZmVyID0gZnVuY3Rpb24oZ2wpIHsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJudW1iZXIg
IiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKDEpOyB9KTsKKyAgYXNzZXJ0R0xFcnJvcihn
bCwgZ2wuTk9fRVJST1IsICJudWxsIiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVyKG51bGwp
OyB9KTsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICIwIiwgZnVuY3Rpb24oKXsgZ2wuZGVs
ZXRlQnVmZmVyKDApOyB9KTsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJmYWxzZSIsIGZ1
bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcihmYWxzZSk7IH0pOworICBhc3NlcnRUaHJvd05vR0xF
cnJvcihnbCwgInRydWUiLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIodHJ1ZSk7IH0pOwor
ICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgInt9IiwgZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVm
ZmVyKHt9KTsgfSk7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGFzc2VydFRo
cm93Tm9HTEVycm9yKGdsLCAidGV4IGFzIGJ1ZiIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZl
cih0ZXgpOyB9KTsKKyAgdmFyIGJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBhc3NlcnRPayhm
dW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoYnVmKTsgfSk7CisgIGFzc2VydE9rKGZ1bmN0aW9u
KCl7IGdsLmRlbGV0ZUJ1ZmZlcihidWYpOyB9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXsgZ2wu
ZGVsZXRlQnVmZmVyKGJ1Zik7IH0pOworICBhc3NlcnRPayhmdW5jdGlvbigpeyBnbC5kZWxldGVU
ZXh0dXJlKHRleCk7IH0pOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30K
KworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+
Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48
L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
QXJyYXlzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZmE1YzFkOGRlMmVkOWI5ZjdjNmEwOGQwYjMyYTk0N2NjMjEwNmZkMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbApAQCAtMCwwICsxLDEzNSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFw
cGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCit2YXIgdmVy
dHMgPSBbMC4wLCAwLjAsIDAuMCwgICAxLjAsIDAuMCwgMC4wLCAgIDAuMCwgMS4wLCAwLjBdOwor
dmFyIG5vcm1hbHMgPSBbMC4wLCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4w
LCAxLjBdOwordmFyIHRleGNvb3JkcyA9IFswLjAsMC4wLCAgMS4wLDAuMCwgIDAuMCwxLjBdOwor
CitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENv
bnRleHQoY2FudmFzKSk7CisgIHZhciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQnLCAnZnJh
ZycpOworICBwcm9nLnVzZSgpOworICB2YXIgc2ggPSBwcm9nLnNoYWRlci5wcm9ncmFtOworLy8g
ICBsb2coZ2wuZ2V0U2hhZGVySW5mb0xvZyhwcm9nLnNoYWRlcnNbMV0pKTsKKyAgdmFyIHYgPSBn
bC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ1ZlcnRleCcpOworICB2YXIgbiA9IGdsLmdldEF0dHJp
YkxvY2F0aW9uKHNoLCAnTm9ybWFsJyk7CisgIHZhciB0ID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24o
c2gsICdUZXgnKTsKKyAgcmV0dXJuIFtnbCxwcm9nLHYsbix0XTsKK30KKworVGVzdHMuc2V0dXAg
PSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgYXNzZXJ0KDAgPT0gZ2wuZ2V0RXJyb3Io
KSk7CisgIHJldHVybiBbZ2wsIHByb2csIHYsbix0XTsKK30KK1Rlc3RzLnRlYXJkb3duID0gZnVu
Y3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh2
KTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOworICBnbC5kaXNhYmxlVmVydGV4
QXR0cmliQXJyYXkodCk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCwgcHJvZywg
dixuLHQpIHsKKyAgcHJvZy5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzVkJP
ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLCB7
c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9KTsKKyAgdmJvLmRyYXcodik7CisgIGFzc2VydCgw
ID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZHJhdyIpKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNSwgMSk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9u
KCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDIpO30pOworICBhc3NlcnRPayhmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTt9KTsKKyAgYXNzZXJ0T2so
ZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNSk7fSk7CisgIHZiby5k
ZXN0cm95KCk7CisgIGFzc2VydCgwID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsK
K30KKworVGVzdHMudGVzdERyYXdBcnJheXNWQk9NdWx0aSA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2
LG4sdCkgeworICAvLyBjcmVhdGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFycmF5cywgYmluZHMgdGhl
bSB3aXRoCisgIC8vIHZlcnRleEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxzIGRyYXdBcnJheXMKKyAg
dmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwK
KyAgICB7c2l6ZTozLCBkYXRhOlF1YWQubm9ybWFsc30sCisgICAge3NpemU6MiwgZGF0YTpRdWFk
LnRleGNvb3Jkc30pOworICB2Ym8uZHJhdyh2LCBuLCB0KTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tF
cnJvcihnbCwgInZiby5kcmF3IikpOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCA1LCAxKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigp
e2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA1KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA2KTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA2LCAxKTt9KTsKKyAgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZiby52Ym9zWzFdKTsKKyAgZ2wudmVydGV4QXR0
cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBhc3NlcnRPayhmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA1LCAxKTt9KTsKKyAgYXNzZXJ0T2so
ZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2Vy
dE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpO30pOworICBh
c3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA1KTt9KTsK
KyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA2
KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCA2LCAxKTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KDAgPT0gY2hlY2tFcnJvcihn
bCwgInZiby5kZXN0cm95IikpOworfQorCisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydCIg
dHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICBhdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CisgIGF0
dHJpYnV0ZSB2ZWMzIE5vcm1hbDsKKyAgYXR0cmlidXRlIHZlYzIgVGV4OworCisgIHZhcnlpbmcg
dmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICBnbF9Qb3NpdGlvbiA9IHZl
YzQoVmVydGV4ICogTm9ybWFsLCAxLjApOworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LDAuMCww
LjApICsgZ2xfUG9zaXRpb247CisgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZyIgdHlw
ZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCisg
IHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICB2ZWM0IGMg
PSB0ZXhDb29yZDA7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsKKyAgfQorPC9zY3JpcHQ+CisKKwor
PHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5
PgorICA8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+PC9jYW52YXM+Cis8L2Jv
ZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91
bmRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41NDNlZTg1NzY3NDA5MDhjYjEwMDBhZjRlZjJhNmY4NzZlOTg4MTQ0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwKQEAg
LTAsMCArMSwzMDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAv
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0Ij4KKwordmFyIHZlcnRzID0gWzAuMCwgMC4wLCAwLjAsICAgMS4wLCAwLjAsIDAuMCwg
ICAwLjAsIDEuMCwgMC4wXTsKK3ZhciBub3JtYWxzID0gWzAuMCwgMC4wLCAxLjAsICAgMC4wLCAw
LjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wXTsKK3ZhciB0ZXhjb29yZHMgPSBbMC4wLDAuMCwgIDEu
MCwwLjAsICAwLjAsMS4wXTsKKwordmFyIHZlcnRzQSA9IG5ldyBGbG9hdDMyQXJyYXkodmVydHMp
OwordmFyIG5vcm1hbHNBID0gbmV3IEZsb2F0MzJBcnJheShub3JtYWxzKTsKK3ZhciB0ZXhjb29y
ZHNBID0gbmV3IEZsb2F0MzJBcnJheSh0ZXhjb29yZHMpOworCitUZXN0cy5zdGFydFVuaXQgPSBm
dW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wn
KTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgIHZh
ciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQnLCAnZnJhZycpOworICBwcm9nLnVzZSgpOwor
ICB2YXIgdiA9IHByb2cuYXR0cmliKCdWZXJ0ZXgnKTsKKyAgdmFyIG4gPSBwcm9nLmF0dHJpYign
Tm9ybWFsJyk7CisgIHZhciB0ID0gcHJvZy5hdHRyaWIoJ1RleCcpOworICByZXR1cm4gW2dsLHBy
b2csdixuLHRdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkg
eworICByZXR1cm4gW2dsLCBwcm9nLCB2LG4sdF07Cit9CitUZXN0cy50ZWFyZG93biA9IGZ1bmN0
aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodik7
CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0
dHJpYkFycmF5KHQpOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYs
bix0KSB7CisgIHByb2cuZGVzdHJveSgpOworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5c0VtcHR5
ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciBiID0gZ2wuY3JlYXRlQnVmZmVy
KCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBiKTsKKyAgZ2wuYnVmZmVyRGF0
YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoW10pLCBnbC5TVEFUSUNfRFJBVyk7
CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5G
TE9BVCwgZmFsc2UsIDAsIDApO30pCisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOwor
ICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6ZSBhcnJh
eSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxKTt9
KTsKKyAgZ2wuZGVsZXRlQnVmZmVyKGIpOworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5c091dE9m
Qm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciBiID0gZ2wuY3JlYXRl
QnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBiKTsKKyAgZ2wuYnVm
ZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXkoW10pLCBnbC5TVEFUSUNf
RFJBVyk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAz
LCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApO30pOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJh
eSh2KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ6ZXJvIHNp
emUgYXJyYXkiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywg
MCwgMSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiemVy
byBzaXplIGFycmF5IDEwMDAwIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDAsIDEwMDAwKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICJ6ZXJvIHNpemUgYXJyYXkgMTAwMDAwMDAwMDAwMDAiLAorICAgICAgZnVuY3Rp
b24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMTAwMDAwMDAwMDAwMDApO30pOwor
ICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6ZSBhcnJh
eSBmcmFjdGlvbiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAwLCAxLjYpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVn
YXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDAsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04s
ICJjb3VudCBvdXQgb2YgcmFuZ2UiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMCwgMSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFM
VUUsICJuZWdhdGl2ZSBjb3VudCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wu
VFJJQU5HTEVTLCAwLCAtMSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFM
VUUsICJwb3NpdGl2ZSBjb3VudCwgbmVnYXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1bmN0aW9uKCl7
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIC0xLCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihn
bCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50LCBwb3NpdGl2ZSBvZmZzZXQiLAor
ICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgLTEpO30pOwor
ICBnbC5kZWxldGVCdWZmZXIoYik7Cit9CisKKworVGVzdHMudGVzdERyYXdBcnJheXNXaXRoRGF0
YU91dE9mQm91bmRzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciBiID0gZ2wu
Y3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBiKTsKKyAg
Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHZlcnRzQSwgZ2wuU1RBVElDX0RSQVcpOwor
ICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Cisg
IGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwgIjMgZWxlbWVudCBhcnJheSIsCisgICAgICBmdW5jdGlvbigpe2ds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAzLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwg
Z2wuSU5WQUxJRF9PUEVSQVRJT04sICIzIGVsZW1lbnQgYXJyYXkgMTAwMDAiLAorICAgICAgZnVu
Y3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMTAwMDApO30pOworICBhc3Nl
cnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjMgZWxlbWVudCBhcnJheSAxMDAw
MDAwMDAwMDAwMCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAwLCAxMDAwMDAwMDAwMDAwMCk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
T1BFUkFUSU9OLCAiZnJhY3Rpb25hbCBjb3VudCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCAzLCAxLjYpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04sICJjb3VudCBvdXQgb2YgcmFuZ2UiLAorICAgICAgZnVuY3Rpb24o
KXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNCk7fSk7CisgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBjb3VudCIsCisgICAgICBmdW5jdGlvbigp
e2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAtMSk7fSk7CisgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfVkFMVUUsICJwb3NpdGl2ZSBjb3VudCwgbmVnYXRpdmUgb2Zmc2V0IiwK
KyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIC0xLCAyKTt9KTsK
KyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIGNvdW50LCBw
b3NpdGl2ZSBvZmZzZXQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFO
R0xFUywgMSwgLTEpO30pOworICBnbC5kZWxldGVCdWZmZXIoYik7Cit9CisKK1Rlc3RzLnRlc3RE
cmF3QXJyYXlzTXVsdGlPdXRPZkJvdW5kcyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgewor
ICB2YXIgYnMgPSBbXTsKKyAgYnMucHVzaChnbC5jcmVhdGVCdWZmZXIoKSk7CisgIGdsLmJpbmRC
dWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1ticy5sZW5ndGgtMV0pOworICBnbC5idWZmZXJEYXRh
KGdsLkFSUkFZX0JVRkZFUiwgdmVydHNBLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZlcnRleEF0
dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgYnMucHVzaChnbC5j
cmVhdGVCdWZmZXIoKSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1ticy5s
ZW5ndGgtMV0pOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbm9ybWFsc0EsIGds
LlNUQVRJQ19EUkFXKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwg
ZmFsc2UsIDAsIDApOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wuYmluZEJ1
ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0xXSk7CisgIGdsLmJ1ZmZlckRhdGEo
Z2wuQVJSQVlfQlVGRkVSLCB0ZXhjb29yZHNBLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIodCwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxl
VmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOwor
ICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJheSAxIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1
ZmZlcigpKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0x
XSk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KHZl
cnRzLmNvbmNhdCh2ZXJ0cykpLCBnbC5TVEFUSUNfRFJBVyk7CisgIGJzLnB1c2goZ2wuY3JlYXRl
QnVmZmVyKCkpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbYnMubGVuZ3Ro
LTFdKTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJyYXko
dGV4Y29vcmRzLmNvbmNhdCh0ZXhjb29yZHMpKSwgZ2wuU1RBVElDX0RSQVcpOworICBnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRC
dWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
biwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIGJzWzJdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0LCAyLCBnbC5GTE9BVCwg
ZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZW5h
YmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHQp
OworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5
IDIiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywgMik7
fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJy
YXkgMyIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCA0LCAy
KTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzBdKTsKKyAgZ2wudmVy
dGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5k
QnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbM10pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCBic1syXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodCwgMiwgZ2wuRkxPQVQs
IGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmVu
YWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0
KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJh
eSA0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIp
O30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFy
cmF5IDUiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNCwg
Mik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1swXSk7CisgIGdsLnZl
cnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmlu
ZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzFdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRl
cihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZ
X0JVRkZFUiwgYnNbNF0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHQsIDIsIGdsLkZMT0FU
LCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5l
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXko
dCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJy
YXkgNiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAzLCAy
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBh
cnJheSA3IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMs
IDIpO30pOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbM10pOworICBnbC52
ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJp
bmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1szXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50
ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJB
WV9CVUZGRVIsIGJzWzJdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih0LCAyLCBnbC5GTE9B
VCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wu
ZW5hYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5
KHQpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFy
cmF5IDgiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNCwg
MSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBj
b3VudCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAtMSwg
Mik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiemVybyBj
b3VudD8/PyIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAw
LCA0KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0
aSBhcnJheSA5IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDEsIDQpO30pOworICBicy5mb3JFYWNoKGZ1bmN0aW9uKGIpeyBnbC5kZWxldGVCdWZmZXIoYikg
fSk7Cit9CisKKworVGVzdHMudGVzdERyYXdBcnJheXNWQk9PdXRPZkJvdW5kcyA9IGZ1bmN0aW9u
KGdsLCBwcm9nLCB2LG4sdCkgeworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwge3NpemU6MywgZGF0
YTpRdWFkLnZlcnRpY2VzfSk7CisgIHZiby51c2Uodik7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLCAiMSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMo
Z2wuVFJJQU5HTEVTLCA2LCAxKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9W
QUxVRSwgIm5lZ2F0aXZlIGNvdW50IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDIsIC0xKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICIzIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDAsIDcpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwg
IjQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNik7
fSk7CisgIHZiby5kZXN0cm95KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzVkJPTXVsdGlP
dXRPZkJvdW5kcyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAvLyBjcmVhdGVzIFZC
T3MgZm9yIHRoZSBxdWFkIGFycmF5cywgYmluZHMgdGhlbSB3aXRoCisgIC8vIHZlcnRleEF0dHJp
YlBvaW50ZXIgYW5kIGNhbGxzIGRyYXdBcnJheXMKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisg
ICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICB7c2l6ZTozLCBkYXRhOlF1YWQu
bm9ybWFsc30sCisgICAge3NpemU6MiwgZGF0YTpRdWFkLnRleGNvb3Jkc30pOworICB2Ym8udXNl
KHYsIG4sIHQpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjEi
LAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNiwgMSk7fSk7
CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBjb3VudCIs
CisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAyLCAtMSk7fSk7
CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMiIsCisgICAgICBm
dW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA3KTt9KTsKKyAgYXNzZXJ0
R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICIzIiwKKyAgICAgIGZ1bmN0aW9uKCl7
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDYpO30pOworICB2Ym8uZGVzdHJveSgpOwor
fQorCitUZXN0cy50ZXN0RHJhd0FycmF5c09PQlNoYWRlckp1Z2dsZSA9IGZ1bmN0aW9uKGdsLCBw
cm9nLCB2LG4sdCkgeworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICB7c2l6ZTozLCBkYXRh
OlswLDAsMF19LAorICAgIHtzaXplOjMsIGRhdGE6WzAsMCwwLDAsMCwwXX0pOworICB2Ym8uaW5p
dCgpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvLnZib3NbMF0pOworICBn
bC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGds
LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZB
TElEX09QRVJBVElPTiwgIm9mZnNldCB0b28gYmlnIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDIpO30pOworICB2YXIgc2gyID0gbmV3IFNoYWRlcihn
bCwgJ3ZlcnQnLCAnZnJhZycpOworICBzaDIudXNlKCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCB2Ym8udmJvc1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoc2gyLmF0
dHJpYignVmVydGV4JyksIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KHNoMi5hdHRyaWIoJ1ZlcnRleCcpKTsKKyAgYXNzZXJ0T2soZnVuY3Rp
b24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMik7fSk7CisgIGFzc2VydEdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAib2Zmc2V0IHRvbyBiaWcgMiIsCisgICAgICBm
dW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTt9KTsKKyAgcHJvZy51
c2UoKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihwcm9nLmF0dHJpYignVmVydGV4JyksIDMs
IGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHBy
b2cuYXR0cmliKCdWZXJ0ZXgnKSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDAsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElE
X09QRVJBVElPTiwgIm9mZnNldCB0b28gYmlnIDMiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7fSk7CisgIHNoMi5kZXN0cm95KCk7Cit9CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBpZD0idmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICBh
dHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CisgIGF0dHJpYnV0ZSB2ZWMzIE5vcm1hbDsKKyAgYXR0cmli
dXRlIHZlYzIgVGV4OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigp
CisgIHsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4ICogTm9ybWFsLCAxLjApOworICAg
IHRleENvb3JkMCA9IHZlYzQoVGV4LDAuMCwwLjApICsgZ2xfUG9zaXRpb247CisgIH0KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgIHBy
ZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZv
aWQgbWFpbigpCisgIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB0ZXhDb29yZDA7CisgIH0KKzwvc2Ny
aXB0PgorCisKKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwv
aGVhZD48Ym9keT4KKyAgPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjwvY2Fu
dmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVt
ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODAxNjg1ZGFhNmQ2ZTg5OTFkNTAzMWVjYjkxZDA4MjY1YTdlNDM2NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1sCkBAIC0wLDAgKzEsMTQzIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK3ZhciB2
ZXJ0cyA9IFswLjAsIDAuMCwgMC4wLCAgIDEuMCwgMC4wLCAwLjAsICAgMC4wLCAxLjAsIDAuMF07
Cit2YXIgbm9ybWFscyA9IFswLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjAsICAgMC4wLCAw
LjAsIDEuMF07Cit2YXIgdGV4Y29vcmRzID0gWzAuMCwwLjAsICAxLjAsMC4wLCAgMC4wLDEuMF07
Cit2YXIgaW5kaWNlcyA9IFswLDEsMl0KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkg
eworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZhciBn
bCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICB2YXIgcHJvZyA9IG5l
dyBTaGFkZXIoZ2wsICd2ZXJ0JywgJ2ZyYWcnKTsKKyAgcHJvZy51c2UoKTsKKyAgdmFyIHNoID0g
cHJvZy5zaGFkZXIucHJvZ3JhbTsKKyAgdmFyIHYgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwg
J1ZlcnRleCcpOworICB2YXIgbiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnTm9ybWFsJyk7
CisgIHZhciB0ID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdUZXgnKTsKKyAgcmV0dXJuIFtn
bCxwcm9nLHYsbix0XTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCwgcHJvZywgdixu
LHQpIHsKKyAgYXNzZXJ0KDAgPT0gZ2wuZ2V0RXJyb3IoKSk7CisgIHJldHVybiBbZ2wsIHByb2cs
IHYsbix0XTsKK30KK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7
CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0
dHJpYkFycmF5KG4pOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodCk7Cit9CisKK1Rl
c3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgcHJvZy5kZXN0cm95
KCk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk8gPSBmdW5jdGlvbihnbCwgcHJvZywg
dixuLHQpIHsKKyAgICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAgICAgICAgICAg
ICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
e2VsZW1lbnRzOnRydWUsIGRhdGE6UXVhZC5pbmRpY2VzfSk7CisgIHZiby5kcmF3KHYpOworICBh
c3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kcmF3IikpOworICBhc3Nl
cnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lH
TkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAwKjIpO30pOworICBhc3NlcnRP
ayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDAsIGdsLlVOU0lHTkVE
X1NIT1JULCAyKjEpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhn
bC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA1KjIpO30pOworICB2Ym8uZGVzdHJv
eSgpOworICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5kZXN0cm95
IikpOworfQorCitUZXN0cy50ZXN0RHJhd0VsZW1lbnRzVkJPTXVsdGkgPSBmdW5jdGlvbihnbCwg
cHJvZywgdixuLHQpIHsKKyAgLy8gY3JlYXRlcyBWQk9zIGZvciB0aGUgcXVhZCBhcnJheXMsIGJp
bmRzIHRoZW0gd2l0aAorICAvLyB2ZXJ0ZXhBdHRyaWJQb2ludGVyIGFuZCBjYWxscyBkcmF3RWxl
bWVudHMKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgIHtzaXpl
OjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjMsIGRh
dGE6UXVhZC5ub3JtYWxzfSwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MiwgZGF0YTpRdWFk
LnRleGNvb3Jkc30sCisgICAgICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCBkYXRhOlF1
YWQuaW5kaWNlc30pOworICB2Ym8uZHJhdyh2LCBuLCB0KTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9S
ID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZHJhdyIpKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtn
bC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9
KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAw
LCBnbC5VTlNJR05FRF9TSE9SVCwgMioyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5k
cmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCoyKTt9KTsK
KyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBn
bC5VTlNJR05FRF9TSE9SVCwgNSoyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJjb3VudCArIG9mZnNldCBvdXQgb2YgcmFuZ2UiLAorICAgICAgZnVuY3Rp
b24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwg
NioyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJjb3Vu
dCArIG9mZnNldCBvdXQgb2YgcmFuZ2UgMiIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBnbC5i
aW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgbnVsbCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCB2Ym8udmJvc1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywg
Z2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxl
bWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNz
ZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAwLCBnbC5VTlNJ
R05FRF9TSE9SVCwgMioyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMCoyKTt9KTsKKyAgYXNzZXJ0
T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05F
RF9TSE9SVCwgNSoyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJ
T04sICJjb3VudCArIG9mZnNldCBvdXQgb2YgcmFuZ2UgMyIsCisgICAgICBmdW5jdGlvbigpe2ds
LmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA2KjIpO30p
OworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImNvdW50ICsgb2Zm
c2V0IG91dCBvZiByYW5nZSA0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIHZiby5kZXN0cm95
KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3ki
KSk7Cit9CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0IiB0eXBlPSJ4LXNoYWRlci94
LXZlcnRleCI+CisgIGF0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKKyAgYXR0cmlidXRlIHZlYzMgTm9y
bWFsOworICBhdHRyaWJ1dGUgdmVjMiBUZXg7CisKKyAgdmFyeWluZyB2ZWM0IHRleENvb3JkMDsK
KyAgdm9pZCBtYWluKCkKKyAgeworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXggKiBOb3Jt
YWwsIDEuMCk7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgsMC4wLDAuMCkgKyBnbF9Qb3NpdGlv
bjsKKyAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZy
YWdtZW50Ij4KKyAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKKyAgdmFyeWluZyB2ZWM0IHRl
eENvb3JkMDsKKyAgdm9pZCBtYWluKCkKKyAgeworICAgIHZlYzQgYyA9IHRleENvb3JkMDsKKyAg
ICBnbF9GcmFnQ29sb3IgPSBjOworICB9Cis8L3NjcmlwdD4KKworCis8c3R5bGU+Y2FudmFzeyBw
b3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+CisgIDxjYW52YXMgaWQ9
ImdsIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkwMmI2ZjQ5ZmI0
MDhmZGE1MGQ2OWViMDJiODllYzllYTY4M2JmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDIwOSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQor
CisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisq
KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl
cnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lh
dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGlu
IHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0
IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp
c2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl
IE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlh
bHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl
cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1
YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFM
UyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoq
IEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS
UkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFV
VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBE
QU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB
Q1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O
TkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO
R1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0
eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxp
Y2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0cy5h
dXRvcnVuID0gZmFsc2U7CisvLyBUZXN0cy5tZXNzYWdlID0gIkNhdXRpb246IE1heSBjcmFzaCB5
b3VyIGJyb3dzZXIiOworCit2YXIgdmVydHMgPSBbMC4wLCAwLjAsIDAuMCwgICAxLjAsIDAuMCwg
MC4wLCAgIDAuMCwgMS4wLCAwLjBdOwordmFyIG5vcm1hbHMgPSBbMC4wLCAwLjAsIDEuMCwgICAw
LjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjBdOwordmFyIHRleGNvb3JkcyA9IFswLjAsMC4w
LCAgMS4wLDAuMCwgIDAuMCwxLjBdOwordmFyIGluZGljZXMgPSBbNjAwMDAwMDAsMSwyXQorCitU
ZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRl
eHQoY2FudmFzKSk7CisgIHZhciBwcm9nID0gbmV3IFNoYWRlcihnbCwgJ3ZlcnQnLCAnZnJhZycp
OworICBwcm9nLnVzZSgpOworICB2YXIgc2ggPSBwcm9nLnNoYWRlci5wcm9ncmFtOworICB2YXIg
diA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnVmVydGV4Jyk7CisgIHZhciBuID0gZ2wuZ2V0
QXR0cmliTG9jYXRpb24oc2gsICdOb3JtYWwnKTsKKyAgdmFyIHQgPSBnbC5nZXRBdHRyaWJMb2Nh
dGlvbihzaCwgJ1RleCcpOworICByZXR1cm4gW2dsLHByb2csdixuLHRdOworfQorCitUZXN0cy5z
ZXR1cCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBhc3NlcnQoMCA9PSBnbC5nZXRF
cnJvcigpKTsKKyAgcmV0dXJuIFtnbCwgcHJvZywgdixuLHRdOworfQorVGVzdHMudGVhcmRvd24g
PSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFy
cmF5KHYpOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobik7CisgIGdsLmRpc2FibGVW
ZXJ0ZXhBdHRyaWJBcnJheSh0KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsLCBw
cm9nLCB2LG4sdCkgeworICBwcm9nLmRlc3Ryb3koKTsKK30KKworCitUZXN0cy50ZXN0RHJhd0Vs
ZW1lbnRzVkJPID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgICAgdmFyIHZibyA9IG5l
dyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0
aWNlc30sCisgICAgICAgICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCBkYXRhOlswLDEs
MiwyMDAwLCA0MDgwMiwgNTg4Nzk5Ml19KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe3Ziby5k
cmF3KHYpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRS
SUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7CisgIGFzc2VydEZhaWwoZnVu
Y3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9S
VCwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFO
R0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9u
KCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfU0hPUlQsIDEp
O30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgNSwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFz
c2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisK
K1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk9CeXRlID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0
KSB7CisgICAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgICAgIHtz
aXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30sCisgICAgICAgICAgICAgICAgICAgICAgIHtlbGVt
ZW50czp0cnVlLCB0eXBlOmdsLlVOU0lHTkVEX0JZVEUsIGRhdGE6WzAsMSwyLDIwMDAsIDQwODAy
LCA1ODg3OTkyXX0pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodik7fSk7Cisg
IGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBn
bC5VTlNJR05FRF9CWVRFLCA1KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3Nl
cnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lH
TkVEX0JZVEUsIDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRz
KGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfQllURSwgMSk7fSk7CisgIHZiby5kZXN0cm95
KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3ki
KSk7Cit9CisKK1Rlc3RzLnRlc3REcmF3RWxlbWVudHNWQk9NdWx0aSA9IGZ1bmN0aW9uKGdsLCBw
cm9nLCB2LG4sdCkgeworICAvLyBjcmVhdGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFycmF5cywgYmlu
ZHMgdGhlbSB3aXRoCisgIC8vIHZlcnRleEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxzIGRyYXdFbGVt
ZW50cworICAvLyBUaGUgcXVhZCBoYXMgNiB2ZXJ0aWNlcworICB2YXIgdmJvID0gbmV3IFZCTyhn
bCwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAg
ICAgICAgICAgICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLm5vcm1hbHN9LAorICAgICAgICAg
ICAgICAgICAgICB7c2l6ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSwKKyAgICAgICAgICAgICAg
ICAgICAge2VsZW1lbnRzOnRydWUsIGRhdGE6WzAsMSwyLDYsMjAwMCwgMjU2XX0pOworICBhc3Nl
cnRGYWlsKGZ1bmN0aW9uKCl7dmJvLmRyYXcodiwgbiwgdCk7fSk7CisgIGdsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTsKKyAgYXNzZXJ0RmFpbChm
dW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NI
T1JULCA1KjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3NlcnRPayhmdW5j
dGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDIsIGdsLlVOU0lHTkVEX1NIT1JU
LCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5H
TEVTLCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24o
KXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA0LCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7
fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAzLCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigp
e2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDIsIGdsLlVOU0lHTkVEX1NIT1JULCAyKjIp
O30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDMqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24o
KXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoy
KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdM
RVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9u
KCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDEp
O30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDYqMik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCB2Ym8udmJvc1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywg
Z2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
MywgZ2wuVU5TSUdORURfU0hPUlQsIDApOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7Cisg
IGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBn
bC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0Vs
ZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3Nl
cnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5T
SUdORURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxl
bWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNz
ZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVO
U0lHTkVEX1NIT1JULCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVt
ZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA2KjIpO30pOworICB2Ym8u
ZGVzdHJveSgpOworICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tFcnJvcihnbCwgInZiby5k
ZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0RHJhd0VsZW1lbnRzVkJPTXVsdGlCeXRlID0gZnVu
Y3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIC8vIGNyZWF0ZXMgVkJPcyBmb3IgdGhlIHF1YWQg
YXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAgLy8gdmVydGV4QXR0cmliUG9pbnRlciBhbmQgY2Fs
bHMgZHJhd0VsZW1lbnRzCisgIC8vIFRoZSBxdWFkIGhhcyA2IHZlcnRpY2VzCisgIHZhciB2Ym8g
PSBuZXcgVkJPKGdsLAorICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVy
dGljZXN9LAorICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQubm9ybWFsc30s
CisgICAgICAgICAgICAgICAgICAgIHtzaXplOjIsIGRhdGE6UXVhZC50ZXhjb29yZHN9LAorICAg
ICAgICAgICAgICAgICAgICB7ZWxlbWVudHM6dHJ1ZSwgdHlwZTpnbC5VTlNJR05FRF9CWVRFLCBk
YXRhOlswLDEsMiw2LDIwMDAsIDI1Nl19KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe3Ziby5k
cmF3KHYsIG4sIHQpO30pOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5V
TlNJR05FRF9CWVRFLCAwKTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDQsIGdsLlVOU0lHTkVEX0JZVEUsIC0xKTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIC0xLCBnbC5VTlNJR05F
RF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRFLCA1KTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5j
dGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX0JZVEUs
IDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdM
RVMsIDIsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2ds
LmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOwor
ICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNCwg
Z2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9CWVRFLCAxKTt9KTsKKyAgYXNz
ZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDIsIGdsLlVO
U0lHTkVEX0JZVEUsIDIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1l
bnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfQllURSwgMyk7fSk7CisgIGFzc2VydEZh
aWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05F
RF9CWVRFLCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhn
bC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3NlcnRGYWlsKGZ1
bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfQllU
RSwgNik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2Ym8udmJvc1sxXSk7
CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsK
KyAgZ2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllURSwgMCk7
CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwg
Z2wuVU5TSUdORURfQllURSwgNSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNz
ZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJ
R05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3NlcnRGYWls
KGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURf
QllURSwgMSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9CWVRFLCA2KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsK
KyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsK
K30KKworVGVzdHMudGVzdFNoYXJlZEJ1ZmZlcnMgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQp
IHsKKyAgdmFyIHZibyA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICB2YXIgdmVydHNBcnIgPSBuZXcg
VWludDE2QXJyYXkoWzAsMSwzLDMsNCw1LDYsNyw4XSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCB2Ym8pOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdmVydHNB
cnIsIGdsLlNUQVRJQ19EUkFXKTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmJpbmRCdWZm
ZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIHZibyl9KTsKKyAgZ2wuZGVsZXRlQnVmZmVyKHZi
byk7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydCIgdHlwZT0ieC1zaGFkZXIveC12
ZXJ0ZXgiPgorICBhdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CisgIGF0dHJpYnV0ZSB2ZWMzIE5vcm1h
bDsKKyAgYXR0cmlidXRlIHZlYzIgVGV4OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cisg
IHZvaWQgbWFpbigpCisgIHsKKyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4ICogTm9ybWFs
LCAxLjApOworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LDAuMCwwLjApICsgZ2xfUG9zaXRpb247
CisgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFn
bWVudCI+CisgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCisgIHZhcnlpbmcgdmVjNCB0ZXhD
b29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICB2ZWM0IGMgPSB0ZXhDb29yZDA7CisgICAg
Z2xfRnJhZ0NvbG9yID0gYzsKKyAgfQorPC9zY3JpcHQ+CisKKworPHN0eWxlPmNhbnZhc3sgcG9z
aXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorICA8Y2FudmFzIGlkPSJn
bCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2U2OTYxMzk2MDUxNjM2M2Iz
NWQ0ZDE3MTk4YzdmYWNiYzdkMjhlNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxMTkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4
dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94
LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFw
cGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0g
ZnVuY3Rpb24gKCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ds
Jyk7CisgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICBy
ZXR1cm4gW2dsXTsKK30KKworVGVzdHMudGVzdFJlYWRQaXhlbHMgPSBmdW5jdGlvbihnbCkgewor
ICAvLyB3ZSBjYW4ndCBrbm93IGlmIHRoaXMgaXMgZ29pbmcgdG8gZmFpbCBiZWNhdXNlIG9mIG5l
Z2F0aXZlIHdpZHRoCisgIC8vIG9yIGJlY2F1c2UgdGhlIGJ1ZmZlciBzaXplIGRvZXNuJ3QgbWF0
Y2ggdGhlIGRpbWVuc2lvbnMuCisgIGFzc2VydFNvbWVHTEVycm9yKGdsLCAibmVnYXRpdmUgd2lk
dGgiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwtMSwxLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDQpKTt9KTsKKyAgYXNz
ZXJ0U29tZUdMRXJyb3IoZ2wsICAibmVnYXRpdmUgaGVpZ2h0IiwKKyAgICAgIGZ1bmN0aW9uKCl7
Z2wucmVhZFBpeGVscygwLDAsMSwtMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAg
ICAgICBuZXcgVWludDhBcnJheSg0KSk7fSk7CisgIGFzc2VydE9rKCJuZWdhdGl2ZSB4IiwKKyAg
ICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygtMSwwLDEsMSwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSg0KSk7fSk7CisgIGFzc2VydE9rKCJu
ZWdhdGl2ZSB5IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLC0xLDEsMSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSg0KSk7fSk7
CisgIGFzc2VydE9rKCJoZWlnaHQgPiBiYWNrYnVmZmVyIGhlaWdodCIsCisgICAgICBmdW5jdGlv
bigpe2dsLnJlYWRQaXhlbHMoMCwwLDE2LDE3LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAor
ICAgICAgICAgIG5ldyBVaW50OEFycmF5KDE2KjE3KjQpKTt9KTsKKyAgYXNzZXJ0T2soIndpZHRo
ID4gYmFja2J1ZmZlciB3aWR0aCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCww
LDE3LDE2LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFy
cmF5KDE3KjE2KjQpKTt9KTsKKyAgYXNzZXJ0T2soIndpZHRoLCBoZWlnaHQgPSAwIiwKKyAgICAg
IGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMCwwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLAorICAgICAgICAgIG5ldyBVaW50OEFycmF5KDApKTt9KTsKKyAgLy8gd2UgY2FuJ3Qga25v
dyBpZiB0aGlzIGlzIGdvaW5nIHRvIGZhaWwgYmVjYXVzZSBvZiBuZWdhdGl2ZSB3aWR0aAorICAv
LyBvciBiZWNhdXNlIHRoZSBidWZmZXIgc2l6ZSBkb2Vzbid0IG1hdGNoIHRoZSBkaW1lbnNpb25z
LgorICBhc3NlcnRTb21lR0xFcnJvcihnbCwgImJhZCBmb3JtYXQiLAorICAgICAgZnVuY3Rpb24o
KXtnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsIGdsLkZMT0FULCBnbC5VTlNJR05FRF9CWVRFLAorICAg
ICAgICAgIG5ldyBVaW50OEFycmF5KDQqNCkpO30pOworICAvLyB3ZSBjYW4ndCBrbm93IGlmIHRo
aXMgaXMgZ29pbmcgdG8gZmFpbCBiZWNhdXNlIG9mIG5lZ2F0aXZlIHdpZHRoCisgIC8vIG9yIGJl
Y2F1c2UgdGhlIGJ1ZmZlciBzaXplIGRvZXNuJ3QgbWF0Y2ggdGhlIGRpbWVuc2lvbnMuCisgIGFz
c2VydFNvbWVHTEVycm9yKGdsLCAiYmFkIHR5cGUiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFk
UGl4ZWxzKDAsMCwxLDEsIGdsLkFMUEhBLCBnbC5GTE9BVCwKKyAgICAgICAgICBuZXcgVWludDhB
cnJheSgxKjQpKTt9KTsKK30KKworVGVzdHMudGVzdFJlYWRQaXhlbHNTT1BJTUcgPSBmdW5jdGlv
bihnbCkgeworICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaSIpOworICAg
IHdoaWxlICghaW1nLmNvbXBsZXRlKSB7fQorICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJl
KCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICAvLyBTT1Ag
ZmFpbHVyZQorICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGhyb3cgYmVjYXVzZSBpbWcg
aXMgZnJvbSBhbm90aGVyIGRvbWFpbiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1n
KTt9KTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBhc3Nl
cnRPaygiY2FudmFzIHN0aWxsIG9yaWdpbi1jbGVhbiIsCisgICAgICBmdW5jdGlvbigpe2dsLnJl
YWRQaXhlbHMoMCwwLDEsMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBu
ZXcgVWludDhBcnJheSg0KSk7fSk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworfQorVGVz
dHMudGVzdFJlYWRQaXhlbHNTT1BDYW52YXMgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciBpbWcg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaSIpOworICAgIHdoaWxlICghaW1nLmNvbXBsZXRl
KSB7fQorICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMiKTsKKyAgICBjLmdl
dENvbnRleHQoIjJkIikuZHJhd0ltYWdlKGltZywgMCwgMCk7CisgICAgYXNzZXJ0RmFpbCgiY2Fu
dmFzIHRocm93cyBiZWNhdXNlIG5vdCBvcmlnaW4gY2xlYW4iLAorICAgICAgZnVuY3Rpb24oKXtj
LmdldENvbnRleHQoIjJkIikuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpO30pOworICAgIHZhciB0ZXgg
PSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwg
dGV4KTsKKyAgICAvLyBTT1AgZmFpbHVyZQorICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAi
dGhyb3cgYmVjYXVzZSBjYW52YXMgaXMgbm90IG9yaWdpbiBjbGVhbiIsCisgICAgICBmdW5jdGlv
bigpe2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgYyk7fSk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwg
bnVsbCk7CisgICAgYXNzZXJ0T2soImNhbnZhcyBzdGlsbCBvcmlnaW4tY2xlYW4iLAorICAgICAg
ZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoNCkpO30pOworICAgIGdsLmRlbGV0ZVRleHR1
cmUodGV4KTsKK30KKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2Ny
aXB0PgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIx
NiI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PC9j
YW52YXM+Cis8aW1nIGlkPSJpIiBzcmM9Imh0dHA6Ly93d3cub3BlbmdsLm9yZy9pbWcvb3Blbmds
X2xvZ28uanBnIj4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3Mu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yNzcyNDg3YmYzNGVjMjcxMzEwYWFmMzBmZDVlMGU2OGEzNDIxM2Rj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRt
bApAQCAtMCwwICsxLDEwNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5j
c3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91
bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0
IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94
LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFy
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBnbCA9IHdy
YXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICAgIHJldHVybiBbZ2xdOworfQor
CitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRl
eHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIHJl
dHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsdGV4KSB7CisgICAg
Z2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVy
ZSh0ZXgpOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgICAg
dmFyIGRhdGEgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAgICAg
IGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMiwxLDAsZ2wuUkdCQSxn
bC5VTlNJR05FRF9CWVRFLCBkYXRhKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBn
bC5JTlZBTElEX09QRVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAg
ICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwyLDAsZ2wuUkdC
QSxnbC5VTlNJR05FRF9CWVRFLCBkYXRhKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX0VOVU0sICJiYWQgdGFyZ2V0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wu
dGV4SW1hZ2UyRChnbC5GTE9BVCwgMCwgZ2wuUkdCQSwgMSwxLDAsZ2wuUkdCQSxnbC5VTlNJR05F
RF9CWVRFLCBudWxsKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElE
X0VOVU0sICJiYWQgaW50ZXJuYWwgZm9ybWF0L2Zvcm1hdCIsIGZ1bmN0aW9uKCl7CisgICAgICAg
IGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuRkxPQVQsIDEsMSwwLGdsLkZMT0FU
LGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2ws
IGdsLklOVkFMSURfVkFMVUUsICJib3JkZXIgPiAwIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wu
dGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLDEsNDgsZ2wuUkdCQSxnbC5V
TlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICB9KTsKKyAgICAvLyBUaGUgc3BlYyBzYXlzIHplcm8g
c2l6ZSBpcyBPSy4gSWYgeW91IGRpc2FncmVlIHBsZWFzZSBsaXN0IHRoZSBzZWN0aW9uCisgICAg
Ly8gaW4gdGhlIHNwZWMgdGhhdCBkZXRhaWxzIHRoaXMgaXNzdWUuCisgICAgYXNzZXJ0T2soInpl
cm8gc2l6ZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8y
RCwgMCwgZ2wuUkdCQSwgMCwwLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAg
ICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUg
d2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIC0xLDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAg
IH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBo
ZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIDEsLTEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAg
IH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCBmb3JtYXQi
LCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGds
LlJHQkEsIDEsMSwwLGdsLkZMT0FULGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIH0pOwor
ICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImJhZCB0eXBlIiwgZnVuY3Rp
b24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAx
LDEsMCxnbC5SR0JBLGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIH0pOworICAgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRhIiwgZnVuY3Rp
b24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAx
LDEsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KDMpKTsKKyAgICB9
KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvcm1hdCBh
bmQgdHlwZSBpbmNvbXBhdGlibGUiLGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwxLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9TSE9S
VF81XzZfNSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJmb3JtYXQgYW5kIHR5cGUgaW5jb21wYXRpYmxlIixmdW5jdGlvbigpewor
ICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQiwgMSwxLDAsZ2wu
UkdCLGdsLlVOU0lHTkVEX1NIT1JUXzRfNF80XzQsIG51bGwpOworICAgIH0pOworfQorCisKK1Rl
c3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52
YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMg
aWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3NzJmNmIyNmM0MjlhZGRk
ZWMwZGY0OGE5OWM5ZjNiNzhmOTRkNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhJbWFnZTJESFRNTC5odG1sCkBAIC0wLDAgKzEsMTUyIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1
bmN0aW9uICgpIHsKKyAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ds
Jyk7CisgICAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7Cisg
ICAgZ2wudmlld3BvcnQoMCwwLGNhbnZhcy53aWR0aCxjYW52YXMuaGVpZ2h0KTsKKyAgICBnbC5j
bGVhckNvbG9yKDAsMCwxLDEpOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBn
bC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICBnbC5kaXNhYmxlKGdsLkRFUFRIX1RFU1QpOworICAg
IHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgdmFy
IHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJF
XzJELCB0ZXgpOworICAgIHZhciB0ZXhDdWJlTWFwID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAg
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRleEN1YmVNYXApOworICAgIHJl
dHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHRleCwgdGV4Q3Vi
ZU1hcCkgeworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGds
LmRlbGV0ZVRleHR1cmUodGV4KTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVf
TUFQLCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleEN1YmVNYXApOworfQorCitUZXN0
cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgZ2wuZW5hYmxlKGdsLkJMRU5E
KTsKKyAgICB2YXIgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2knKTsKKyAgICB2YXIg
YyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyk7CisgICAgdmFyIGN0eCA9IGMuZ2V0Q29u
dGV4dCgnMmQnKTsKKyAgICBjdHguZHJhd0ltYWdlKGltZywwLDApOworICAgIGdsLnRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
aW1nKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JB
UF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVf
MkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJh
bWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsK
KyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRF
UiwgZ2wuTElORUFSKTsKKyAgICB2YXIgZiA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0eS1mbGlw
LXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOworICAgIGdsLmJsZW5kRnVuYyhnbC5PTkUsIGdsLlpF
Uk8pOworICAgIGYuYXBwbHkoKTsKKyAgICBmLmRlc3Ryb3koKTsKKyAgICBnbC50ZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMp
OworICAgIGYgPSBuZXcgRmlsdGVyKGdsLCAnaWRlbnRpdHktaGZsaXAtdmVydCcsICdpZGVudGl0
eS1mcmFnJyk7CisgICAgZ2wuYmxlbmRGdW5jKGdsLlNSQ19BTFBIQSwgZ2wuT05FX01JTlVTX1NS
Q19BTFBIQSk7CisgICAgZi5hcHBseSgpOworICAgIGYuZGVzdHJveSgpOworICAgIHZhciB2YWxp
ZF90YXJnZXRzID0gWworICAgICAgICBnbC5URVhUVVJFXzJELAorICAgICAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJ
VkVfWCwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgICAgICBn
bC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWiwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisg
ICAgXTsKKyAgICB2YWxpZF90YXJnZXRzLmZvckVhY2goZnVuY3Rpb24odCkgeworICAgICAgICBh
c3NlcnRPayhmdW5jdGlvbigpe2dsLnRleEltYWdlMkQodCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwgYyk7fSk7CisgICAgICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wu
dGV4SW1hZ2UyRCh0LCAxLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9
KTsKKyAgICB9KTsKK30KKworVGVzdHMudGVzdFRleEltYWdlMkROb25TT1AgPSBmdW5jdGlvbihn
bCkgeworICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaTInKTsKKyAgICB3
aGlsZSAoIWltZy5jb21wbGV0ZSkge30KKyAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdjJyk7CisgICAgdmFyIGN0eCA9IGMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjdHguZHJh
d0ltYWdlKGltZywwLDApOworICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4SW1hZ2Uy
RCB3aXRoIGNyb3NzLW9yaWdpbiBpbWFnZSBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIsCisgICAg
ICBmdW5jdGlvbigpe2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1nKTt9KTsKKyAgICBhc3NlcnRUaHJvd05vR0xFcnJv
cihnbCwgInRleEltYWdlMkQgd2l0aCBkaXJ0eSBvcmlnaW4gY2FudmFzIHNob3VsZCB0aHJvdyBl
eGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKK30KKworVGVz
dHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0i
aWRlbnRpdHktZmxpcC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUg
dmVjMyBWZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29y
ZDA7Cit2b2lkIG1haW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LnMsIDEuMC1UZXgu
dCwgMC4wLCAwLjApOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7Cit9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWhmbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsK
KwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQw
ID0gdmVjNCgxLjAtVGV4LnMsIFRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2
ZWM0KFZlcnRleCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZnJh
ZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
KwordW5pZm9ybSBzYW1wbGVyMkQgVGV4dHVyZTsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsK
K3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBjID0gdGV4dHVyZTJEKFRleHR1cmUsIHRleENvb3Jk
MC5zdCk7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsKK30KKzwvc2NyaXB0PgorPC9oZWFkPjxib2R5
PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZhcz4KKzxj
YW52YXMgaWQ9ImMiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48L2NhbnZhcz4KKzxpbWcgaWQ9
ImkiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiAgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQs
aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFUVkVsRVFWUjRu
TzNkK1ZQVWQ1N0hjZjJiOWs5WSt6NDQrcUs3T1pvR0ZWQTVWZkJHemFoOWN4cE56R0VPb1J1YTVs
QkV1ZS9ESzRmWjdNYXBtU20zTWxzaHU4eE9kQ3BESnQzdi9hRUJBVUhBT01HNHowZlY1M2ZxVS9W
NmZkN2ZUL2UzMmJFREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd092QmthcjdsKzMrR3dCc2s4eFVy
VDByVGI4dngyUTQ1amFubHU3WXNXUG5zZ1hnVGVZd2FrODVVM1h2NVppTTMrWGJVaC9sMmRJQ0Jj
NjA4MFdaMXVyOTJiYVNIUlFCOEdheUdkVVd1MUh6b1NORk8rWk0xZjJjYlRMTTUxbFQ1d29jNXJr
RE9iYlovVm0yU0VtMjNWdnN5amhWNW5KUUJzQ2J4R1pRVnRtTjZwNE1vL1lQZHFOR0hLbGF5VXJY
Sjl6V2xFU2gweEl2enNtWUwzSFo1NHB6TW02VnVSeVJNcGZUVytweVVBYkFtOEJtVk5WbkdOVFRk
cVA2dnpPTUdyR25hTVNacXBOc2sxN3liS2xTNkRUTC9peGJvdFJsajVmbE91YkwzSTY1TXBmalZy
bmJFYWxZS0lOU2wzMzV2UUdBM3dLYlVXMnhHZFdSREtQNjZ3eWpXaFlMd0pHaUZXZWFUckpOQm5G
YlUyU1AzU1Q3czZ4U21tdVhjcmN6VWU1MnhzdHpIZlBsYnNkY3VkdDVxeXpYM2xLV2x4a3N6WEdl
SzhteG55ekp5U2plUVJrQXJ6ZWJRVmxsTTZwN2JVYjE0OVVGNEVqVlNtYWFUckxTOWVLeXBNZ2Vl
N29jeUxaSm1kc2hGWG1aVXBIblhGRUdCL096SnNyZGpxRXl0L05tV2E0OVhKYnQ5SmE2TWs0VnU3
aEVCRjVMTnIycTNtWlF6OWdNNnU5WEZFQnFzZ0NjYVRySlhKZ0VjaTBwc3RkaGt2M1pOaW5OVFpi
QW9md3NPWlNmSlFmek1xVTh6NWtvZHpzU1pibU9lSVhiK1hXNTJ6RmE1bkxjS25QWkkyVUxsNGpG
ZktJQXZCN01PclhGWmxCSGJBYjExemFqK2ttR1ViTnVBV1NtNjVkS1lIZEdtaFJsV3FROHp5RkhD
bkxrK0w1Y09WNlVLMGNLWFZLNUoxc081bWRLaGRzcFphdktvRFRYMFZQaWNpVExJSHRGR1ZBSXdL
L05ZbEJXMmZUcVhwdEIvZGhtU0o3K0x5cUFySFM5NUppVEpWRGdORWxsUVpaNEtndWxycnBVNnF0
TEpYQnN2NXd0M3lNbjlydmxhSUZMRGk4dmcxeEg0bUIrNXArV2wwRnBqcjJsSk1jUkxNNnlueXZP
empoeElJdDdBK0JYWTlHcjZxMEw0LzlTQWFSb3hMN3cvTDlXQVdTYkRKSnJUWkZpZDRaNGp4WkpV
LzF4dWZIaE9lbStlazZpbDAvTEI3NHFhVHhUSm9HaisrVnMyUjQ1dmo5WGpoVGt5T0hkQzQ4SkMy
VndhSGZtbnlyY3puK3ZjRHNteW5MdFF5VTVHVGVMY3pMQ3BUazJUM0dXN1ZoeFZzYWU3ZDRmNEkx
bDFxa3RWb002WWpPb3ZyWWExRDhzRm9COVdRRTQxNWtBOHUxcGN2UkFqbndVT2lMRExRRzUxOTBv
OTI0MnlsUkhuUXlHL1hMejZubUpYcXFXRDN5VjBuQzZWUHhIOThuWnN0MXlmRit1SEMxMFNkWGVi
RG1Vbnl5RHFvTHM3dzdsWjM1YjduYjhzY3h0LzdkU2wzMmtKQ2VqcXlRbjQwcEpUa2JaRGlZQzRO
V3phSlZWVnIycTEyWlFQYllhMUg5ZnV3QjBTd1dRbGE2WExGT3lBQW95VGZMVzRUM1NmdVdNM0wz
UklBLzdMOHZEL3N2eVplOGwrZXpXMjNLdnUxRW1PMnBsb05rbjNWZlBTZXZiMWZLK3QxSWF6NVJK
N2NsaThSMHBrdE9sK1hLc0tGa0dCeGZLb0hKdjFsOFA1bWYrdVNMUDhmdnlYTWRNbWRzUktYYzVx
b3RkR1FYYnZWL0FHOFdpVjlWYjlhb1pxMTQxYXpPb3hXYmNYQUhrV2xPa0pDOURhazhYeTYxUEw4
aURub3RMQmJCVUJIMlg1WXZibCtSQnowVzVlNk5CSnRwcnBML1pKemMvT2kvWFAzaExXaTZla3Zj
OGg2V3V1a1M4VmMvS1lQRUM4V2hoenBPcWd1enZLdmRtZlhWNGQyYjN3ZnpNOXcvbFpURU5BSytD
V2Fld1dIV3FpRTJ2K3RxcVYvMncyUUxJTmhra1AyTmgvSzg5SW1OdElmbWk5OUt6OFBjbDE1ZEw2
NUo4MFh0SlByLzF0dHkvMlNoM3V4dmt6dlY2R1krRnBPK2FWNjUvOER1SlhEd3BWenlIcE83VVFo
bVU1TXZSSXBkVTdjMlJRN3V6NU1SKzl4K09GYm51SGkzTWlWUVZ1S29QNzg0dTJ1NzlBMzdUTEZw
bGxWV242clhxVlkrdGV0V1BHeGJBc2d2QXZVNlR2SFZvdDhTdW5KWTdOK3JseTc2MWcvOWxiM0o5
c1d4OWZ2dVNmSDc3YlhuUWMxSHVkVGZJVEZlZGpMV0ZwUGVhUjdvK2VFdkNqU2ZseW9WRFVsZGRL
c0hqQitUQzRVSTVWWnduVlFVNWliY3E5bngxdWpTLzU4UUI5OVhxWW5mNURxWUI0T1ZZZE0vR2Y2
dGU5WS9rOC8vR0JlQ3lHS1hFblNFMTFRZWs1NVB6Y3Y5bTQ4clFyeFA4TDI1ZmtpOXV2eTJmcjFx
ZjNicVluQXh1Tk1oMFo1Mk1SSU55KzFPUFhQL3dkOUorNVl3MDE1K1FkODRmbEpxVHhYTGhjSUdj
TE03NytVaEJ6dDh1VkJhMm5xdmNlL1pzeFo2eTdkNUw0RGRsY2Z5MzZGVmZXL1NxSDZ3R2xhd3Vn
TVd2QVR2VGxoV0F5U0I1R2FseWRIK09mRlJ6UkVhalFmbjgxdHZyaC82RndWOWNGK1d6V3hmbHdh
Mkxjci9ub3R6cmJwU1o2L1V5MVZVbmt4MjFNdHdTa0o1UExrakhlMmVscWY2NFhENTNVRUluRGlR
dUhDNllyeTdPbXoxVzVIclkrRmJGNFIxTUE4RG1XTFRLS3N1eThkOXFVTCt3QUpaL0MzQ1BNMTNP
SHR3dGJlK2VsdW5yOWZMRnVzRi9QdlNmMzFvNytBOTZucTM3UFJmbGZrK2ozTCtaL0ZqeDdvMEdt
ZTZxazRuMkdobHE4VXZQeCtlbC9jb1p1VlozWEM2ZnEvaTU3bFR4MzJwT0huZ1VPbFVjL2pSNGxF
dENZQ01XbmFyZW9sZk5XUFNxV2F0QjlkT2FCYkRHbDRCY0ZxTVV1MjBTT25WQWJuNThUdTUyTjI3
cXRQOThnOUEvV0F6OVF2QVgxNzNGRXVodWtMdmREY25Kb0xOV3htTTFNaGp4eTgyUHprbm4rMmNT
c1hkUHo0Y2JUOHgrR0toOCtGSHdTTzBPU2dCWW0xbW5zSmgxcW9oRnIxd1kvNVh4WndXdy90ZUFz
OUtUdnd0d1pIKzJYQTFWeVhCclVCNzBYRnovdEY5bnpOOUs4TzkxTjhpOWhmQXZyanMzR3VUT2pY
cVpYbmhFR0crdmtkRm9VQWJEL3A5N1BqNy90NTZyNTcvcHUrYjVwT1hkNnFQYnZkZkFhOGVpM1ZW
bDBhbDZMWHJsWTR0TythTkZyMHBzdGdEMk9OTGx6TUhkRW4ybldxWTY2K1N6bHh6ekh5d2I4NThM
L1RyQnYzdmpXZmdYMTh6MTVKcnVxcE9wemxxWmFBOGx4bUtodjQ5R2czL29EL3MrM3U2OUJsNDdG
cDJpM3FKVnpWaDB5bG1yVHZtVFZaKzhBRno1SHNEekJaQmpOa3B4cmsyQ3B3NUk5MGZuNU02Tmho
ZWU5bHNPZnZmbWczL24rclB3ejF5dms1bXVPcGxlV0pNZHRmSEpqcHJ2Smp0cUtBQmd1ZVQ0cjRp
WWRjcXZ6YnBkUDFqMHl2anFBckN2OVNKUXVsN2N0bFNwMnBjdEh3WXJaYWdsSVBkdk5xNS8yci9n
WW05VHdiK3g5ZUJQZDlYSlZISVNtSi9xclAxbXVyT0dSd0JnT1pOMlY1VkZwK3kxYUJmR2Y1MHlz
VlFBYTN3SFlMRUFzdEwxc3R1UkxxY3I4cVgxOGltWjdLaVZCejBYWHhqNmpaL3ZOeG44NnhzSFAv
a0lVQ2RUblhYeDZjN2F2MHgxMVBSczkxNERyeDJUVGxGdjBpcG16RHJsckVXbi9NbWlWOGxtQ2lE
YmJKQUR1VFlKbnR3dk42NytUbWF1MXlkRHZtYm90MzZ4OXl6NDlTOFovTnJGTlQvZFZmdjdxYzY2
azl1OTE4QnJ4YXhlUGY0cjRoc1ZnSFBoOXdCenJTbFNWWlF0SHdRcVpURGlsN3ZkalZzNzdiY1kv
Sm10QjErbU9tc1RreDIxVDZhNmFrZTJlNitCMTQ1SnU2dktwRlAybXJUS3gyYnRzL0YvOFZ1QUx5
cUEzZlkwT1YyZUx5MlhUc3BFZTQzY2Y4R3ovVFlFWHlZN2FtV3lveVkrMVZIei9WUm5YZk4yN3pY
dzJsa2EvN1hLV1l0VytaTkZwNVRORkVDMnlTRDdYVllKbk5nblhSKytKZE5kZFpzKzdYK2Q0TmZL
WkVlTlRIYlV6RTkyMUR5YTVQSVBXQ2xOcmJDWXRjbngzNlRkOVlOWnA0aGJkS3FOQzJCaC9LOHN6
SkwzL1lkbElPeVRPemNhdHZ3eDNzWTMrcjhvK0RMWkVVcE10TmM4bWVoZy9BZWVZMUx2cWpKcGxi
MG1qZUt4V2F2NDBheFZKbFlYd0ZwdkFtYW02U1RmbmliVlpYa1NlZnVrak1WQ2NyZDdFeVArZXFm
OWxvSmZ1Mkh3SnpwcVpLSzlSc2JiUS9ISjl0RDNrNTAxalAvQWFpYU5vdDZrU1k3L1pxM2lKN05P
S1lzWGdDOHFnQ3lUUWZibFdNVi9mSjkwZm5CV0pqdHJWNHozV3pudG43dlJ2LzU4NkxjYS9HY3JO
RC9SSG5vMDJjNzRENnlRcGxaWVRGcEZ4S1JWTEkzL0t3dmcrUmVCN0NuSjN3RndXVkxrY0dHV3ZP
Yy9MUDNOWHBtNVh2L0xUL3ROQm45eUU4RWZUNFkvTVI0TFBSbHZEekgrQTZ1Wk5ZcEtrM1pYYi9y
QytHL1NLaEtiTFlDOGpEUTVWWlluNFlzblpMUXRLSGR1YkM3MG14M3pmMG53eDl0RE1oNEx5Vmdz
RkIrUEJiOGZiMmY4QjU2VHJsSFVwMnNWMHlhTlltbjgzMHdCWktYclpWKzJSWHpIOTBuSCsyZGxv
cU1tV1FDdjRMUi8rZUNIbG9LL0VINFpqd1hueDJQQlIyUHRRY1ovWURtVFJwbWFybFkwbVRTN3Zr
clRLUDVxMGlwK051dVVZdG1nQUJ5cFduRlpqSEtvSUZPdWVBOUpYNU5IcHJ2cU5oMzZ6WjcydnlU
NEMrRlBqTFlGbjR6SGdvei93R29temE3ZDZacGRNWk5HOFkxSm8zaGkxaTQ4LzIraUFQSXlVdVZr
cVZ1YUdrL0lTRFFvTTlkZjNXbS9NdmcxV3c3K1dDd2tZMjFCR1cwTHhrZmJndCtQeFVLTS84QnFh
WnBkdTlQVWlpYVRSdkdWU2F2NHk5SW5BQnNVUUdhNlhvcXlMZUk5VmlUdDc1MlI4ZmJRcXNDLzR0
TitpOEVmYXd2S2FEUW9JOUhBL0doYjhKdXhLT00vOEJ5VDVsOVQwOVNLUUxwR01XVFNLdjdUckZV
OE5ldVVpZVVGWUZ2MVl5Q09WSzNrbUpQai83dmVnOUo3elNOVG5iV3Y2TFIvQmNGZldDUFJRSHdr
R3ZqTFNEVEFtMy9BZXRMVnlqeVRSdm1PU2F1WU5Pc1UzNXAxeW45c1ZBQnVXNnFjTE0yVmF3M0ha
YmcxSU5OZHIrYTBYL3N6L0swRmZ6UWFsTkZvSUhuNlJ3Ty9IMmtMOHVZZjhDSW16YTVDazI3WGUy
YXRjc3FpVThiWExZQVVqV1NtNjZRd3l5emVZNFVTdTNKYXhtS2h0VVAvaTAvN21oV2hYeEg4dHZX
Q0g1U1JhRUJHbzRIRVNLdi95V2hyZ01zL1lEUFNkY29pczFieHZrV25mR3JSSytOckZZQTlSU3Za
Wm9NYzNPdVVkendINWZhMUN6TFJVZk5QUGUzSDF6anQxd3YrNGhwdURjUkhvb0h2UjZJQkx2K0F6
VExybEVWbW5mS2hSYWQ4YWwzejU4QzA0cmFseUltU1hMbldjRXlHV3YweTJWa3JVMTNQaC82bFR2
c05nais2UWZCSFdnTXkzQnFRNFZiLy9IQnI0TkZJMU0vbEg3QVZGcjBxWU5HckhscjFxcWMyZ3lx
Ky9FMUFaNXBPQ3JOTTRqbGFJRzFYVHN0b1cvQ2ZkOXEvVlBBRE10enFUd3kzK0o4TU0vNERMMlhu
aWhJd3F1STJvMXJzS1JySk5obWtZcTlETGwrb2tGdWZuSmZ4OXBwbm9WL3ZjL3V0bnZheE5jYjhU
UVUvSU1PdGZobHE4Y2VIVy96ZkQwY0RGN1o3STRIZnFwMDJ2U3BnMDZzZTJnenFweGxHVGR5ZW9w
RmNhNG9jTDNISnAvVkhaVERpazRtT3pZMzRMMzNhYis3RVh3eit3dkxORDdjRWJvMjBCakszZXhP
QjM3S2ROcU02WURPb0gyWVkxVStkYWJwNFFhWkpMaHpaSzlGM3EyVWtHcENKRFUvNzBLczc3VGNN
dmwrR1dueUp3WWp2eVZCTDRKM3QzanpnVGJEVFpsUUhNb3lhaDlsbS9kT0tQYzc0cGZQbDB2UHhP
Um1MaFg2ZDAzNVR3VjlZRVY5OHNNVS9OUkRtOGc5NFZYYmFVN1VCbDhYNDhFU0o2K2tuOVVkK0hn
aDdFdVB0b1ZkejJyZHRKdlF2RHY1Z3hMZXd2SDhjaUhnN2hsb0NsdTNlTk9CTnN0TnRTdzM0anhj
OWJIMm5lbmFveFRjMzNoNmFINHVGNHVQdHdjUjQ4bi91L1JOTys4MEczeWRERWQvL0RJUjk5d2JD
dnNidDNpemdUYlR6YXFneTBQUHh1ZkJJTkJBYmJ3ODlHbytGWnNkam9ibng5dERjYUN3NFA5b1dq
SS9GZ29teFdDQXgrZ3BPKytHMXh2eFZ3UitNK0dRdzdQMXhNT3g3UEJqMjlmWkh2RlhidlZIQW0y
cm40cHJzcktrZDZ3aUZSOXREc2ZIMm10aElMUFJvckMwNE85WVdtaHVOaGVaRzJ3THpJOUZnZkxR
dGtCaU5CaExQaGY0WG5QYUxheURpazRHd1R3YkMzdjhkYVBZK0hJajRQdXB2OWpMK0E3K0NuY3ZY
ZUh0TjdXZ3NHQjZOaFdLanNWQnNKQnA4TkJvTnpvNUVBM01MYTM2NE5SQWZhZlVuaHBQcjVVNzds
Y0dYZ2JEMzd3Tmh6NS83bTcwakEySFBtVzNlRStEL3JaV0YwQmFzSFc0TGhrZWlnZGhJTEJRYmJn
MDhHbTROekE2MytPZUdXL3h6UTYzKythRVdmM3lveFpkSXJtV2hiM2srOUlOTG9WOEt2dlEzZStN
RHpkNGYrcHM5LzlFZjlyWU5SSHlPYmQ0REFBdFdGTUpvVzdCMnVEVVlIb29HWWtQUlFHeW94Zjlv
cU1VM094VHh6UTFGZkhORExiNzVvWWd2UGhqeEpwWldlTzNnSjhQdlNmUTNlWDhhQ0h0bis1dTlN
MzNOWFA0QnI3TVZoVERjR3FnZGJ2V0hCMXY5c2NGV2Yyd3c0bjgwR1BITkRvYTljNE1SMzl4ZzJE
czNFUGJPRDRTOThZR3dKekVROWlUNm03M1MzK3lWdm1iUGZIK3paNzZ2eWZPMHY5bjdwNzVtYjI5
L001ZC93Ry9KYzRVdzFPSVA5MGY4c2NHSVA5WWY4Y2NHd3I1SEEySHY3RUN6ZDI2ZzJUdlhsd3g5
dksvWjgyMS9zK2UvK3BvODMvWTNlVDdyYS9ZMGNma0gvTGJ0WEwyR1dueTFBMkZmdUMvc2pmV0h2
YkgrWnMranZyRDNabStUWjZpM3lUUFcxK3laN0d2eVhPOXI5dmkzOTA4SDhNK3dvaEI2bTd4bHQ2
OTVUdzZFZmVjR3cxNWZmNVBubmI1bVQ2RDMyb1VEMi94M0F2Z1Y3ZHl4WThmT2dTYXZ1Ny9KazlW
M3phdmU3ajhJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQ1YvZzl0UEpFUXUxWHZtUUFBQUFCSlJVNUVy
a0pnZ2c9PSI+Cis8aW1nIGlkPSJpMiIgc3JjPSJodHRwOi8vbWFzaGFibGUuY29tL3dwLWNvbnRl
bnQvdXBsb2Fkcy8yMDA4LzA4L3RodW5kZXJiaXJkLWxvZ28tNjR4NjQucG5nIj4KKworPC9ib2R5
PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdz
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk2ZjUzNjFkMzUyYmRkZmNmYjlmZmU0OWNjMmVmMDYwZjAxYjg1NTUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAg
KzEsMTEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxz
Y3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4v
dXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlw
dCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY2FudmFzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgICAgdmFyIGdsID0gd3JhcEdMQ29udGV4
dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgICAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNl
dHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOwor
ICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgcmV0dXJuIFtnbF0K
K30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCx0ZXgpIHsKKyAgICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cit9
CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBnbC50ZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDIsMiwwLGdsLlJHQkEsZ2wuVU5TSUdORURf
QllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSk7
CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJub3QgZW5vdWdo
IGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsMCwgMCwgMiwxLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXko
WzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICJub3QgZW5vdWdoIGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhT
dWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMSwyLGdsLlJHQkEsZ2wuVU5TSUdORURf
QllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIHRhcmdldCIsIGZ1bmN0aW9uKCl7CisgICAg
ICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuRkxPQVQsIDAsIDAsMCwgMSwxLGdsLlJHQkEsZ2wuVU5T
SUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNz
ZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIndpZHRoIG91dCBvZiByYW5nZSIsIGZ1
bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAw
LCAzLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9WQUxVRSwgImhlaWdodCBvdXQgb2YgcmFuZ2UiLCBmdW5jdGlvbigpeworICAgICAgICBn
bC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMSwzLGdsLlJHQkEsZ2wuVU5T
SUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSkpOwor
ICAgIH0pOworICAgIGFzc2VydE9rKCJ6ZXJvIHNpemUiLCBmdW5jdGlvbigpeworICAgICAgICBn
bC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMCwwLGdsLlJHQkEsZ2wuVU5T
SUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAgYXNz
ZXJ0U29tZUdMRXJyb3IoZ2wsICJuZWdhdGl2ZSB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAg
IGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwwLCAwLCAtMSwxLGdsLlJHQkEsZ2wu
VU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAg
YXNzZXJ0U29tZUdMRXJyb3IoZ2wsICJuZWdhdGl2ZSBoZWlnaHQiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMSwtMSxnbC5SR0JB
LGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0pOwor
ICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSB4IiwgZnVu
Y3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLC0xLDEs
MSwxLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7
CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0
aXZlIHkiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsMSwtMSwxLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShb
MCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX0VO
VU0sICJiYWQgZm9ybWF0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxnbC5GTE9BVCxnbC5VTlNJR05FRF9CWVRFLCBuZXcg
VWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBn
bC5JTlZBTElEX0VOVU0sICJiYWQgdHlwZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1
YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAxLDEsZ2wuUkdCQSxnbC5URVhUVVJFXzJE
LCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9y
KGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7
CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAxLDEsZ2wu
UkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDBdKSk7CisgICAgfSk7
CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3JtYXQgZG9l
cyBub3QgbWF0Y2ggaW50ZXJuYWwgZm9ybWF0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4
U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDEsMSxnbC5SR0IsZ2wuVU5TSUdORURf
QllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAidHlwZSBkb2VzIG5vdCBtYXRjaCBvcmlnaW5h
bCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgMCwwLCAxLDEsZ2wuUkdCQSxnbC5VTlNJR05FRF9TSE9SVF80XzRfNF80LCBuZXcgVWludDE2
QXJyYXkoWzBdKSk7CisgICAgfSk7Cit9CisKKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGds
KSB7Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08
L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0
PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRI
VE1MLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDI4NGZkODQ3YzIzYzRjNzkxYWZjMTNiODk1NGY5NTJmMTdi
Yzg0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1M
Lmh0bWwKQEAgLTAsMCArMSwxNjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Vu
aXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0i
Li4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICAg
IHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIgZ2wg
PSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgICBnbC52aWV3cG9ydCgw
LDAsY2FudmFzLndpZHRoLGNhbnZhcy5oZWlnaHQpOworICAgIGdsLmNsZWFyQ29sb3IoMCwwLDEs
MSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9C
SVQpOworICAgIGdsLmRpc2FibGUoZ2wuREVQVEhfVEVTVCk7CisgICAgcmV0dXJuIFtnbF07Cit9
CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRl
VGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAg
dmFyIHRleEN1YmVNYXAgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUo
Z2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4Q3ViZU1hcCk7CisgICAgcmV0dXJuIFtnbF0KK30KKwor
VGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgdGV4LCB0ZXhDdWJlTWFwKSB7CisgICAgZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0
ZXgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG51bGwpOworICAg
IGdsLmRlbGV0ZVRleHR1cmUodGV4Q3ViZU1hcCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJE
ID0gZnVuY3Rpb24oZ2wpIHsKKyAgICBnbC5lbmFibGUoZ2wuQkxFTkQpOworICAgIHZhciBpbWcg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaScpOworICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2MnKTsKKyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpOworICAg
IGN0eC5kcmF3SW1hZ2UoaW1nLDAsMCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpOworICAgIGdsLnRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgaW1nKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICBnbC50
ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElO
RUFSKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlO
X0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICB2YXIgZiA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVudGl0
eS1mbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOworICAgIGdsLmJsZW5kRnVuYyhnbC5PTkUs
IGdsLlpFUk8pOworICAgIGYuYXBwbHkoKTsKKyAgICBmLmRlc3Ryb3koKTsKKyAgICBnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGMpOworICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgZiA9IG5ldyBGaWx0ZXIoZ2wsICdpZGVu
dGl0eS1oZmxpcC12ZXJ0JywgJ2lkZW50aXR5LWZyYWcnKTsKKyAgICBnbC5ibGVuZEZ1bmMoZ2wu
U1JDX0FMUEhBLCBnbC5PTkVfTUlOVVNfU1JDX0FMUEhBKTsKKyAgICBmLmFwcGx5KCk7CisgICAg
Zi5kZXN0cm95KCk7CisgICAgdmFyIHZhbGlkX3RhcmdldHMgPSBbCisgICAgICAgIGdsLlRFWFRV
UkVfMkQsCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAgICAgICAg
Z2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVf
TUFQX1BPU0lUSVZFX1ksCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwK
KyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgICAgICBnbC5URVhU
VVJFX0NVQkVfTUFQX05FR0FUSVZFX1oKKyAgICBdOworICAgIHZhbGlkX3RhcmdldHMuZm9yRWFj
aChmdW5jdGlvbih0KSB7CisgICAgICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7CisgICAgICAgICAg
ICAgICAgZ2wudGV4SW1hZ2UyRCh0LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLCBjKTsKKyAgICAgICAgICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKHQsIDAsIDAsIDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpOworICAgICAgICB9KTsKKyAgICAgICAgYXNzZXJ0
T2soZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKHQsIDEsIGdsLlJH
QkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpOworICAgICAgICAgICAgICAgIGdsLnRl
eFN1YkltYWdlMkQodCwgMSwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7Cisg
ICAgICAgIH0pOworICAgIH0pOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRE5vblNPUCA9IGZ1
bmN0aW9uKGdsKSB7CisgICAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpMicp
OworICAgIHdoaWxlICghaW1nLmNvbXBsZXRlKSB7fQorICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2MnKTsKKyAgICB2YXIgY3R4ID0gYy5nZXRDb250ZXh0KCcyZCcpOworICAg
IGN0eC5kcmF3SW1hZ2UoaW1nLDAsMCk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0
ZXhJbWFnZTJEIHdpdGggY3Jvc3Mtb3JpZ2luIGltYWdlIHNob3VsZCB0aHJvdyBleGNlcHRpb24u
IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpO30pOworICAgIGFzc2VydFRocm93
Tm9HTEVycm9yKGdsLCAidGV4U3ViSW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdpbiBpbWFnZSBzaG91
bGQgdGhyb3cgZXhjZXB0aW9uLiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRleFN1YkltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgMCwwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBpbWcpO30p
OworICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4SW1hZ2UyRCB3aXRoIGRpcnR5IG9y
aWdpbiBjYW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rpb24oKXtn
bC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGMpO30pOworICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4U3ViSW1h
Z2UyRCB3aXRoIGRpcnR5IG9yaWdpbiBjYW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iLAor
ICAgICAgZnVuY3Rpb24oKXtnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7fSk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBm
dW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZsaXAt
dmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4Owor
YXR0cmlidXRlIHZlYzIgVGV4OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWlu
KCkKK3sKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KFRleC5zLCAxLjAtVGV4LnQsIDAuMCwgMC4wKTsK
KyAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2Ny
aXB0IGlkPSJpZGVudGl0eS1oZmxpcC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+Cith
dHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVj
NCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQoMS4wLVRl
eC5zLCBUZXgudCwgMC4wLCAwLjApOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEu
MCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZyYWciIHR5cGU9Ingtc2hh
ZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2Ft
cGxlcjJEIFRleHR1cmU7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQor
eworICAgIHZlYzQgYyA9IHRleHR1cmUyRChUZXh0dXJlLCB0ZXhDb29yZDAuc3QpOworICAgIGds
X0ZyYWdDb2xvciA9IGM7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9
ImdsIiB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjIiB3
aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiI+PC9jYW52YXM+Cis8aW1nIGlkPSJpIiB3aWR0aD0iMjU2
IiBoZWlnaHQ9IjI1NiIgIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFB
QU5TVWhFVWdBQUFRQUFBQUVBQ0FZQUFBQmNjcWhtQUFBVFZFbEVRVlI0bk8zZCtWUFVkNTdIY2Yy
YjlrOVkrejQ0K3FLN09ab0dGVkE1VmZCR3phaDljeHBOekdFT29SdWE1bEJFdWUvREs0Zlo3TWFw
bVNtM01sc2h1OHhPZENwREp0M3YvYUVCQVVIQU9NRzR6MGZWNTNmcVUvVjZmZDdmVC9lMzJiRURB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdPdkJrYXI3bCszK0d3QnNrOHhVclQwclRiOHZ4MlE0NWph
bmx1N1lzV1Buc2dYZ1RlWXdhazg1VTNYdjVaaU0zK1hiVWgvbDJkSUNCYzYwODBXWjF1cjkyYmFT
SFJRQjhHYXlHZFVXdTFIem9TTkZPK1pNMWYyY2JUTE01MWxUNXdvYzVya0RPYmJaL1ZtMlNFbTIz
VnZzeWpoVjVuSlFCc0NieEdaUVZ0bU42cDRNby9ZUGRxTkdIS2xheVVyWEo5eldsRVNoMHhJdnpz
bVlMM0haNTRwek1tNlZ1UnlSTXBmVFcrcHlVQWJBbThCbVZOVm5HTlRUZHFQNnZ6T01HckduYU1T
WnFwTnNrMTd5YktsUzZEVEwvaXhib3RSbGo1ZmxPdWJMM0k2NU1wZmpWcm5iRWFsWUtJTlNsMzM1
dlFHQTN3S2JVVzJ4R2RXUkRLUDY2d3lqV2hZTHdKR2lGV2VhVHJKTkJuRmJVMlNQM1NUN3M2eFNt
bXVYY3JjelVlNTJ4c3R6SGZQbGJzZGN1ZHQ1cXl6WDNsS1dseGtzelhHZUs4bXhueXpKeVNqZVFS
a0FyemViUVZsbE02cDdiVWIxNDlVRjRFalZTbWFhVHJMUzllS3lwTWdlZTdvY3lMWkptZHNoRlht
WlVwSG5YRkVHQi9PekpzcmRqcUV5dC9ObVdhNDlYSmJ0OUphNk1rNFZ1N2hFQkY1TE5yMnEzbVpR
ejlnTTZ1OVhGRUJxc2dDY2FUckpYSmdFY2kwcHN0ZGhrdjNaTmluTlRaYkFvZndzT1pTZkpRZnpN
cVU4ejVrb2R6c1NaYm1PZUlYYitYVzUyekZhNW5MY0tuUFpJMlVMbDRqRmZLSUF2QjdNT3JYRlps
QkhiQWIxMXphaitrbUdVYk51QVdTbTY1ZEtZSGRHbWhSbFdxUTh6eUZIQ25MaytMNWNPVjZVSzBj
S1hWSzVKMXNPNW1kS2hkc3BaYXZLb0RUWDBWUGljaVRMSUh0RkdWQUl3Sy9OWWxCVzJmVHFYcHRC
L2RobVNKNytMeXFBckhTOTVKaVRKVkRnTkVsbFFaWjRLZ3VscnJwVTZxdExKWEJzdjV3dDN5TW45
cnZsYUlGTERpOHZnMXhING1CKzVwK1dsMEZwanIybEpNY1JMTTZ5bnl2T3pqaHhJSXQ3QStCWFk5
R3I2cTBMNC85U0FhUm94TDd3L0w5V0FXU2JESkpyVFpGaWQ0WjRqeFpKVS8xeHVmSGhPZW0rZWs2
aWwwL0xCNzRxYVR4VEpvR2orK1ZzMlI0NXZqOVhqaFRreU9IZEM0OEpDMlZ3YUhmbW55cmN6bit2
Y0RzbXluTHRReVU1R1RlTGN6TENwVGsyVDNHVzdWaHhWc2FlN2Q0ZjRJMWwxcWt0Vm9NNllqT292
cllhMUQ4c0ZvQjlXUUU0MTVrQTh1MXBjdlJBam53VU9pTERMUUc1MTkwbzkyNDJ5bFJIblF5Ry9Y
THo2bm1KWHFxV0QzeVYwbkM2VlB4SDk4blpzdDF5ZkYrdUhDMTBTZFhlYkRtVW55eURxb0xzN3c3
bFozNWI3bmI4c2N4dC83ZFNsMzJrSkNlanF5UW40MHBKVGtiWkRpWUM0Tld6YUpWVlZyMnExMlpR
UGJZYTFIOWZ1d0IwU3dXUWxhNlhMRk95QUFveVRmTFc0VDNTZnVXTTNMM1JJQS83TDh2RC9zdnla
ZThsK2V6VzIzS3Z1MUVtTzJwbG9Oa24zVmZQU2V2YjFmSyt0MUlhejVSSjdjbGk4UjBwa3RPbCtY
S3NLRmtHQnhmS29ISnYxbDhQNW1mK3VTTFA4ZnZ5WE1kTW1kc1JLWGM1cW90ZEdRWGJ2Vi9BRzhX
aVY5VmI5YW9acTE0MWF6T294V2JjWEFIa1dsT2tKQzlEYWs4WHk2MVBMOGlEbm90TEJiQlVCSDJY
NVl2YmwrUkJ6MFc1ZTZOQkp0cHJwTC9aSnpjL09pL1hQM2hMV2k2ZWt2YzhoNld1dWtTOFZjL0tZ
UEVDOFdoaHpwT3FndXp2S3ZkbWZYVjRkMmIzd2Z6TTl3L2xaVEVOQUsrQ1dhZXdXSFdxaUUydit0
cXFWLzJ3MlFMSU5oa2tQMk5oL0s4OUltTnRJZm1pOTlLejhQY2wxNWRMNjVKODBYdEpQci8xdHR5
LzJTaDN1eHZrenZWNkdZK0ZwTythVjY1LzhEdUpYRHdwVnp5SHBPN1VRaG1VNU12UklwZFU3YzJS
UTd1ejVNUis5eCtPRmJudUhpM01pVlFWdUtvUDc4NHUydTc5QTM3VExGcGxsVlduNnJYcVZZK3Rl
dFdQR3hiQXNndkF2VTZUdkhWb3Q4U3VuSlk3TitybHk3NjFnLzlsYjNKOXNXeDlmdnVTZkg3N2JY
blFjMUh1ZFRmSVRGZWRqTFdGcFBlYVI3bytlRXZDalNmbHlvVkRVbGRkS3NIakIrVEM0VUk1Vlp3
blZRVTVpYmNxOW54MXVqUy81OFFCOTlYcVluZjVEcVlCNE9WWWRNL0dmNnRlOVkvazgvL0dCZUN5
R0tYRW5TRTExUWVrNTVQemN2OW00OHJRcnhQOEwyNWZraTl1dnkyZnIxcWYzYnFZbkF4dU5NaDBa
NTJNUklOeSsxT1BYUC93ZDlKKzVZdzAxNStRZDg0ZmxKcVR4WExoY0lHY0xNNzcrVWhCenQ4dVZC
YTJucXZjZS9ac3haNnk3ZDVMNERkbGNmeTM2RlZmVy9TcUg2d0dsYXd1Z01XdkFUdlRsaFdBeVNC
NUdhbHlkSCtPZkZSelJFYWpRZm44MXR2cmgvNkZ3VjljRitXeld4Zmx3YTJMY3Ivbm90enJicFNa
Ni9VeTFWVW5reDIxTXR3U2tKNVBMa2pIZTJlbHFmNjRYRDUzVUVJbkRpUXVIQzZZcnk3T216MVc1
SHJZK0ZiRjRSMU1BOERtV0xUS0tzdXk4ZDlxVUwrd0FKWi9DM0NQTTEzT0h0d3RiZStlbHVucjlm
TEZ1c0YvUHZTZjMxbzcrQTk2bnEzN1BSZmxmaytqM0wrWi9Gang3bzBHbWU2cWs0bjJHaGxxOFV2
UHgrZWwvY29adVZaM1hDNmZxL2k1N2xUeDMycE9IbmdVT2xVYy9qUjRsRXRDWUNNV25hcmVvbGZO
V1BTcVdhdEI5ZE9hQmJER2w0QmNGcU1VdTIwU09uVkFibjU4VHU1Mk4yN3F0UDk4ZzlBL1dBejlR
dkFYMTczRkV1aHVrTHZkRGNuSm9MTld4bU0xTWhqeHk4MlB6a25uKzJjU3NYZFB6NGNiVDh4K0dL
aDgrRkh3U08wT1NnQlltMW1uc0poMXFvaEZyMXdZLzVYeFp3V3cvdGVBczlLVHZ3dHdaSCsyWEEx
VnlYQnJVQjcwWEZ6L3RGOW56TjlLOE85MU44aTloZkF2cmpzM0d1VE9qWHFaWG5oRUdHK3ZrZEZv
VUFiRC9wOTdQajcvdDU2cjU3L3B1K2I1cE9YZDZxUGJ2ZGZBYThlaTNWVmwwYWw2TFhybFk0dE8r
YU5GcjBwc3RnRDJPTkxsek1IZEVuMm5XcVk2NitTemx4enpIeXdiODU4TC9UckJ2M3ZqV2ZnWDE4
ejE1SnJ1cXBPcHpscVphQThseG1LaHY0OUdnMy9vRC9zKzN1NjlCbDQ3RnAyaTNxSlZ6VmgweWxt
clR2bVRWWis4QUZ6NUhzRHpCWkJqTmtweHJrMkNwdzVJOTBmbjVNNk5oaGVlOWxzT2Z2Zm1nMy9u
K3JQd3oxeXZrNW11T3BsZVdKTWR0ZkhKanBydkpqdHFLQUJndWVUNHI0aVlkY3F2emJwZFAxajB5
dmpxQXJDdjlTSlF1bDdjdGxTcDJwY3RId1lyWmFnbElQZHZOcTUvMnIvZ1ltOVR3Yit4OWVCUGQ5
WEpWSElTbUovcXJQMW11ck9HUndCZ09aTjJWNVZGcCt5MWFCZkdmNTB5c1ZRQWEzd0hZTEVBc3RM
MXN0dVJMcWNyOHFYMThpbVo3S2lWQnowWFh4ajZqWi92TnhuODZ4c0hQL2tJVUNkVG5YWHg2Yzdh
djB4MTFQUnM5MTREcngyVFRsRnYwaXBtekRybHJFV24vTW1pVjhsbUNpRGJiSkFEdVRZSm50d3ZO
NjcrVG1hdTF5ZER2bWJvdDM2eDl5ejQ5UzhaL05yRk5UL2RWZnY3cWM2Nms5dTkxOEJyeGF4ZVBm
NHI0aHNWZ0hQaDl3QnpyU2xTVlpRdEh3UXFaVERpbDd2ZGpWczc3YmNZL0ptdEIxK21PbXNUa3gy
MVQ2YTZha2UyZTYrQjE0NUp1NnZLcEZQMm1yVEt4MmJ0cy9GLzhWdUFMeXFBM2ZZME9WMmVMeTJY
VHNwRWU0M2NmOEd6L1RZRVh5WTdhbVd5b3lZKzFWSHovVlJuWGZOMjd6WHcybGthLzdYS1dZdFcr
Wk5GcDVUTkZFQzJ5U0Q3WFZZSm5OZ25YUisrSmROZGRacys3WCtkNE5mS1pFZU5USGJVekU5MjFE
eWE1UElQV0NsTnJiQ1l0Y254MzZUZDlZTlpwNGhiZEtxTkMyQmgvSzhzekpMMy9ZZGxJT3lUT3pj
YXR2d3gzc1kzK3I4bytETFpFVXBNdE5jOG1laGcvQWVlWTFMdnFqSnBsYjBtamVLeFdhdjQwYXhW
SmxZWHdGcHZBbWFtNlNUZm5pYlZaWGtTZWZ1a2pNVkNjcmQ3RXlQK2VxZjlsb0pmdTJId0p6cHFa
S0s5UnNiYlEvSEo5dEQzazUwMWpQL0FhaWFOb3Q2a1NZNy9acTNpSjdOT0tZc1hnQzhxZ0N5VFFm
YmxXTVYvZko5MGZuQldKanRyVjR6M1d6bnRuN3ZSdi81ODZMY2EvR2NyTkQvUkhubzAyYzc0RDZ5
UXBsWllURnBGeEtSVkxJMy9Ld3ZnK1JlQjdDbkozd0Z3V1ZMa2NHR1d2T2MvTFAzTlhwbTVYdi9M
VC90TkJuOXlFOEVmVDRZL01SNExQUmx2RHpIK0E2dVpOWXBLazNaWGIvckMrRy9TS2hLYkxZQzhq
RFE1VlpZbjRZc25aTFF0S0hkdWJDNzBteDN6ZjBud3g5dERNaDRMeVZnc0ZCK1BCYjhmYjJmOEI1
NlRybEhVcDJzVjB5YU5ZbW44MzB3QlpLWHJaVisyUlh6SDkwbkgrMmRsb3FNbVdRQ3Y0TFIvK2VD
SGxvSy9FSDRaandYbngyUEJSMlB0UWNaL1lEbVRScG1hcmxZMG1UUzd2a3JUS1A1cTBpcCtOdXVV
WXRtZ0FCeXBXbkZaakhLb0lGT3VlQTlKWDVOSHBydnFOaDM2elo3MnZ5VDRDK0ZQakxZRm40ekhn
b3ovd0dvbXphN2Q2WnBkTVpORzhZMUpvM2hpMWk0OC8yK2lBUEl5VXVWa3FWdWFHay9JU0RRb005
ZGYzV20vTXZnMVd3NytXQ3drWTIxQkdXMEx4a2ZiZ3QrUHhVS00vOEJxYVpwZHU5UFVpaWFUUnZH
VlNhdjR5OUluQUJzVVFHYTZYb3F5TGVJOVZpVHQ3NTJSOGZiUXFzQy80dE4raThFZmF3dkthRFFv
STlIQS9HaGI4SnV4S09NLzhCeVQ1bDlUMDlTS1FMcEdNV1RTS3Y3VHJGVThOZXVVaWVVRllGdjFZ
eUNPVksza21KUGovN3ZlZzlKN3pTTlRuYld2NkxSL0JjRmZXQ1BSUUh3a0d2akxTRFRBbTMvQWV0
TFZ5anlUUnZtT1NhdVlOT3NVMzVwMXluOXNWQUJ1VzZxY0xNMlZhdzNIWmJnMUlOTmRyK2EwWC9z
ei9LMEZmelFhbE5Gb0lIbjZSd08vSDJrTDh1WWY4Q0ltemE1Q2syN1hlMmF0Y3NxaVU4YlhMWUFV
aldTbTY2UXd5eXplWTRVU3UzSmF4bUtodFVQL2kwLzdtaFdoWHhIOHR2V0NINVNSYUVCR280SEVT
S3YveVdocmdNcy9ZRFBTZGNvaXMxYnh2a1duZkdyUksrTnJGWUE5UlN2WlpvTWMzT3VVZHp3SDVm
YTFDekxSVWZOUFBlM0gxemp0MXd2KzRocHVEY1JIb29IdlI2SUJMditBelRMcmxFVm1uZktoUmFk
OGFsM3o1OEMwNHJhbHlJbVNYTG5XY0V5R1d2MHkyVmtyVTEzUGgvNmxUdnNOZ2orNlFmQkhXZ015
M0JxUTRWYi8vSEJyNE5GSTFNL2xIN0FWRnIwcVlOR3JIbHIxcXFjMmd5cSsvRTFBWjVwT0NyTk00
amxhSUcxWFRzdG9XL0NmZDlxL1ZQQURNdHpxVHd5MytKOE1NLzRETDJYbmloSXdxdUkybzFyc0tS
ckpOaG1rWXE5RExsK29rRnVmbkpmeDlwcG5vVi92Yy91dG52YXhOY2I4VFFVL0lNT3RmaGxxOGNl
SFcvemZEMGNERjdaN0k0SGZxcDAydlNwZzA2c2UyZ3pxcHhsR1RkeWVvcEZjYTRvY0wzSEpwL1ZI
WlREaWs0bU96WTM0TDMzYWIrN0VYd3ord3ZMTkQ3Y0VibzIwQmpLM2V4T0IzN0tkTnFNNllET29I
MllZMVUrZGFicDRRYVpKTGh6Wks5RjNxMlVrR3BDSkRVLzcwS3M3N1RjTXZsK0dXbnlKd1lqdnlW
Qkw0SjN0M2p6Z1RiRFRabFFITW95YWg5bG0vZE9LUGM3NHBmUGwwdlB4T1JtTGhYNmQwMzVUd1Y5
WUVWOThzTVUvTlJEbThnOTRWWGJhVTdVQmw4WDQ4RVNKNitrbjlVZCtIZ2g3RXVQdG9WZHoycmR0
SnZRdkR2NWd4TGV3dkg4Y2lIZzdobG9DbHUzZU5PQk5zdE50U3czNGp4YzliSDJuZW5hb3hUYzMz
aDZhSDR1RjR1UHR3Y1I0OG4vdS9STk8rODBHM3lkREVkLy9ESVI5OXdiQ3ZzYnQzaXpnVGJUemFx
Z3kwUFB4dWZCSU5CQWJidzg5R28rRlpzZGpvYm54OXREY2FDdzRQOW9XakkvRmdvbXhXQ0F4K2dw
TysrRzF4dnhWd1IrTStHUXc3UDF4TU94N1BCajI5ZlpIdkZYYnZWSEFtMnJuNHByc3JLa2Q2d2lG
Ujl0RHNmSDJtdGhJTFBSb3JDMDRPOVlXbWh1TmhlWkcyd0x6STlGZ2ZMUXRrQmlOQmhMUGhmNFhu
UGFMYXlEaWs0R3dUd2JDM3Y4ZGFQWStISWo0UHVwdjlqTCtBNytDbmN2WGVIdE43V2dzR0I2TmhX
S2pzVkJzSkJwOE5Cb056bzVFQTNNTGEzNjROUkFmYWZVbmhwUHI1VTc3bGNHWGdiRDM3d05oejUv
N203MGpBMkhQbVczZUUrRC9yWldGMEJhc0hXNExoa2VpZ2RoSUxCUWJiZzA4R200TnpBNjMrT2VH
Vy94elE2MysrYUVXZjN5b3haZElybVdoYjNrKzlJTkxvVjhLdnZRM2UrTUR6ZDRmK3BzOS85RWY5
cllOUkh5T2JkNERBQXRXRk1Kb1c3QjJ1RFVZSG9vR1lrUFJRR3lveGY5b3FNVTNPeFR4elExRmZI
TkRMYjc1b1lndlBoanhKcFpXZU8zZ0o4UHZTZlEzZVg4YUNIdG4rNXU5TTMzTlhQNEJyN01WaFRE
Y0dxZ2RidldIQjF2OXNjRldmMnd3NG44MEdQSE5Eb2E5YzRNUjM5eGcyRHMzRVBiT0Q0Uzk4WUd3
SnpFUTlpVDZtNzNTMyt5VnZtYlBmSCt6Wjc2dnlmTzB2OW43cDc1bWIyOS9NNWQvd0cvSmM0VXcx
T0lQOTBmOHNjR0lQOVlmOGNjR3dyNUhBMkh2N0VDemQyNmcyVHZYbHd4OXZLL1o4MjEvcytlLytw
bzgzL1kzZVQ3cmEvWTBjZmtIL0xidFhMMkdXbnkxQTJGZnVDL3NqZldIdmJIK1pzK2p2ckQzWm0r
VFo2aTN5VFBXMSt5WjdHdnlYTzlyOXZpMzkwOEg4TSt3b2hCNm03eGx0Njk1VHc2RWZlY0d3MTVm
ZjVQbm5iNW1UNkQzMm9VRDIveDNBdmdWN2R5eFk4Zk9nU2F2dTcvSms5VjN6YXZlN2o4SUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBSUNWL2c5dFBKRVF1MVh2bVFBQUFBQkpSVTVFcmtKZ2dnPT0iPgorPGlt
ZyBpZD0iaTIiIHNyYz0iaHR0cDovL21hc2hhYmxlLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAw
OC8wOC90aHVuZGVyYmlyZC1sb2dvLTY0eDY0LnBuZyI+CisKKzwvYm9keT48L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNv
cy9hY29zXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTNjNTYzZGU2NTM2YWU4MjRhZDgx
ZGJjMzU3MDIwNDEyNTZmMDAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29z
XzAwMV90b18wMDYuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0t
IHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogYWNvc18wMDFfdG9fMDA2Lmh0
bWw8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3
aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJh
Y29zX2Zsb2F0X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6
IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJh
Y29zX2Zsb2F0X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYWNv
c19mbG9hdF9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFy
ZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAiYWNvc192ZWMyX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAK
KyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJhY29zX3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAg
ICAibmFtZSI6ICJhY29zX3ZlYzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFjb3NfdmVjM19mcmFnX3h2YXJ5X3JlZi5mcmFn
IgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYWNvc192ZWMzX2ZyYWdfeHZhcnkuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm5hbWUiOiAiYWNvc192ZWMzX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwg
CisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZl
cmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFjb3NfZmxvYXRfdmVy
dF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAg
ICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc19mbG9hdF92
ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhY29zX2Zsb2F0X3ZlcnRf
eHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogImFjb3NfdmVjMl92ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICJhY29zX3ZlYzJfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAi
YWNvc192ZWMyX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21w
YXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogImFjb3NfdmVjM192ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAg
ICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICJhY29zX3ZlYzNfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAiYWNvc192ZWMzX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAi
cGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNp
bi9hc2luXzAwMV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmNmNzU3ZTlmMGExODBjMTdjNmZmYTRlMTYyYTQ2NjQ0MzU3Nzg5OAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwKQEAg
LTAsMCArMSwxMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQuIERPIE5PVCBFRElULgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBL
aHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm
cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlz
IHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiog
Ik1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh
bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVy
c29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj
dCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
CisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlh
bHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiog
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO
RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9S
IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNM
IGNvbmZvcm1hbmNlIHRlc3Q6IGFzaW5fMDAxX3RvXzAwNi5odG1sPC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMv
b2dsZXMtdGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xl
cy11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1w
bGUiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDog
MTZweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdM
RVNUZXN0UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNl
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl9mbG9hdF9mcmFnX3h2YXJ5
X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl9mbG9hdF9mcmFnX3h2YXJ5
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFzaW5fZmxvYXRfZnJhZ194dmFyeS50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgewor
ICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFzaW5f
dmVjMl9mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxs
LCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9k
ZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl92
ZWMyX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl92ZWMy
X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAg
IH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICJhc2luX3ZlYzNfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImFzaW5fdmVjM19mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImFzaW5fdmVjM19mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAi
Y29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICJhc2luX2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogImFzaW5fZmxvYXRfdmVydF94dmFyeS52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm5hbWUiOiAiYXNpbl9mbG9hdF92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAor
ICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJl
bmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhc2luX3ZlYzJfdmVydF94
dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAi
dGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXNpbl92ZWMyX3ZlcnRf
eHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFzaW5fdmVjMl92ZXJ0X3h2YXJ5
LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7
CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJh
c2luX3ZlYzNfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJn
cmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
YXNpbl92ZWMzX3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFzaW5f
dmVjM192ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmZTNh
NGE4ZDU3MTcyZWUzNGU3MDU3MGRkODExZjY2MDAzZmM4MmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sCkBAIC0wLDAgKzEsMTU2IEBACis8IURP
Q1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJ
VC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBh
dGFuXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWln
aHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9i
b2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oewor
ICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImF0YW5fZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImF0YW5fZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibmFtZSI6ICJhdGFuX2Zsb2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAi
cGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzJfZnJhZ194dmFyeV9yZWYu
ZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5LmZyYWci
CisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5LnRlc3QuaHRt
bCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAi
cmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0
L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMzX2Zy
YWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAg
ICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzNfZnJh
Z194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX3ZlYzNfZnJhZ194
dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisg
ICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
ImF0YW5fZmxvYXRfZnJhZ194dmFyeXl2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5eXZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im5hbWUiOiAiYXRhbl9mbG9hdF9mcmFnX3h2YXJ5eXZhcnkudGVzdC5odG1sIiwgCisgICAgICAi
cGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzJfZnJhZ194dmFyeXl2YXJ5
X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMyX2ZyYWdfeHZhcnl5
dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX3ZlYzJfZnJhZ194dmFy
eXl2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAK
KyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIi
OiAiYXRhbl92ZWMzX2ZyYWdfeHZhcnl5dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImF0YW5fdmVjM19mcmFnX3h2YXJ5eXZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im5hbWUiOiAiYXRhbl92ZWMzX2ZyYWdfeHZhcnl5dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJw
YXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXRhbl9mbG9hdF92ZXJ0X3h2YXJ5X3Jl
Zi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
ZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhdGFuX2Zsb2F0X3ZlcnRfeHZhcnku
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZy
YWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fZmxvYXRfdmVydF94dmFyeS50ZXN0
Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAg
ICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXRhbl92
ZWMyX3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIs
IAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImF0YW5f
dmVjMl92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2Rl
ZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhdGFuX3ZlYzJf
dmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAg
fQorICBdCit9KTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAw
MV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3Rv
XzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1N2JmYTE1MTFhNmNmYzQ0ZTMwM2RkMzZjMzUzN2FlMzMw
YWJkMjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9m
bG93XzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDI1MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
IS0tIHRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogY29udHJvbF9mbG93XzAw
MV90b18wMDguaHRtbDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUw
MCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5Pgor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVz
dHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1z
IjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQiOiAxLCAKKyAg
ICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsK
KyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAg
MS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAgICAgfQorICAg
ICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQu
ZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImZvcl9icmVha19mcmFnLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9icmVha19mcmFnLnRlc3QuaHRtbCIsIAorICAgICAg
InBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVy
dCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAg
ICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAor
ICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAg
ICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAg
ICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIi
OiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBu
dWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJm
b3JfYnJlYWtfdmVydC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX2JyZWFrX3Zl
cnQudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAgICAg
ICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAgICAi
dHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAgICAg
ICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAg
ICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAg
ICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICJmb3JfY29udGludWVfZnJhZy5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibmFtZSI6ICJmb3JfY29udGludWVfZnJhZy50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAgICAgICAg
ICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAg
ICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4w
LCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAgICAgICBd
CisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4u
L2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwg
CisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiZm9yX2Nv
bnRpbnVlX3ZlcnQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9jb250aW51ZV92
ZXJ0LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAg
ICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAg
ICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAg
InR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAg
ICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAg
ICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAg
ICAiZnJhZ21lbnRTaGFkZXIiOiAiZm9yX25lc3RlZF9icmVha19mcmFnLmZyYWciCisgICAgICB9
LCAKKyAgICAgICJuYW1lIjogImZvcl9uZXN0ZWRfYnJlYWtfZnJhZy50ZXN0Lmh0bWwiLCAKKyAg
ICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5j
ZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7Cisg
ICAgICAgICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYi
LCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAg
ICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAg
ICAgICAgICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiZm9yX25lc3RlZF9icmVha192ZXJ0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJm
b3JfbmVzdGVkX2JyZWFrX3ZlcnQudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21w
YXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1
bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50Ijog
MSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFs
dWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAg
ICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAg
IH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4
cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRl
c3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJmb3JfbmVzdGVkX2NvbnRpbnVl
X2ZyYWcuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX25lc3RlZF9jb250aW51
ZV9mcmFnLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAK
KyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7Cisg
ICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAg
ICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAg
ICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAor
ICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0s
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgor
ICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsK
KyAgICAgICAgInZlcnRleFNoYWRlciI6ICJmb3JfbmVzdGVkX2NvbnRpbnVlX3ZlcnQudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogImZvcl9uZXN0ZWRfY29udGludWVfdmVydC50ZXN0Lmh0
bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAx
X3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0NDk5YzljOWY3NmRjNjBhMGZlODcwMjFjYWIwYzEx
OGE2MGY3MTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDgu
aHRtbApAQCAtMCwwICsxLDE1NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogbG9nXzAwMV90b18wMDguaHRtbDwvdGl0bGU+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVz
b3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlk
PSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4OyBo
ZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
K09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVzdHMiOiBbCisgICAgeworICAgICAgInJl
ZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ19mbG9hdF9mcmFn
X3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAg
ICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX2Zsb2F0X2ZyYWdf
eHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nX2Zsb2F0X2ZyYWdfeHZh
cnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAg
IHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJs
b2dfZmxvYXRfZnJhZ194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwi
OiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
bG9nX2Zsb2F0X2ZyYWdfeHZhcnkwMS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJs
b2dfZmxvYXRfZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29t
cGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzJfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImxvZ192ZWMyX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm5hbWUiOiAibG9nX3ZlYzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ192ZWMyX2ZyYWdfeHZhcnkwMV9yZWYuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ192ZWMyX2ZyYWdfeHZhcnkwMS5mcmFnIgor
ICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfdmVjMl9mcmFnX3h2YXJ5MDEudGVzdC5odG1s
IiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJy
ZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfdmVjM19mcmFn
X3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAg
ICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzNfZnJhZ194
dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5
LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7
CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9n
X3ZlYzNfZnJhZ194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBu
dWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9n
X3ZlYzNfZnJhZ194dmFyeTAxLmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ192
ZWMzX2ZyYWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUi
CisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogImxvZ19mbG9hdF92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAg
ICAibmFtZSI6ICJsb2dfZmxvYXRfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnkwMV9yZWYu
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZy
YWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnkwMS52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nX2Zsb2F0X3ZlcnRfeHZhcnkwMS50ZXN0
Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9s
b2cyXzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWFhMTc4ZjI4Y2FmMjg1OTVhNzFkZDZk
YzVhNzMyMDQwNjA4OTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAw
MV90b18wMDguaHRtbApAQCAtMCwwICsxLDE1NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogbG9nMl8wMDFfdG9fMDA4Lmh0bWw8
L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3aWR0
aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisidXNl
IHN0cmljdCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAgIHsK
KyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cy
X2Zsb2F0X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51
bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cy
X2Zsb2F0X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nMl9m
bG9hdF9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIK
KyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAibG9nMl9mbG9hdF9mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9LCAK
KyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFn
bWVudFNoYWRlciI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnkwMS5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0X2ZyYWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAKKyAgICAg
ICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5X3Jl
Zi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVy
dCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMyX2ZyYWdfeHZhcnkuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nMl92ZWMyX2ZyYWdfeHZhcnkudGVzdC5o
dG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAg
ICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzJf
ZnJhZ194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAK
KyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMy
X2ZyYWdfeHZhcnkwMS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX3ZlYzJf
ZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAg
ICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRl
eFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAibG9nMl92ZWMzX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICJsb2cyX3ZlYzNfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFt
ZSI6ICJsb2cyX3ZlYzNfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjog
ImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAg
ICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cyX3ZlYzNfZnJhZ194dmFyeTAxLmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfdmVjM19mcmFnX3h2YXJ5MDEudGVzdC5odG1sIiwg
CisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZl
cmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImxvZzJfZmxvYXRfdmVy
dF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAg
ICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nMl9mbG9hdF92
ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQv
ZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cyX2Zsb2F0X3ZlcnRf
eHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogImxvZzJfZmxvYXRfdmVydF94dmFyeTAxX3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1v
ZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnkwMS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5h
bWUiOiAibG9nMl9mbG9hdF92ZXJ0X3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVy
biI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3Rl
cC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Ro
c3RlcF8wMDFfdG9fMDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVlZTk3OTU0OGNhZjdjYjZlNTIzZjM4
MTJmNWIwOWU0ZDg0NjM2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAv
c21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwKQEAgLTAsMCArMSwxMzAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQuIERPIE5PVCBFRElULgorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIGNvbmZvcm1hbmNlIHRlc3Q6IHNtb290aHN0
ZXBfMDAxX3RvXzAwNi5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVzdHMuY3NzIiAvPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MDAiIGhlaWdo
dD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwvY2FudmFzPgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Jv
ZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVubmVyLnJ1bih7Cisg
ICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJh
Z21lbnRTaGFkZXIiOiAic21vb3Roc3RlcF9mbG9hdF9mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0
ZXJfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRl
c3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zsb2F0X2Zy
YWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6
ICJzbW9vdGhzdGVwX2Zsb2F0X2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci50ZXN0Lmh0bWwi
LCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJl
ZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0ZXBfdmVj
Ml9mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAg
ICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICJzbW9vdGhzdGVwX3ZlYzJfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLmZyYWci
CisgICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfdmVjMl9mcmFnX3h2YXJ5X2Vk
Z2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgor
ICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVy
dGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzNfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyX3Jl
Zi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVy
dCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAic21vb3Roc3RlcF92ZWMzX2ZyYWdfeHZh
cnlfZWRnZWNvbnN0cXVhcnRlci5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJzbW9v
dGhzdGVwX3ZlYzNfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAg
ICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNl
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX2Zsb2F0X3Zl
cnRfeHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2Rl
bCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFk
ZXIiOiAic21vb3Roc3RlcF9mbG9hdF92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogInNtb290aHN0ZXBfZmxvYXRfdmVydF94dmFyeV9lZGdl
Y29uc3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAg
ICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRl
eFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzJfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyX3Jl
Zi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQu
ZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzJfdmVydF94
dmFyeV9lZGdlY29uc3RxdWFydGVyLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJzbW9v
dGhzdGVwX3ZlYzJfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAg
ICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNl
UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzNfdmVy
dF94dmFyeV9lZGdlY29uc3RxdWFydGVyX3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRl
ciI6ICJzbW9vdGhzdGVwX3ZlYzNfdmVydF94dmFyeV9lZGdlY29uc3RxdWFydGVyLnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAg
ICAgfSwgCisgICAgICAibmFtZSI6ICJzbW9vdGhzdGVwX3ZlYzNfdmVydF94dmFyeV9lZGdlY29u
c3RxdWFydGVyLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9
CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmct
bmFtZXMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1u
YW1lcy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTAxYTg0ZjcwM2I3MWFkYmY1NDI3MzE4MmJhNjUy
MjBhMjI2YTYzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxv
Y2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTg3IEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBCaW5kQXR0cmliTG9j
YXRpb24gTG9uZyBOYW1lcyBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8Y2FudmFzIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCBibGFjazsiIGlkPSJjYW52
YXMiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8c2NyaXB0IGlkPSJ2c2hhZGVy
IiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CithdHRyaWJ1dGUgdmVjNCB2
UG9zaXRpb24kKHN1ZmZpeCk7CithdHRyaWJ1dGUgdmVjNCB2Q29sb3IkKHN1ZmZpeCk7Cit2YXJ5
aW5nIHZlYzQgY29sb3I7Cit2b2lkIG1haW4oKQoreworICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlv
biQoc3VmZml4KTsKKyAgY29sb3IgPSB2Q29sb3IkKHN1ZmZpeCk7Cit9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4K
K3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit2YXJ5aW5nIHZlYzQgY29sb3I7Cit2b2lkIG1h
aW4oKQoreworICBnbF9GcmFnQ29sb3IgPSBjb2xvcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4K
KyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHVzaW5nIGxvbmcg
bmFtZXMgd2l0aCBiaW5kQXR0cmliTG9jYXRpb24gd29yay4iKTsKKworZGVidWcoIiIpOworZGVi
dWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3Zh
ciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOworc2hvdWxkQmVOb25OdWxsKCJn
bCIpOworCitmdW5jdGlvbiBmYWlsKHgseSwgYnVmLCBzaG91bGRCZSkKK3sKKyAgdmFyIGkgPSAo
eSo1MCt4KSAqIDQ7CisgIHZhciByZWFzb24gPSAicGl4ZWwgYXQgKCIreCsiLCIreSsiKSBpcyAo
IitidWZbaV0rIiwiK2J1ZltpKzFdKyIsIitidWZbaSsyXSsiLCIrYnVmW2krM10rIiksIHNob3Vs
ZCBiZSAiK3Nob3VsZEJlOworICB0ZXN0RmFpbGVkKHJlYXNvbik7Cit9CisKK2Z1bmN0aW9uIHBh
c3MoKQoreworICB0ZXN0UGFzc2VkKCJkcmF3aW5nIGlzIGNvcnJlY3QiKTsKK30KKworZGVidWco
IiIpOworZGVidWcoIkNoZWNraW5nIGdsLmJpbmRBdHRyaWJMb2NhdGlvbiB3aXRoIGxvbmcgbmFt
ZXMuIik7CisKK3ZhciBwcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworCit2YXIgc3VmZml4
ID0gImxvbmciOworZm9yICh2YXIgaWkgPSAwOyBpaSA8IDU7ICsraWkpIHsKKyAgc3VmZml4ID0g
c3VmZml4ICsgc3VmZml4OworfQordmFyIHJlcGxhY2VtZW50cyA9IHsKKyAgc3VmZml4OiBzdWZm
aXgKK307CisKK3ZhciB2c3JjID0gd3R1LnJlcGxhY2VQYXJhbXMod3R1LmdldFNjcmlwdCgidnNo
YWRlciIpLCByZXBsYWNlbWVudHMpOwordmFyIGZzcmMgPSB3dHUucmVwbGFjZVBhcmFtcyh3dHUu
Z2V0U2NyaXB0KCJmc2hhZGVyIiksIHJlcGxhY2VtZW50cyk7CisKK3ZhciB2cyA9IHd0dS5sb2Fk
U2hhZGVyKGdsLCB2c3JjLCBnbC5WRVJURVhfU0hBREVSKTsKK3ZhciBmcyA9IHd0dS5sb2FkU2hh
ZGVyKGdsLCBmc3JjLCBnbC5GUkFHTUVOVF9TSEFERVIpOworCit2YXIgYXR0cmlicyA9IHsKKyAg
dlBvc2l0aW9uOiAidlBvc2l0aW9uIiArIHN1ZmZpeCwKKyAgdkNvbG9yOiAidkNvbG9yIiArIHN1
ZmZpeAorfTsKKworZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHZzKTsKK2dsLmF0dGFjaFNoYWRl
cihwcm9ncmFtLCBmcyk7CisKK3ZhciBwb3NpdGlvbnMgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2ds
LmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBwb3NpdGlvbnMpOworZ2wuYnVmZmVyRGF0YSgK
KyAgZ2wuQVJSQVlfQlVGRkVSLAorICBuZXcgRmxvYXQzMkFycmF5KAorICAgICAgWyAxLjAsICAx
LjAsIDAuMCwKKyAgICAgICAtMS4wLCAgMS4wLCAwLjAsCisgICAgICAgLTEuMCwgLTEuMCwgMC4w
LAorICAgICAgICAxLjAsICAxLjAsIDAuMCwKKyAgICAgICAtMS4wLCAtMS4wLCAwLjAsCisgICAg
ICAgIDEuMCwgLTEuMCwgMC4wXSksCisgIGdsLlNUQVRJQ19EUkFXKTsKKwordmFyIGNvbG9ycyA9
IGdsLmNyZWF0ZUJ1ZmZlcigpOworZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGNvbG9y
cyk7CitnbC5idWZmZXJEYXRhKAorICBnbC5BUlJBWV9CVUZGRVIsCisgIG5ldyBGbG9hdDMyQXJy
YXkoCisgICAgICBbIDAsMSwwLDEsCisgICAgICAgIDAsMSwwLDEsCisgICAgICAgIDAsMSwwLDEs
CisgICAgICAgIDAsMSwwLDEsCisgICAgICAgIDAsMSwwLDEsCisgICAgICAgIDAsMSwwLDFdKSwK
KyAgZ2wuU1RBVElDX0RSQVcpOworCitmdW5jdGlvbiBzZXRCaW5kTG9jYXRpb25zKGNvbG9yTG9j
YXRpb24sIHBvc2l0aW9uTG9jYXRpb24pIHsKKyAgZ2wuYmluZEF0dHJpYkxvY2F0aW9uKHByb2dy
YW0sIHBvc2l0aW9uTG9jYXRpb24sIGF0dHJpYnMudlBvc2l0aW9uKTsKKyAgZ2wuYmluZEF0dHJp
YkxvY2F0aW9uKHByb2dyYW0sIGNvbG9yTG9jYXRpb24sIGF0dHJpYnMudkNvbG9yKTsKKyAgZ2wu
bGlua1Byb2dyYW0ocHJvZ3JhbSk7CisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisgIHZhciBs
aW5rZWQgPSAoZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5MSU5LX1NUQVRVUykg
IT0gMCk7CisgIGFzc2VydE1zZyhsaW5rZWQsICJwcm9ncmFtIGxpbmtlZCBzdWNjZXNzZnVsbHki
KTsKKworICBkZWJ1ZygidlBvc2l0aW9uOiIgKyBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFt
LCBhdHRyaWJzLnZQb3NpdGlvbikpCisgIGRlYnVnKCJ2Q29sb3IgICA6IiArIGdsLmdldEF0dHJp
YkxvY2F0aW9uKHByb2dyYW0sIGF0dHJpYnMudkNvbG9yKSkKKyAgYXNzZXJ0TXNnKGdsLmdldEF0
dHJpYkxvY2F0aW9uKHByb2dyYW0sIGF0dHJpYnMudlBvc2l0aW9uKSA9PSBwb3NpdGlvbkxvY2F0
aW9uLAorICAgICAgICAgICAgImxvY2F0aW9uIG9mIHZQb3NpdGlvbiBzaG91bGQgYmUgIiArIHBv
c2l0aW9uTG9jYXRpb24pOworICBhc3NlcnRNc2coZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3Jh
bSwgYXR0cmlicy52Q29sb3IpID09IGNvbG9yTG9jYXRpb24sCisgICAgICAgICAgICAibG9jYXRp
b24gb2YgdkNvbG9yIHNob3VsZCBiZSAiICsgY29sb3JMb2NhdGlvbik7CisKKyAgdmFyIHBsb2Mg
PSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCBhdHRyaWJzLnZQb3NpdGlvbik7CisgIHZh
ciBjbG9jID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52Q29sb3IpOwor
ICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgcG9zaXRpb25zKTsKKyAgZ2wuZW5hYmxl
VmVydGV4QXR0cmliQXJyYXkocG9zaXRpb25Mb2NhdGlvbik7CisgIGdsLnZlcnRleEF0dHJpYlBv
aW50ZXIocG9zaXRpb25Mb2NhdGlvbiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGNvbG9ycyk7CisgIGdsLmVuYWJsZVZlcnRleEF0
dHJpYkFycmF5KGNvbG9yTG9jYXRpb24pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGNvbG9y
TG9jYXRpb24sIDQsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Cit9CisKK2Z1bmN0aW9uIGNoZWNr
RHJhdyhjb2xvckxvY2F0aW9uLCBwb3NpdGlvbkxvY2F0aW9uLCByLCBnLCBiLCBhKSB7CisgIHd0
dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgW3IsIGcsIGIsIGFdLCAic2hv
dWxkIGJlIGdyZWVuIik7CisKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHBvc2l0aW9u
TG9jYXRpb24pOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkoY29sb3JMb2NhdGlvbik7
Cit9CisKK3NldEJpbmRMb2NhdGlvbnMoMiwgMyk7CitjaGVja0RyYXcoMiwgMywgMCwgMjU1LCAw
LCAyNTUpOworCitzZXRCaW5kTG9jYXRpb25zKDAsIDMpOworZ2wuZGlzYWJsZVZlcnRleEF0dHJp
YkFycmF5KDApOworZ2wudmVydGV4QXR0cmliNGYoMCwgMSwgMCwgMCwgMSk7CitjaGVja0RyYXco
MCwgMywgMjU1LCAwLCAwLCAyNTUpOworCitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
KTsKKworZGVidWcoIiIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRl
c3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YzJhZWNi
NDRhZjM3NzViODVkNGVmMmFjZjlkYzdlNTczZTFiNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9n
cmFtcy9wcm9ncmFtLXRlc3QuaHRtbApAQCAtMCwwICsxLDQyMiBAQAorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIFByb2dyYW0gQ29tcGlsaW5nL0xp
bmtpbmcgQ29uZm9ybWFuY2UgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMu
anMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiIHR5cGU9InRleHQv
amF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgaWQ9InZzaGFk
ZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0
aW9uOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9Qb3NpdGlvbiA9IGFfcG9z
aXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyLXJlZCIgdHlwZT0i
eC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGds
X0ZyYWdDb2xvciA9IHZlYzQoMSwgMCwgMCwgMSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJmc2hhZGVyLWdyZWVuIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICB2b2lk
IG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgwLCAxLCAwLCAxKTsK
KyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXItc2V0dGFibGUiIHR5cGU9Ingt
c2hhZGVyL3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVu
aWZvcm0gdmVjNCB1X2NvbG9yOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9G
cmFnQ29sb3IgPSB1X2NvbG9yOworICAgIH0KKzwvc2NyaXB0PgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlkPSJjYW52YXMi
IHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Z1bmN0aW9uIGdvKCkgeworICAg
IGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHByb2dyYW0gY29tcGlsaW5nL2xpbmtpbmcvdXNpbmcg
d29ya3MgY29ycmVjdGx5LiIpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJDYW52YXMu
Z2V0Q29udGV4dCIpOworCisgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2FudmFz
Iik7CisgICAgaWYgKCFnbCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJjb250ZXh0IGRvZXMgbm90
IGV4aXN0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB0ZXN0UGFzc2VkKCJjb250
ZXh0IGV4aXN0cyIpOworCisgICAgZ2wuY2xlYXJDb2xvcigwLjAsIDAuMCwgMC4wLCAwLjApOwor
ICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsK
KworICAgIGZ1bmN0aW9uIGRvQXJyYXlzSGF2ZVNhbWVDb250ZW50cyhhLCBiKSB7CisgICAgICAg
IHZhciBmbGFncyA9IFtdOworICAgICAgICBmdW5jdGlvbiBoYXNVbnVzZWRWYWx1ZShhLCB2YWx1
ZSkgeworICAgICAgICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGEubGVuZ3RoOyArK2lpKSB7
CisgICAgICAgICAgICAgICAgaWYgKGFbaWldID09PSB2YWx1ZSAmJiAhZmxhZ3NbaWldKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGZsYWdzW2lpXSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGEu
bGVuZ3RoOyBpaSsrKSB7CisgICAgICAgICAgICAgICAgaWYgKCFoYXNVbnVzZWRWYWx1ZShiLCBh
W2lpXSkpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisK
Ky8vLy8vLy8gQ2hlY2sgY29tcGlsZVNoYWRlcigpIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vCisKKyAgICB2YXIgdnMgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVYX1NIQURFUik7Cisg
ICAgZ2wuc2hhZGVyU291cmNlKHZzLCAiYXR0cmlidXRlIHZlYzQgYVZlcnRleDsgYXR0cmlidXRl
IHZlYzQgYUNvbG9yOyB2YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IHZDb2xvciA9
IGFDb2xvcjsgZ2xfUG9zaXRpb24gPSBhVmVydGV4OyB9Iik7CisgICAgZ2wuY29tcGlsZVNoYWRl
cih2cyk7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzLCBnbC5DT01Q
SUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImdvb2QgdmVydGV4IHNoYWRlciBz
aG91bGQgY29tcGlsZSIpOworCisgICAgLy8gVmVyaWZ5IHRoYXQgY29uc3RhbnRzIHJlbW92ZWQg
ZnJvbSB0aGUgV2ViR0wgc3BlYyBnZW5lcmF0ZSBJTlZBTElEX0VOVU0gZXJyb3JzCisgICAgZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMgYXQgdGhp
cyBwb2ludCIpOworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMsIGRlc2t0
b3BHTFsnSU5GT19MT0dfTEVOR1RIJ10pID09PSBudWxsLCAiaW52YWxpZCBjYWxsIHRvIGdldFNo
YWRlclBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsKKyAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLklOVkFMSURfRU5VTSwgIklORk9fTE9HX0xFTkdUSCBpcyBub3QgYSB2YWxpZCBhcmd1
bWVudCB0byBnZXRTaGFkZXJQYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICBhc3NlcnRNc2coZ2wu
Z2V0U2hhZGVyUGFyYW1ldGVyKHZzLCBkZXNrdG9wR0xbJ1NIQURFUl9TT1VSQ0VfTEVOR1RIJ10p
ID09PSBudWxsLCAiaW52YWxpZCBjYWxsIHRvIGdldFNoYWRlclBhcmFtZXRlciBzaG91bGQgcmV0
dXJuIG51bGwiKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwgIlNI
QURFUl9TT1VSQ0VfTEVOR1RIIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IHRvIGdldFNoYWRlclBh
cmFtZXRlciBpbiBXZWJHTCIpOworCisgICAgdmFyIHZzMiA9IGdsLmNyZWF0ZVNoYWRlcihnbC5W
RVJURVhfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UodnMyLCAiYXR0cmlidXRlIHZlYzQg
YVZlcnRleDsgYXR0cmlidXRlIHZlYzQgYUNvbG9yOyB2YXJ5aW5nIHZlYzQgdkNvbG9yOyB2b2lk
IG1haW4oKSB7IHZDb2xvciA9IGFDb2xvcjsgZ2xfUG9zaXRpb24gPSBhVmVydGV4ICogMC41OyB9
Iik7CisgICAgZ2wuY29tcGlsZVNoYWRlcih2czIpOworCisgICAgYXNzZXJ0TXNnKGdsLmdldFNo
YWRlclBhcmFtZXRlcih2czIsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVlLAorICAgICAgICAg
ICAgICAiZ29vZCB2ZXJ0ZXggc2hhZGVyICMyIHNob3VsZCBjb21waWxlIik7CisKKyAgICB2YXIg
dnNCYWQgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVYX1NIQURFUik7CisgICAgZ2wuc2hhZGVy
U291cmNlKHZzQmFkLCAiV0lMTCBOT1QgQ09NUElMRTsiKTsKKyAgICBnbC5jb21waWxlU2hhZGVy
KHZzQmFkKTsKKworICAgIC8vIEdMU0wgMS4wLjE3IHNlY3Rpb24gMTAuMjcuIGNvbXBpbGUgc2hh
ZGVyIGRvZXMgbm90IGhhdmUgdG8gcmV0dXJuIGZhaWx1cmUuCisgICAgLy9hc3NlcnRNc2coZ2wu
Z2V0U2hhZGVyUGFyYW1ldGVyKHZzQmFkLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gZmFsc2UsCisg
ICAgLy8gICAgICAgICAgImJhZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBmYWlsIHRvIGNvbXBpbGUi
KTsKKworICAgIHZhciBmcyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOwor
ICAgIGdsLnNoYWRlclNvdXJjZShmcywgInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyB2YXJ5aW5n
IHZlYzQgdkNvbG9yOyB2b2lkIG1haW4oKSB7IGdsX0ZyYWdDb2xvciA9IHZDb2xvcjsgfSIpOwor
ICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMpOworCisgICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBh
cmFtZXRlcihmcywgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAgICJn
b29kIGZyYWdtZW50IHNoYWRlciBzaG91bGQgY29tcGlsZSIpOworCisgICAgdmFyIGZzMiA9IGds
LmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZShm
czIsICJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgdmFyeWluZyB2ZWM0IHZDb2xvcjsgdm9pZCBt
YWluKCkgeyBnbF9GcmFnQ29sb3IgPSB2Q29sb3IgKiAwLjU7IH0iKTsKKyAgICBnbC5jb21waWxl
U2hhZGVyKGZzMik7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzMiwg
Z2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAgICJnb29kIGZyYWdtZW50
IHNoYWRlciAjMiBzaG91bGQgY29tcGlsZSIpOworCisgICAgdmFyIGZzQmFkID0gZ2wuY3JlYXRl
U2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZzQmFkLCAi
V0lMTCBOT1QgQ09NUElMRTsiKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzQmFkKTsKKworICAg
IC8vIEdMU0wgMS4wLjE3IHNlY3Rpb24gMTAuMjcuIGNvbXBpbGUgc2hhZGVyIGRvZXMgbm90IGhh
dmUgdG8gcmV0dXJuIGZhaWx1cmUuCisgICAgLy9hc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1l
dGVyKGZzQmFkLCBnbC5DT01QSUxFX1NUQVRVUykgPT0gZmFsc2UsCisgICAgLy8gICAgICAgICAg
ImJhZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGZhaWwgdG8gY29tcGlsZSIpOworCisgICAgZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBlcnJvcnMgYXQgdGhp
cyBwb2ludCIpOworCisvLy8vLy8vIENoZWNrIGF0dGFjaFNoYWRlcigpIC8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vCisKKyAgICBmdW5jdGlvbiBjaGVja0F0dGFjaFNoYWRlcihhbHJlYWR5
X2F0dGFjaGVkX3NoYWRlcnMsIHNoYWRlciwgZXhwZWN0ZWRfZXJyb3JfY29kZSwgZXJybXNnKSB7
CisgICAgICAgIHZhciBwcm9nID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGFscmVhZHlfYXR0YWNoZWRfc2hhZGVycy5sZW5ndGg7ICsraSkKKyAgICAg
ICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nLCBhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnNbaV0p
OworICAgICAgICBpZihnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAg
YXNzZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBhdHRhY2hTaGFkZXIoKSIpOwor
ICAgICAgICBnbC5hdHRhY2hTaGFkZXIocHJvZywgc2hhZGVyKTsKKyAgICAgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBleHBlY3RlZF9lcnJvcl9jb2RlLCBlcnJtc2cpOworICAgIH0KKworICAgIGNo
ZWNrQXR0YWNoU2hhZGVyKFtdLCB2cywgZ2wuTk9fRVJST1IsICJhdHRhY2hpbmcgYSB2ZXJ0ZXgg
c2hhZGVyIHNob3VsZCBzdWNjZWVkIik7CisgICAgY2hlY2tBdHRhY2hTaGFkZXIoW3ZzXSwgdnMs
IGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICJhdHRhY2hpbmcg
YW4gYWxyZWFkeSBhdHRhY2hlZCB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElE
X09QRVJBVElPTiIpOworICAgIGNoZWNrQXR0YWNoU2hhZGVyKFtdLCBmcywgZ2wuTk9fRVJST1Is
ICJhdHRhY2hpbmcgYSBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICBjaGVj
a0F0dGFjaFNoYWRlcihbZnNdLCBmcywgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAg
ICAgICAgICAgICAgImF0dGFjaGluZyBhbiBhbHJlYWR5IGF0dGFjaGVkIGZyYWdtZW50IHNoYWRl
ciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKyAgICBjaGVja0F0dGFjaFNo
YWRlcihbdnNdLCB2czIsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAg
ICAgICJhdHRhY2hpbmcgc2hhZGVycyBvZiB0aGUgc2FtZSB0eXBlIHRvIGEgcHJvZ3JhbSBzaG91
bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKyAgICBjaGVja0F0dGFjaFNoYWRlcihb
ZnNdLCBmczIsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICJh
dHRhY2hpbmcgc2hhZGVycyBvZiB0aGUgc2FtZSB0eXBlIHRvIGEgcHJvZ3JhbSBzaG91bGQgZ2Vu
ZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKworLy8vLy8vLyBDaGVjayBkZXRhY2hTaGFkZXIo
KSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgZnVuY3Rpb24gY2hlY2tEZXRh
Y2hTaGFkZXIoYWxyZWFkeV9hdHRhY2hlZF9zaGFkZXJzLCBzaGFkZXIsIGV4cGVjdGVkX2Vycm9y
X2NvZGUsIGVycm1zZykgeworICAgICAgICB2YXIgcHJvZyA9IGdsLmNyZWF0ZVByb2dyYW0oKTsK
KyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbHJlYWR5X2F0dGFjaGVkX3NoYWRlcnMubGVu
Z3RoOyArK2kpCisgICAgICAgICAgICBnbC5hdHRhY2hTaGFkZXIocHJvZywgYWxyZWFkeV9hdHRh
Y2hlZF9zaGFkZXJzW2ldKTsKKyAgICAgICAgaWYoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJP
UikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gYXR0
YWNoU2hhZGVyKCkiKTsKKyAgICAgICAgZ2wuZGV0YWNoU2hhZGVyKHByb2csIHNoYWRlcik7Cisg
ICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZXhwZWN0ZWRfZXJyb3JfY29kZSwgZXJybXNnKTsK
KyAgICB9CisKKyAgICBjaGVja0RldGFjaFNoYWRlcihbdnNdLCB2cywgZ2wuTk9fRVJST1IsICJk
ZXRhY2hpbmcgYSB2ZXJ0ZXggc2hhZGVyIHNob3VsZCBzdWNjZWVkIik7CisgICAgY2hlY2tEZXRh
Y2hTaGFkZXIoW2ZzXSwgdnMsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAg
ICAgICAgICJkZXRhY2hpbmcgYSBub3QgYWxyZWFkeSBhdHRhY2hlZCB2ZXJ0ZXggc2hhZGVyIHNo
b3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOworICAgIGNoZWNrRGV0YWNoU2hhZGVy
KFtmc10sIGZzLCBnbC5OT19FUlJPUiwgImRldGFjaGluZyBhIGZyYWdtZW50IHNoYWRlciBzaG91
bGQgc3VjY2VlZCIpOworICAgIGNoZWNrRGV0YWNoU2hhZGVyKFt2c10sIGZzLCBnbC5JTlZBTElE
X09QRVJBVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAiZGV0YWNoaW5nIGEgbm90IGFscmVh
ZHkgYXR0YWNoZWQgZnJhZ21lbnQgc2hhZGVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJB
VElPTiIpOworCisvLy8vLy8vIENoZWNrIGdldEF0dGFjaGVkU2hhZGVycygpIC8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vCisKKyAgICBmdW5jdGlvbiBjaGVja0dldEF0dGFjaGVkU2hhZGVy
cyhzaGFkZXJzX3RvX2F0dGFjaCwgc2hhZGVyc190b19kZXRhY2gsIGV4cGVjdGVkX3NoYWRlcnMs
IGVycm1zZykgeworICAgICAgICB2YXIgcHJvZyA9IGdsLmNyZWF0ZVByb2dyYW0oKTsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaGFkZXJzX3RvX2F0dGFjaC5sZW5ndGg7ICsraSkKKyAg
ICAgICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nLCBzaGFkZXJzX3RvX2F0dGFjaFtpXSk7Cisg
ICAgICAgIGlmKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAgICAgICAgICBhc3Nl
cnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGluIGF0dGFjaFNoYWRlcigpIik7CisgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2hhZGVyc190b19kZXRhY2gubGVuZ3RoOyArK2kpCisg
ICAgICAgICAgICBnbC5kZXRhY2hTaGFkZXIocHJvZywgc2hhZGVyc190b19kZXRhY2hbaV0pOwor
ICAgICAgICBpZihnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNz
ZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBkZXRhY2hTaGFkZXIoKSIpOworICAg
ICAgICBhc3NlcnRNc2coZG9BcnJheXNIYXZlU2FtZUNvbnRlbnRzKGdsLmdldEF0dGFjaGVkU2hh
ZGVycyhwcm9nKSwgZXhwZWN0ZWRfc2hhZGVycyksIGVycm1zZyk7CisgICAgfQorICAgIGNoZWNr
R2V0QXR0YWNoZWRTaGFkZXJzKFtdLCBbXSwgW10sICJnZXRBdHRhY2hlZFNoYWRlcnMgc2hvdWxk
IHJldHVybiBhbiBlbXB0eSBsaXN0IGJ5IGRlZmF1bHQiKTsKKyAgICBjaGVja0dldEF0dGFjaGVk
U2hhZGVycyhbZnNdLCBbXSwgW2ZzXSwgImF0dGFjaGluZyBhIHNpbmdsZSBzaGFkZXIgc2hvdWxk
IGdpdmUgdGhlIGV4cGVjdGVkIGxpc3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhb
ZnMsIHZzXSwgW10sIFtmcywgdnNdLAorICAgICAgICAiYXR0YWNoaW5nIHNvbWUgc2hhZGVycyBz
aG91bGQgZ2l2ZSB0aGUgZXhwZWN0ZWQgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFk
ZXJzKFtmc10sIFtmc10sIFtdLCAiYXR0YWNoaW5nIGEgc2hhZGVyIGFuZCBkZXRhY2hpbmcgaXQg
c2hvdWQgbGVhdmUgYW4gZW1wdHkgbGlzdCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJz
KFtmcywgdnNdLCBbZnMsIHZzXSwgW10sCisgICAgICAgICJhdHRhY2hpbmcgc29tZSBzaGFkZXJz
IGFuZCBkZXRhY2hpbmcgdGhlbSBpbiBzYW1lIG9yZGVyIHNob3VkIGxlYXZlIGFuIGVtcHR5IGxp
c3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbZnMsIHZzXSwgW3ZzLCBmc10sIFtd
LAorICAgICAgICAiYXR0YWNoaW5nIHNvbWUgc2hhZGVycyBhbmQgZGV0YWNoaW5nIHRoZW0gaW4g
cmFuZG9tIG9yZGVyIHNob3VkIGxlYXZlIGFuIGVtcHR5IGxpc3QiKTsKKyAgICBjaGVja0dldEF0
dGFjaGVkU2hhZGVycyhbZnMsIHZzXSwgW3ZzXSwgW2ZzXSwKKyAgICAgICAgImF0dGFjaGluZyBh
bmQgZGV0YWNoaW5nIHNvbWUgc2hhZGVycyBzaG91bGQgbGVhdmUgdGhlIGRpZmZlcmVuY2UgbGlz
dCIpOworICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNdLCBbZnNdLCBbdnNdLAor
ICAgICAgICAiYXR0YWNoaW5nIGFuZCBkZXRhY2hpbmcgc29tZSBzaGFkZXJzIHNob3VsZCBsZWF2
ZSB0aGUgZGlmZmVyZW5jZSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2Zz
QmFkXSwgW10sIFtmc0JhZF0sCisgICAgICAgICJhdHRhY2hpbmcgYSBzaGFkZXIgdGhhdCBmYWls
ZWQgdG8gY29tcGlsZSBzaG91bGQgc3RpbGwgc2hvdyBpdCBpbiB0aGUgbGlzdCIpOworICAgIGNo
ZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmcywgdnNCYWRdLCBbXSwgW2ZzLCB2c0JhZF0sCisgICAg
ICAgICJhdHRhY2hpbmcgc2hhZGVycywgaW5jbHVkaW5nIG9uZSB0aGF0IGZhaWxlZCB0byBjb21w
aWxlLCBzaG91bGQgc3RpbGwgc2hvdyB0aGUgaXQgaW4gdGhlIGxpc3QiKTsKKworLy8vLy8vLyBD
aGVjayBsaW5rUHJvZ3JhbSgpIGFuZCB1c2VQcm9ncmFtIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vCisKKyAgICBmdW5jdGlvbiBjaGVja0xpbmtBbmRVc2Uoc2hhZGVycywgZGVsZXRlU2hh
ZGVyQWZ0ZXJBdHRhY2gsIGV4cGVjdGVkX3N0YXR1cywgdGVzdEludmFsaWRFbnVtcywgZXJybXNn
KSB7CisgICAgICAgIHZhciBwcm9nID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHNoYWRlcnMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGdsLmF0
dGFjaFNoYWRlcihwcm9nLCBzaGFkZXJzW2ldKTsKKyAgICAgICAgICAgIGlmIChkZWxldGVTaGFk
ZXJBZnRlckF0dGFjaCkKKyAgICAgICAgICAgICAgICBnbC5kZWxldGVTaGFkZXIoc2hhZGVyc1tp
XSk7CisgICAgICAgIH0KKyAgICAgICAgZ2wuYmluZEF0dHJpYkxvY2F0aW9uKHByb2csIDAsICJh
VmVydGV4Iik7CisgICAgICAgIGdsLmJpbmRBdHRyaWJMb2NhdGlvbihwcm9nLCAxLCAiYUNvbG9y
Iik7CisgICAgICAgIGdsLmxpbmtQcm9ncmFtKHByb2cpOworICAgICAgICBpZiAoZ2wuZ2V0RXJy
b3IoKSAhPSBnbC5OT19FUlJPUikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhw
ZWN0ZWQgZXJyb3IgaW4gbGlua1Byb2dyYW0oKSIpOworICAgICAgICBhc3NlcnRNc2coZ2wuZ2V0
UHJvZ3JhbVBhcmFtZXRlcihwcm9nLCBnbC5MSU5LX1NUQVRVUykgPT0gZXhwZWN0ZWRfc3RhdHVz
LCBlcnJtc2cpOworICAgICAgICB2YXIgaW5mb2xvZyA9IGdsLmdldFByb2dyYW1JbmZvTG9nKHBy
b2cpOworICAgICAgICBpZiAoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5OT19FUlJPUikKKyAgICAgICAg
ICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQgZXJyb3IgaW4gZ2V0UHJvZ3JhbUluZm9M
b2coKSIpOworICAgICAgICBpZiAodHlwZW9mKGluZm9sb2cpICE9ICJzdHJpbmciKQorICAgICAg
ICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAiZ2V0UHJvZ3JhbUluZm9Mb2coKSBkaWQgbm90IHJldHVy
biBhIHN0cmluZyIpOworICAgICAgICBpZiAoZXhwZWN0ZWRfc3RhdHVzID09IHRydWUgJiYgZ2wu
Z2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9nLCBnbC5MSU5LX1NUQVRVUykgPT0gZmFsc2UpCisgICAg
ICAgICAgICBkZWJ1ZyhpbmZvbG9nKTsKKyAgICAgICAgaWYgKGdsLmdldEVycm9yKCkgIT0gZ2wu
Tk9fRVJST1IpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9y
IGluIGdldFByb2dyYW1QYXJhbWV0ZXIoKSIpOworICAgICAgICAKKyAgICAgICAgaWYgKHRlc3RJ
bnZhbGlkRW51bXMpIHsKKyAgICAgICAgICAgIC8vIFZlcmlmeSB0aGF0IGNvbnN0YW50cyByZW1v
dmVkIGZyb20gdGhlIFdlYkdMIHNwZWMgZ2VuZXJhdGUgSU5WQUxJRF9FTlVNIGVycm9ycworICAg
ICAgICAgICAgYXNzZXJ0TXNnKGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZywgZGVza3RvcEdM
WydJTkZPX0xPR19MRU5HVEgnXSkgPT09IG51bGwsICJpbnZhbGlkIGNhbGwgdG8gZ2V0UHJvZ3Jh
bVBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsKKyAgICAgICAgICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiSU5GT19MT0dfTEVOR1RIIGlzIG5vdCBhIHZhbGlk
IGFyZ3VtZW50IHRvIGdldFByb2dyYW1QYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKyAgICAgICAgICAg
IGFzc2VydE1zZyhnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2csIGRlc2t0b3BHTFsnQUNUSVZF
X0FUVFJJQlVURV9NQVhfTEVOR1RIJ10pID09PSBudWxsLCAiaW52YWxpZCBjYWxsIHRvIGdldFBy
b2dyYW1QYXJhbWV0ZXIgc2hvdWxkIHJldHVybiBudWxsIik7CisgICAgICAgICAgICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwgIkFDVElWRV9BVFRSSUJVVEVfTUFYX0xFTkdU
SCBpcyBub3QgYSB2YWxpZCBhcmd1bWVudCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIGluIFdlYkdM
Iik7CisgICAgICAgICAgICBhc3NlcnRNc2coZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9nLCBk
ZXNrdG9wR0xbJ0FDVElWRV9VTklGT1JNX01BWF9MRU5HVEgnXSkgPT09IG51bGwsICJpbnZhbGlk
IGNhbGwgdG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBzaG91bGQgcmV0dXJuIG51bGwiKTsKKyAgICAg
ICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiQUNUSVZFX1VOSUZP
Uk1fTUFYX0xFTkdUSCBpcyBub3QgYSB2YWxpZCBhcmd1bWVudCB0byBnZXRQcm9ncmFtUGFyYW1l
dGVyIGluIFdlYkdMIik7CisgICAgICAgIH0KKworICAgICAgICBnbC51c2VQcm9ncmFtKHByb2cp
OworICAgICAgICBpZiAoZXhwZWN0ZWRfc3RhdHVzID09IHRydWUpCisgICAgICAgICAgICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidXNpbmcgYSB2YWxpZCBwcm9ncmFtIHNob3Vs
ZCBzdWNjZWVkIik7CisgICAgICAgIGlmIChleHBlY3RlZF9zdGF0dXMgPT0gZmFsc2UpCisgICAg
ICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAidXNpbmcg
YW4gaW52YWxpZCBwcm9ncmFtIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09QRVJBVElPTiIpOwor
ICAgICAgICByZXR1cm4gcHJvZzsKKyAgICB9CisKKyAgICB2YXIgcHJvZ0dvb2QxID0gY2hlY2tM
aW5rQW5kVXNlKFt2cywgZnNdLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgInZhbGlkIHByb2dyYW0gc2hv
dWxkIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0dvb2QyID0gY2hlY2tMaW5rQW5kVXNlKFt2cywgZnMy
XSwgZmFsc2UsIHRydWUsIGZhbHNlLCAidmFsaWQgcHJvZ3JhbSAjMiBzaG91bGQgbGluayIpOwor
ICAgIHZhciBwcm9nQmFkMSA9IGNoZWNrTGlua0FuZFVzZShbdnNdLCBmYWxzZSwgZmFsc2UsIGZh
bHNlLCAicHJvZ3JhbSB3aXRoIG5vIGZyYWdtZW50IHNoYWRlciBzaG91bGQgZmFpbCB0byBsaW5r
Iik7CisgICAgdmFyIHByb2dCYWQyID0gY2hlY2tMaW5rQW5kVXNlKFtmc10sIGZhbHNlLCBmYWxz
ZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggbm8gdmVydGV4IHNoYWRlciBzaG91bGQgZmFpbCB0byBs
aW5rIik7CisgICAgdmFyIHByb2dCYWQzID0gY2hlY2tMaW5rQW5kVXNlKFt2c0JhZCwgZnNdLCBm
YWxzZSwgZmFsc2UsIGZhbHNlLCAicHJvZ3JhbSB3aXRoIGJhZCB2ZXJ0ZXggc2hhZGVyIHNob3Vs
ZCBmYWlsIHRvIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0JhZDQgPSBjaGVja0xpbmtBbmRVc2UoW3Zz
LCBmc0JhZF0sIGZhbHNlLCBmYWxzZSwgZmFsc2UsICJwcm9ncmFtIHdpdGggYmFkIGZyYWdtZW50
IHNoYWRlciBzaG91bGQgZmFpbCB0byBsaW5rIik7CisgICAgdmFyIHByb2dCYWQ1ID0gY2hlY2tM
aW5rQW5kVXNlKFt2c0JhZCwgZnNCYWRdLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAicHJvZ3JhbSB3
aXRoIGJhZCBzaGFkZXJzIHNob3VsZCBmYWlsIHRvIGxpbmsiKTsKKworICAgIGdsLnVzZVByb2dy
YW0ocHJvZ0dvb2QxKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidXNp
bmcgYSB2YWxpZCBwcm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9yIik7CisKKyAg
ICB2YXIgdmJ1ZiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJS
QVlfQlVGRkVSLCB2YnVmKTsKKyAgICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwKKyAg
ICAgICAgICAgICAgICAgIG5ldyBGbG9hdDMyQXJyYXkoWworICAgICAgICAgICAgICAgICAgICAg
IDAuMCwgMC4wLCAwLjAsIDEuMCwKKyAgICAgICAgICAgICAgICAgICAgICAxLjAsIDAuMCwgMC4w
LCAxLjAsCisgICAgICAgICAgICAgICAgICAgICAgMS4wLCAxLjAsIDAuMCwgMS4wLAorICAgICAg
ICAgICAgICAgICAgICAgIDAuMCwgMS4wLCAwLjAsIDEuMF0pLAorICAgICAgICAgICAgICAgICAg
Z2wuU1RBVElDX0RSQVcpOworICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgNCwgZ2wuRkxP
QVQsIGZhbHNlLCAwLCAwKTsKKyAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAg
ICBnbC52ZXJ0ZXhBdHRyaWIzZigxLCAxLjAsIDAuMCwgMC4wKTsKKworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIGF0IHRoaXMgcG9pbnQg
IzIiKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJP
UiwgImRyYXdpbmcgd2l0aCBhIHZhbGlkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wg
ZXJyb3IiKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0JhZDEpOworICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJ1c2luZyBhbiBpbnZhbGlkIHByb2dyYW0g
c2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7CisgICAgZ2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIDMpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Is
ICJUcnkgdG8gdXNlIGFuIGludmFsaWQgcHJvZ3JhbSBzaG91bGQgbm90IGNoYW5nZSB0aGUgY3Vy
cmVudCByZW5kZXJpbmcgc3RhdGUiKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dvb2QyKTsK
KyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7CisgICAgZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgImRyYXdpbmcgd2l0aCBhIHZhbGlkIHByb2dyYW0gc2hvdWxk
bid0IGdlbmVyYXRlIGEgR0wgZXJyb3IiKTsKKyAgICBnbC5kZXRhY2hTaGFkZXIocHJvZ0dvb2Qy
LCBmczIpOworICAgIGdsLmF0dGFjaFNoYWRlcihwcm9nR29vZDIsIGZzQmFkKTsKKyAgICBnbC5s
aW5rUHJvZ3JhbShwcm9nR29vZDIpOworICAgIGFzc2VydE1zZyhnbC5nZXRQcm9ncmFtUGFyYW1l
dGVyKHByb2dHb29kMiwgZ2wuTElOS19TVEFUVVMpID09IGZhbHNlLAorICAgICAgICAgICAgICAi
bGlua2luZyBzaG91bGQgZmFpbCB3aXRoIGluLXVzZSBmb3JtZXJseSBnb29kIHByb2dyYW0sIHdp
dGggbmV3IGJhZCBzaGFkZXIgYXR0YWNoZWQiKTsKKworICAgIC8vIEludmFsaWQgbGluayBsZWF2
ZXMgcHJldmlvdXMgdmFsaWQgcHJvZ3JhbSBpbnRhY3QuCisgICAgZ2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDAsIDMpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJk
cmF3aW5nIHdpdGggYSB2YWxpZCBwcm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9y
Iik7CisKKyAgICBnbC51c2VQcm9ncmFtKHByb2dHb29kMSk7CisgICAgZ2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIDQpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Is
ICJkcmF3aW5nIHdpdGggYSB2YWxpZCB3aGVuIGxhc3QgdXNlZCBwcm9ncmFtIHNob3VsZG4ndCBn
ZW5lcmF0ZSBhIEdMIGVycm9yIik7CisKKyAgICB2YXIgcHJvZ0dvb2QxID0gY2hlY2tMaW5rQW5k
VXNlKFt2cywgZnNdLCB0cnVlLCB0cnVlLCBmYWxzZSwgImRlbGV0ZSBzaGFkZXJzIGFmdGVyIGF0
dGFjaGluZyB0aGVtIGFuZCBiZWZvcmUgbGlua2luZyBwcm9ncmFtIHNob3VsZCBub3QgYWZmZWN0
IGxpbmtQcm9ncmFtIik7CisgICAgZ2wudXNlUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsLmRy
YXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA0KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SLCAiZHJhd2luZyB3aXRoIGEgdmFsaWQgd2hlbiBsYXN0IHVzZWQgcHJvZ3JhbSBz
aG91bGRuJ3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworCisvLy8vLy8vIENoZWNrIGRlbGV0ZVBy
b2dyYW0oKSBhbmQgZGVsZXRlU2hhZGVyKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
KworICAgIGdsLnVzZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kZWxldGVQcm9ncmFtKHBy
b2dHb29kMSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDQpOworICAgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJkZWxldGUgdGhlIGN1cnJlbnQgcHJvZ3Jh
bSBzaG91bGRuJ3QgY2hhbmdlIHRoZSBjdXJyZW50IHJlbmRlcmluZyBzdGF0ZSIpOworCisgICAg
Z2wubGlua1Byb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5P
X0VSUk9SLCAiVGhlIGN1cnJlbnQgcHJvZ3JhbSBzaG91bGRuJ3QgYmUgZGVsZXRlZCIpOworCisg
ICAgdmFyIGZzMyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOworICAgIGds
LnNoYWRlclNvdXJjZShmczMsICJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgdmFyeWluZyB2ZWM0
IHZDb2xvcjsgdm9pZCBtYWluKCkgeyBnbF9GcmFnQ29sb3IgPSB2Q29sb3I7IH0iKTsKKyAgICBn
bC5jb21waWxlU2hhZGVyKGZzMyk7CisKKyAgICBhc3NlcnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1l
dGVyKGZzMywgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisgICAgICAgICAgICAgICJnb29k
IGZyYWdtZW50IHNoYWRlciBzaG91bGQgY29tcGlsZSIpOworCisgICAgZ2wuZGVsZXRlU2hhZGVy
KGZzMyk7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmczMpOworICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuSU5WQUxJRF9WQUxVRSwgImFuIHVuYXR0YWNoZWQgc2hhZGVyIHNob3VsZCBiZSBkZWxl
dGVkIGltbWVkaWF0ZWx5Iik7CisKKyAgICBmczMgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuRlJBR01F
TlRfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UoZnMzLCAicHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgZ2xfRnJhZ0NvbG9yID0g
dkNvbG9yOyB9Iik7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmczMpOworCisgICAgYXNzZXJ0TXNn
KGdsLmdldFNoYWRlclBhcmFtZXRlcihmczMsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVlLAor
ICAgICAgICAgICAgICAiZ29vZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGNvbXBpbGUiKTsKKwor
ICAgIGdsLmRldGFjaFNoYWRlcihwcm9nR29vZDEsIGZzKTsKKyAgICBnbC5hdHRhY2hTaGFkZXIo
cHJvZ0dvb2QxLCBmczMpOworCisgICAgZ2wuZGVsZXRlU2hhZGVyKGZzMyk7CisgICAgZ2wuY29t
cGlsZVNoYWRlcihmczMpOworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnMz
LCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImFuIGF0dGFjaGVk
IHNoYWRlciBzaG91bGRuJ3QgYmUgZGVsZXRlZCIpOworCisgICAgZ2wudXNlUHJvZ3JhbShudWxs
KTsKKyAgICBnbC5saW5rUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuSU5WQUxJRF9WQUxVRSwgImEgZGVsZXRlLW1hcmtlZCBwcm9ncmFtIHNob3VsZCBiZSBk
ZWxldGVkIG9uY2UgaXQncyBubyBsb25nZXIgdGhlIGN1cnJlbnQgcHJvZ3JhbSIpOworCisgICAg
Z2wuY29tcGlsZVNoYWRlcihmczMpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJ
RF9WQUxVRSwgImEgZGVsZXRlLW1hcmtlZCBzaGFkZXIgc2hvdWxkIGJlIGRlbGV0ZWQgb25jZSBh
bGwgaXRzIGF0dGFjaG1lbnRzIGFyZSByZW1vdmVkIik7CisKKy8vLy8vLy8vIENoZWNrIGxpbmtQ
cm9ncmFtKCkgd2l0aCByZWxpbmtlZCBwcm9ncmFtIC8vLy8vLy8vLy8KKyAgICB2YXIgdnMgPSB3
dHUubG9hZFNoYWRlckZyb21TY3JpcHQoZ2wsICJ2c2hhZGVyIik7CisgICAgdmFyIGZzID0gd3R1
LmxvYWRTaGFkZXJGcm9tU2NyaXB0KGdsLCAiZnNoYWRlci1yZWQiKTsKKyAgICB2YXIgcHJnID0g
d3R1LmNyZWF0ZVByb2dyYW0oZ2wsIHZzLCBmcyk7CisgICAgZ2wudXNlUHJvZ3JhbShwcmcpOwor
ICAgIHZhciBwb3NMb2MgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcmcsICJhX3Bvc2l0aW9uIik7
CisgICAgd3R1LnNldHVwVW5pdFF1YWQoZ2wsIHBvc0xvYyk7CisgICAgd3R1LmRyYXdRdWFkKGds
KTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0sICJzaG91bGQgYmUg
cmVkIik7CisgICAgZ2wuc2hhZGVyU291cmNlKGZzLCB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyLWdy
ZWVuIikpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMpOworICAgIGdsLmxpbmtQcm9ncmFtKHBy
Zyk7CisgICAgLy8gUHJvZ3JhbSBzaG91bGQgYmUgbmV3IHByb2dyYW0gYXQgdGhpcyBwb2ludCB3
aXRob3V0IGNhbGxpbmcgdXNlUHJvZ3JhbQorICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgd3R1
LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7Cisg
ICAgdmFyIHByZyA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyLXNl
dHRhYmxlIl0sIFsiYV9wb3NpdGlvbiJdKTsKKyAgICB2YXIgY29sb3JMb2MgPSBnbC5nZXRVbmlm
b3JtTG9jYXRpb24ocHJnLCAidV9jb2xvciIpOworICAgIGdsLnVuaWZvcm00Zihjb2xvckxvYywg
MSwgMCwgMCwgMSk7CisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMo
Z2wsIFsyNTUsIDAsIDAsIDI1NV0sICJzaG91bGQgYmUgcmVkIik7CisgICAgZ2wubGlua1Byb2dy
YW0ocHJnKTsKKyAgICAvLyBQcm9ncmFtJ3MgdW5pZm9ybXMgc2hvdWxkIGJlIGNsZWFyZWQgYXQg
dGhpcyBwb2ludCB3aXRob3V0IGNhbGxpbmcgdXNlUHJvZ3JhbQorICAgIHd0dS5kcmF3UXVhZChn
bCwgWzAsIDI1NSwgMCwgMjU1XSk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMCwgMCwg
MF0sICJzaG91bGQgYmUgdHJhbnBhcmVudCBibGFjayIpOworICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIik7Cit9CisKK2RlYnVnKCIiKTsK
K2dvKCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzZkODlkOTY4OWNh
NWQ4YmRjMjhjZWU0ZmM2ZDIwZDA2NjNmZmUxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcv
cmVhZC1waXhlbHMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMjQ2IEBACis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBSZWFkUGl4ZWxzIGNvbmZvcm1h
bmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4
YW1wbGUiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBzdHlsZT0id2lkdGg6IDIwcHg7IGhlaWdo
dDogMjBweCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigi
Q2hlY2tzIHRoYXQgUmVhZFBpeGVscyB3b3JrcyBhcyBleHBlY3RlZC4iKTsKKwordmFyIHd0dSA9
IFdlYkdMVGVzdFV0aWxzOwordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJl
eGFtcGxlIik7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisKK2luaXRU
ZXN0aW5nSGFybmVzc1dhaXRVbnRpbERvbmUoKTsKKwordmFyIGFjdHVhbDsKK3ZhciBleHBlY3Rl
ZDsKK3ZhciB3aWR0aCA9IDI7Cit2YXIgaGVpZ2h0ID0gMjsKK3ZhciBjb250aW51ZVRlc3RGdW5j
ID0gY29udGludWVUZXN0UGFydDE7CisKK2dsLmNsZWFyQ29sb3IoMSwgMSwgMSwgMSk7CitnbC5j
bGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworLy8gUmVzaXplIHRoZSBjYW52YXMgdG8gMngy
LiBUaGlzIGlzIGFuIGF0dGVtcHQgdG8gZ2V0IHN0dWZmIGluIHRoZSBiYWNrYnVmZmVyLgorLy8g
dGhhdCBzaG91bGRuJ3QgYmUgdGhlcmUuCitjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xj
b250ZXh0bG9zdCIsIGZ1bmN0aW9uKGUpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB9LCBmYWxzZSk7
CitjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLCBjb250aW51
ZVRlc3RBZnRlckNvbnRleHRSZXN0b3JlZCwgZmFsc2UpOworY2FudmFzLndpZHRoID0gd2lkdGg7
CitjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworaWYgKGdsLmdldEVycm9yKCkgIT0gZ2wuQ09OVEVY
VF9MT1NUX1dFQkdMKSB7CisgIGNvbnRpbnVlVGVzdFBhcnQxKCk7Cit9CisKK2Z1bmN0aW9uIGNv
bnRpbnVlVGVzdEFmdGVyQ29udGV4dFJlc3RvcmVkKCkgeworICB3aW5kb3cuZ2wgPSB3dHUuY3Jl
YXRlM0RDb250ZXh0KGNhbnZhcyk7CisgIHZhciBmdW5jID0gY29udGludWVUZXN0RnVuYzsKKyAg
d2luZG93LmNvbnRpbnVlVGVzdEZ1bmMgPSBmdW5jdGlvbigpIHsgdGVzdEZhaWxlZCgic2hvdWxk
IG5vdCBiZSBoZXJlIik7IH07CisgIGZ1bmMoKTsKK30KKworZnVuY3Rpb24gY29udGludWVUZXN0
UGFydDEoKSB7CisgIGdsLmNsZWFyQ29sb3IoMC41LCAwLjcsIDEuMCwgMSk7CisgIGdsLmNsZWFy
KGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisgIHZhciBpbm5lckNvbG9yID0gWzAuNSwgMC43LCAx
LjAsIDFdOworICB2YXIgb3V0ZXJDb2xvciA9IFswLCAwLCAwLCAwXTsKKworICB2YXIgdGVzdHMg
PSBbCisgICAgeyBtc2c6ICdpbiByYW5nZScsIGNoZWNrQ29sb3I6IGlubmVyQ29sb3IsIHg6ICAw
LCB5OiAgMCwKKyAgICAgIG9uZUNvbG9yOiBpbm5lckNvbG9yLCBvbmVYOiAwLCBvbmVZOiAwfSwK
KyAgICB7IG1zZzogJ29mZiB0b3AgbGVmdCcsIGNoZWNrQ29sb3I6IG91dGVyQ29sb3IsIHg6IC0x
LCB5OiAtMSwKKyAgICAgIG9uZUNvbG9yOiBpbm5lckNvbG9yLCBvbmVYOiAxLCBvbmVZOiAxfSwK
KyAgICB7IG1zZzogJ29mZiBib3R0b20gcmlnaHQnLCBjaGVja0NvbG9yOiBvdXRlckNvbG9yLCB4
OiAgMSwgeTogIDEsCisgICAgICBvbmVDb2xvcjogaW5uZXJDb2xvciwgb25lWDogMCwgb25lWTog
MH0sCisgICAgeyBtc2c6ICdjb21wbGV0ZWx5IG9mZiB0b3AgJywgY2hlY2tDb2xvcjogb3V0ZXJD
b2xvciwgeDogIDAsIHk6IC0yLAorICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3IsIG9uZVg6IDAs
IG9uZVk6IDB9LAorICAgIHsgbXNnOiAnY29tcGxldGVseSBvZmYgYm90dG9tJywgY2hlY2tDb2xv
cjogb3V0ZXJDb2xvciwgeDogIDAsIHk6ICAyLAorICAgICAgb25lQ29sb3I6IG91dGVyQ29sb3Is
IG9uZVg6IDAsIG9uZVk6IDB9LAorICAgIHsgbXNnOiAnY29tcGxldGVseSBvZmYgbGVmdCcsIGNo
ZWNrQ29sb3I6IG91dGVyQ29sb3IsIHg6IC0yLCB5OiAgMCwKKyAgICAgIG9uZUNvbG9yOiBvdXRl
ckNvbG9yLCBvbmVYOiAwLCBvbmVZOiAwfSwKKyAgICB7IG1zZzogJ2NvbXBsZXRlbGV5IG9mZiBy
aWdodCcsIGNoZWNrQ29sb3I6IG91dGVyQ29sb3IsIHg6ICAyLCB5OiAgMCwKKyAgICAgIG9uZUNv
bG9yOiBvdXRlckNvbG9yLCBvbmVYOiAwLCBvbmVZOiAwfQorICBdOworCisgIGZvciAodmFyIHR0
ID0gMDsgdHQgPCB0ZXN0cy5sZW5ndGg7ICsrdHQpIHsKKyAgICB2YXIgdGVzdCA9IHRlc3RzW3R0
XTsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoImNoZWNraW5nOiAiICsgdGVzdC5tc2cpOwor
ICAgIGNoZWNrQnVmZmVyKHRlc3QuY2hlY2tDb2xvciwgdGVzdC54LCB0ZXN0LnksCisgICAgICAg
ICAgICAgICAgdGVzdC5vbmVDb2xvciwgdGVzdC5vbmVYLCB0ZXN0Lm9uZVkpOworICB9CisKKyAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBHTCBl
cnJvcnMiKTsKKworICBmdW5jdGlvbiBjaGVja0J1ZmZlcihjaGVja0NvbG9yLCB4LCB5LCBvbmVD
b2xvciwgb25lWCwgb25lWSkgeworICAgIHZhciBidWYgPSBuZXcgVWludDhBcnJheSh3aWR0aCAq
IGhlaWdodCAqIDQpOworICAgIGdsLnJlYWRQaXhlbHMoeCwgeSwgd2lkdGgsIGhlaWdodCwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICBmb3IgKHZhciB5eSA9IDA7IHl5IDwg
aGVpZ2h0OyArK3l5KSB7CisgICAgICBmb3IgKHZhciB4eCA9IDA7IHh4IDwgd2lkdGg7ICsreHgp
IHsKKyAgICAgICAgdmFyIG9mZnNldCA9ICh5eSAqIHdpZHRoICsgeHgpICogNDsKKyAgICAgICAg
dmFyIGV4cGVjdGVkQ29sb3JzID0gKG9uZVggPT0geHggJiYgb25lWSA9PSB5eSkgPyBvbmVDb2xv
ciA6IGNoZWNrQ29sb3I7CisgICAgICAgIGZvciAodmFyIGNjID0gMDsgY2MgPCA0OyArK2NjKSB7
CisgICAgICAgICAgdmFyIGV4cGVjdGVkQ29sb3IgPSBleHBlY3RlZENvbG9yc1tjY10gKiAyNTU7
CisgICAgICAgICAgdmFyIGNvbG9yID0gYnVmW29mZnNldCArIGNjXTsKKyAgICAgICAgICB2YXIg
ZGlmZiA9IE1hdGguYWJzKGV4cGVjdGVkQ29sb3IgLSBjb2xvcik7CisgICAgICAgICAgYXNzZXJ0
TXNnKGRpZmYgPCAzLAorICAgICAgICAgICAgICAgICAgICAiY29sb3IgcGl4ZWwgYXQgIiArIHh4
ICsgIiwgIiArIHl5ICsgIiBzaG91bGQgYmUgYWJvdXQgIiArIGV4cGVjdGVkQ29sb3IpOworICAg
ICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgdmFyIGJhZEZvcm1hdHMgPSBbCisgICAg
eworICAgICAgZm9ybWF0OiBnbC5SR0IsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLAor
ICAgICAgZGVzdDogbmV3IFVpbnQ4QXJyYXkoMyksCisgICAgICBlcnJvcjogZ2wuSU5WQUxJRF9P
UEVSQVRJT04KKyAgICB9LAorICAgIHsKKyAgICAgIGZvcm1hdDogZ2wuUkdCLAorICAgICAgdHlw
ZTogZ2wuVU5TSUdORURfU0hPUlRfNV82XzUsCisgICAgICBkZXN0OiBuZXcgVWludDhBcnJheSgz
KSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX09QRVJBVElPTgorICAgIH0sCisgICAgeworICAg
ICAgZm9ybWF0OiBnbC5SR0JBLAorICAgICAgdHlwZTogZ2wuVU5TSUdORURfU0hPUlRfNV81XzVf
MSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50MTZBcnJheSgxKSwKKyAgICAgIGVycm9yOiBnbC5JTlZB
TElEX09QRVJBVElPTgorICAgIH0sCisgICAgeworICAgICAgZm9ybWF0OiBnbC5SR0JBLAorICAg
ICAgdHlwZTogZ2wuVU5TSUdORURfU0hPUlRfNF80XzRfNCwKKyAgICAgIGRlc3Q6IG5ldyBVaW50
MTZBcnJheSgxKSwKKyAgICAgIGVycm9yOiBnbC5JTlZBTElEX09QRVJBVElPTgorICAgIH0sCisg
ICAgeworICAgICAgZm9ybWF0OiBnbC5BTFBIQSwKKyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZ
VEUsCisgICAgICBkZXN0OiBuZXcgVWludDhBcnJheSgxKSwKKyAgICAgIGVycm9yOiBnbC5JTlZB
TElEX09QRVJBVElPTgorICAgIH0sCisgICAgeworICAgICAgZm9ybWF0OiBnbC5MVU1JTkFOQ0Us
CisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgZGVzdDogbmV3IFVpbnQ4QXJy
YXkoMSksCisgICAgICBlcnJvcjogZ2wuSU5WQUxJRF9FTlVNCisgICAgfSwKKyAgICB7CisgICAg
ICBmb3JtYXQ6IGdsLkxVTUlOQU5DRV9BTFBIQSwKKyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZ
VEUsCisgICAgICBkZXN0OiBuZXcgVWludDhBcnJheSgyKSwKKyAgICAgIGVycm9yOiBnbC5JTlZB
TElEX0VOVU0KKyAgICB9CisgIF07CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoImNoZWNrIGRpc2Fs
bG93ZWQgZm9ybWF0cyIpOworICBmb3IgKHZhciB0dCA9IDA7IHR0IDwgYmFkRm9ybWF0cy5sZW5n
dGg7ICsrIHR0KSB7CisgICAgdmFyIGluZm8gPSBiYWRGb3JtYXRzW3R0XQorICAgIHZhciBmb3Jt
YXQgPSBpbmZvLmZvcm1hdDsKKyAgICB2YXIgdHlwZSA9IGluZm8udHlwZTsKKyAgICB2YXIgZGVz
dCA9IGluZm8uZGVzdDsKKyAgICB2YXIgZXJyb3IgPSBpbmZvLmVycm9yOworICAgIGdsLnJlYWRQ
aXhlbHMoMCwgMCwgMSwgMSwgZm9ybWF0LCB0eXBlLCBkZXN0KTsKKyAgICAvLyBub3RlIHRoYXQg
dGhlIEdMIGVycm9yIGlzIElOVkFMSURfT1BFUkFUSU9OIGlmIGJvdGggZm9ybWF0IGFuZCB0eXBl
IGFyZSBpbnZhbGlkLCBidXQKKyAgICAvLyBJTlZBTElEX0VOVU0gaWYgb25seSBvbmUgaXMuCisg
ICAgZ2xFcnJvclNob3VsZEJlKAorICAgICAgICBnbCwgZXJyb3IsCisgICAgICAgICJTaG91bGQg
bm90IGJlIGFibGUgdG8gcmVhZCBhcyAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBmb3JtYXQp
ICsKKyAgICAgICAgIiAvICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHR5cGUpKTsKKyAgfQor
CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoImNoZWNrIHJlYWRpbmcgd2l0aCBsb3RzIG9mIGRyYXdp
bmciKTsKKyAgY29udGludWVUZXN0RnVuYyA9IGNvbnRpbnVlVGVzdFBhcnQyOworICB3aWR0aCA9
IDEwMjQ7CisgIGhlaWdodCA9IDEwMjQ7CisgIGNhbnZhcy53aWR0aCA9IHdpZHRoOworICBjYW52
YXMuaGVpZ2h0ID0gaGVpZ2h0OworICBpZiAoZ2wuZ2V0RXJyb3IoKSAhPSBnbC5DT05URVhUX0xP
U1RfV0VCR0wpIHsKKyAgICBjb250aW51ZVRlc3RQYXJ0MigpOworICB9Cit9CisKK2Z1bmN0aW9u
IGNvbnRpbnVlVGVzdFBhcnQyKCkgeworICBnbC52aWV3cG9ydCgwLCAwLCAxMDI0LCAxMDI0KTsK
KyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOworICB2YXIgbG9jID0g
Z2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKyAgZ2wuZGlzYWJsZShnbC5C
TEVORCk7CisgIGdsLmRpc2FibGUoZ2wuREVQVEhfVEVTVCk7CisgIHZhciBjb2xvcnMgPSBbWzI1
NSwgMCwgMCwgMjU1XSwgWzAsIDI1NSwgMCwgMjU1XSwgWzAsIDAsIDI1NSwgMjU1XV07CisgIHZh
ciB0ZXh0dXJlcyA9IFtdOworICB2YXIgcmVzdWx0cyA9IFtdOworICBmb3IgKHZhciBpaSA9IDA7
IGlpIDwgY29sb3JzLmxlbmd0aDsgKytpaSkgeworICAgIGdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVY
VFVSRTAgKyBpaSk7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICB3dHUu
ZmlsbFRleHR1cmUoZ2wsIHRleCwgMSwgMSwgY29sb3JzW2lpXSk7CisgICAgdGV4dHVyZXMucHVz
aCh0ZXgpOworICB9CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBjb2xvcnMubGVuZ3RoOyArK2lp
KSB7CisgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IDMwMCArIGlpICsgMTsgKytqaikgeworICAg
ICAgZ2wudW5pZm9ybTFpKGxvYywgamogJSAzKTsKKyAgICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJ
QU5HTEVTLCAwLCA2KTsKKyAgICB9CisgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KDQpOwor
ICAgIGdsLnJlYWRQaXhlbHMoNTEyLCA1MTIsIDEsIDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGJ1Zik7CisgICAgcmVzdWx0cy5wdXNoKGJ1Zik7CisgICAgZm9yICh2YXIga2sgPSAwOyBr
ayA8IDk5OyArK2trKSB7CisgICAgICBnbC51bmlmb3JtMWkobG9jLCAoamogKyBraykgJSAzKTsK
KyAgICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTsKKyAgICB9CisgIH0KKyAg
Zm9yICh2YXIgaWkgPSAwOyBpaSA8IGNvbG9ycy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgYnVm
ID0gcmVzdWx0c1tpaV07CisgICAgdmFyIGNvbG9yID0gY29sb3JzW2lpXTsKKyAgICBhY3R1YWwg
PSBbYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXTsKKyAgICBleHBlY3RlZCA9IFtjb2xv
clswXSwgY29sb3JbMV0sIGNvbG9yWzJdLCBjb2xvclszXV07CisgICAgc2hvdWxkQmUoImFjdHVh
bCIsICJleHBlY3RlZCIpOworICB9CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Is
ICJ0aGVyZSBzaG91bGQgYmUgbm8gR0wgZXJyb3JzIik7CisKKyAgZGVidWcoIiIpOworICBmaW5p
c2hUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVy
YnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2
NzdmNTEzYzgyMmZjZjk2ZjRiMjEwOWQ3MTRkOWRkNmY2NWYxMzkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwKQEAgLTAs
MCArMSw1NTkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25v
cyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv
ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0
d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRl
cmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu
Y2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt
b2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29y
IHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8K
KyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiog
aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgor
KioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U
IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG
T1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
QU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJP
TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0dSA9IFdl
YkdMVGVzdFV0aWxzOwordmFyIGdsOwordmFyIGZibzsKK3ZhciBkZXB0aEJ1ZmZlcjsKK3ZhciBz
dGVuY2lsQnVmZmVyOwordmFyIGRlcHRoU3RlbmNpbEJ1ZmZlcjsKK3ZhciBjb2xvckJ1ZmZlcjsK
K3ZhciB3aWR0aDsKK3ZhciBoZWlnaHQ7CisKK3ZhciBBTExPV19DT01QTEVURSAgICAgICAgICAg
ICAgPSAweDAxOwordmFyIEFMTE9XX1VOU1VQUE9SVEVEICAgICAgICAgICA9IDB4MDI7Cit2YXIg
QUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UID0gMHgwNDsKKworZnVuY3Rpb24gY2hlY2tGcmFt
ZWJ1ZmZlckZvckFsbG93ZWRTdGF0dXNlcyhhbGxvd2VkU3RhdHVzZXMpCit7CisgICAgLy8gSWYg
dGhlIGZyYW1lYnVmZmVyIGlzIGluIGFuIGVycm9yIHN0YXRlIGZvciBtdWx0aXBsZSByZWFzb25z
LAorICAgIC8vIHdlIGNhbid0IGd1YXJhbnRlZSB3aGljaCBvbmUgd2lsbCBiZSByZXBvcnRlZC4K
KyAgICB2YXIgc3RhdHVzID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZF
Uik7CisgICAgdmFyIHN0YXR1c0FsbG93ZWQgPSAoKGFsbG93ZWRTdGF0dXNlcyAmIEFMTE9XX0NP
TVBMRVRFKSAmJiAoc3RhdHVzID09IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKSkgfHwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICgoYWxsb3dlZFN0YXR1c2VzICYgQUxMT1dfVU5TVVBQT1JURUQp
ICYmIChzdGF0dXMgPT0gZ2wuRlJBTUVCVUZGRVJfVU5TVVBQT1JURUQpKSB8fAorICAgICAgICAg
ICAgICAgICAgICAgICAgKChhbGxvd2VkU3RhdHVzZXMgJiBBTExPV19JTkNPTVBMRVRFX0FUVEFD
SE1FTlQpICYmIChzdGF0dXMgPT0gZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5U
KSk7CisgICAgdmFyIG1zZyA9ICJnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVG
RkVSKSByZXR1cm5lZCAiICsgc3RhdHVzOworICAgIGlmIChzdGF0dXNBbGxvd2VkKQorICAgICAg
ICB0ZXN0UGFzc2VkKG1zZyk7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7Cit9
CisKK2Z1bmN0aW9uIGNoZWNrQnVmZmVyQml0cyhhdHRhY2htZW50MCwgYXR0YWNobWVudDEpCit7
CisgICAgaWYgKGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpICE9IGds
LkZSQU1FQlVGRkVSX0NPTVBMRVRFKQorICAgICAgcmV0dXJuOworCisgICAgdmFyIGhhdmVEZXB0
aEJ1ZmZlciA9IGF0dGFjaG1lbnQwID09IGdsLkRFUFRIX0FUVEFDSE1FTlQgfHwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDAgPT0gZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hN
RU5UIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQxID09IGdsLkRFUFRI
X0FUVEFDSE1FTlQgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDEgPT0g
Z2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UOworICAgIHZhciBoYXZlU3RlbmNpbEJ1ZmZlciA9
IGF0dGFjaG1lbnQwID09IGdsLlNURU5DSUxfQVRUQUNITUVOVCB8fAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGF0dGFjaG1lbnQwID09IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCB8
fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQxID09IGdsLlNURU5DSUxf
QVRUQUNITUVOVCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQxID09
IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVDsKKworICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0
UGFyYW1ldGVyKGdsLlJFRF9CSVRTKSArIGdsLmdldFBhcmFtZXRlcihnbC5HUkVFTl9CSVRTKSAr
IGdsLmdldFBhcmFtZXRlcihnbC5CTFVFX0JJVFMpICsgZ2wuZ2V0UGFyYW1ldGVyKGdsLkFMUEhB
X0JJVFMpID49IDE2Iik7CisKKyAgICBpZiAoaGF2ZURlcHRoQnVmZmVyKQorICAgICAgc2hvdWxk
QmVUcnVlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuREVQVEhfQklUUykgPj0gMTYiKTsKKyAgICBlbHNl
CisgICAgICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5ERVBUSF9CSVRTKSA9PSAw
Iik7CisKKyAgICBpZiAoaGF2ZVN0ZW5jaWxCdWZmZXIpCisgICAgICBzaG91bGRCZVRydWUoImds
LmdldFBhcmFtZXRlcihnbC5TVEVOQ0lMX0JJVFMpID49IDgiKTsKKyAgICBlbHNlCisgICAgICBz
aG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5TVEVOQ0lMX0JJVFMpID09IDAiKTsKK30K
KworZnVuY3Rpb24gdGVzdEF0dGFjaG1lbnQoYXR0YWNobWVudCwgYnVmZmVyLCBhbGxvd2VkU3Rh
dHVzZXMpCit7CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZl
cigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAg
IGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRB
Q0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZm
ZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGF0dGFjaG1lbnQsIGdsLlJFTkRFUkJVRkZF
UiwgYnVmZmVyKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICBj
aGVja0ZyYW1lYnVmZmVyRm9yQWxsb3dlZFN0YXR1c2VzKGFsbG93ZWRTdGF0dXNlcyk7CisgICAg
aWYgKChhbGxvd2VkU3RhdHVzZXMgJiBBTExPV19DT01QTEVURSkgPT0gMCkgeworICAgICAgICBn
bC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5JTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTik7CisgICAgICAgIGdsLnJlYWRQaXhl
bHMoMCwgMCwgd2lkdGgsIGhlaWdodCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbmV3IFVp
bnQ4QXJyYXkod2lkdGggKiBoZWlnaHQgKiA0KSk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04pOworICAgIH0KKyAgICBjaGVja0J1
ZmZlckJpdHMoYXR0YWNobWVudCk7CisgICAgZ2wuZGVsZXRlRnJhbWVidWZmZXIoZmJvKTsKK30K
KworZnVuY3Rpb24gdGVzdEF0dGFjaG1lbnRzKGF0dGFjaG1lbnQwLCBidWZmZXIwLCBhdHRhY2ht
ZW50MSwgYnVmZmVyMSwgYWxsb3dlZFN0YXR1c2VzKQoreworICAgIHNob3VsZEJlTm9uTnVsbCgi
ZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihn
bC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5G
UkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwgY29sb3JC
dWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBh
dHRhY2htZW50MCwgZ2wuUkVOREVSQlVGRkVSLCBidWZmZXIwKTsKKyAgICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5G
UkFNRUJVRkZFUiwgYXR0YWNobWVudDEsIGdsLlJFTkRFUkJVRkZFUiwgYnVmZmVyMSk7CisgICAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlckZv
ckFsbG93ZWRTdGF0dXNlcyhhbGxvd2VkU3RhdHVzZXMpOworICAgIGNoZWNrQnVmZmVyQml0cyhh
dHRhY2htZW50MCwgYXR0YWNobWVudDEpOworICAgIGdsLmRlbGV0ZUZyYW1lYnVmZmVyKGZibyk7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb2xvclJlbmRlcmJ1ZmZlcihpbnRlcm5hbGZvcm1hdCwgYWxs
b3dlZFN0YXR1c2VzKQoreworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5j
cmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVS
QlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5E
RVJCVUZGRVIsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICB0ZXN0QXR0YWNobWVudChnbC5DT0xPUl9BVFRB
Q0hNRU5UMCwgY29sb3JCdWZmZXIsIGFsbG93ZWRTdGF0dXNlcyk7Cit9CisKK2Z1bmN0aW9uIHRl
c3REZXB0aFN0ZW5jaWxSZW5kZXJidWZmZXIoYWxsb3dlZFN0YXR1c2VzKQoreworICAgIHNob3Vs
ZEJlTm9uTnVsbCgiZGVwdGhTdGVuY2lsQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCki
KTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhTdGVuY2ls
QnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wu
REVQVEhfU1RFTkNJTCwgd2lkdGgsIGhlaWdodCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUik7CisKKyAgICAvLyBPcGVuR0wgaXRzZWxmIGRvZXNuJ3Qgc2VlbSB0byBndWFy
YW50ZWUgdGhhdCBlLmcuIGEgMiB4IDAKKyAgICAvLyByZW5kZXJidWZmZXIgd2lsbCByZXBvcnQg
MiBmb3IgaXRzIHdpZHRoIHdoZW4gcXVlcmllZC4KKyAgICBpZiAoIShoZWlnaHQgPT0gMCAmJiB3
aWR0aCA+IDApKQorICAgICAgICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVy
KGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX1dJRFRIKSIsICJ3aWR0aCIpOworICAg
IGlmICghKHdpZHRoID09IDAgJiYgaGVpZ2h0ID4gMCkpCisgICAgICAgIHNob3VsZEJlKCJnbC5n
ZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJf
SEVJR0hUKSIsICJoZWlnaHQiKTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFy
YW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZPUk1BVCki
LCAiZ2wuREVQVEhfU1RFTkNJTCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQ
YXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfUkVEX1NJWkUpIiwgIjAi
KTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJV
RkZFUiwgZ2wuUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUpIiwgIjAiKTsKKyAgICBzaG91bGRCZSgi
Z2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVG
RkVSX0JMVUVfU0laRSkiLCAiMCIpOworICAgIHNob3VsZEJlKCJnbC5nZXRSZW5kZXJidWZmZXJQ
YXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfQUxQSEFfU0laRSkiLCAi
MCIpOworICAgIC8vIEF2b2lkIHZlcmlmeWluZyB0aGVzZSBmb3IgemVyby1zaXplZCByZW5kZXJi
dWZmZXJzIGZvciB0aGUgdGltZQorICAgIC8vIGJlaW5nIHNpbmNlIGl0IGFwcGVhcnMgdGhhdCBl
dmVuIE9wZW5HTCBkb2Vzbid0IGd1YXJhbnRlZSB0aGVtLgorICAgIGlmICh3aWR0aCA+IDAgJiYg
aGVpZ2h0ID4gMCkgeworICAgICAgICBzaG91bGRCZVRydWUoImdsLmdldFJlbmRlcmJ1ZmZlclBh
cmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9ERVBUSF9TSVpFKSA+IDAi
KTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wu
UkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfU1RFTkNJTF9TSVpFKSA+IDAiKTsKKyAgICB9
CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgdGVzdEF0dGFjaG1l
bnQoZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIGFsbG93
ZWRTdGF0dXNlcyk7CisgICAgdGVzdERlcHRoU3RlbmNpbERlcHRoU3RlbmNpbCgpOworfQorCitm
dW5jdGlvbiB0ZXN0RGVwdGhTdGVuY2lsRGVwdGhTdGVuY2lsKCkKK3sKKyAgICBpZiAoIXdpZHRo
IHx8ICFoZWlnaHQpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHZhciB0ZXN0cyA9
IFsKKyAgICAgICAgeyAgIGZpcnN0Rm9ybWF0OiBnbC5ERVBUSF9DT01QT05FTlQxNiwKKyAgICAg
ICAgICAgIGZpcnN0QXR0YWNoOiBnbC5ERVBUSF9BVFRBQ0hNRU5ULAorICAgICAgICAgICAgc2Vj
b25kRm9ybWF0OiBnbC5ERVBUSF9TVEVOQ0lMLAorICAgICAgICAgICAgc2Vjb25kQXR0YWNoOiBn
bC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQKKyAgICAgICAgfSwKKyAgICAgICAgeyAgIGZpcnN0
Rm9ybWF0OiBnbC5ERVBUSF9TVEVOQ0lMLAorICAgICAgICAgICAgZmlyc3RBdHRhY2g6IGdsLkRF
UFRIX1NURU5DSUxfQVRUQUNITUVOVCwKKyAgICAgICAgICAgIHNlY29uZEZvcm1hdDogZ2wuREVQ
VEhfQ09NUE9ORU5UMTYsCisgICAgICAgICAgICBzZWNvbmRBdHRhY2g6IGdsLkRFUFRIX0FUVEFD
SE1FTlQKKyAgICAgICAgfQorICAgIF07CisgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRlc3Rz
Lmxlbmd0aDsgKytpaSkgeworICAgICAgICB2YXIgdGVzdCA9IHRlc3RzW2lpXTsKKyAgICAgICAg
Zm9yICh2YXIgamogPSAwOyBqaiA8IDI7ICsramopIHsKKyAgICAgICAgICAgIHZhciBmYm8gPSBn
bC5jcmVhdGVGcmFtZWJ1ZmZlcigpOworICAgICAgICAgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRl
eHR1cmUoKTsKKyAgICAgICAgICAgIHZhciBmaXJzdFJiID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVy
KCk7CisKKyAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgIGRlYnVnKCJ0ZXN0OiAi
ICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0ZXN0LmZpcnN0Rm9ybWF0KSArICIgdnMgIiArIHd0
dS5nbEVudW1Ub1N0cmluZyhnbCwgdGVzdC5zZWNvbmRGb3JtYXQpICsgIiB3aXRoICIgKyAoamog
PyAidW5iaW5kIiA6ICJkZWxldGUiKSk7CisKKyAgICAgICAgICAgIGdsLmJpbmRGcmFtZWJ1ZmZl
cihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICAgICAgICAgIC8vIGF0dGFjaCB0ZXh0dXJlIGFz
IGNvbG9yCisgICAgICAgICAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOwor
ICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCB3aWR0
aCwgaGVpZ2h0LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICAgICAg
ICAgIGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRB
Q0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4LCAwKTsKKworICAgICAgICAgICAgLy8gYXR0YWNo
IGZpcnN0CisgICAgICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwg
Zmlyc3RSYik7CisgICAgICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJV
RkZFUiwgdGVzdC5maXJzdEZvcm1hdCwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgICAgICBnbC5m
cmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgdGVzdC5maXJzdEF0dGFjaCwg
Z2wuUkVOREVSQlVGRkVSLCBmaXJzdFJiKTsKKworICAgICAgICAgICAgc2hvdWxkQmUoJ2dsLmNo
ZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpJywgJ2dsLkZSQU1FQlVGRkVSX0NP
TVBMRVRFJyk7CisgICAgICAgICAgICBnbC5lbmFibGUoZ2wuREVQVEhfVEVTVCk7CisgICAgICAg
ICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cENvbG9yUXVhZChnbCk7CisgICAgICAgICAgICAv
LyBUZXN0IGl0IHdvcmtzCisgICAgICAgICAgICB3dHUuZHJhd1VCeXRlQ29sb3JRdWFkKGdsLCBb
MCwgMjU1LCAwLCAyNTVdKTsKKyAgICAgICAgICAgIHd0dS5kcmF3VUJ5dGVDb2xvclF1YWQoZ2ws
IFsyNTUsIDAsIDAsIDI1NV0pOyAgLy8gc2hvdWxkIG5vdCBkcmF3IHNpbmNlIERFUFRIX0ZVTkMg
PT0gTEVTUworICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgd2lkdGgs
IGhlaWdodCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworCisgICAgICAg
ICAgICB2YXIgc2Vjb25kUmIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKKworICAgICAgICAg
ICAgLy8gYXR0YWNoIHNlY29uZAorICAgICAgICAgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5S
RU5ERVJCVUZGRVIsIHNlY29uZFJiKTsKKyAgICAgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3Jh
Z2UoZ2wuUkVOREVSQlVGRkVSLCB0ZXN0LnNlY29uZEZvcm1hdCwgd2lkdGgsIGhlaWdodCk7Cisg
ICAgICAgICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgdGVz
dC5zZWNvbmRBdHRhY2gsIGdsLlJFTkRFUkJVRkZFUiwgc2Vjb25kUmIpOworCisgICAgICAgICAg
ICBpZiAoamogPT0gMCkgeworICAgICAgICAgICAgICAvLyBub3cgZGVsZXRlIGl0CisgICAgICAg
ICAgICAgIGRlYnVnKCJ0ZXN0IGRlbGV0aW5nIHNlY29uZCByZW5kZXJidWZmZXIiKTsKKyAgICAg
ICAgICAgICAgZ2wuZGVsZXRlUmVuZGVyYnVmZmVyKHNlY29uZFJiKTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgIC8vIHVuYmluZCBpdAorICAgICAgICAgICAgICBkZWJ1Zygi
dGVzdCB1bmJpbmRpbmcgc2Vjb25kIHJlbmRlcmJ1ZmZlciIpOworICAgICAgICAgICAgICBnbC5m
cmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgdGVzdC5zZWNvbmRBdHRhY2gs
IGdsLlJFTkRFUkJVRkZFUiwgbnVsbCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8v
IElmIHRoZSBmaXJzdCBhdHRhY2htZW50IGlzIG5vdCByZXN0b3JlZCB0aGlzIG1heSBmYWlsCisg
ICAgICAgICAgICBzaG91bGRCZSgnZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJV
RkZFUiknLCAnZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUnKTsKKyAgICAgICAgICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgICAgICAgICAgICAvLyBJZiB0aGUgZmlyc3Qg
YXR0YWNobWVudCBpcyBub3QgcmVzdG9yZWQgdGhpcyBtYXkgZmFpbC4KKyAgICAgICAgICAgIGds
LmNsZWFyKGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAgICAgICAgICAgd3R1LmRyYXdVQnl0ZUNv
bG9yUXVhZChnbCwgWzAsIDI1NSwgMCwgMjU1XSk7CisgICAgICAgICAgICB3dHUuZHJhd1VCeXRl
Q29sb3JRdWFkKGdsLCBbMjU1LCAwLCAwLCAyNTVdKTsgIC8vIHNob3VsZCBub3QgZHJhdyBzaW5j
ZSBERVBUSF9GVU5DID09IExFU1MKKyAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2ws
IDAsIDAsIHdpZHRoLCBoZWlnaHQsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4i
KTsKKyAgICAgICAgICAgIGdsLmRpc2FibGUoZ2wuREVQVEhfVEVTVCk7CisKKyAgICAgICAgICAg
IGlmIChqaiA9PSAxKSB7CisgICAgICAgICAgICAgIGdsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihzZWNv
bmRSYik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGdsLmRlbGV0ZVJlbmRlcmJ1ZmZl
cihzZWNvbmRSYik7CisgICAgICAgICAgICBnbC5kZWxldGVGcmFtZWJ1ZmZlcihmYm8pOworICAg
ICAgICB9CisgICAgfQorICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworfQor
CitkZXNjcmlwdGlvbigiVGVzdCBmcmFtZWJ1ZmZlciBvYmplY3QgYXR0YWNobWVudCBiZWhhdmlv
cnMiKTsKKworZm9yICh3aWR0aCA9IDA7IHdpZHRoIDw9IDI7IHdpZHRoICs9IDIpCit7CisgICAg
Zm9yIChoZWlnaHQgPSAwOyBoZWlnaHQgPD0gMjsgaGVpZ2h0ICs9IDIpCisgICAgeworICAgICAg
ICBkZWJ1ZygiIik7CisgICAgICAgIGRlYnVnKCJEaW1lbnNpb25zICIgKyB3aWR0aCArICIgeCAi
ICsgaGVpZ2h0KTsKKworICAgICAgICBkZWJ1ZygiQ3JlYXRlIHJlbmRlcmJ1ZmZlcnMiKTsKKyAg
ICAgICAgc2hvdWxkQmVOb25OdWxsKCJnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoKSIpOworICAg
ICAgICBzaG91bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVy
KCkiKTsKKyAgICAgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9y
QnVmZmVyKTsKKyAgICAgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIs
IGdsLlJHQkE0LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUik7CisgICAgICAgIHNob3VsZEJlTm9uTnVsbCgiZGVwdGhCdWZmZXIgPSBnbC5j
cmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJF
TkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdl
KGdsLlJFTkRFUkJVRkZFUiwgZ2wuREVQVEhfQ09NUE9ORU5UMTYsIHdpZHRoLCBoZWlnaHQpOwor
ICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICAgICAgc2hvdWxk
QmVOb25OdWxsKCJzdGVuY2lsQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAg
ICAgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHN0ZW5jaWxCdWZmZXIp
OworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuU1RF
TkNJTF9JTkRFWDgsIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aFN0ZW5jaWxCdWZm
ZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgICAgICBnbC5iaW5kUmVuZGVyYnVm
ZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhTdGVuY2lsQnVmZmVyKTsKKyAgICAgICAgZ2wucmVu
ZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLkRFUFRIX1NURU5DSUwsIHdpZHRo
LCBoZWlnaHQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKwor
ICAgICAgICB2YXIgYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlCisgICAgICAgICAgICA9ICh3aWR0
aCA9PSAwIHx8IGhlaWdodCA9PSAwKSA/IEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCA6IEFM
TE9XX0NPTVBMRVRFOworCisgICAgICAgIC8vIHNvbWUgY2FzZXMgaW52b2x2aW5nIHN0ZW5jaWwg
c2VlbSB0byBiZSBpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQKKyAgICAgICAgdmFyIGFsbG93ZWRT
dGF0dXNGb3JJbXBsRGVwZW5kZW50Q2FzZSA9IGFsbG93ZWRTdGF0dXNGb3JHb29kQ2FzZSB8IEFM
TE9XX1VOU1VQUE9SVEVEOworCisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGggdXNpbmcgREVQ
VEhfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBUSF9BVFRBQ0hN
RU5ULCBkZXB0aEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlKTsKKyAgICAgICAgZGVi
dWcoIkF0dGFjaCBkZXB0aCB1c2luZyBTVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVz
dEF0dGFjaG1lbnQoZ2wuU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgQUxMT1dfSU5D
T01QTEVURV9BVFRBQ0hNRU5UKTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aCB1c2luZyBE
RVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuREVQ
VEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVURV9BVFRB
Q0hNRU5UKTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2lsIHVzaW5nIFNURU5DSUxfQVRU
QUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5TVEVOQ0lMX0FUVEFDSE1FTlQs
IHN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JJbXBsRGVwZW5kZW50Q2FzZSk7CisgICAg
ICAgIGRlYnVnKCJBdHRhY2ggc3RlbmNpbCB1c2luZyBERVBUSF9BVFRBQ0hNRU5UIik7CisgICAg
ICAgIHRlc3RBdHRhY2htZW50KGdsLkRFUFRIX0FUVEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIEFM
TE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggc3RlbmNp
bCB1c2luZyBERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1l
bnQoZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBzdGVuY2lsQnVmZmVyLCBBTExPV19JTkNP
TVBMRVRFX0FUVEFDSE1FTlQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCB1
c2luZyBERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQo
Z2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRT
dGF0dXNGb3JHb29kQ2FzZSk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVuY2lsIHVz
aW5nIERFUFRIX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuREVQVEhf
QVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1F
TlQpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCB1c2luZyBTVEVOQ0lMX0FU
VEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1lbnQoZ2wuU1RFTkNJTF9BVFRBQ0hNRU5U
LCBkZXB0aFN0ZW5jaWxCdWZmZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisKKyAg
ICAgICAgdmFyIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0YWNobWVudAorICAgICAgICAg
ICAgPSAod2lkdGggPT0gMCB8fCBoZWlnaHQgPT0gMCkgPyBBTExPV19VTlNVUFBPUlRFRCB8IEFM
TE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOiBBTExPV19VTlNVUFBPUlRFRDsKKworICAgICAgICBkZWJ1ZygiQXR0YWNo
IGRlcHRoLCB0aGVuIHN0ZW5jaWwsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAgdGVzdEF0
dGFjaG1lbnRzKGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBnbC5TVEVOQ0lMX0FU
VEFDSE1FTlQsIHN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0YWNo
bWVudCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggc3RlbmNpbCwgdGhlbiBkZXB0aCwgY2F1c2lu
ZyBjb25mbGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuU1RFTkNJTF9BVFRBQ0hN
RU5ULCBzdGVuY2lsQnVmZmVyLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgYWxs
b3dlZFN0YXR1c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFj
aCBkZXB0aCwgdGhlbiBkZXB0aFN0ZW5jaWwsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAg
dGVzdEF0dGFjaG1lbnRzKGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVyLCBnbC5ERVBU
SF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0Zv
ckNvbmZsaWN0ZWRBdHRhY2htZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aFN0ZW5j
aWwsIHRoZW4gZGVwdGgsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAgdGVzdEF0dGFjaG1l
bnRzKGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBnbC5E
RVBUSF9BVFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgYWxsb3dlZFN0YXR1c0ZvckNvbmZsaWN0ZWRB
dHRhY2htZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBzdGVuY2lsLCB0aGVuIGRlcHRoU3Rl
bmNpbCwgY2F1c2luZyBjb25mbGljdCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudHMoZ2wuREVQ
VEhfQVRUQUNITUVOVCwgZGVwdGhCdWZmZXIsIGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwg
ZGVwdGhTdGVuY2lsQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQp
OworICAgICAgICBkZWJ1ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCwgdGhlbiBzdGVuY2lsLCBjYXVz
aW5nIGNvbmZsaWN0Iik7CisgICAgICAgIHRlc3RBdHRhY2htZW50cyhnbC5ERVBUSF9TVEVOQ0lM
X0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgZ2wuU1RFTkNJTF9BVFRBQ0hNRU5ULCBz
dGVuY2lsQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOworCisg
ICAgICAgIGRlYnVnKCJBdHRhY2ggY29sb3IgcmVuZGVyYnVmZmVyIHdpdGggaW50ZXJuYWxmb3Jt
YXQgPT0gUkdCQTQiKTsKKyAgICAgICAgdGVzdENvbG9yUmVuZGVyYnVmZmVyKGdsLlJHQkE0LCBh
bGxvd2VkU3RhdHVzRm9yR29vZENhc2UpOworCisgICAgICAgIGRlYnVnKCJBdHRhY2ggY29sb3Ig
cmVuZGVyYnVmZmVyIHdpdGggaW50ZXJuYWxmb3JtYXQgPT0gUkdCNV9BMSIpOworICAgICAgICB0
ZXN0Q29sb3JSZW5kZXJidWZmZXIoZ2wuUkdCNV9BMSwgYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNl
KTsKKworICAgICAgICBkZWJ1ZygiQXR0YWNoIGNvbG9yIHJlbmRlcmJ1ZmZlciB3aXRoIGludGVy
bmFsZm9ybWF0ID09IFJHQjU2NSIpOworICAgICAgICB0ZXN0Q29sb3JSZW5kZXJidWZmZXIoZ2wu
UkdCNTY1LCBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UpOworCisgICAgICAgIGRlYnVnKCJDcmVh
dGUgYW5kIGF0dGFjaCBkZXB0aFN0ZW5jaWwgcmVuZGVyYnVmZmVyIik7CisgICAgICAgIHRlc3RE
ZXB0aFN0ZW5jaWxSZW5kZXJidWZmZXIoYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlKTsKKyAgICB9
Cit9CisKKy8vIERldGVybWluZSBpZiB3ZSBjYW4gYXR0YWNoIGJvdGggY29sb3IgYW5kIGRlcHRo
IG9yIGNvbG9yIGFuZCBkZXB0aF9zdGVuY2lsCit2YXIgZGVwdGhGb3JtYXQ7Cit2YXIgZGVwdGhB
dHRhY2htZW50OworCitmdW5jdGlvbiBjaGVja1ZhbGlkQ29sb3JEZXB0aENvbWJpbmF0aW9uKCkg
eworICAgIHNob3VsZEJlTm9uTnVsbCgiZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOwor
ICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBzaG91bGRC
ZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBn
bC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGds
LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wuQ09M
T1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLnJl
bmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDE2KTsKKwor
ICAgIHNob3VsZEJlTm9uTnVsbCgiZGVwdGhCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIo
KSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZl
cik7CisKKyAgICByZXR1cm4gdHJ5RGVwdGgoZ2wuREVQVEhfQ09NUE9ORU5UMTYsIGdsLkRFUFRI
X0FUVEFDSE1FTlQpIHx8IHRyeURlcHRoKGdsLkRFUFRIX1NURU5DSUwsIGdsLkRFUFRIX1NURU5D
SUxfQVRUQUNITUVOVCk7CisKKyAgICBmdW5jdGlvbiB0cnlEZXB0aCh0cnlfZm9ybWF0LCB0cnlf
YXR0YWNobWVudCkgeworICAgICAgICBpZiAoZGVwdGhBdHRhY2htZW50KSB7CisgICAgICAgICAg
ICAvLyBJZiB3ZSd2ZSB0cmllZCBvbmNlIHVuYXR0YWNoIHRoZSBvbGQgb25lLgorICAgICAgICAg
ICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgICAgICAgICAgZ2wuRlJBTUVC
VUZGRVIsIGRlcHRoQXR0YWNobWVudCwgZ2wuUkVOREVSQlVGRkVSLCBudWxsKTsKKyAgICAgICAg
fQorICAgICAgICBkZXB0aEZvcm1hdCA9IHRyeV9mb3JtYXQ7CisgICAgICAgIGRlcHRoQXR0YWNo
bWVudCA9IHRyeV9hdHRhY2htZW50OworICAgICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZl
cigKKyAgICAgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBkZXB0aEF0dGFjaG1lbnQsIGdsLlJFTkRF
UkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGds
LlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDE2LCAxNik7CisgICAgICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgICAgICByZXR1cm4gZ2wuY2hlY2tGcmFtZWJ1ZmZl
clN0YXR1cyhnbC5GUkFNRUJVRkZFUikgPT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEU7CisgICAg
fQorfQorCitpZiAoY2hlY2tWYWxpZENvbG9yRGVwdGhDb21iaW5hdGlvbigpKSB7CisgICAgdGVz
dEZyYW1lYnVmZmVySW5jb21wbGV0ZURpbWVuc2lvbnMoKTsKKyAgICB0ZXN0RnJhbWVidWZmZXJJ
bmNvbXBsZXRlQXR0YWNobWVudCgpOworICAgIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxldGVNaXNz
aW5nQXR0YWNobWVudCgpOworICAgIHRlc3RVc2luZ0luY29tcGxldGVGcmFtZWJ1ZmZlcigpOwor
fQorCitmdW5jdGlvbiBjaGVja0ZyYW1lYnVmZmVyKGV4cGVjdGVkKSB7CisgICAgdmFyIGFjdHVh
bCA9IGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpOworICAgIHZhciBt
c2cgPSAiZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikgc2hvdWxkIGJl
ICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGV4cGVjdGVkKSArICIgd2FzICIgKyB3dHUuZ2xF
bnVtVG9TdHJpbmcoZ2wsIGFjdHVhbCk7CisgICAgaWYgKGV4cGVjdGVkICE9IGdsLkZSQU1FQlVG
RkVSX0NPTVBMRVRFKSB7CisgICAgICAgIG1zZyArPSAiIG9yIEZSQU1FQlVGRkVSX1VOU1VQUE9S
VEVEIjsKKyAgICB9CisgICAgaWYgKGFjdHVhbCA9PSBleHBlY3RlZCB8fAorICAgICAgICAoZXhw
ZWN0ZWQgIT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUgJiYKKyAgICAgICAgIGFjdHVhbCA9PSBn
bC5GUkFNQlVGRkVSX1VOU1VQUE9SVEVEKSkgeworICAgICAgICB0ZXN0UGFzc2VkKG1zZyk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdEZhaWxlZChtc2cpOworICAgIH0KK30KKworZnVuY3Rp
b24gdGVzdFVzaW5nSW5jb21wbGV0ZUZyYW1lYnVmZmVyKCkgeworICAgIGRlYnVnKCIiKTsKKyAg
ICBkZWJ1ZygiVGVzdCBkcmF3aW5nIG9yIHJlYWRpbmcgZnJvbSBhbiBpbmNvbXBsZXRlIGZyYW1l
YnVmZmVyIik7CisgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBUZXh0dXJlZFF1YWQoZ2wpOwor
ICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgd3R1LmZpbGxUZXh0dXJlKGds
LCB0ZXgsIDEsIDEsIFswLDI1NSwwLDI1NV0pOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8g
PSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZS
QU1FQlVGRkVSLCBmYm8pOworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5j
cmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVS
QlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisg
ICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVG
RkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJC
VUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworCisgICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aEJ1
ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZl
cihnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRl
cmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGRlcHRoQXR0YWNobWVudCwgZ2wuUkVO
REVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5S
RU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAxNiwgMTYpOworICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09N
UExFVEUpOworCisgICAgLy8gV2UgcGljayB0aGlzIGNvbWJpbmF0aW9uIGJlY2F1c2UgaXQgd29y
a3Mgb24gZGVza3RvcCBPcGVuR0wgYnV0IHNob3VsZCBub3Qgd29yayBvbiBPcGVuR0wgRVMgMi4w
CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0
LCAzMiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVU
RV9ESU1FTlNJT05TKTsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIkRyYXdpbmcgb3IgcmVh
ZGluZyBmcm9tIGFuIGluY29tcGxldGUgZnJhbWVidWZmZXIgc2hvdWxkIGdlbmVyYXRlIElOVkFM
SURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIik7CisgICAgdGVzdFJlbmRlcmluZ0FuZFJlYWRpbmco
KTsKKworICAgIHNob3VsZEJlTm9uTnVsbCgiZmJvMiA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCki
KTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibzIpOworICAgIGNo
ZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1F
TlQpOworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiRHJhd2luZyBvciByZWFkaW5nIGZyb20g
YW4gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9GUkFNRUJV
RkZFUl9PUEVSQVRJT04iKTsKKyAgICB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygpOworCisgICAg
c2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7
CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsK
KyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIs
IGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAg
ICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDAsIDAp
OworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiRHJhd2luZyBvciByZWFkaW5nIGZyb20gYW4g
aW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9GUkFNRUJVRkZF
Ul9PUEVSQVRJT04iKTsKKyAgICB0ZXN0UmVuZGVyaW5nQW5kUmVhZGluZygpOworCisgICAgZnVu
Y3Rpb24gdGVzdFJlbmRlcmluZ0FuZFJlYWRpbmcoKSB7CisgICAgICAgIGdsRXJyb3JTaG91bGRC
ZShnbCwgZ2wuTk9fRVJST1IpOworICAgICAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgICAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OLCAiZHJh
d0FycmF5cyB3aXRoIGluY29tcGxldGUgZnJhbWVidWZmZXIiKTsKKyAgICAgICAgZ2wucmVhZFBp
eGVscygwLCAwLCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJh
eSg0KSk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFNRUJVRkZF
Ul9PUEVSQVRJT04sICJyZWFkUGl4ZWxzIGZyb20gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIpOwor
ICAgICAgICAvLyBjb3B5VGV4SW1hZ2UgYW5kIGNvcHlUZXhTdWJJbWFnZSBjYW4gYmUgZWl0aGVy
IElOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIGJlY2F1c2UKKyAgICAgICAgLy8gdGhlIGZy
YW1lYnVmZmVyIGlzIGludmFsaWQgT1IgSU5WQUxJRF9PUEVSQVRJT04gYmVjYXVzZSBpbiB0aGUg
Y2FzZSBvZiBubyBhdHRhY2htZW50cworICAgICAgICAvLyB0aGUgZnJhbWVidWZmZXIgaXMgbm90
IG9mIGEgY29tcGF0aWJsZSB0eXBlLgorICAgICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCAwLCAwLCAwLCAwLCAxLCAxKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBbZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sIGdsLklOVkFMSURfT1BFUkFU
SU9OXSwgImNvcHlUZXhJbWFnZTJEIGZyb20gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAg
ICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLCAwLCAx
LCAxLCAwKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBbZ2wuSU5WQUxJRF9GUkFNRUJV
RkZFUl9PUEVSQVRJT04sIGdsLklOVkFMSURfT1BFUkFUSU9OXSwgImNvcHlUZXhTdWJJbWFnZTJE
IGZyb20gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAgICAgICBnbC5jbGVhcihnbC5DT0xP
Ul9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgICAgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sICJjbGVhciB3aXRoIGlu
Y29tcGxldGUgZnJhbWVidWZmZXIiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RGcmFtZWJ1
ZmZlckluY29tcGxldGVBdHRhY2htZW50KCkgeworICAgIHNob3VsZEJlTm9uTnVsbCgiZmJvID0g
Z2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFN
RUJVRkZFUiwgZmJvKTsKKyAgICBzaG91bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3Jl
YXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJV
RkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAg
ICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZF
UiwgY29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVG
RkVSLCBnbC5SR0JBNCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVG
RkVSX0NPTVBMRVRFKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiV3Jvbmcgc3RvcmFn
ZSB0eXBlIGZvciB0eXBlIG9mIGF0dGFjaG1lbnQgYmUgRlJBTUVCVUZGRVJfSU5DT01QTEVURV9B
VFRBQ0hNRU5UIChPcGVuR0wgRVMgMi4wIDQuNC41KSIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0
b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEZvcm1hdCwgMTYsIDE2KTsKKyAgICBjaGVja0Zy
YW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisKKyAgICBn
bC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7
CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisKKyAgICBk
ZWJ1ZygiIik7CisgICAgZGVidWcoIjAgc2l6ZSBhdHRhY2htZW50IHNob3VsZCBiZSBGUkFNRUJV
RkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQgKE9wZW5HTCBFUyAyLjAgNC40LjUpIik7CisgICAg
Z2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAwLCAwKTsK
KyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVO
VCk7CisKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK30KKworZnVuY3Rp
b24gdGVzdEZyYW1lYnVmZmVySW5jb21wbGV0ZU1pc3NpbmdBdHRhY2htZW50KCkgeworICAgIGRl
YnVnKCIiKTsKKyAgICBkZWJ1ZygiTm8gYXR0YWNobWVudHMgc2hvdWxkIGJlIElOQ09NUExFVEVf
RlJBTUVCVUZGRVJfTUlTU0lOR19BVFRBQ0hNRU5UIChPcGVuR0wgRVMgMi4wIDQuNC41KSIpOwor
ICAgIHNob3VsZEJlTm9uTnVsbCgiZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAg
IGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBjaGVja0ZyYW1l
YnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfTUlTU0lOR19BVFRBQ0hNRU5UKTsKKwor
ICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIo
KSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZl
cik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVG
RkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7
CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAx
NiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOwor
CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVS
LCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBudWxsKTsKKyAgICBjaGVj
a0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfTUlTU0lOR19BVFRBQ0hNRU5U
KTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworfQorCitmdW5jdGlv
biB0ZXN0RnJhbWVidWZmZXJJbmNvbXBsZXRlRGltZW5zaW9ucygpIHsKKyAgICBkZWJ1ZygiIik7
CisgICAgZGVidWcoIkF0dGFjaG1lbnRzIG9mIGRpZmZlcmVudCBzaXplcyBzaG91bGQgYmUgRlJB
TUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TIChPcGVuR0wgRVMgMi4wIDQuNC41KSIpOwor
CisgICAgc2hvdWxkQmVOb25OdWxsKCJmYm8gPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7Cisg
ICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworICAgIHNob3VsZEJl
Tm9uTnVsbCgiY29sb3JCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGds
LmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wu
ZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xP
Ul9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVu
ZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworCisg
ICAgc2hvdWxkQmVOb25OdWxsKCJkZXB0aEJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigp
Iik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVy
KTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZG
RVIsIGRlcHRoQXR0YWNobWVudCwgZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAg
Z2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAxNiwg
MTYpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgIGNoZWNrRnJh
bWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOworCisgICAgZ2wucmVuZGVyYnVmZmVy
U3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAzMiwgMTYpOworICAgIGNoZWNr
RnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TKTsKKyAgICBn
bC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhGb3JtYXQsIDE2LCAx
Nik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisgICAg
Z2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBn
bC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAzMik7
CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lP
TlMpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JB
NCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRF
KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICAgIHZhciB0ZXgg
PSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwg
dGV4KTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE2LCAx
NiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgZ2wuZnJhbWVidWZm
ZXJUZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhU
VVJFXzJELCB0ZXgsIDApOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwor
ICAgIGlmIChnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSAhPSBnbC5G
UkFNRUJVRkZFUl9DT01QTEVURSkgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZ2wu
dGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAzMiwgMTYsIDAsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wuRlJBTUVC
VUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIDE2LCAxNiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
bnVsbCk7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisK
KyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK30KKwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNz
b3ItdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlOGI1M2Q3ZWQyYjBjOGQwYTUwODFhNGI5NDU4MzAx
YTJjNjY5YjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0
bWwKQEAgLTAsMCArMSwxMTYgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIFNjaXNzb3IgVGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9kZWJ1Zy93ZWJnbC1k
ZWJ1Zy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhczEiIHdpZHRo
PSIxNiIgaGVpZ2h0PSIxNiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij4gPC9j
YW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXMyIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHN0eWxl
PSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+IDwvY2FudmFzPgorPHNjcmlwdD4KKyJ1c2Ug
c3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJDaGVjayBpZiBnbFNjaXNzb3Igc2V0dGluZyB3b3Jrcy4i
KTsKKworZGVidWcoIiIpOworZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7CisKK3ZhciB3dHUg
PSBXZWJHTFRlc3RVdGlsczsKKworZnVuY3Rpb24gdGVzdChjYW52YXMsIGF0dHJpYnMpIHsKKyAg
dmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMsIGF0dHJpYnMpOworCisgIGZ1bmN0
aW9uIHRlc3QoZnVuYykgeworICAgIGdsLmRpc2FibGUoZ2wuU0NJU1NPUl9URVNUKTsKKyAgICBn
bC5jbGVhckNvbG9yKDAsMCwwLDApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQp
OworICAgIGdsLmVuYWJsZShnbC5TQ0lTU09SX1RFU1QpOworCisgICAgdmFyIHNpemUgPSAxNjsK
KyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2l6ZTsgKytpaSkgeworICAgICAgLy8gY2xlYXIg
YSBwb3J0aW9uIG9mIG91ciBGQk8KKyAgICAgIGdsLnNjaXNzb3IoaWksIGlpLCAxLCAxKTsKKyAg
ICAgIGZ1bmMoKTsKKyAgICB9CisKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2l6ZTsgKytp
aSkgeworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgaWksIGlpLCAxLCBbMCwgMCwg
MCwgMF0sICJzaG91bGQgYmUgYmxhY2siKTsKKyAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2ws
IGlpLCBpaSwgMSwgMSwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworICAg
ICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgaWkgKyAxLCBpaSwgc2l6ZSAtIGlpIC0gMSwgMSwg
WzAsIDAsIDAsIDBdLCAic2hvdWxkIGJlIGJsYWNrIik7CisgICAgfQorICB9CisKKyAgaWYgKCFn
bCkgeworICAgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKKyAgfSBlbHNl
IHsKKyAgICB0ZXN0UGFzc2VkKCJjb250ZXh0IGV4aXN0cyIpOworCisgICAgZGVidWcoIiIpOwor
ICAgIGRlYnVnKCJ0ZXN0IHdpdGggY2xlYXIiKTsKKyAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAg
ICAgZ2wuY2xlYXJDb2xvcigwLCAxLCAwLCAxKTsKKyAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JV
RkZFUl9CSVQpOworICAgIH0pOworCisgICAgd3R1LnNldHVwQ29sb3JRdWFkKGdsKTsKKworICAg
IGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygidGVzdCB3aXRoIGRyYXciKTsKKyAgICB0ZXN0KGZ1bmN0
aW9uKCkgeworICAgICAgd3R1LmRyYXdGbG9hdENvbG9yUXVhZChnbCwgWzAsIDEsIDAsIDFdKTsK
KyAgICB9KTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBz
aG91bGQgYmUgbm8gZXJyb3JzIik7CisgIH0KK30KKworZGVidWcoIiIpOworZGVidWcoInRlc3Qg
YW50aWFsaWFzOiBmYWxzZSIpOwordGVzdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFz
MSIpLCB7YW50aWFsaWFzOiBmYWxzZX0pOworCitkZWJ1ZygiIik7CitkZWJ1ZygidGVzdCBhbnRp
YWxpYXM6IHRydWUiKTsKK3Rlc3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczIiKSwg
e2FudGlhbGlhczogdHJ1ZX0pOworCitkZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
bmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhh
bi02NTUzNi1pbmRpY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFmNTk5YjgyNjFlNmNjNDdhNjk2MDhi
ZmM5MzVmNjJlNmQ4NDU3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4t
NjU1MzYtaW5kaWNlcy5odG1sCkBAIC0wLDAgKzEsMTQ1IEBACis8IS0tCisKKy8qCisqKiBDb3B5
cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24g
aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu
ZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFs
cyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBh
bmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlz
aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisq
KgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y
dGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURF
RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJ
TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisq
KiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO
T05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZ
UklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFU
RVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBNb3JlIHRoYW4gNjU1MzYgaW5kaWNl
cy48L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRp
bHMuanMiPiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIg
d2lkdGg9IjEiIGhlaWdodD0iMSIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48
L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBpZD0idnMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2Ny
aXB0Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWM0IHZDb2xvcjsK
K3ZhcnlpbmcgdmVjNCBjb2xvcjsKK3ZvaWQgbWFpbigpIHsKKyAgICBnbF9Qb3NpdGlvbiA9IHZQ
b3NpdGlvbjsKKyAgICBjb2xvciA9IHZDb2xvcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0i
ZnMiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3ByZWNpc2lvbiBtZWRp
dW1wIGZsb2F0OwordmFyeWluZyB2ZWM0IGNvbG9yOwordm9pZCBtYWluKCkgeworICAgIGdsX0Zy
YWdDb2xvciA9IGNvbG9yOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
ZGVzY3JpcHRpb24oImNoZWNrcyB0aGF0IHJlbmRlcmluZyB3aXRoIG1vcmUgdGhhbiA2NTUzNiBp
bmRpY2VzIHdvcmtzLiIpOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1
LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9n
cmFtKGdsLCBbInZzIiwgImZzIl0sIFsidlBvc2l0aW9uIiwgInZDb2xvciJdKTsKK3ZhciBidWZm
ZXJPYmplY3RzID0gd3R1LnNldHVwVW5pdFF1YWQoZ2wsIDAsIDEpOworCitnbC5iaW5kQnVmZmVy
KGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyT2JqZWN0c1swXSk7CitnbC5idWZmZXJEYXRhKGdsLkFS
UkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbCisgICAgICAtMSwgIDEsCisgICAgICAgMSwg
IDEsCisgICAgICAtMSwgLTEsCisgICAgICAgMSwgLTEsCisgICAgICAtMSwgIDEsCisgICAgICAg
MSwgIDEsCisgICAgICAtMSwgLTEsCisgICAgICAgMSwgLTFdKSwgZ2wuU1RBVElDX0RSQVcpOwor
Z2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9iamVjdHNbMV0pOworZ2wuYnVmZmVy
RGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBVaW50OEFycmF5KFsKKyAgICAgIDI1NSwgMCwgMCwg
MjU1LAorICAgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAyNTUsIDAsIDAsIDI1NSwKKyAgICAg
IDI1NSwgMCwgMCwgMjU1LAorICAgICAgMCwgMjU1LCAwLCAyNTUsCisgICAgICAwLCAyNTUsIDAs
IDI1NSwKKyAgICAgIDAsIDI1NSwgMCwgMjU1LAorICAgICAgMCwgMjU1LCAwLCAyNTVdKSwgZ2wu
U1RBVElDX0RSQVcpOworZ2wudmVydGV4QXR0cmliUG9pbnRlcigxLCA0LCBnbC5VTlNJR05FRF9C
WVRFLCB0cnVlLCAwLCAwKTsKK3d0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAi
YWZ0ZXIgcHJvZ3JhbSBzZXR1cCIpOworCit3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUiwgImFmdGVyIGNyZWF0aW5nIHRleHR1cmUiKTsKK3ZhciBudW1RdWFkcyA9IE1hdGguZmxv
b3IoNjU1MzYgLyA2KSArIDQ7Cit2YXIgbnVtUG9pbnRzID0gbnVtUXVhZHMgKiA2OworZGVidWco
Im51bVF1YWRzOiAiICsgbnVtUXVhZHMpOworZGVidWcoIm51bVBvaW50czogIiArIG51bVBvaW50
cyk7Cit2YXIgaW5kZXhCdWYgPSBuZXcgQXJyYXlCdWZmZXIobnVtUG9pbnRzKTsKK3ZhciBpbmRp
Y2VzID0gbmV3IFVpbnQ4QXJyYXkoaW5kZXhCdWYpOwordmFyIGluZGV4QnVmZmVyID0gZ2wuY3Jl
YXRlQnVmZmVyKCk7CitnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRl
eEJ1ZmZlcik7Cit3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImFmdGVyIHNl
dHRpbmcgdXAgaW5kaWNlcyIpOworCit2YXIgbW9kZXMgPSBbCisgIHttb2RlOiAnUE9JTlRTJywg
ICAgICAgICBvZmZzZXRzOiBbMCwgMSwgMiwgMywgMiwgMV0sIHNraXA6IDB9LAorICB7bW9kZTog
J0xJTkVTJywgICAgICAgICAgb2Zmc2V0czogWzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAwfSwK
KyAge21vZGU6ICdMSU5FX0xPT1AnLCAgICAgIG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwg
c2tpcDogMX0sCisgIHttb2RlOiAnTElORV9TVFJJUCcsICAgICBvZmZzZXRzOiBbMCwgMSwgMiwg
MywgMiwgMV0sIHNraXA6IDB9LAorICB7bW9kZTogJ1RSSUFOR0xFUycsICAgICAgb2Zmc2V0czog
WzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAwfSwKKyAge21vZGU6ICdUUklBTkdMRV9TVFJJUCcs
IG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwgc2tpcDogMH0sCisgIHttb2RlOiAnVFJJQU5H
TEVfRkFOJywgICBvZmZzZXRzOiBbMCwgMSwgMywgMiwgMiwgMV0sIHNraXA6IDF9CitdOworCitm
b3IgKHZhciBtbSA9IDA7IG1tIDwgbW9kZXMubGVuZ3RoOyArK21tKSB7CisgIHZhciBtb2RlSW5m
byA9IG1vZGVzW21tXTsKKyAgdmFyIG1vZGUgPSBtb2RlSW5mby5tb2RlOworICB2YXIgb2Zmc2V0
cyA9IG1vZGVJbmZvLm9mZnNldHM7CisgIHZhciBza2lwID0gbW9kZUluZm8uc2tpcDsKKworICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgbnVtUXVhZHM7ICsraWkpIHsKKyAgICB2YXIgb2Zmc2V0ID0g
aWkgKiA2OworICAgIHZhciBxdWFkID0gKGlpID09IDAgfHwgaWkgPT0gKG51bVF1YWRzIC0gMSkp
ID8gNCA6IDA7CisgICAgZm9yICh2YXIgamogPSAwOyBqaiA8IDY7ICsramopIHsKKyAgICAgIGlu
ZGljZXNbb2Zmc2V0ICsgampdID0gcXVhZCArIG9mZnNldHNbampdOworICAgIH0KKyAgfQorICBn
bC5idWZmZXJEYXRhKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBpbmRpY2VzLCBnbC5TVEFUSUNf
RFJBVyk7CisKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZzogIiArIG1vZGUpOworICAv
LyBEcmF3IHdpdGhvdXQgbGFzdCA2IHBvaW50cy4KKyAgZ2wuZHJhd0VsZW1lbnRzKGdsW21vZGVd
LCBudW1Qb2ludHMgLSAoc2tpcCArIDEpICogNiwgZ2wuVU5TSUdORURfQllURSwgc2tpcCAqIDYp
OworICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDAsIDAsIDI1NV0sICJTaG91bGQgYmUgcmVk
LiIpOworICAvLyBEcmF3IHdpdGggbGFzdCA2IHBvaW50cy4KKyAgZ2wuZHJhd0VsZW1lbnRzKGds
W21vZGVdLCBudW1Qb2ludHMsIGdsLlVOU0lHTkVEX0JZVEUsIDApOworICB3dHUuY2hlY2tDYW52
YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJTaG91bGQgYmUgZ3JlZW4uIik7Cit9Cit3dHUuZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImFmdGVyIGRyYXdpbmciKTsKKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+
CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVlODE5
MWFmZjY2OTNhZDY0NzZjYjk0MzhiNWI3N2UyZDE2YzYyOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Jl
bmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwKQEAgLTAsMCArMSwxMjUgQEAKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKyAgPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRpdGxlPldlYkdM
IE11bHRpc2FtcGxlIFJlbmRlcmJ1ZmZlciBDb3JydXB0aW9uIFRlc3Q8L3RpdGxlPgorICAgIDxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIi8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4g
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdp
ZHRoPSIyMDQ4IiBoZWlnaHQ9IjIwNDgiIHN0eWxlPSJ3aWR0aDogMTI4cHg7IGhlaWdodDogMTI4
cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgIDxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gt
dmVydGV4Ij4KKyAgICAgICAgYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworICAgICAgICB2b2lk
IG1haW4oKQorICAgICAgICB7CisgICAgICAgICAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsK
KyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgICAgIHZvaWQgbWFpbigpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoMC4wLDAuMCwwLjAsMC4wKTsKKyAgICAg
ICAgfQorICAgIDwvc2NyaXB0PgorCisgICAgPHNjcmlwdD4KKyAgICAgICAgInVzZSBzdHJpY3Qi
OworICAgICAgICBmdW5jdGlvbiBpbml0KCkKKyAgICAgICAgeworICAgICAgICAgICAgZGVzY3Jp
cHRpb24oZG9jdW1lbnQudGl0bGUpOworCisgICAgICAgICAgICB2YXIgbGFzdENvbnRleHQgPSBu
dWxsOworICAgICAgICAgICAgdmFyIGN5Y2xlQ291bnQgPSAwOworICAgICAgICAgICAgdmFyIG1h
eEN5Y2xlcyA9IDEwMDsKKyAgICAgICAgICAgIHZhciBmYWlsZWQgPSBmYWxzZTsKKyAgICAgICAg
ICAgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICAgICAgICAgIHZhciBnbCA9IHd0dS5j
cmVhdGUzRENvbnRleHQoImV4YW1wbGUiLCB7YW50aWFsaWFzOiB0cnVlLCBwcmVzZXJ2ZURyYXdp
bmdCdWZmZXI6IHRydWV9KTsKKworICAgICAgICAgICAgZ2wuY2xlYXJDb2xvcigxLjAsIDAuMCwg
MC4wLCAxLjApOworICAgICAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisK
KyAgICAgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVy
IiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisgICAgICAgICAgICB2YXIgdmVydGV4T2Jq
ZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgICAgICAgICAgICBnbC5iaW5kQnVmZmVyKGdsLkFS
UkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgICAgICAgICAgIGdsLmJ1ZmZlckRhdGEoZ2wu
QVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KFsgMCwyLjUsMCwgMS41LDEuNSwwLCAyLjUs
MS41LDAgXSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgICAgICAgICAgIGdsLmVuYWJsZVZlcnRleEF0
dHJpYkFycmF5KDApOworICAgICAgICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBn
bC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgICAgICAgICAgICBmdW5jdGlvbiBjeWNsZUFuZFRl
c3QoKSB7CisgICAgICAgICAgICAgICAgdmFyIGdsMiA9IHd0dS5jcmVhdGUzRENvbnRleHQobnVs
bCwge2FudGlhbGlhczogdHJ1ZX0pOworCisgICAgICAgICAgICAgICAgZ2wyLmNhbnZhcy53aWR0
aCA9IGdsMi5jYW52YXMuaGVpZ2h0ID0gMTAyNDsKKyAgICAgICAgICAgICAgICBnbDIuY2FudmFz
LnN0eWxlLndpZHRoID0gZ2wyLmNhbnZhcy5zdHlsZS5oZWlnaHQgPSAiMXB4IjsKKyAgICAgICAg
ICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGdsMi5jYW52YXMpOworCisgICAgICAg
ICAgICAgICAgZ2wyLmNsZWFyQ29sb3IoMS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICAgICAgICAg
ICAgICBnbDIuY2xlYXIoZ2wyLkNPTE9SX0JVRkZFUl9CSVQpOworCisgICAgICAgICAgICAgICAg
aWYobGFzdENvbnRleHQpIHsKKyAgICAgICAgICAgICAgICAgICAgZ2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDAsIDMpOworICAgICAgICAgICAgICAgICAgICB2YXIgbXNnID0gIlNob3VsZCBi
ZSByZWQgYWZ0ZXIgbG9vcCAiICsgY3ljbGVDb3VudDsKKyAgICAgICAgICAgICAgICAgICAgd3R1
LmNoZWNrQ2FudmFzUmVjdENvbG9yKGdsLAorICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwg
Z2wuY2FudmFzLndpZHRoLCBnbC5jYW52YXMuaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgWzI1NSwgMCwgMCwgMjU1XSwgbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIGRlYnVnKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsYXN0Q29udGV4dC5jYW52YXMpOworICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGxhc3RDb250ZXh0ID0gZ2wyOworICAgICAg
ICAgICAgICAgIGN5Y2xlQ291bnQrKzsKKworICAgICAgICAgICAgICAgIGlmKGN5Y2xlQ291bnQg
PD0gbWF4Q3ljbGVzICYmICFmYWlsZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgd3R1LndhaXRG
b3JDb21wb3NpdGUoZ2wyLCBjeWNsZUFuZFRlc3QpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGN5Y2xlQW5kVGVzdCgpOworICAgICAgIH0KKwor
ICAgICAgIGluaXQoKTsKKyAgICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAg
ICA8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3Bv
aW50LXNpemUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRl
YmUzNTJkNGU1ZWZkN2ExYzVhNDYzY2U2NGI3NDNjMWVkODBjZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwKQEAgLTAsMCArMSwxNTEgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0
eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgYXR0cmlidXRlIHZlYzMgcG9zOworICAgIGF0
dHJpYnV0ZSB2ZWM0IGNvbG9ySW47CisgICAgdW5pZm9ybSBmbG9hdCBwb2ludFNpemU7CisgICAg
dmFyeWluZyB2ZWM0IGNvbG9yOworCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGds
X1BvaW50U2l6ZSA9IHBvaW50U2l6ZTsKKyAgICAgICAgY29sb3IgPSBjb2xvckluOworICAgICAg
ICBnbF9Qb3NpdGlvbiA9IHZlYzQocG9zLCAxLjApOworICAgIH0KKzwvc2NyaXB0PgorCis8c2Ny
aXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNp
b24gbWVkaXVtcCBmbG9hdDsKKyAgICB2YXJ5aW5nIHZlYzQgY29sb3I7CisKKyAgICB2b2lkIG1h
aW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gY29sb3I7CisgICAgfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9InRlc3RiZWQiIHdpZHRoPSIyIiBoZWln
aHQ9IjIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorICAgICJ1c2Ugc3RyaWN0IjsKKyAgICBkZXNjcmlw
dGlvbignVmVyaWZ5IEdMX1ZFUlRFWF9QUk9HUkFNX1BPSU5UX1NJWkUgaXMgZW5hYmxlZCBpbiBX
ZWJHTCcpOworCisgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgIHZhciBnbCA9IHd0
dS5jcmVhdGUzRENvbnRleHQoJ3Rlc3RiZWQnLCB7IGFudGlhbGlhczogZmFsc2UgfSk7CisgICAg
c2hvdWxkQmVOb25OdWxsKCJnbCIpOworCisgICAgZ2wuZGlzYWJsZShnbC5CTEVORCk7CisgICAg
Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworCisg
ICAgLy8gVGhlIGNob2ljZSBvZiAoMC40LCAwLjQpIGVuc3VyZXMgdGhhdCB0aGUgY2VudGVycyBv
ZiB0aGUgc3Vycm91bmRpbmcKKyAgICAvLyBwaXhlbHMgYXJlIG5vdCBjb250YWluZWQgd2l0aGlu
IHRoZSBwb2ludCB3aGVuIGl0IGlzIG9mIHNpemUgMSwgYnV0CisgICAgLy8gdGhhdCB0aGV5IGRl
ZmluaXRlbHkgYXJlIHdoZW4gaXQgaXMgb2Ygc2l6ZSAyLgorICAgIHZhciB2ZXJ0aWNlcyA9IG5l
dyBGbG9hdDMyQXJyYXkoWworICAgICAgICAwLjQsIDAuNCwgMC4wXSk7CisgICAgdmFyIGNvbG9y
cyA9IG5ldyBVaW50OEFycmF5KFsKKyAgICAgICAgMjU1LCAwLCAwLCAyNTVdKTsKKworICAgIHZh
ciBjb2xvck9mZnNldCA9IHZlcnRpY2VzLmJ5dGVMZW5ndGg7CisKKyAgICB2YXIgYnVmID0gbmV3
IFVpbnQ4QXJyYXkoMiAqIDIgKiA0KTsKKyAgICB2YXIgaW5kZXggPSAwOworCisgICAgdmFyIHZi
byA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCB2Ym8pOworICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBjb2xvck9mZnNldCAr
IGNvbG9ycy5ieXRlTGVuZ3RoLCBnbC5TVEFUSUNfRFJBVyk7CisgICAgZ2wuYnVmZmVyU3ViRGF0
YShnbC5BUlJBWV9CVUZGRVIsIDAsIHZlcnRpY2VzKTsKKyAgICBnbC5idWZmZXJTdWJEYXRhKGds
LkFSUkFZX0JVRkZFUiwgY29sb3JPZmZzZXQsIGNvbG9ycyk7CisKKyAgICBmdW5jdGlvbiB0ZXN0
KHByb2dyYW0pIHsKKyAgICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBnbC5GTE9B
VCwgZmFsc2UsIDAsIDApOworICAgICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsK
KyAgICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigxLCA0LCBnbC5VTlNJR05FRF9CWVRFLCB0
cnVlLCAwLCBjb2xvck9mZnNldCk7CisgICAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5
KDEpOworCisgICAgICAgIHZhciBsb2NQb2ludFNpemUgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24o
cHJvZ3JhbSwgJ3BvaW50U2l6ZScpOworCisgICAgICAgIHNob3VsZEJlKCdnbC5nZXRFcnJvcigp
JywgJ2dsLk5PX0VSUk9SJyk7CisKKyAgICAgICAgZGVidWcoJ0RyYXcgYSBwb2ludCBvZiBzaXpl
IDEgYW5kIHZlcmlmeSBpdCBkb2VzIG5vdCB0b3VjaCBhbnkgb3RoZXIgcGl4ZWxzLicpOworCisg
ICAgICAgIGdsLnVuaWZvcm0xZihsb2NQb2ludFNpemUsIDEuMCk7CisgICAgICAgIGdsLmRyYXdB
cnJheXMoZ2wuUE9JTlRTLCAwLCB2ZXJ0aWNlcy5sZW5ndGggLyAzKTsKKyAgICAgICAgCisgICAg
ICAgIHNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7CisKKyAgICAgICAg
Zm9yICh2YXIgeSA9IDA7IHkgPCAyOyArK3kpIHsKKyAgICAgICAgICAgIGZvciAodmFyIHggPSAw
OyB4IDwgMjsgKyt4KSB7CisgICAgICAgICAgICAgICAgdmFyIGNvcnJlY3RDb2xvciA9ICh4ID09
IDEgJiYgeSA9PSAxKSA/IFsyNTUsIDAsIDBdIDogWzAsIDAsIDBdOworICAgICAgICAgICAgICAg
IHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIHgsIHksIDEsIDEsIGNvcnJlY3RDb2xvcik7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworCisgICAgICAgIGRlYnVnKCdEcmF3IGEgcG9pbnQg
b2Ygc2l6ZSAyIGFuZCB2ZXJpZnkgaXQgZmlsbHMgdGhlIGFwcHJvcHJpYXRlIHJlZ2lvbi4nKTsK
KworICAgICAgICB2YXIgcG9pbnRTaXplUmFuZ2UgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuQUxJQVNF
RF9QT0lOVF9TSVpFX1JBTkdFKTsKKyAgICAgICAgaWYgKHBvaW50U2l6ZVJhbmdlWzFdID49IDIu
MCkgeworICAgICAgICAgICAgZ2wudW5pZm9ybTFmKGxvY1BvaW50U2l6ZSwgMi4wKTsKKyAgICAg
ICAgICAgIGdsLmRyYXdBcnJheXMoZ2wuUE9JTlRTLCAwLCB2ZXJ0aWNlcy5sZW5ndGggLyAzKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7Cisg
ICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCAyLCAyLCBbMjU1LCAwLCAw
XSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBkZWJ1ZygnJyk7CisgICAgZGVidWcoJ1Bhc3Mg
MScpOworICAgIHZhciBwcm9ncmFtMSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsndnNoYWRlcics
ICdmc2hhZGVyJ10sIFsncG9zJywgJ2NvbG9ySW4nXSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldEVy
cm9yKCknLCAnZ2wuTk9fRVJST1InKTsKKyAgICB0ZXN0KHByb2dyYW0xKTsKKworICAgIC8vIFVu
ZGVyIHNvbWUgdmVyc2lvbnMgb2YgQU5HTEUgcG9pbnQgc3ByaXRlIHNoYWRlciBwcm9ncmFtcyB3
ZXJlIAorICAgIC8vIGluY29ycmVjdGx5IHJlbG9hZGVkIGZyb20gY2FjaGUuIFJlYnVpbGRpbmcg
dGhlIHNoYWRlciBwcm9ncmFtIGFuZAorICAgIC8vIHJlcGVhdGluZyB0aGUgdGVzdCBzaW11bGF0
ZXMgdGhlIGNvbmRpdGlvbnMgdGhhdCBjYXVzZWQgaXQgdG8gZmFpbAorICAgIGRlYnVnKCcnKTsK
KyAgICBkZWJ1ZygnUGFzcyAyJyk7CisgICAgdmFyIHByb2dyYW0yID0gd3R1LnNldHVwUHJvZ3Jh
bShnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWydwb3MnLCAnY29sb3JJbiddKTsKKyAgICBz
aG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICdnbC5OT19FUlJPUicpOworICAgIHRlc3QocHJvZ3Jh
bTIpOworCisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKwor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxz
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGMwNzQx
NjRmMzNmYmMwNDk4ZmIzMTIyZjUzMWFlNDM5YWE1ZGM0YQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3N0
YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbApAQCAtMCwwICsxLDQ2MyBAQAorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxz
Y3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CitkZXNjcmlw
dGlvbigiVGVzdCBvZiBnZXQgY2FsbHMgYWdhaW5zdCBHTCBvYmplY3RzIGxpa2UgZ2V0QnVmZmVy
UGFyYW1ldGVyLCBldGMuIik7CisKK2Z1bmN0aW9uIHNpemVJbkJ5dGVzKHR5cGUpIHsKKyAgc3dp
dGNoICh0eXBlKSB7CisgIGNhc2UgZ2wuQllURToKKyAgY2FzZSBnbC5VTlNJR05FRF9CWVRFOgor
ICAgIHJldHVybiAxOworICBjYXNlIGdsLlNIT1JUOgorICBjYXNlIGdsLlVOU0lHTkVEX1NIT1JU
OgorICAgIHJldHVybiAyOworICBjYXNlIGdsLklOVDoKKyAgY2FzZSBnbC5VTlNJR05FRF9JTlQ6
CisgIGNhc2UgZ2wuRkxPQVQ6CisgICAgcmV0dXJuIDQ7CisgIGRlZmF1bHQ6CisgICAgdGhyb3cg
InVua25vd24gdHlwZSI7CisgIH0KK30KKwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgp
OworCitkZWJ1ZygidGVzdCBnZXRBdHRhY2hlZFNoYWRlcnMiKTsKK3ZhciBzdGFuZGFyZFZlcnQg
PSB3dHUubG9hZFN0YW5kYXJkVmVydGV4U2hhZGVyKGdsKTsKK3ZhciBzdGFuZGFyZEZyYWcgPSB3
dHUubG9hZFN0YW5kYXJkRnJhZ21lbnRTaGFkZXIoZ2wpOwordmFyIHN0YW5kYXJkUHJvZ3JhbSA9
IGdsLmNyZWF0ZVByb2dyYW0oKTsKK2dsLmF0dGFjaFNoYWRlcihzdGFuZGFyZFByb2dyYW0sIHN0
YW5kYXJkVmVydCk7CitnbC5hdHRhY2hTaGFkZXIoc3RhbmRhcmRQcm9ncmFtLCBzdGFuZGFyZEZy
YWcpOworZ2wubGlua1Byb2dyYW0oc3RhbmRhcmRQcm9ncmFtKTsKK3ZhciBzaGFkZXJzID0gZ2wu
Z2V0QXR0YWNoZWRTaGFkZXJzKHN0YW5kYXJkUHJvZ3JhbSk7CitzaG91bGRCZSgnc2hhZGVycy5s
ZW5ndGgnLCAnMicpOworc2hvdWxkQmVUcnVlKCdzaGFkZXJzWzBdID09IHN0YW5kYXJkVmVydCAm
JiBzaGFkZXJzWzFdID09IHN0YW5kYXJkRnJhZyB8fCBzaGFkZXJzWzFdID09IHN0YW5kYXJkVmVy
dCAmJiBzaGFkZXJzWzBdID09IHN0YW5kYXJkRnJhZycpOworZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUik7CitzaG91bGRCZU51bGwoJ2dsLmdldEF0dGFjaGVkU2hhZGVycyhudWxsKScp
OworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVFKTsKK3Nob3VsZFRocm93KCdn
bC5nZXRBdHRhY2hlZFNoYWRlcnMoc3RhbmRhcmRWZXJ0KScpOworZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUik7CisKK2Z1bmN0aW9uIHRlc3RJbnZhbGlkQXJndW1lbnQoZnVuY05hbWUs
IGFyZ3VtZW50TmFtZSwgdmFsaWRBcmd1bWVudEFycmF5LCBmdW5jKSB7CisgIHZhciB2YWxpZEFy
Z3VtZW50cyA9IHt9OworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdmFsaWRBcmd1bWVudEFycmF5
Lmxlbmd0aDsgKytpaSkgeworICAgIHZhbGlkQXJndW1lbnRzW3ZhbGlkQXJndW1lbnRBcnJheVtp
aV1dID0gdHJ1ZTsKKyAgfQorICB2YXIgc3VjY2VzcyA9IHRydWU7CisgIGZvciAodmFyIGlpID0g
MDsgaWkgPCAweDEwMDAwOyArK2lpKSB7CisgICAgaWYgKCF2YWxpZEFyZ3VtZW50c1tpaV0pIHsK
KyAgICAgIHZhciByZXN1bHQgPSBmdW5jKGlpKTsKKyAgICAgIGlmIChyZXN1bHQgIT09IG51bGwp
IHsKKyAgICAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgICB0ZXN0RmFpbGVkKGZ1bmNOYW1l
ICsgIiByZXR1cm5lZCAiICsgcmVzdWx0ICsgIiBpbnN0ZWFkIG9mIG51bGwgZm9yIGludmFsaWQg
IiArIGFyZ3VtZW50TmFtZSArICIgZW51bTogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgaWkp
KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICB2YXIgZXJyID0gZ2wuZ2V0RXJyb3Io
KTsKKyAgICAgIGlmIChlcnIgIT0gZ2wuSU5WQUxJRF9FTlVNKSB7CisgICAgICAgIHN1Y2Nlc3Mg
PSBmYWxzZTsKKyAgICAgICAgdGVzdEZhaWxlZChmdW5jTmFtZSArICIgZGlkIG5vdCBnZW5lcmF0
ZSBJTlZBTElEX0VOVU0gZm9yIGludmFsaWQgIiArIGFyZ3VtZW50TmFtZSArICIgZW51bTogIiAr
IHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgaWkpKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9Cisg
ICAgfQorICB9CisgIGlmIChzdWNjZXNzKSB7CisgICAgdGVzdFBhc3NlZChmdW5jTmFtZSArICIg
Y29ycmVjdGx5IGhhbmRsZWQgaW52YWxpZCAiICsgYXJndW1lbnROYW1lICsgIiBlbnVtcyIpOwor
ICB9Cit9CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJ0ZXN0IGdldEJ1ZmZlclBhcmFtZXRlciIpOwor
Ly8gVGVzdCBnZXRCdWZmZXJQYXJhbWV0ZXIKK3ZhciBidWZmZXJUeXBlcyA9IFtnbC5BUlJBWV9C
VUZGRVIsIGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSXTsKK2ZvciAodmFyIGJiID0gMDsgYmIgPCBi
dWZmZXJUeXBlcy5sZW5ndGg7ICsrYmIpIHsKKyAgdmFyIGJ1ZmZlclR5cGUgPSBidWZmZXJUeXBl
c1tiYl07CisgIHZhciBidWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZl
cihidWZmZXJUeXBlLCBidWZmZXIpOworICBnbC5idWZmZXJEYXRhKGJ1ZmZlclR5cGUsIDE2LCBn
bC5EWU5BTUlDX0RSQVcpOworICB2YXIgZXhwcmVzc2lvbjEgPSAiZ2wuZ2V0QnVmZmVyUGFyYW1l
dGVyKGdsLiIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGJ1ZmZlclR5cGUpICsgIiwgZ2wuQlVG
RkVSX1NJWkUpIjsKKyAgdmFyIGV4cHJlc3Npb24yID0gImdsLmdldEJ1ZmZlclBhcmFtZXRlcihn
bC4iICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBidWZmZXJUeXBlKSArICIsIGdsLkJVRkZFUl9V
U0FHRSkiOworICBzaG91bGRCZShleHByZXNzaW9uMSwgJzE2Jyk7CisgIHNob3VsZEJlKGV4cHJl
c3Npb24yLCAnZ2wuRFlOQU1JQ19EUkFXJyk7CisgIHRlc3RJbnZhbGlkQXJndW1lbnQoImdldEJ1
ZmZlclBhcmFtZXRlciIsICJwYXJhbWV0ZXIiLCBbZ2wuQlVGRkVSX1NJWkUsIGdsLkJVRkZFUl9V
U0FHRV0sIGZ1bmN0aW9uKGJ1ZmZlclR5cGUpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24ocGFyYW1l
dGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0QnVmZmVyUGFyYW1ldGVyKGJ1ZmZlclR5cGUsIHBh
cmFtZXRlcik7CisgICAgfTsKKyAgfShidWZmZXJUeXBlKSk7Cit9Cit0ZXN0SW52YWxpZEFyZ3Vt
ZW50KAorICAgICJnZXRCdWZmZXJQYXJhbWV0ZXIiLAorICAgICJ0YXJnZXQiLAorICAgIGJ1ZmZl
clR5cGVzLAorICAgIGZ1bmN0aW9uKHRhcmdldCkgeworICAgICAgcmV0dXJuIGdsLmdldEJ1ZmZl
clBhcmFtZXRlcih0YXJnZXQsIGdsLkJVRkZFUl9TSVpFKTsKKyAgICB9CispOworCisKK2RlYnVn
KCIiKTsKK2RlYnVnKCJUZXN0IGdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciIpOwor
dmFyIHRleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CitnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXh0dXJlKTsKK2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdC
QSwgMiwgMiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICAgICAgbmV3
IFVpbnQ4QXJyYXkoWworICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMjU1LAorICAgICAgICAg
ICAgICAgICAgMjU1LCAyNTUsIDI1NSwgMjU1LAorICAgICAgICAgICAgICAgICAgMjU1LCAyNTUs
IDI1NSwgMjU1LAorICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMjU1XSkpOworZ2wudGV4UGFy
YW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7
CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwg
Z2wuTElORUFSKTsKK2dsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOwordmFyIGZy
YW1lYnVmZmVyID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKTsKK2dsLmJpbmRGcmFtZWJ1ZmZlcihn
bC5GUkFNRUJVRkZFUiwgZnJhbWVidWZmZXIpOworZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wu
RlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXh0dXJl
LCAwKTsKK3ZhciByZW5kZXJidWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKK2dsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5E
RVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcik7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
KTsKK2dsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5ERVBUSF9DT01Q
T05FTlQxNiwgMiwgMik7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK2dsLmZy
YW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5U
LCBnbC5SRU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcik7CisvLyBGSVhNRTogb24gc29tZSBtYWNo
aW5lcyAoaW4gcGFydGljdWxhciB0aGUgV2ViS2l0IGNvbW1pdCBib3RzKSB0aGUKKy8vIGZyYW1l
YnVmZmVyIHN0YXR1cyBpcyBGUkFNRUJVRkZFUl9VTlNVUFBPUlRFRDsgbW9yZSBpbnZlc3RpZ2F0
aW9uCisvLyBpcyBuZWVkZWQgd2h5IHRoaXMgaXMgdGhlIGNhc2UsIGJlY2F1c2UgdGhlIEZCTyBh
bGxvY2F0ZWQKKy8vIGludGVybmFsbHkgYnkgdGhlIFdlYktpdCBpbXBsZW1lbnRhdGlvbiBoYXMg
YWxtb3N0IGlkZW50aWNhbAorLy8gcGFyYW1ldGVycyB0byB0aGlzIG9uZS4gU2VlIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTg0My4KK3Nob3VsZEJlKCdnbC5jaGVj
a0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKScsICdnbC5GUkFNRUJVRkZFUl9DT01Q
TEVURScpOworc2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihn
bC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFD
SE1FTlRfT0JKRUNUX1RZUEUpJywgJ2dsLlRFWFRVUkUnKTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFt
ZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFD
SE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKScsICd0ZXh0dXJl
Jyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZS
QU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVO
VF9URVhUVVJFX0xFVkVMKScsICcwJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRh
Y2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wu
RlJBTUVCVUZGRVJfQVRUQUNITUVOVF9URVhUVVJFX0NVQkVfTUFQX0ZBQ0UpJywgJzAnKTsKKwor
c2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJV
RkZFUiwgZ2wuREVQVEhfQVRUQUNITUVOVCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpF
Q1RfVFlQRSknLCAnZ2wuUkVOREVSQlVGRkVSJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZm
ZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5U
LCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKScsICdyZW5kZXJidWZmZXIn
KTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBh
cmFtZXRlciIsCisgICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hN
RU5UX09CSkVDVF9UWVBFLAorICAgICAgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1Rf
TkFNRSwKKyAgICAgIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MRVZFTCwKKyAg
ICAgIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9DVUJFX01BUF9GQUNFCisgICAg
XSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRGcmFtZWJ1
ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1F
TlQsIHBhcmFtZXRlcik7CisgICAgfQorKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdl
dEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlciIsCisgICAgInRhcmdldCIsCisgICAgWyBn
bC5GUkFNRUJVRkZFUiBdLAorICAgIGZ1bmN0aW9uKHRhcmdldCkgeworICAgICAgcmV0dXJuIGds
LmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcih0YXJnZXQsIGdsLkNPTE9SX0FUVEFD
SE1FTlQsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpOworICAgIH0KKyk7
Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJh
bWV0ZXIiLAorICAgICJhdHRhY2htZW50IiwKKyAgICBbIGdsLkNPTE9SX0FUVEFDSE1FTlQwLAor
ICAgICAgZ2wuREVQVEhfQVRUQUNITUVOVCwKKyAgICAgIGdsLlNURU5DSUxfQVRUQUNITUVOVCwK
KyAgICAgIGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVAorICAgIF0sCisgICAgZnVuY3Rpb24o
YXR0YWNobWVudCkgeworICAgICAgcmV0dXJuIGdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBh
cmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgYXR0YWNobWVudCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNI
TUVOVF9PQkpFQ1RfVFlQRSk7CisgICAgfQorKTsKKworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVz
dCBnZXRQcm9ncmFtUGFyYW1ldGVyIik7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRl
cihzdGFuZGFyZFByb2dyYW0sIGdsLkRFTEVURV9TVEFUVVMpJywgJ2ZhbHNlJyk7CitzaG91bGRC
ZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkxJTktfU1RBVFVT
KScsICd0cnVlJyk7CitzaG91bGRCZSgndHlwZW9mIGdsLmdldFByb2dyYW1QYXJhbWV0ZXIoc3Rh
bmRhcmRQcm9ncmFtLCBnbC5WQUxJREFURV9TVEFUVVMpJywgJyJib29sZWFuIicpOworc2hvdWxk
QmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoc3RhbmRhcmRQcm9ncmFtLCBnbC5BVFRBQ0hFRF9T
SEFERVJTKScsICcyJyk7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFy
ZFByb2dyYW0sIGdsLkFDVElWRV9BVFRSSUJVVEVTKScsICcyJyk7CitzaG91bGRCZSgnZ2wuZ2V0
UHJvZ3JhbVBhcmFtZXRlcihzdGFuZGFyZFByb2dyYW0sIGdsLkFDVElWRV9VTklGT1JNUyknLCAn
MScpOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0UHJvZ3JhbVBhcmFtZXRlciIsCisg
ICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5ERUxFVEVfU1RBVFVTLAorICAgICAgZ2wuTElOS19T
VEFUVVMsCisgICAgICBnbC5WQUxJREFURV9TVEFUVVMsCisgICAgICBnbC5BVFRBQ0hFRF9TSEFE
RVJTLAorICAgICAgZ2wuQUNUSVZFX0FUVFJJQlVURVMsCisgICAgICBnbC5BQ1RJVkVfVU5JRk9S
TVMKKyAgICBdLAorICAgIGZ1bmN0aW9uKHBhcmFtZXRlcikgeworICAgICAgcmV0dXJuIGdsLmdl
dFByb2dyYW1QYXJhbWV0ZXIoc3RhbmRhcmRQcm9ncmFtLCBwYXJhbWV0ZXIpOworICAgIH0KKyk7
CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlciIpOwor
c2hvdWxkQmUoJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGds
LlJFTkRFUkJVRkZFUl9XSURUSCknLCAnMicpOworc2hvdWxkQmUoJ2dsLmdldFJlbmRlcmJ1ZmZl
clBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9IRUlHSFQpJywgJzIn
KTsKKy8vIE5vdGU6IHdlIGNhbid0IHRlc3QgdGhlIGFjdHVhbCB2YWx1ZSBvZiB0aGUgaW50ZXJu
YWwgZm9ybWF0IHNpbmNlCisvLyB0aGUgaW1wbGVtZW50YXRpb24gaXMgYWxsb3dlZCB0byBjaGFu
Z2UgaXQuCitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5S
RU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9JTlRFUk5BTF9GT1JNQVQpJyk7CitzaG91bGRC
ZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGds
LlJFTkRFUkJVRkZFUl9ERVBUSF9TSVpFKScpOwordmFyIGNvbG9yYnVmZmVyID0gZ2wuY3JlYXRl
UmVuZGVyYnVmZmVyKCk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK2dsLmJp
bmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpOworZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRF
UkJVRkZFUiwgZ2wuUkdCQTQsIDIsIDIpOworc2hvdWxkQmVOb25aZXJvKCdnbC5nZXRSZW5kZXJi
dWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfUkVEX1NJWkUp
Jyk7CitzaG91bGRCZU5vblplcm8oJ2dsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5E
RVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9HUkVFTl9TSVpFKScpOworc2hvdWxkQmVOb25aZXJv
KCdnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJC
VUZGRVJfQkxVRV9TSVpFKScpOworc2hvdWxkQmVOb25aZXJvKCdnbC5nZXRSZW5kZXJidWZmZXJQ
YXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfQUxQSEFfU0laRSknKTsK
K3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlciIsCisg
ICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5SRU5ERVJCVUZGRVJfV0lEVEgsCisgICAgICBnbC5S
RU5ERVJCVUZGRVJfSEVJR0hULAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZPUk1B
VCwKKyAgICAgIGdsLlJFTkRFUkJVRkZFUl9SRURfU0laRSwKKyAgICAgIGdsLlJFTkRFUkJVRkZF
Ul9HUkVFTl9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0JMVUVfU0laRSwKKyAgICAgIGds
LlJFTkRFUkJVRkZFUl9BTFBIQV9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0RFUFRIX1NJ
WkUsCisgICAgICBnbC5SRU5ERVJCVUZGRVJfU1RFTkNJTF9TSVpFLAorICAgIF0sCisgICAgZnVu
Y3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1l
dGVyKGdsLlJFTkRFUkJVRkZFUiwgcGFyYW1ldGVyKTsKKyAgICB9KTsKK3Rlc3RJbnZhbGlkQXJn
dW1lbnQoCisgICAgImdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlciIsCisgICAgInRhcmdldCIsCisg
ICAgWyBnbC5SRU5ERVJCVUZGRVIgXSwKKyAgICBmdW5jdGlvbih0YXJnZXQpIHsKKyAgICAgIHJl
dHVybiBnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIodGFyZ2V0LCBnbC5SRU5ERVJCVUZGRVJf
V0lEVEgpOworICAgIH0pOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBnZXRTaGFkZXJQYXJh
bWV0ZXIiKTsKK3Nob3VsZEJlKCdnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc3RhbmRhcmRWZXJ0LCBn
bC5TSEFERVJfVFlQRSknLCAnZ2wuVkVSVEVYX1NIQURFUicpOworc2hvdWxkQmUoJ2dsLmdldFNo
YWRlclBhcmFtZXRlcihzdGFuZGFyZFZlcnQsIGdsLkRFTEVURV9TVEFUVVMpJywgJ2ZhbHNlJyk7
CitzaG91bGRCZSgnZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHN0YW5kYXJkVmVydCwgZ2wuQ09NUElM
RV9TVEFUVVMpJywgJ3RydWUnKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldFNoYWRl
clBhcmFtZXRlciIsCisgICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5ERUxFVEVfU1RBVFVTLAor
ICAgICAgZ2wuQ09NUElMRV9TVEFUVVMsCisgICAgICBnbC5TSEFERVJfVFlQRQorICAgIF0sCisg
ICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0U2hhZGVyUGFyYW1l
dGVyKHN0YW5kYXJkVmVydCwgcGFyYW1ldGVyKTsKKyAgICB9CispOworCitkZWJ1ZygiIik7Citk
ZWJ1ZygiVGVzdCBnZXRUZXhQYXJhbWV0ZXIiKTsKK2dsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFN
RUJVRkZFUiwgZnJhbWVidWZmZXIpOworZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4
dHVyZSk7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJ
TFRFUiwgZ2wuTkVBUkVTVCk7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRV
UkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKK2dsLnRleFBhcmFt
ZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0Up
Oworc2hvdWxkQmUoJ2dsLmdldFRleFBhcmFtZXRlcihnbC5URVhUVVJFXzJELCBnbC5URVhUVVJF
X01BR19GSUxURVIpJywgJ2dsLk5FQVJFU1QnKTsKK3Nob3VsZEJlKCdnbC5nZXRUZXhQYXJhbWV0
ZXIoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSKScsICdnbC5ORUFSRVNUJyk7
CitzaG91bGRCZSgnZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVf
V1JBUF9TKScsICdnbC5DTEFNUF9UT19FREdFJyk7CitzaG91bGRCZSgnZ2wuZ2V0VGV4UGFyYW1l
dGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9UKScsICdnbC5DTEFNUF9UT19FREdF
Jyk7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRUZXhQYXJhbWV0ZXIiLAorICAgICJw
YXJhbWV0ZXIiLAorICAgIFsgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLAorICAgICAgZ2wuVEVYVFVS
RV9NSU5fRklMVEVSLAorICAgICAgZ2wuVEVYVFVSRV9XUkFQX1MsCisgICAgICBnbC5URVhUVVJF
X1dSQVBfVAorICAgIF0sCisgICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICByZXR1cm4g
Z2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIHBhcmFtZXRlcik7CisgICAgfQorKTsK
K3Rlc3RJbnZhbGlkQXJndW1lbnQoCisgICAgImdldFRleFBhcmFtZXRlciIsCisgICAgInRhcmdl
dCIsCisgICAgWyBnbC5URVhUVVJFXzJELAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUAorICAg
IF0sCisgICAgZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0VGV4UGFyYW1l
dGVyKHRhcmdldCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSKTsKKyAgICB9CispOworCitkZWJ1Zygi
Iik7CitkZWJ1ZygiVGVzdCBnZXRVbmlmb3JtIHdpdGggYWxsIHZhcmlhbnRzIG9mIGRhdGEgdHlw
ZXMiKTsKKy8vIEJvb2xlYW4gdW5pZm9ybSB2YXJpYWJsZXMKK3ZhciBib29sUHJvZ3JhbSA9IHd0
dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGdsLCAiLi4vcmVzb3VyY2VzL2Jvb2xVbmlmb3JtU2hhZGVy
LnZlcnQiLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3Nob3VsZEJl
KCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKGJvb2xQcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyknLCAn
dHJ1ZScpOwordmFyIGJ2YWxMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oYm9vbFByb2dyYW0s
ICJidmFsIik7Cit2YXIgYnZhbDJMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oYm9vbFByb2dy
YW0sICJidmFsMiIpOwordmFyIGJ2YWwzTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGJvb2xQ
cm9ncmFtLCAiYnZhbDMiKTsKK3ZhciBidmFsNExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihi
b29sUHJvZ3JhbSwgImJ2YWw0Iik7CitnbC51c2VQcm9ncmFtKGJvb2xQcm9ncmFtKTsKK2dsLnVu
aWZvcm0xaShidmFsTG9jLCAxKTsKK2dsLnVuaWZvcm0yaShidmFsMkxvYywgMSwgMCk7CitnbC51
bmlmb3JtM2koYnZhbDNMb2MsIDEsIDAsIDEpOworZ2wudW5pZm9ybTRpKGJ2YWw0TG9jLCAxLCAw
LCAxLCAwKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxkQmUoJ2ds
LmdldFVuaWZvcm0oYm9vbFByb2dyYW0sIGJ2YWxMb2MpJywgJ3RydWUnKTsKK3Nob3VsZEJlKCdn
bC5nZXRVbmlmb3JtKGJvb2xQcm9ncmFtLCBidmFsMkxvYyknLCAnW3RydWUsIGZhbHNlXScpOwor
c2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oYm9vbFByb2dyYW0sIGJ2YWwzTG9jKScsICdbdHJ1ZSwg
ZmFsc2UsIHRydWVdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShib29sUHJvZ3JhbSwgYnZh
bDRMb2MpJywgJ1t0cnVlLCBmYWxzZSwgdHJ1ZSwgZmFsc2VdJyk7CisvLyBJbnRlZ2VyIHVuaWZv
cm0gdmFyaWFibGVzCit2YXIgaW50UHJvZ3JhbSA9IHd0dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGds
LCAiLi4vcmVzb3VyY2VzL2ludFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMvbm9v
cFVuaWZvcm1TaGFkZXIuZnJhZyIpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIo
aW50UHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3ZhciBpdmFsTG9jID0gZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKGludFByb2dyYW0sICJpdmFsIik7Cit2YXIgaXZhbDJMb2MgPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24oaW50UHJvZ3JhbSwgIml2YWwyIik7Cit2YXIgaXZhbDNMb2Mg
PSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oaW50UHJvZ3JhbSwgIml2YWwzIik7Cit2YXIgaXZhbDRM
b2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oaW50UHJvZ3JhbSwgIml2YWw0Iik7CitnbC51c2VQ
cm9ncmFtKGludFByb2dyYW0pOworZ2wudW5pZm9ybTFpKGl2YWxMb2MsIDEpOworZ2wudW5pZm9y
bTJpKGl2YWwyTG9jLCAyLCAzKTsKK2dsLnVuaWZvcm0zaShpdmFsM0xvYywgNCwgNSwgNik7Citn
bC51bmlmb3JtNGkoaXZhbDRMb2MsIDcsIDgsIDksIDEwKTsKK2dsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwgaXZhbExv
YyknLCAnMScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwgaXZhbDJMb2Mp
JywgJ1syLCAzXScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwgaXZhbDNM
b2MpJywgJ1s0LCA1LCA2XScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oaW50UHJvZ3JhbSwg
aXZhbDRMb2MpJywgJ1s3LCA4LCA5LCAxMF0nKTsKKy8vIEZsb2F0IHVuaWZvcm0gdmFyaWFibGVz
Cit2YXIgZmxvYXRQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNv
dXJjZXMvZmxvYXRVbmlmb3JtU2hhZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3Jt
U2hhZGVyLmZyYWciKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKGZsb2F0UHJv
Z3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3ZhciBmdmFsTG9jID0gZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKGZsb2F0UHJvZ3JhbSwgImZ2YWwiKTsKK3ZhciBmdmFsMkxvYyA9IGdsLmdl
dFVuaWZvcm1Mb2NhdGlvbihmbG9hdFByb2dyYW0sICJmdmFsMiIpOwordmFyIGZ2YWwzTG9jID0g
Z2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGZsb2F0UHJvZ3JhbSwgImZ2YWwzIik7Cit2YXIgZnZhbDRM
b2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oZmxvYXRQcm9ncmFtLCAiZnZhbDQiKTsKK2dsLnVz
ZVByb2dyYW0oZmxvYXRQcm9ncmFtKTsKK2dsLnVuaWZvcm0xZihmdmFsTG9jLCAxMSk7CitnbC51
bmlmb3JtMmYoZnZhbDJMb2MsIDEyLCAxMyk7CitnbC51bmlmb3JtM2YoZnZhbDNMb2MsIDE0LCAx
NSwgMTYpOworZ2wudW5pZm9ybTRmKGZ2YWw0TG9jLCAxNywgMTgsIDE5LCAyMCk7CitnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGZsb2F0
UHJvZ3JhbSwgZnZhbExvYyknLCAnMTEnKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGZsb2F0
UHJvZ3JhbSwgZnZhbDJMb2MpJywgJ1sxMiwgMTNdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9y
bShmbG9hdFByb2dyYW0sIGZ2YWwzTG9jKScsICdbMTQsIDE1LCAxNl0nKTsKK3Nob3VsZEJlKCdn
bC5nZXRVbmlmb3JtKGZsb2F0UHJvZ3JhbSwgZnZhbDRMb2MpJywgJ1sxNywgMTgsIDE5LCAyMF0n
KTsKKy8vIFNhbXBsZXIgdW5pZm9ybSB2YXJpYWJsZXMKK3ZhciBzYW1wbGVyUHJvZ3JhbSA9IHd0
dS5sb2FkUHJvZ3JhbUZyb21GaWxlKGdsLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVy
LnZlcnQiLCAiLi4vcmVzb3VyY2VzL3NhbXBsZXJVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHNhbXBsZXJQcm9ncmFtLCBnbC5MSU5LX1NUQVRV
UyknLCAndHJ1ZScpOwordmFyIHMyRFZhbExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihzYW1w
bGVyUHJvZ3JhbSwgInMyRCIpOwordmFyIHNDdWJlVmFsTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0
aW9uKHNhbXBsZXJQcm9ncmFtLCAic0N1YmUiKTsKK2dsLnVzZVByb2dyYW0oc2FtcGxlclByb2dy
YW0pOworZ2wudW5pZm9ybTFpKHMyRFZhbExvYywgMCk7CitnbC51bmlmb3JtMWkoc0N1YmVWYWxM
b2MsIDEpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitzaG91bGRCZSgnZ2wu
Z2V0VW5pZm9ybShzYW1wbGVyUHJvZ3JhbSwgczJEVmFsTG9jKScsICcwJyk7CitzaG91bGRCZSgn
Z2wuZ2V0VW5pZm9ybShzYW1wbGVyUHJvZ3JhbSwgc0N1YmVWYWxMb2MpJywgJzEnKTsKKy8vIE1h
dHJpeCB1bmlmb3JtIHZhcmlhYmxlcwordmFyIG1hdFByb2dyYW0gPSB3dHUubG9hZFByb2dyYW1G
cm9tRmlsZShnbCwgIi4uL3Jlc291cmNlcy9tYXRVbmlmb3JtU2hhZGVyLnZlcnQiLCAiLi4vcmVz
b3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFt
UGFyYW1ldGVyKG1hdFByb2dyYW0sIGdsLkxJTktfU1RBVFVTKScsICd0cnVlJyk7Cit2YXIgbXZh
bDJMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24obWF0UHJvZ3JhbSwgIm12YWwyIik7Cit2YXIg
bXZhbDNMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24obWF0UHJvZ3JhbSwgIm12YWwzIik7Cit2
YXIgbXZhbDRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24obWF0UHJvZ3JhbSwgIm12YWw0Iik7
CitnbC51c2VQcm9ncmFtKG1hdFByb2dyYW0pOworZ2wudW5pZm9ybU1hdHJpeDJmdihtdmFsMkxv
YywgZmFsc2UsIFsxLCAyLCAzLCA0XSk7CitnbC51bmlmb3JtTWF0cml4M2Z2KG12YWwzTG9jLCBm
YWxzZSwgWzUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzXSk7CitnbC51bmlmb3JtTWF0cml4
NGZ2KG12YWw0TG9jLCBmYWxzZSwgWzE0LCAxNSwgMTYsIDE3LCAxOCwgMTksIDIwLCAyMSwgMjIs
IDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5XSk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5P
X0VSUk9SKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKG1hdFByb2dyYW0sIG12YWwyTG9jKScs
ICdbMSwgMiwgMywgNF0nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKG1hdFByb2dyYW0sIG12
YWwzTG9jKScsICdbNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTNdJyk7CitzaG91bGRCZSgn
Z2wuZ2V0VW5pZm9ybShtYXRQcm9ncmFtLCBtdmFsNExvYyknLCAnWzE0LCAxNSwgMTYsIDE3LCAx
OCwgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5XScpOworCitkZWJ1
ZygiIik7CitkZWJ1ZygidGVzdCBnZXRWZXJ0ZXhBdHRyaWIiKTsKK3ZhciBhcnJheSA9IG5ldyBG
bG9hdDMyQXJyYXkoWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAx
NCwgMTUsIDE2XSk7Cit2YXIgYnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CitnbC5iaW5kQnVm
ZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKK2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVG
RkVSLCBhcnJheSwgZ2wuRFlOQU1JQ19EUkFXKTsKKy8vIFZlcnRleCBhdHRyaWJ1dGUgMCBpcyBz
cGVjaWFsIGluIHRoYXQgaXQgaGFzIG5vIGN1cnJlbnQgc3RhdGUsIHNvCisvLyBmZXRjaGluZyBH
TF9DVVJSRU5UX1ZFUlRFWF9BVFRSSUIgZ2VuZXJhdGVzIGFuIGVycm9yLiBVc2UgYXR0cmlidXRl
CisvLyAxIGZvciB0aGVzZSB0ZXN0cyBpbnN0ZWFkLgorZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJy
YXkoMSk7CitnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDQsIGdsLkZMT0FULCBmYWxzZSwgMCwg
MCk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJS
QVlfQlVGRkVSX0JJTkRJTkcpJywgJ2J1ZmZlcicpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0
dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0VOQUJMRUQpJywgJ3RydWUnKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9TSVpFKScs
ICc0Jyk7CisvLyBTdHJpZGUgTVVTVCBiZSB0aGUgdmFsdWUgdGhlIHVzZXIgcHV0IGluLgorc2hv
dWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1NUUklE
RSknLCAnMCcpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRU
UklCX0FSUkFZX1RZUEUpJywgJ2dsLkZMT0FUJyk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0
cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfTk9STUFMSVpFRCknLCAnZmFsc2UnKTsKK2ds
LnZlcnRleEF0dHJpYlBvaW50ZXIoMSwgNCwgZ2wuRkxPQVQsIGZhbHNlLCAzNiwgMTIpOworc2hv
dWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1NUUklE
RSknLCAnMzYnKTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoMSwgZ2wuVkVS
VEVYX0FUVFJJQl9BUlJBWV9QT0lOVEVSKScsICcxMicpOworZ2wuZGlzYWJsZVZlcnRleEF0dHJp
YkFycmF5KDEpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRU
UklCX0FSUkFZX0VOQUJMRUQpJywgJ2ZhbHNlJyk7CitnbC52ZXJ0ZXhBdHRyaWI0ZigxLCA1LCA2
LCA3LCA4KTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuQ1VSUkVOVF9WRVJU
RVhfQVRUUklCKScsICdbNSwgNiwgNywgOF0nKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IpOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0VmVydGV4QXR0cmliIiwKKyAg
ICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfQlVGRkVSX0JJTkRJ
TkcsCisgICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0VOQUJMRUQsCisgICAgICBnbC5WRVJU
RVhfQVRUUklCX0FSUkFZX1NJWkUsCisgICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1NUUklE
RSwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfVFlQRSwKKyAgICAgIGdsLlZFUlRFWF9B
VFRSSUJfQVJSQVlfTk9STUFMSVpFRCwKKyAgICAgIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU1RS
SURFLAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9FTkFCTEVELAorICAgICAgZ2wuQ1VS
UkVOVF9WRVJURVhfQVRUUklCCisgICAgXSwKKyAgICBmdW5jdGlvbihwYXJhbWV0ZXIpIHsKKyAg
ICAgIHJldHVybiBnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgcGFyYW1ldGVyKTsKKyAgICB9CispOwor
dmFyIG51bVZlcnRleEF0dHJpYnMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRFWF9BVFRS
SUJTKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgJ2dsLmdl
dFZlcnRleEF0dHJpYignICsgbnVtVmVydGV4QXR0cmlicyArICcsIGdsLkNVUlJFTlRfVkVSVEVY
X0FUVFJJQiknKTsKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgY2FzZXMgd2hlcmUgbmFtZSA9
PSAwIik7CitnbC5kZWxldGVUZXh0dXJlKHRleHR1cmUpOworc2hvdWxkQmUoJ2dsLmdldEZyYW1l
YnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNI
TUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpJywgJ2dsLk5PTkUn
KTsKK2dsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpOworc2hvdWxkQmUoJ2dsLmdl
dEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuREVQVEhf
QVRUQUNITUVOVCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSknLCAnZ2wu
Tk9ORScpOworZ2wuZGVsZXRlQnVmZmVyKGJ1ZmZlcik7CitzaG91bGRCZU51bGwoJ2dsLmdldFZl
cnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HKScpOwor
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4
LWltYWdlLTJkLWZvcm1hdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTdkMGUzYmI4ZGQ3MTA2NDMzMDcx
ZWU0MzUzY2E5YTljNjc3YTY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgt
aW1hZ2UtMmQtZm9ybWF0cy5odG1sCkBAIC0wLDAgKzEsMTgzIEBACis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5WZXJpZnkgY29weVRleEltYWdlMkQgZm9sbG93cyBmb3JtYXQgcmVzdGljdGlvbnM8
L3RpdGxlPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIi
IGhlaWdodD0iMiI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXNOb0FscGhhIiB3aWR0aD0i
MiIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KKyJ1c2Ugc3RyaWN0IjsKKworZnVuY3Rpb24gZ2V0Q2hhbm5lbHNGcm9tRm9ybWF0KGZvcm1h
dCkgeworICBzd2l0Y2ggKGdsW2Zvcm1hdF0pIHsKKyAgY2FzZSBnbC5BTFBIQToKKyAgICByZXR1
cm4gMHgwMDAxOworICBjYXNlIGdsLkxVTUlOQU5DRToKKyAgY2FzZSBnbC5SR0I6CisgICAgcmV0
dXJuIDB4MTExMDsKKyAgY2FzZSBnbC5MVU1JTkFOQ0VfQUxQSEE6CisgIGNhc2UgZ2wuUkdCQToK
KyAgICByZXR1cm4gMHgxMTExOworICBkZWZhdWx0OgorICAgIHJldHVybiAwOworICB9Cit9CisK
K3ZhciBmb3JtYXRzID0gWworICAnQUxQSEEnLAorICAnTFVNSU5BTkNFJywKKyAgJ0xVTUlOQU5D
RV9BTFBIQScsCisgICdSR0InLAorICAnUkdCQScKK107CisKK3ZhciBnbCA9IG51bGw7Cit2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7CisKK2Rlc2NyaXB0aW9uKCk7CisKK3ZhciBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Cit2YXIgY2FudmFzTm9BbHBoYSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXNOb0FscGhhIik7Cit2YXIgZ2wgPSB3dHUuY3Jl
YXRlM0RDb250ZXh0KGNhbnZhcywge2FscGhhOnRydWV9KTsKK3ZhciBnbE5vQWxwaGEgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KGNhbnZhc05vQWxwaGEsIHthbHBoYTpmYWxzZX0pOworCitkZWJ1Zygi
dGVzdCB3aXRoIGFuIFJHQkEgYmFja2J1ZmZlciIpOwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBU
ZXh0dXJlZFF1YWQoZ2wpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIkR1cmlu
ZyBJbml0aWFsaXphdGlvbiIpOwordGVzdEZvcm1hdHMoJ1JHQkEnKTsKKwordGVzdEJhY2tidWZm
ZXJGb3JtYXRzKCk7CisKK2RlYnVnKCJ0ZXN0IHdpdGggYW4gUkdCIGJhY2tidWZmZXIiKTsKK3Zh
ciBnbCA9IGdsTm9BbHBoYTsKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGds
KTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJEdXJpbmcgSW5pdGlhbGl6YXRp
b24iKTsKK3Rlc3RGb3JtYXRzKCdSR0InKTsKKworZnVuY3Rpb24gdGVzdEJhY2tidWZmZXJGb3Jt
YXRzKCkgeworICB2YXIgZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKTsKKyAgZ2wuYmluZEZy
YW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pOworCisgIGZvciAodmFyIGlpID0gMDsgaWkg
PCBmb3JtYXRzLmxlbmd0aDsgKytpaSkgeworICAgIHZhciBiYWNrRm9ybWF0ID0gZm9ybWF0c1tp
aV07CisKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbFtiYWNrRm9ybWF0XSwgMiwgMiwgMCwgZ2xbYmFja0Zvcm1hdF0sIGdsLlVOU0lHTkVE
X0JZVEUsIG51bGwpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVY
VFVSRV9NSU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisKKyAgICBnbC5m
cmFtZWJ1ZmZlclRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAs
IGdsLlRFWFRVUkVfMkQsIHRleCwgMCk7CisgICAgdmFyIHN0YXR1cyA9IGdsLmNoZWNrRnJhbWVi
dWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpOworCisgICAgZGVidWcoJycpOworICAgIGlmIChz
dGF0dXMgPT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpIHsKKyAgICAgIGRlYnVnKCd0ZXN0IHdp
dGggJyArIGJhY2tGb3JtYXQgKyAnIGZibycpOworICAgICAgdGVzdEZvcm1hdHMoYmFja0Zvcm1h
dCk7CisgICAgfSBlbHNlIHsKKyAgICAgIGRlYnVnKGJhY2tGb3JtYXQgKyAnIG5vdCBzdXBwb3J0
ZWQgYXMgYSByZW5kZXJidWZmZXIgYXR0YWNobWVudCcpOworICAgIH0KKyAgfQorfQorCitmdW5j
dGlvbiB0ZXN0Rm9ybWF0cyhiYWNrRm9ybWF0KSB7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBm
b3JtYXRzLmxlbmd0aDsgKytpaSkgeworICAgIHRlc3RDb3B5VGV4SW1hZ2UyRChiYWNrRm9ybWF0
LCBmb3JtYXRzW2lpXSk7CisgIH0KK30KKworZnVuY3Rpb24gdG9DaGFubmVscyh2YWx1ZSkgewor
ICByZXR1cm4gKCh2YWx1ZSAmIDB4MTAwMCkgPyAnUicgOiAnXycpICsKKyAgICAgICAgICgodmFs
dWUgJiAweDAxMDApID8gJ0cnIDogJ18nKSArCisgICAgICAgICAoKHZhbHVlICYgMHgwMDEwKSA/
ICdCJyA6ICdfJykgKworICAgICAgICAgKCh2YWx1ZSAmIDB4MDAwMSkgPyAnQScgOiAnXycpOwor
fQorCitmdW5jdGlvbiB0ZXN0Q29weVRleEltYWdlMkQoYmFja0Zvcm1hdCwgdGV4Rm9ybWF0KSB7
CisgIHZhciBuZWVkID0gZ2V0Q2hhbm5lbHNGcm9tRm9ybWF0KHRleEZvcm1hdCk7CisgIHZhciBo
YXZlID0gZ2V0Q2hhbm5lbHNGcm9tRm9ybWF0KGJhY2tGb3JtYXQpOworICB2YXIgc2hvdWxkUGFz
cyA9IChuZWVkICYgaGF2ZSkgPT0gbmVlZAorCisgIC8vZGVidWcoIm5lZWQ6ICIgKyB0b0NoYW5u
ZWxzKG5lZWQpKTsKKyAgLy9kZWJ1ZygiaGF2ZTogIiArIHRvQ2hhbm5lbHMoaGF2ZSkpOworICAv
L2RlYnVnKCJib3RoOiAiICsgdG9DaGFubmVscyhoYXZlICYgbmVlZCkpOworCisgIC8vIGNsZWFy
IGJhY2tidWZmZXIKKyAgZ2wuY2xlYXJDb2xvcigwLjI1LCAxLCAwLjc1LCAwLjUpOworICBnbC5j
bGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRl
eHR1cmUoKTsKKyAgLy8gQmluZCB0aGUgdGV4dHVyZSB0byB0ZXh0dXJlIHVuaXQgMAorICBnbC5i
aW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgZ2wudGV4UGFyYW1ldGVyaShn
bC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOworICBnbC50
ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVB
UkVTVCk7CisKKyAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2xbdGV4Rm9y
bWF0XSwgMCwgMCwgMiwgMiwgMCk7CisgIGlmICghc2hvdWxkUGFzcykgeworICAgIGdsRXJyb3JT
aG91bGRCZSgKKyAgICAgICAgZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAic2hv
dWxkIG5vdCBiZSBhYmxlIHRvIGNvcHlUZXhJbWFnZTJEICIgKyB0ZXhGb3JtYXQgKyAiIGZyb20g
IiArIGJhY2tGb3JtYXQpOworICAgIHJldHVybjsKKyAgfQorCisgIGdsRXJyb3JTaG91bGRCZSgK
KyAgICAgIGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICJzaG91bGQgYmUgYWJsZSB0byBjb3B5VGV4
SW1hZ2UyRCAiICsgdGV4Rm9ybWF0ICsgIiBmcm9tICIgKyBiYWNrRm9ybWF0KTsKKworICAvLyBE
cmF3CisgIHd0dS5kcmF3UXVhZChnbCk7CisKKyAgdmFyIGV4cGVjdGVkQ29sb3JzID0geworICAg
ICdBTFBIQSc6IFswLCAwLCAwLCAxMjddLAorICAgICdMVU1JTkFOQ0UnOiBbNjQsIDY0LCA2NCwg
MjU1XSwKKyAgICAnTFVNSU5BTkNFX0FMUEhBJzogWzY0LCA2NCwgNjQsIDEyN10sCisgICAgJ1JH
Qic6IFs2NCwgMjU1LCAxOTEsIDI1NV0sCisgICAgJ1JHQkEnOiBbNjQsIDI1NSwgMTkxLCAxMjdd
CisgIH07CisKKyAgdmFyIGNvbG9yID0gZXhwZWN0ZWRDb2xvcnNbdGV4Rm9ybWF0XTsKKworICB3
dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yLCAic2hvdWxkIGJlICIgKyBjb2xvciwgMTYpOworCisg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIik7
Cit9Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGMwYzQ1MTRmNjkxZTAyNWM1MTJh
YjU4Y2VmZTA5N2RiNDM3MTkyNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVs
c3RvcmVpLmh0bWwKQEAgLTAsMCArMSwxMTkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHBpeGVsU3RvcmVpIFRlc3Q8L3RpdGxlPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMi
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52
YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8Y2FudmFz
IGlkPSIyZDAwIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0i
MmQwMSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9IjJkMDIi
IHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSIyZDAzIiB3aWR0
aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4
LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247Cit2b2lkIG1haW4o
KSB7CisgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQg
aWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgordm9pZCBtYWluKCkgewor
ICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEuMCwwLjAsMC4wLDEuMCk7Cit9Cis8L3NjcmlwdD4KKwor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIGluaXQoKSB7CisgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZHJhd0ltYWdlIGFuZCByZWFkUGl4ZWxzIGFyZSBub3Qg
ZWZmZWN0ZWQgYnkgZ2wuUGl4ZWxzdG9yZWkoZ2wuUEFDS19BTElHTk1FTlQpIGFuZCB2aXNhIHZl
cnNhIik7CisKKyAgZGVidWcoIlRoZXJlIHNob3VsZCBiZSA1IHJlZCB0cmlhbmdsZXMgb24gNSBi
bGFjayBzcXVhcmVzIGFib3ZlIik7CisgIGRlYnVnKCIiKTsKKworICB2YXIgd3R1ID0gV2ViR0xU
ZXN0VXRpbHM7CisgIHZhciBjYW52YXMzZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFt
cGxlIik7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKyAgdmFy
IHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlciJdLCBb
InZQb3NpdGlvbiJdKTsKKworICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7
CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICBnbC5i
dWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheShbIDAsMC41LDAsIC0w
LjUsLTAuNSwwLCAwLjUsLTAuNSwwIF0pLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLmVuYWJsZVZl
cnRleEF0dHJpYkFycmF5KDApOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDMsIGdsLkZM
T0FULCBmYWxzZSwgMCwgMCk7CisKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGds
LkRFUFRIX0JVRkZFUl9CSVQpOworICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7
CisKKyAgZnVuY3Rpb24gY2hlY2tEYXRhKGN0eCwgbmFtZSkgeworICAgIC8vIFRlc3Qgc2V2ZXJh
bCBsb2NhdGlvbnMKKyAgICAvLyBGaXJzdCBsaW5lIHNob3VsZCBiZSBhbGwgYmxhY2sKKyAgICB3
dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwgMCwgMCwgNTAsIDEsIFswLCAwLCAwLCAwXSk7CisKKyAg
ICAvLyBMaW5lIDI1IHNob3VsZCBiZSByZWQgZm9yIGF0IGxlYXN0IDYgcmVkIHBpeGVscyBzdGFy
dGluZyAyMiBwaXhlbHMgaW4KKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwgMjIsIDI1LCA2
LCAxLCBbMjU1LCAwLCAwLCAyNTVdKTsKKworICAgIC8vIExhc3QgbGluZSBzaG91bGQgYmUgYWxs
IGJsYWNrCisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChjdHgsIDAsIDQ5LCA1MCwgMSwgWzAsIDAs
IDAsIDBdKTsKKyAgfQorCisgIHZhciBjdHgyZDsKKworICBmdW5jdGlvbiBjaGVja0NvbG9ycygp
IHsKKyAgICBjaGVja0RhdGEoZ2wsICIzZCBjb250ZXh0Iik7CisgICAgY2hlY2tEYXRhKGN0eDJk
LCAiMmQgY29udGV4dCIpOworICB9CisKKyAgdmFyIHRhYmxlID0gWzEsIDIsIDQsIDhdOworICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgdGFibGUubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wucGl4ZWxT
dG9yZWkoZ2wuUEFDS19BTElHTk1FTlQsIHRhYmxlW2lpXSk7CisgICAgY3R4MmQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiMmQwIiArIGlpKS5nZXRDb250ZXh0KCIyZCIpOworICAgIGN0eDJk
Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdjb3B5JzsKKyAgICBjdHgyZC5kcmF3SW1hZ2Uo
Y2FudmFzM2QsIDAsIDApOworICAgIGNoZWNrQ29sb3JzKCk7CisgICAgYXNzZXJ0TXNnKGdsLmdl
dFBhcmFtZXRlcihnbC5QQUNLX0FMSUdOTUVOVCkgPT0gdGFibGVbaWldLAorICAgICAgICAiUEFD
S19BTElHTk1FTlQgaXMgIiArIHRhYmxlW2lpXSk7CisgIH0KK30KKworaW5pdCgpOwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDE4NWI1ZDJi
MTUzZjFkOTQ5ZjVkZjQ3Y2EzNmZkYWU1NjFlNTgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwKQEAgLTAsMCArMSwxNTcgQEAKKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIE9yaWdpbiBS
ZXN0cmljdGlvbnMgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQv
amF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKKy8vIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgbGFzdCAyIHdvcmRzIG9m
IHRoZSBkb21haW4gb2YgYSBVUkwKKy8vIFRoaXMgaXMgcHJvYmFibHkgbm90IHRoZSBjb3JyZWN0
IGNoZWNrIGJ1dCBpdCB3aWxsIGRvIGZvciBub3cuCitmdW5jdGlvbiBnZXRCYXNlRG9tYWluKHN0
cikgeworICBzdHIgPSBzdHIucmVwbGFjZSgiXFwiLCAiLyIpOworICB2YXIgcG9zID0gc3RyLmlu
ZGV4T2YoIjovLyIpOworICBpZiAocG9zID49IDApIHsKKyAgICBzdHIgPSBzdHIuc3Vic3RyKHBv
cyArIDMpOworICB9CisgIHZhciBwYXJ0cyA9IHN0ci5zcGxpdCgnLycpOworICB2YXIgZG9tYWlu
ID0gcGFydHNbMF0ubWF0Y2goL1x3K1wuXHcrJC8pOworICByZXR1cm4gZG9tYWluIHx8ICcnOwor
fQorCisvLyBDaGVja3MgaWYgZnVuY3Rpb24gdGhyb3dzIGFuIGV4Y2VwdGlvbi4KK2Z1bmN0aW9u
IGNhdXNlZEV4Y2VwdGlvbihmdW5jKSB7CisgIHZhciBoYWRFeGNlcHRpb24gPSBmYWxzZTsKKyAg
dHJ5IHsKKyAgICBmdW5jKCk7CisgIH0gY2F0Y2goZSkgeworICAgIGhhZEV4Y2VwdGlvbiA9IHRy
dWU7CisgIH0KKyAgcmV0dXJuIGhhZEV4Y2VwdGlvbjsKK30KKwordmFyIGltZ0RvbWFpbjsKK3Zh
ciBwYWdlRG9tYWluOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZDsKKword2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1w
bGVtZW50YXRpb25zIGZvbGxvdyBwcm9wZXIgc2FtZS1vcmlnaW4gcmVzdHJpY3Rpb25zLiIpOwor
ICB2YXIgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltZyIpOworICBhc3NlcnRNc2co
aW1nLndpZHRoID4gMCAmJiBpbWcuaGVpZ2h0ID4gMCwgImltZyB3YXMgbG9hZGVkIik7CisgIGlt
Z0RvbWFpbiA9IGdldEJhc2VEb21haW4oaW1nLnNyYyk7CisgIHBhZ2VEb21haW4gPSBnZXRCYXNl
RG9tYWluKHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpKTsKKyAgYXNzZXJ0TXNnKGltZ0RvbWFp
biAhPSBwYWdlRG9tYWluLAorICAgICAgICAgICAgImltZyBkb21haW4gKCIgKyBpbWdEb21haW4g
KyAiKSBhbmQgcGFnZSBkb21haW4gKCIgKyBwYWdlRG9tYWluICsgIikgYXJlIG5vdCB0aGUgc2Ft
ZS4iKTsKKworICBmdW5jdGlvbiBtYWtlVGV4SW1hZ2UyRChnbCwgc3JjKSB7CisgICAgcmV0dXJu
IGZ1bmN0aW9uKCkgeworICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBzcmMpOworICAgIH07CisgIH0KKworICBm
dW5jdGlvbiBtYWtlVGV4U3ViSW1hZ2UyRChnbCwgc3JjKSB7CisgICAgcmV0dXJuIGZ1bmN0aW9u
KCkgeworICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBzcmMpOworICAgIH07CisgIH0KKworICBmdW5jdGlvbiBt
YWtlUmVhZFBpeGVscyhnbCkgeworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBi
dWYgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwgMSwgMSwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICB9OworICB9CisKKyAgZnVuY3Rp
b24gbWFrZVRvRGF0YVVSTChjYW52YXMpIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAg
ICB2YXIgZGF0YSA9IGNhbnZhcy50b0RhdGFVUkwoKTsKKyAgICB9CisgIH0KKworICB2YXIgY2Fu
dmFzMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMxIik7CisgIHZhciBnbCA9IHd0
dS5jcmVhdGUzRENvbnRleHQoY2FudmFzMSk7CisKKyAgZGVidWcoIiIpOworICBkZWJ1ZygiY2hl
Y2sgdGhhdCBhbiBhdHRlbXB0IHRvIHVwbG9hZCBhbiBpbWFnZSBmcm9tIGFub3RoZXIgb3JpZ2lu
IHRocm93cyBhbiBleGNlcHRpb24uIik7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7
CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMjU2LCAyNTYsIDAsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIG51bGwpOworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1ha2VUZXhJbWFn
ZTJEKGdsLCBpbWcpKSwKKyAgICAgICAgICAgICJ0ZXhJbWFnZTJEIHdpdGggY3Jvc3Mtb3JpZ2lu
IGltYWdlIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIik7CisgIGFzc2VydE1zZyhjYXVzZWRFeGNl
cHRpb24obWFrZVRleFN1YkltYWdlMkQoZ2wsIGltZykpLAorICAgICAgICAgICAgInRleFN1Yklt
YWdlMkQgd2l0aCBjcm9zcy1vcmlnaW4gaW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iKTsK
KworICBkZWJ1ZygiY2hlY2sgdGhhdCByZWFkUGl4ZWxzIGFuZCB0b0RhdGFVUkwgY29udGludWUg
dG8gd29yayBhZ2FpbnN0IHRoaXMgY2FudmFzLiIpOworICBhc3NlcnRNc2coIWNhdXNlZEV4Y2Vw
dGlvbihtYWtlUmVhZFBpeGVscyhnbCkpLAorICAgICAgICAgICAgInJlYWRQaXhlbHMgc2hvdWxk
IG5ldmVyIHRocm93IGV4Y2VwdGlvbiAtLSBub3QgcG9zc2libGUgdG8gZGlydHkgb3JpZ2luIG9m
IFdlYkdMIGNhbnZhcy4iKTsKKyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRpb24obWFrZVRvRGF0
YVVSTChjYW52YXMxKSksCisgICAgICAgICAgICAic2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24g
YnkgdG9EYXRhVVJMIGZvciBXZWJHTCBjYW52YXMsIHdoaWNoIHNob3VsZCBzdGF5IG9yaWdpbiBj
bGVhbi4iKTsKKworICBkZWJ1ZygiY2hlY2sgdGhhdCBhbiBhdHRlbXB0IHRvIHVwbG9hZCBhIHRh
aW50ZWQgY2FudmFzIHRocm93cyBhbiBleGNlcHRpb24uIik7CisgIHZhciBjYW52YXMyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczIiKTsKKyAgdmFyIGN0eDJkID0gY2FudmFzMi5n
ZXRDb250ZXh0KCIyZCIpOworICBjdHgyZC5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsKKyAgYXNzZXJ0
TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlVG9EYXRhVVJMKGNhbnZhczIpKSwKKyAgICAgICAgICAg
ICJzaG91bGQgdGhyb3cgZXhjZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3IgTk9OIG9yaWdpbiBjbGVh
biBjYW52YXMuIik7CisgIGFzc2VydE1zZyhjYXVzZWRFeGNlcHRpb24obWFrZVRleEltYWdlMkQo
Z2wsIGNhbnZhczIpKSwKKyAgICAgICAgICAgICJ0ZXhJbWFnZTJEIHdpdGggTk9OIG9yaWdpbiBj
bGVhbiBjYW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iKTsKKyAgYXNzZXJ0TXNnKGNhdXNl
ZEV4Y2VwdGlvbihtYWtlVGV4U3ViSW1hZ2UyRChnbCwgY2FudmFzMikpLAorICAgICAgICAgICAg
InRleFN1YkltYWdlMkQgd2l0aCBOT04gb3JpZ2luIGNsZWFuIGNhbnZhcyBzaG91bGQgdGhyb3cg
ZXhjZXB0aW9uLiIpOworCisgIGRlYnVnKCJjaGVjayB0aGF0IHJlYWRQaXhlbHMgYW5kIHRvRGF0
YVVSTCBjb250aW51ZSB0byB3b3JrIGFnYWluc3QgdGhpcyBjYW52YXMuIik7CisgIGFzc2VydE1z
ZyghY2F1c2VkRXhjZXB0aW9uKG1ha2VSZWFkUGl4ZWxzKGdsKSksCisgICAgICAgICAgICAicmVh
ZFBpeGVscyBzaG91bGQgbmV2ZXIgdGhyb3cgZXhjZXB0aW9uIC0tIG5vdCBwb3NzaWJsZSB0byBk
aXJ0eSBvcmlnaW4gb2YgV2ViR0wgY2FudmFzLiIpOworICBhc3NlcnRNc2coIWNhdXNlZEV4Y2Vw
dGlvbihtYWtlVG9EYXRhVVJMKGNhbnZhczEpKSwKKyAgICAgICAgICAgICJzaG91bGQgbm90IHRo
cm93IGV4Y2VwdGlvbiBieSB0b0RhdGFVUkwgZm9yIFdlYkdMIGNhbnZhcywgd2hpY2ggc2hvdWxk
IHN0YXkgb3JpZ2luIGNsZWFuLiIpOworCisgIC8vIFRPRE86IFNob3VsZCBjaGVjayB2aWRlby4K
KyAgLy8gVE9ETzogU2hvdWxkIGNoZWNrIENPUlMgc3VwcG9ydC4KKworICBkZWJ1ZygiIik7Cisg
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgIHNob3VsZEJlVHJ1ZSgic3VjY2Vzc2Z1bGx5
UGFyc2VkIik7CisgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVU
RTwvc3Bhbj4nKTsKKyAgbm90aWZ5RmluaXNoZWRUb0hhcm5lc3MoKTsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhczEiPjwvY2FudmFzPgorPGNhbnZhcyBp
ZD0iY2FudmFzMiI+PC9jYW52YXM+Cis8aW1nIGlkPSJpbWciIHNyYz0iaHR0cDovL3d3dy5vcGVu
Z2wub3JnL2ltZy9vcGVuZ2xfbG9nby5qcGciIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDg5MDhkOGQ3OWU5
ZjNlMGE2ZjhhZWQ0MzM4MGU5Yjk5MjVlZDNiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sCkBAIC0w
LDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25v
cyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv
ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0
d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRl
cmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu
Y2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt
b2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29y
IHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8K
KyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiog
aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgor
KioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U
IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG
T1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
QU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJP
TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlv
biB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQiIsICJVTlNJR05FRF9TSE9SVF81
XzZfNSIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIi
IGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0
NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mZmQzOGVkMzUwNWM3MjcwZjIwOGE2NWU0Mzg4ZmQ4OGZlNGFh
NDJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7Cisg
ICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2Vu
ZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzRfNF80XzQiLCB0ZXN0UHJvbG9ndWUp
KCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZh
cz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTkwYTM4YTA2NjAwNGE0YTRlMzIwMTVhNTE5ZTdkZDg3MGM2OGE1MgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1
NTUxLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJV
TlNJR05FRF9TSE9SVF81XzVfNV8xIiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4
YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2Fu
dmFzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg1MjMyYjFmMzA3ZGU5YWQyNGU3MDNmMTM2NjcwOWUyMTI1NGY2
MWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3Qo
IlJHQkEiLCAiVU5TSUdORURfQllURSIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJl
eGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYjU2NS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1pbWFnZS1yZ2I1NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTAyNWIxODVkNGE0MDJkZTEzZDExMTc0
YjI1NTZhNDZlNDNhMjVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUo
Z2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSdnZW5lcmF0ZVRlc3QoIlJHQiIsICJVTlNJR05FRF9TSE9SVF81XzZfNSIsICIuLiIsIHRl
c3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0i
MzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2MzM2I0ODJkODM5MTQ4YjhlM2YzMzk0ZThmNzIyZGE1OThmY2E1OQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1h
Z2UtcmdiYTQ0NDQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJH
QkEiLCAiVU5TSUdORURfU0hPUlRfNF80XzRfNCIsICIuLiIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA0MDU1NGM1
MTUzMDhjNjFiZmM1ZDhjZmJkNmQzNTk4OTIzNzM4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbApA
QCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWltYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5j
dGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hP
UlRfNV81XzVfMSIsICIuLiIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxl
IiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzRmMmQ1NWQzNDliMGIzMmU3Y2ViYjQzM2U5ZjZkZjNjNjVmODNkOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMp
IDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5
IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBj
b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl
cyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0
IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRz
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1
YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoq
IHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRv
IHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg
YmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg
dGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMi
LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJ
TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFO
VEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H
RU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M
REVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklM
SVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJX
SVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBN
QVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgor
Ki8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0
cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAi
VU5TSUdORURfQllURSIsICIuLiIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFt
cGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYjU2NS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1yZ2I1NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYWMxMWUyNjk2YzJiMzRhNTk5ZmM3YWRlZjYz
ZmM5Y2ZmOTQyZmMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wp
IHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSdnZW5lcmF0ZVRlc3QoIlJHQiIsICJVTlNJR05FRF9TSE9SVF81XzZfNSIsIHRlc3RQcm9sb2d1
ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2Fu
dmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGE5MTFhYTAzNzZjZWZkOTViYTdlNjA2N2ExNDlkNGNiYTY3ODZkYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0
NDQuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmlj
dCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5T
SUdORURfU0hPUlRfNF80XzRfNCIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFt
cGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LXZpZGVvLXJnYmE1NTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjdlZjYyZmY3ZDhmYmMxZDZjN2Q5MmQ5
MmYyNmQ1NjkyNzdlYWU1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbApAQCAtMCwwICsxLDQ5IEBA
Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5j
LgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29y
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRv
IGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoq
IHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn
ZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGll
cyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl
IE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k
IHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3Bp
ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUg
TUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiog
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBP
RiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBP
UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhF
UiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9n
dWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNV81XzVfMSIsIHRl
c3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0i
MzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjVjNGE3ZjUz
NGI2OWJmYjlmZDhlMjRhNzNkNDAzMzUwNGY2OTA5YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbApAQCAtMCwwICsx
LDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3Jv
dXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxz
IiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5
LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxs
IGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdo
b20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFs
bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisq
KiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G
IEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J
VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD
VElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9V
VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBP
UiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZp
ZGVvLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0
UHJvbG9ndWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfQllURSIsIHRlc3RQ
cm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIi
PjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LWFjdGl2ZS1iaW5kLTIuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjI5OTYyMjE1YzhhYzI1ZjRiNjgzYWE4NzRmM2RkMTcxYzY3M2RhMDAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbApAQCAt
MCwwICsxLDE5MiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgICA8dGl0bGU+V2ViR0wgQWN0aXZlVGV4dHVyZSBCaW5kVGV4dHVyZSBjb25mb3JtYW5jZSB0
ZXN0ICMyPC90aXRsZT4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBzdHlsZT0id2lkdGg6IDQw
cHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iY2FudmFzMmQiIHdpZHRo
PSIxIiBoZWlnaHQ9IjEiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52
YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK3VuaWZv
cm0gbWF0NCB3b3JsZDsKK2F0dHJpYnV0ZSB2ZWMzIHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWMy
IHRleENvb3JkMDsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgIGds
X1Bvc2l0aW9uID0gd29ybGQgKiB2ZWM0KHZQb3NpdGlvbiwgMSk7CisgIHRleENvb3JkID0gdGV4
Q29vcmQwOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMmQiIHR5cGU9Ingtc2hh
ZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2Ft
cGxlcjJEIHRleDJkOwordmFyeWluZyB2ZWMyIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAg
Z2xfRnJhZ0NvbG9yID0gdGV4dHVyZTJEKHRleDJkLCB0ZXhDb29yZCk7Cit9Cis8L3NjcmlwdD4K
KzxzY3JpcHQgaWQ9ImZzaGFkZXJDdWJlIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3By
ZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBsZXJDdWJlIHRleEN1YmU7Cit2
b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlQ3ViZSh0ZXhDdWJlLCB2ZWMz
KDAsMSwwKSk7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0
aW9uIGluaXQoKQoreworICBkZXNjcmlwdGlvbigKKyAgICAgICJUZXN0cyB0aGF0IGJpbmRpbmcg
Ym90aCBURVhUVVJFXzJEIGFuZCBURVhUVVJFX0NVQkVfTUFQIHRvIHRoZSBzYW1lIiArCisgICAg
ICAiYWN0aXZlIHRleHR1cmUgdW5pdCB3b3JrcyBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCB1c2Vk
IiArCisgICAgICAic2ltdWx0YW5lb3VzbHkgaW4gdGhlIHNhbWUgc2hhZGVyIHByb2dyYW0uIik7
CisKKyAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczJkIik7
CisgIHZhciBjdHgyZCA9IGNhbnZhczJkLmdldENvbnRleHQoIjJkIik7CisgIGN0eDJkLmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9ICJjb3B5IjsKKworICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKyAgdmFyIHBy
b2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgICAgZ2wsIFsidnNoYWRlciIsICJmc2hhZGVy
MmQiXSwgWyJ2UG9zaXRpb24iLCAidGV4Q29vcmQwIl0pOworCisgIHZhciBwcm9ncmFtMmQgPSBw
cm9ncmFtOworICB2YXIgcHJvZ3JhbUN1YmUgPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgICAgZ2ws
IFsidnNoYWRlciIsICJmc2hhZGVyQ3ViZSJdLCBbInZQb3NpdGlvbiIsICJ0ZXhDb29yZDAiXSk7
CisKKyAgdmFyIHZlcnRleE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVm
ZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVyRGF0YSgKKyAg
ICAgIGdsLkFSUkFZX0JVRkZFUiwKKyAgICAgIG5ldyBGbG9hdDMyQXJyYXkoWy0xLCAxLDAsIDEs
MSwwLCAtMSwtMSwwLAorICAgICAgICAgICAgICAgICAgICAgICAgLTEsLTEsMCwgMSwxLDAsICAx
LC0xLDBdKSwKKyAgICAgIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmli
QXJyYXkoMCk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIGZhbHNl
LCAwLCAwKTsKKworICB2YXIgdmVydGV4T2JqZWN0ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CisgIGds
LmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICBnbC5idWZmZXJE
YXRhKAorICAgICAgZ2wuQVJSQVlfQlVGRkVSLAorICAgICAgbmV3IEZsb2F0MzJBcnJheShbIDAs
MCwgMSwwLCAwLDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgMCwxLCAxLDAsIDEsMV0pLAor
ICAgICAgZ2wuU1RBVElDX0RSQVcpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgxKTsK
KyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcigxLCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwor
CisgIC8vIE1ha2UgdGV4dHVyZSB1bml0IDEgYWN0aXZlLgorICBnbC5hY3RpdmVUZXh0dXJlKGds
LlRFWFRVUkUxKTsKKworICAvLyBNYWtlIGEgMmQgdGV4dHVyZQorICB2YXIgdGV4MmQgPSBnbC5j
cmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleDJkKTsK
KyAgY3R4MmQuZmlsbFN0eWxlID0gInJnYmEoMCwgMCwgMjU1LCAyNTUpIjsKKyAgY3R4MmQuZmls
bFJlY3QoMCwgMCwgMSwgMSk7CisgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgY2FudmFzMmQpOworCisgIC8vIG1ha2Ug
YSBjdWJlIHRleHR1cmUKKyAgdmFyIHRleEN1YmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRleEN1YmUpOworICBjdHgyZC5maWxs
U3R5bGUgPSAicmdiYSgyNTUsIDAsIDI1NSwgMjU1KSI7CisgIGN0eDJkLmZpbGxSZWN0KDAsIDAs
IDEsIDEpOworICB2YXIgdGFyZ2V0cyA9IFsKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lU
SVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZF
X1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfTkVHQVRJVkVfWl07CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0YXJnZXRzLmxl
bmd0aDsgKytpaSkgeworICAgIGdsLnRleEltYWdlMkQodGFyZ2V0c1tpaV0sIDAsIGdsLlJHQkEs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGNhbnZhczJkKTsKKyAgfQorCisgIC8vIFNldHVw
IHByb2dyYW0yZCBhbmQgcHJvZ3JhbUN1YmUKKyAgdmFyIHRleDJkTG9jID0gZ2wuZ2V0VW5pZm9y
bUxvY2F0aW9uKHByb2dyYW0yZCwgInRleDJkIik7CisgIHZhciB3b3JsZDJkTG9jID0gZ2wuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0yZCwgIndvcmxkIik7CisgIHZhciB0ZXhDdWJlTG9jID0g
Z2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1DdWJlLCAidGV4Q3ViZSIpOworICB2YXIgd29y
bGRDdWJlTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1DdWJlLCAid29ybGQiKTsK
KworICBnbC51c2VQcm9ncmFtKHByb2dyYW0yZCk7CisgIGdsLnVuaWZvcm0xaSh0ZXgyZExvYywg
MSk7CisgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbUN1YmUpOworICBnbC51bmlmb3JtMWkodGV4Q3Vi
ZUxvYywgMSk7CisKKyAgZ2wuY2xlYXJDb2xvcigxLDAsMCwxKTsKKyAgZ2wuY2xlYXIoZ2wuQ09M
T1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworCisgIHZhciBwcm9ncmFtcyA9
IFtwcm9ncmFtMmQsIHByb2dyYW1DdWJlXTsKKyAgdmFyIHdvcmxkTG9jcyA9IFt3b3JsZDJkTG9j
LCB3b3JsZEN1YmVMb2NdOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgNDsgKytpaSkgeworICAg
IHZhciB4ID0gaWkgJSAyOworICAgIHZhciB5ID0gTWF0aC5mbG9vcihpaSAvIDIpOworICAgIGds
LnVzZVByb2dyYW0ocHJvZ3JhbXNbeF0pOworICAgIGdsLnVuaWZvcm1NYXRyaXg0ZnYoCisgICAg
ICAgIHdvcmxkTG9jc1t4XSwgZmFsc2UsCisgICAgICAgIFswLjUsIDAsIDAsIDAsCisgICAgICAg
ICAwLCAwLjUsIDAsIDAsCisgICAgICAgICAwLCAwLCAxLCAwLAorICAgICAgICAgLTAuNSArIHgs
IC0wLjUgKyB5LCAwLCAxXSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYp
OworICB9CisKKyAgdmFyIGNvbG9ycyA9IFsKKyAgICAgIFswLDAsMjU1LDI1NV0sCisgICAgICBb
MjU1LDAsMjU1LDI1NV0sCisgICAgICBbMCwwLDI1NSwyNTVdLAorICAgICAgWzI1NSwwLDI1NSwy
NTVdXTsKKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgY29sb3JzLmxlbmd0aDsgKytpaSkgewor
ICAgIHZhciBjID0gY29sb3JzW2lpXTsKKyAgICB2YXIgeCA9IGlpICUgMjsKKyAgICB2YXIgeSA9
IE1hdGguZmxvb3IoaWkgLyAyKTsKKyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCB4LCB5LCAx
LCAxLCBjKTsKKyAgfQorfQorCitpbml0KCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtYWN0aXZlLWJpbmQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lYjlhNzkyMTU0ODRhNWI5ZDA4ZWM4MmRiZGM1YjE5MzZiOWYyM2Mw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1sCkBA
IC0wLDAgKzEsMTU3IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBBY3RpdmVUZXh0dXJlIEJpbmRUZXh0dXJlIGNvbmZvcm1hbmNlIHRlc3Qu
PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lk
dGg9IjIiIGhlaWdodD0iMiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48L2Nh
bnZhcz4KKzxjYW52YXMgaWQ9ImNhbnZhczJkIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBzdHlsZT0i
d2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVy
IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+Cit1bmlmb3JtIG1hdDQgd29ybGQ7CithdHRyaWJ1
dGUgdmVjMyB2UG9zaXRpb247CithdHRyaWJ1dGUgdmVjMiB0ZXhDb29yZDA7Cit2YXJ5aW5nIHZl
YzIgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICBnbF9Qb3NpdGlvbiA9IHdvcmxkICogdmVj
NCh2UG9zaXRpb24sIDEpOworICB0ZXhDb29yZCA9IHRleENvb3JkMDsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciBnbDsKKworZnVuY3Rpb24gaW5pdCgpCit7Cisg
IGRlc2NyaXB0aW9uKAorICAgICAgIlRlc3RzIHRoYXQgZ2xBY3RpdmVUZXh0dXJlIGFuZCBnbEJp
bmRUZXh0dXJlIHdvcmsgYXMgZXhwZWN0ZWQiICsKKyAgICAgICJTcGVjaWZpY2FsbHkgdGV4dHVy
ZSB0YXJnZXRzIGFyZSBwZXIgYWN0aXZlIHRleHR1cmUgdW5pdC4iKTsKKworICB2YXIgY2FudmFz
MmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMmQiKTsKKyAgdmFyIGN0eDJkID0g
Y2FudmFzMmQuZ2V0Q29udGV4dCgiMmQiKTsKKworICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
CisgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworICB2YXIgcHJvZ3JhbSA9
IHd0dS5zZXR1cFByb2dyYW0oCisgICAgICBnbCwKKyAgICAgIFsidnNoYWRlciIsIHd0dS5zZXR1
cFNpbXBsZVRleHR1cmVGcmFnbWVudFNoYWRlcihnbCldLAorICAgICAgWyd2UG9zaXRpb24nLCAn
dGV4Q29vcmQwJ10pOworICB3dHUuc2V0dXBVbml0UXVhZChnbCk7CisgIGdsLmRpc2FibGUoZ2wu
REVQVEhfVEVTVCk7CisgIGdsLmRpc2FibGUoZ2wuQkxFTkQpOworICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SKTsKKworICB2YXIgY29sb3JzID0gWworICAgICAgWzAsMTkyLDEyOCwy
NTVdLAorICAgICAgWzEyOCw2NCwyNTUsMjU1XSwKKyAgICAgIFsxOTIsMjU1LDY0LDI1NV0sCisg
ICAgICBbMjAwLDAsMjU1LDI1NV1dOworCisgIC8vIE1ha2UgNCB0ZXh0dXJlcyBieSB1c2luZyA0
IGFjdGl2ZSB0ZXh0dXJlIHVuaXRzIGlmIGF2YWlsYWJsZS4KKyAgdmFyIHRleHVuaXRzID0gTWF0
aC5taW4oY29sb3JzLmxlbmd0aCwgZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9DT01CSU5FRF9URVhU
VVJFX0lNQUdFX1VOSVRTKSkKKyAgdmFyIHRleHR1cmVzID0gW107CisgIGZvciAodmFyIGlpID0g
MDsgaWkgPCB0ZXh1bml0czsgKytpaSkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJl
KCk7CisgICAgZ2wuYWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMCArIGlpKTsKKyAgICBnbC5iaW5k
VGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIHRleHR1cmVzW2lpXSA9IHRleDsKKyAg
fQorICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKworICAvLyBub3cgdXNlIGVh
Y2ggdGV4dHVyZSB1bml0IHRvIHdyaXRlIGludG8gdGhlIHRleHR1cmVzLAorICBmb3IgKHZhciBp
aSA9IDA7IGlpIDwgdGV4dW5pdHM7ICsraWkpIHsKKyAgICB2YXIgYyA9IGNvbG9yc1tpaV07Cisg
ICAgY3R4MmQuZmlsbFN0eWxlID0KKyAgICAgICAgInJnYmEoIiArIGNbMF0gKyAiLCIgKyBjWzFd
ICsgIiwiICsgY1syXSArICIsIiArIGNbM10gKyAiKSI7CisgICAgY3R4MmQuZmlsbFJlY3QoMCwg
MCwgMSwgMSk7CisgICAgZ2wuYWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMCArIGlpKTsKKyAgICBn
bC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGNhbnZhczJkKTsKKyAgfQorICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SKTsKKworICB2YXIgdGV4dHVyZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFt
LCAidGV4Iik7CisgIHZhciB3b3JsZExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFt
LCAid29ybGQiKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKKyAgZ2wu
Y2xlYXJDb2xvcigxLDAsMCwxKTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGds
LkRFUFRIX0JVRkZFUl9CSVQpOworCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXh1bml0czsg
KytpaSkgeworICAgIHZhciB4ID0gaWkgJSAyOworICAgIHZhciB5ID0gTWF0aC5mbG9vcihpaSAv
IDIpOworICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCBpaSk7CisgICAgZ2wudW5pZm9ybU1h
dHJpeDRmdigKKyAgICAgICAgd29ybGRMb2MsIGZhbHNlLAorICAgICAgICBbMC41LCAwLCAwLCAw
LAorICAgICAgICAgMCwgMC41LCAwLCAwLAorICAgICAgICAgMCwgMCwgMSwgMCwKKyAgICAgICAg
IC0wLjUgKyB4LCAtMC41ICsgeSwgMCwgMV0pOworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5H
TEVTLCAwLCA2KTsKKyAgfQorICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKwor
ICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGV4dW5pdHM7ICsraWkpIHsKKyAgICB2YXIgYyA9IGNv
bG9yc1tpaV07CisgICAgdmFyIHggPSBpaSAlIDI7CisgICAgdmFyIHkgPSBNYXRoLmZsb29yKGlp
IC8gMik7CisgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KDQpOworICAgIGdsLnJlYWRQaXhl
bHMoeCwgeSwgMSwgMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKKyAgICB2YXIg
bXNnID0gJ2V4cGVjdGVkOicgKworICAgICAgICBjWzBdICsgJywgJyArIGNbMV0gKyAnLCAnICsg
Y1syXSArICcsICcgKyBjWzNdICsgJyBmb3VuZDogJyArCisgICAgICAgIGJ1ZlswXSArICcsICcg
KworICAgICAgICBidWZbMV0gKyAnLCAnICsKKyAgICAgICAgYnVmWzJdICsgJywgJyArCisgICAg
ICAgIGJ1ZlszXTsKKyAgICBpZiAoYnVmWzBdICE9IGNbMF0gfHwKKyAgICAgICAgYnVmWzFdICE9
IGNbMV0gfHwKKyAgICAgICAgYnVmWzJdICE9IGNbMl0gfHwKKyAgICAgICAgYnVmWzNdICE9IGNb
M10pCisgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAgZWxzZQorICAgICAgdGVzdFBhc3NlZCht
c2cpOworICB9Cit9CisKK2luaXQoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLW1pcHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZhZDJlNmZhOTVlNDY2ZWY1YThhMjFiNTlmODgxMzIwNTI3NWNlNDAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbApAQCAtMCwwICsxLDMxOSBAQAorPCEtLQor
CisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisq
KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl
cnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lh
dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGlu
IHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0
IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp
c2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl
IE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlh
bHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl
cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1
YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFM
UyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoq
IEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS
UkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFV
VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBE
QU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB
Q1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O
TkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO
R1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdGV4dHVyZSBt
aXBzIGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNh
bnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIiIGhlaWdodD0iMiIgc3R5bGU9IndpZHRoOiA0MHB4
OyBoZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1z
aGFkZXIveC12ZXJ0ZXgiPgordW5pZm9ybSB2ZWM0IHVNdWx0OworYXR0cmlidXRlIHZlYzQgdlBv
c2l0aW9uOworYXR0cmlidXRlIHZlYzIgdGV4Q29vcmQwOwordmFyeWluZyB2ZWMyIHRleENvb3Jk
Owordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbiAqIHVNdWx0Owor
ICAgIHRleENvb3JkID0gdGV4Q29vcmQwOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZz
aGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxv
YXQ7Cit1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7Cit2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7Cit2b2lk
IG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHRleHR1cmUyRCh0ZXgsIHRleENvb3JkKTsK
K30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciBjYW52YXM7Cit2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7CitmdW5jdGlvbiBpbml0KCkKK3sKKyAgZGVzY3JpcHRpb24o
IkNoZWNrcyBtaXAgaXNzdWVzIik7CisKKyAgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImV4YW1wbGUiKTsKKyAgc2hvdWxkQmUoImNhbnZhcy53aWR0aCIsICIyIik7CisgIHNob3Vs
ZEJlKCJjYW52YXMuaGVpZ2h0IiwgIjIiKTsKKworICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KGNhbnZhcyk7CisKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmlu
ZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVY
VFVSRV8yRCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJm
b3IgZ2VuZXJhdGVNaXBtYXAgd2l0aCBtaXAgMCBpcyAweDAiKTsKKyAgZ2wudGV4SW1hZ2UyRCgK
KyAgICAgIGdsLlRFWFRVUkVfMkQsIDEsIGdsLlJHQkEsIDEsIDEsIDAsIGdsLlJHQkEsIGdsLlVO
U0lHTkVEX0JZVEUsCisgICAgICBuZXcgVWludDhBcnJheSg0KSk7CisgIGdsLmdlbmVyYXRlTWlw
bWFwKGdsLlRFWFRVUkVfMkQpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BF
UkFUSU9OLCAiZm9yIGdlbmVyYXRlTWlwbWFwIHdpdGggbWlwIDAgaXMgMHgwIik7CisKKyAgdGV4
ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVf
TUFQLCB0ZXgpOworICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFX0NVQkVfTUFQKTsKKyAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvciBnZW5lcmF0ZU1p
cG1hcCB3aXRoIG1pcCAwIGlzIDB4MCIpOworCisgIHZhciBmYWNlcyA9IFsKKyAgICBnbC5URVhU
VVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElW
RV9YLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9a
LAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWgorICBdOworICBmb3IgKHZhciBp
aSA9IDA7IGlpIDwgZmFjZXMubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wudGV4SW1hZ2UyRCgKKyAg
ICAgICAgZmFjZXNbaWldLCAwLCBnbC5SR0JBLCAyLCAyLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLAorICAgICAgICBuZXcgVWludDhBcnJheSg0ICogMiAqIDIpKTsKKyAgICBnbC5nZW5l
cmF0ZU1pcG1hcChnbC5URVhUVVJFX0NVQkVfTUFQKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGlpID09IDUgPyBnbC5OT19FUlJPUiA6IGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZm9yIGdlbmVy
YXRlTWlwbWFwIHdpdGggIiArIChpaSArIDEpICsgIiBmYWNlcyIpOworICB9CisKKyAgd3R1LnNl
dHVwVW5pdFF1YWQoZ2wsIDAsIDEpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0o
CisgICAgICBnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWyd2UG9zaXRpb24nLCAndGV4Q29v
cmQwJ10sIFswLCAxXSk7CisKKyAgZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKyAgZ2wuZGlz
YWJsZShnbC5CTEVORCk7CisKKyAgdmFyIGNvbG9ycyA9IHsKKyAgICBibHVlOiBbMCwgMCwgMjU1
LCAyNTVdLAorICAgIHJlZDogWzI1NSwgMCwgMCwgMjU1XSwKKyAgICBncmVlbjogIFswLCAyNTUs
IDAsIDI1NV0sCisgICAgY3lhbjogWzEyOCwgMjU1LCAyNTUsIDI1NV0sCisgICAgYmxhY2s6IFsw
LCAwLCAwLCAyNTVdLAorICAgIGJsYW5rOiBbMCwgMCwgMCwgMF0KKyAgfTsKKworICB2YXIgbWlw
cyA9IFsKKyAgXTsKKworICB2YXIgdGV4TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dy
YW0sICJ0ZXgiKTsKKyAgZ2wudW5pZm9ybTFpKHRleExvYywgMCk7CisgIHZhciBtdWx0TG9jID0g
Z2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1TXVsdCIpOworCisgIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgdmFyIGNsZWFy
VGV4ID0gY3JlYXRlVGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwg
MSk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIGNsZWFyVGV4KTsKKyAgZ2wudGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxNiwgMTYsIDAsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIG51bGwpOworICBkZWJ1ZygnZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBnbC5SR0JBLCAxNiwgMTYsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51
bGwpOycpOworICBzZXRNaXBEYXRhKDAsIDE2LCAnYmxhbmsnKTsKKyAgbWFrZURpdk1pcENoYWlu
KCk7CisgIGdlbmVyYXRlTWlwbWFwKCk7CisgIGNoZWNrKCdibGFuaycsICJ0ZXh0dXJlIGNyZWF0
ZWQgd2l0aCBudWxsIHRoYXQgaGFzIGFsbCBtaXBzIik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgdGV4ID0gY3JlYXRl
VGV4dHVyZSgpOworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisKKyAgZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgLy8gMTZ4MTYgdGV4dHVyZSBubyBt
aXBzCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2LCAnY3lhbicpOworCisgIGNoZWNrKCdibGFjaycs
CisgICAgICAgICJ0ZXh0dXJlIHRoYXQgaXMgbWlzc2luZyBtaXBzIHdoZW4gVEVYVFVSRV9NSU5f
RklMVEVSIG5vdCBORUFSRVNUIG9yIExJTkVBUiIpOworCisgIGdlbmVyYXRlTWlwbWFwKCk7CisK
KyAgY2hlY2soJ2N5YW4nLCAidGV4dHVyZSB0aGF0IGhhcyBhbGwgbWlwcyIpOworCisgIC8vIEZp
bGwgaW4gdGhlIGJvdHRvbSAyIG1pcHMgd2l0aCBhIGRpZmZlcmVudCBjb2xvci4KKyAgZmlsbExl
dmVsKHRleCwgNCwgMSwgJ2dyZWVuJyk7CisgIGZpbGxMZXZlbCh0ZXgsIDMsIDIsICdncmVlbicp
OworCisgIC8vIENob29zZSB0aGUgbmVhcmVzdCBtaXAKKyAgdGV4UGFyYW1ldGVyaShnbC5URVhU
VVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCk7
CisKKyAgY2hlY2soJ2dyZWVuJywgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRoZSBzbWFs
bGVzdCAyIG1pcHMiKTsKKworICBnbC51bmlmb3JtNGYobXVsdExvYywgMTYsIDE2LCAxLCAxKTsK
KworICBjaGVjaygnY3lhbicsICJ0ZXh0dXJlIHRoYXQgaXMgdXNpbmcgb25seSB0aGUgbGFyZ2Vz
dCAyIG1pcHMiKTsKKworICAvLyBTZXQgdGhlIHRvcCBsZXZlbAorICBmaWxsTGV2ZWwodGV4LCAw
LCAxLCAncmVkJyk7CisgIGNoZWNrKCdyZWQnLAorICAgICAgICAidGV4dHVyZSB0aGF0IGlzIG9u
bHkgdXNpbmcgdGhlIHRvcCBsZXZlbCBldmVuIHRob3VnaCBvdGhlciBsZXZlbHMgYXJlIGRlZmlu
ZWQiKTsKKworICAvLyBTZXQgdGhlIHRvcCAyIGxldmVscyB1c2luZyBnZW5lcmF0ZU1pcG1hcAor
ICBmaWxsTGV2ZWwodGV4LCAwLCAyLCAnYmx1ZScpOworICBnZW5lcmF0ZU1pcG1hcCgpOworCisg
IGNoZWNrKCdibHVlJywKKyAgICAgICAgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRoZSB0
b3AgMiBsZXZlbHMgZXZlbiB0aG91Z2ggb3RoZXIgbGV2ZWxzIGFyZSBkZWZpbmVkIik7CisKKyAg
Ly8gU2V0IHRoZSB0b3AgMiBsZXZlbHMgYmFjayB0byBzaXplcyB0aGF0IGVuZCB1cCB1c2luZyBs
ZXZlbHMgMiwgMywgYW5kIDQgYWdhaW4uCisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2LCAnYmx1ZScp
OworICBmaWxsTGV2ZWwodGV4LCAxLCA4LCAnYmx1ZScpOworICBjaGVjaygnYmx1ZScsICJ0ZXh0
dXJlIHRoYXQgaXMgb25seSB1c2luZyB0aGUgbGFyZ2VzdCAyIG1pcHMiKTsKKyAgZ2wudW5pZm9y
bTRmKG11bHRMb2MsIDEsIDEsIDEsIDEpOworICBjaGVjaygnZ3JlZW4nLCAidGV4dHVyZSB0aGF0
IGlzIG9ubHkgdXNpbmcgdGhlIHNtYWxsZXN0IDIgbWlwcyIpOworCisgIC8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgdmFyIHRleCA9IGNy
ZWF0ZVRleHR1cmUoKTsKKyAgZ2wudW5pZm9ybTRmKG11bHRMb2MsIDEsIDEsIDEsIDEpOworICBm
aWxsTGV2ZWwodGV4LCAwLCA4LCAnY3lhbicpOworICBnZW5lcmF0ZU1pcG1hcCgpOworICBjaGVj
aygnY3lhbicsICJ0ZXh0dXJlIHRoYXQgaGFzIDMgbWlwcyIpOworCisgIGZpbGxMZXZlbCh0ZXgs
IDAsIDE2LCAnYmx1ZScpOworICB0ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgY2hlY2soJ2JsdWUnLCAidGV4dHVyZSB0aGF0
IGlzIG9ubHkgdXNpbmcgdG9wIG1pcHMiKTsKKworICBmaWxsTGV2ZWwodGV4LCAwLCA4LCAncmVk
Jyk7CisgIHRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVS
LCBnbC5MSU5FQVJfTUlQTUFQX05FQVJFU1QpOworICBjaGVjaygnY3lhbicsICJ0ZXh0dXJlIHRo
YXQgaXMgb25seSB1c2luZyBzbWFsbGVzdCBtaXBzIik7CisKKyAgZ2wudW5pZm9ybTRmKG11bHRM
b2MsIDE2LCAxNiwgMSwgMSk7CisgIGNoZWNrKCdyZWQnLCAidGV4dHVyZSB0aGF0IGlzIHVzaW5n
IG9ubHkgdGhlIGxhcmdlc3QgbWlwIik7CisKKyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICB2YXIgdGV4ID0gY3JlYXRlVGV4dHVyZSgp
OworICBnbC51bmlmb3JtNGYobXVsdExvYywgMSwgMSwgMSwgMSk7CisgIGZpbGxMZXZlbCh0ZXgs
IDIsIDEsICdncmVlbicpOworICBmaWxsTGV2ZWwodGV4LCAxLCAyLCAnZ3JlZW4nKTsKKyAgZmls
bExldmVsKHRleCwgMCwgNCwgJ2dyZWVuJyk7CisgIGNoZWNrKCdncmVlbicsICJ0ZXh0dXJlIHRo
YXQgd2FzIGJ1aWx0IHNtYWxsZXN0IG1pcCBmaXJzdCIpOworCisgIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgdmFyIHRleCA9IGNyZWF0
ZVRleHR1cmUoKTsKKyAgZ2wudW5pZm9ybTRmKG11bHRMb2MsIDEsIDEsIDEsIDEpOworICBmaWxs
TGV2ZWwodGV4LCAwLCAxNiwgJ3JlZCcpOworICBnZW5lcmF0ZU1pcG1hcCgpOworICBjaGVjaygn
cmVkJywgInRleHR1cmUgd2l0aCAxIGdlbm1pcG1hcHMiKTsKKyAgZmlsbExldmVsKHRleCwgMCwg
MTYsICdibHVlJyk7CisgIGdlbmVyYXRlTWlwbWFwKCk7CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2
LCAnZ3JlZW4nKTsKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKyAgY2hlY2soJ2dyZWVuJywgInRleHR1
cmUgd2l0aCAyIGdlbm1pcG1hcHMiKTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsICJTaG91bGQgYmUgbm8gZXJyb3JzLiIpOworCisgIGZ1bmN0aW9uIGNyZWF0ZVRleHR1
cmUoKSB7CisgICAgZGVidWcoIjxoci8+Z2wuY3JlYXRlVGV4dHVyZSgpIik7CisgICAgbWlwcyA9
IFtdOworICAgIG1ha2VEaXZNaXBDaGFpbigpOworICAgIHJldHVybiBnbC5jcmVhdGVUZXh0dXJl
KCk7CisgIH0KKworICBmdW5jdGlvbiB0ZXhQYXJhbWV0ZXJpKHRhcmdldCwgcG5hbWUsIHZhbHVl
KSB7CisgICAgZGVidWcoImdsLnRleFBhcmFtZXRlcmkoIiArCisgICAgICAgICAgd3R1LmdsRW51
bVRvU3RyaW5nKGdsLCB0YXJnZXQpICsgIiwgIiArCisgICAgICAgICAgd3R1LmdsRW51bVRvU3Ry
aW5nKGdsLCBwbmFtZSkgKyAiLCAiICsKKyAgICAgICAgICB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2ws
IHZhbHVlKSArICIpIikKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKHRhcmdldCwgcG5hbWUsIHZhbHVl
KTsKKyAgfQorCisgIGZ1bmN0aW9uIGdlbmVyYXRlTWlwbWFwKCkgeworICAgIGRlYnVnKCJnbC5n
ZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKSIpOworICAgIGdsLmdlbmVyYXRlTWlwbWFwKGds
LlRFWFRVUkVfMkQpOworICAgIHZhciBtaXAwID0gbWlwc1swXTsKKyAgICB2YXIgc2l6ZSA9IG1p
cDAuc2l6ZTsKKyAgICB2YXIgbGV2ZWwgPSAxOworICAgIGZvcig7OykgeworICAgICAgc2l6ZSA9
IE1hdGguZmxvb3Ioc2l6ZSAvIDIpOworICAgICAgaWYgKCFzaXplKSB7CisgICAgICAgIGJyZWFr
OworICAgICAgfQorICAgICAgc2V0TWlwRGF0YShsZXZlbCwgc2l6ZSwgbWlwMC5jb2xvcik7Cisg
ICAgICArK2xldmVsOworICAgIH0KKyAgICBtYWtlRGl2TWlwQ2hhaW4oKTsKKyAgfQorCisgIGZ1
bmN0aW9uIGNoZWNrKGNvbG9yLCBtc2cpIHsKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0
dS5jaGVja0NhbnZhcyhnbCwgY29sb3JzW2NvbG9yXSwgbXNnICsgIiBzaG91bGQgZHJhdyB3aXRo
ICIgKyBjb2xvcik7CisgIH0KKworICBmdW5jdGlvbiBmaWxsTGV2ZWwodGV4LCBsZXZlbCwgc2l6
ZSwgY29sb3IpIHsKKyAgICBzZXRNaXBEYXRhKGxldmVsLCBzaXplLCBjb2xvcik7CisgICAgZGVi
dWcoImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgIiArIGxldmVsICsgIiwgZ2wuUkdCQSwg
IiArIHNpemUgKyAiLCAiICsgc2l6ZSArCisgICAgICAgICAgIiwgMCwgZ2wuUkdCQSwgZ2wuVU5T
SUdORURfQllURSwgIiArIGNvbG9yICsgIik7Iik7CisgICAgd3R1LmZpbGxUZXh0dXJlKGdsLCB0
ZXgsIHNpemUsIHNpemUsIGNvbG9yc1tjb2xvcl0sIGxldmVsKTsKKyAgICBtYWtlRGl2TWlwQ2hh
aW4oKTsKKyAgfQorCisgIGZ1bmN0aW9uIHNldE1pcERhdGEobGV2ZWwsIHNpemUsIGNvbG9yKSB7
CisgICAgbWlwc1tsZXZlbF0gPSB7CisgICAgICBzaXplOiBzaXplLAorICAgICAgY29sb3I6IGNv
bG9yCisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VEaXZNaXBDaGFpbihjb2xvcikgewor
ICAgIHZhciBodG1sID0gWworICAgICAgJzxkaXYgc3R5bGU9ImhlaWdodDogNjhweDsgbWFyZ2lu
LXRvcDogNXB4Ij4nLAorICAgICAgJzxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij5taXBzOiA8L2Rp
dj4nXTsKKyAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgNTsgKytpaSkgeworICAgICAgdmFyIG1p
cCA9IG1pcHNbaWldOworICAgICAgaWYgKG1pcCkgeworICAgICAgICBodG1sLnB1c2gobWFrZURp
dlNxdWFyZShtaXAuc2l6ZSwgbWlwLmNvbG9yKSk7CisgICAgICB9IGVsc2UgeworICAgICAgICBo
dG1sLnB1c2gobWFrZURpdlNxdWFyZSgxNiwgdW5kZWZpbmVkKSk7CisgICAgICB9CisgICAgfQor
ICAgIGh0bWwucHVzaCgiPC9kaXY+Iik7CisgICAgZGVidWcoaHRtbC5qb2luKCIiKSk7CisgIH0K
KworICBmdW5jdGlvbiBtYWtlRGl2U3F1YXJlKHNpemUsIGNvbG9yKSB7CisgICAgc2l6ZSAqPSA0
OworICAgIHZhciBjID0gY29sb3IgPyBjb2xvcnNbY29sb3JdIDogWzI1NSwyNTUsMjU1XTsKKyAg
ICB2YXIgYm9yZGVyID0gY29sb3IgPyAnc29saWQnIDogJ2Rhc2hlZCc7CisgICAgcmV0dXJuICc8
ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDogJyArIHNpemUgKyAncHg7IGhlaWdodDogJyAr
IHNpemUgKworICAgICAgICAgICAncHg7IGJhY2tncm91bmQtY29sb3I6ICcgKyByZ2IoYykgKwor
ICAgICAgICAgICAnOyBib3JkZXI6IDFweCAnICsgYm9yZGVyICsgJyBibGFjazsgbWFyZ2luLXJp
Z2h0OiAzcHg7Ij48L2Rpdj4nOworICB9CisKKyAgZnVuY3Rpb24gcmdiKGMpIHsKKyAgICByZXR1
cm4gJ3JnYignICsgY1swXSArICcsJyArIGNbMV0gKyAnLCcgKyBjWzJdICsnKSc7CisgIH0KK30K
KworaW5pdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKwor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3Qtdmlk
ZW8uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjll
ZjgzYjZmZDg1MWUzYzcxYjI4N2NlMDgwYzViZGYzZWRhMjc2MzcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbApAQCAtMCwwICsxLDE3OSBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gbnVsbDsKK3ZhciB0
ZXh0dXJlTG9jID0gbnVsbDsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKworaW5p
dFRlc3RpbmdIYXJuZXNzV2FpdFVudGlsRG9uZSgpOworCitmdW5jdGlvbiBpbml0KCkKK3sKKyAg
ICBkZXNjcmlwdGlvbignVmVyaWZ5IG5wb3QgdmlkZW8nKTsKKworICAgIHZhciBjYW52YXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOworICAgIGdsID0gd3R1LmNyZWF0ZTNE
Q29udGV4dChjYW52YXMpOworICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRRdWFk
KGdsKTsKKworICAgIGdsLmNsZWFyQ29sb3IoMCwwLDAsMSk7CisgICAgZ2wuY2xlYXJEZXB0aCgx
KTsKKworICAgIHRleHR1cmVMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRl
eCIpOworCisgICAgdmFyIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZpZCIpOwor
ICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoCisgICAgICAgICJwbGF5aW5nIiwgZnVuY3Rpb24o
KSB7IHJ1blRlc3QodmlkZW8pOyB9LCB0cnVlKTsKKyAgICB2aWRlby5sb29wID0gdHJ1ZTsKKyAg
ICB2aWRlby5wbGF5KCk7Cit9CisKKy8vIFRoZXNlIHR3byBkZWNsYXJhdGlvbnMgbmVlZCB0byBi
ZSBnbG9iYWwgZm9yICJzaG91bGRCZSIgdG8gc2VlIHRoZW0KK3ZhciBidWYgPSBudWxsOwordmFy
IGlkeCA9IDA7Cit2YXIgcGl4ZWwgPSBbMCwgMCwgMF07Cit2YXIgY29ycmVjdENvbG9yID0gbnVs
bDsKK3ZhciB0ZXh0dXJlOworCitmdW5jdGlvbiBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50
LCB1c2VUZXhTdWJJbWFnZTJELCBmbGlwWSwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yLCBiYWRNaW5G
aWx0ZXIsIGJhZENsYW1wLCBnZW5NaXBzKQoreworICAgIGRlYnVnKCdUZXN0aW5nICcgKyAodXNl
VGV4U3ViSW1hZ2UyRCA/ICd0ZXhTdWJJbWFnZTJEJyA6ICd0ZXhJbWFnZTJEJykgKworICAgICAg
ICAgICcgd2l0aCBmbGlwWT0nICsgZmxpcFkpOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZF
Ul9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAvLyBEaXNhYmxlIGFueSB3cml0ZXMg
dG8gdGhlIGFscGhhIGNoYW5uZWwKKyAgICBnbC5jb2xvck1hc2soMSwgMSwgMSwgMCk7CisgICAg
aWYgKCF0ZXh0dXJlKSB7CisgICAgICAgIHRleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7Cisg
ICAgfQorICAgIC8vIEJpbmQgdGhlIHRleHR1cmUgdG8gdGV4dHVyZSB1bml0IDAKKyAgICBnbC5i
aW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKyAgICAvLyBTZXQgdXAgcGl4ZWwg
c3RvcmUgcGFyYW1ldGVycworICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19GTElQX1lfV0VC
R0wsIGZsaXBZKTsKKyAgICAvLyBVcGxvYWQgdGhlIHZpZGVvRWxlbWVudCBpbnRvIHRoZSB0ZXh0
dXJlCisgICAgZGVidWcoInNpemU6ICIgKyB2aWRlb0VsZW1lbnQudmlkZW9XaWR0aCArICJ4IiAr
IHZpZGVvRWxlbWVudC52aWRlb0hlaWdodCk7CisgICAgaWYgKHVzZVRleFN1YkltYWdlMkQpIHsK
KyAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgdGV4dHVyZSB0byBibGFjayBmaXJzdAorICAgICAg
ICBkZWJ1ZygidXNlIHRleFN1YkltYWdlMkQiKTsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0JBLAorICAgICAgICAgICAgICAgICAgICAgIHZpZGVvRWxlbWVu
dC52aWRlb1dpZHRoLCB2aWRlb0VsZW1lbnQudmlkZW9IZWlnaHQsIDAsCisgICAgICAgICAgICAg
ICAgICAgICAgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgICAgIGdsLnRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgdmlkZW9FbGVtZW50KTsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1ZygidXNlIHRl
eEltYWdlMkQiKTsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB2aWRlb0VsZW1lbnQpOworICAgIH0KKwor
ICAgIC8vIFNldCB1cCB0ZXh0dXJlIHBhcmFtZXRlcnMKKyAgICBnbC50ZXhQYXJhbWV0ZXJpKGds
LlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTElORUFSKTsKKyAgICBpZiAo
YmFkTWluRmlsdGVyKSB7CisgICAgICAgIGRlYnVnKCJiYWQgbWluIGZpbHRlciIpOworICAgICAg
ICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwg
Z2wuTElORUFSX01JUE1BUF9ORUFSRVNUKTsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1Zygi
Z29vZCBtaW4gZmlsdGVyIik7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8y
RCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworICAgIH0KKyAgICBpZiAoYmFk
Q2xhbXApIHsKKyAgICAgICAgZGVidWcoImJhZCBjbGFtcCIpOworICAgICAgICBnbC50ZXhQYXJh
bWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5SRVBFQVQpOworICAg
ICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBn
bC5SRVBFQVQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRlYnVnKCJnb29kIGNsYW1wIik7Cisg
ICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1Ms
IGdsLkNMQU1QX1RPX0VER0UpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVf
MkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICB9CisgICAgaWYg
KGdlbk1pcHMpIHsKKyAgICAgICAgZGVidWcoImdlbmVyYXRlIG1pcHMiKTsKKyAgICAgICAgZ2wu
Z2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShn
bCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJzaG91bGQgYmUgSU5WQUxJRF9PUEVSQVRJT04iKTsK
KyAgICB9CisKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsKKworLy8gICAgdmFyIGMgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKKy8vICAgIGMud2lkdGggPSAxNjsKKy8v
ICAgIGMuaGVpZ2h0ID0gMTY7CisvLyAgICBjLnN0eWxlLmJvcmRlciA9ICIxcHggc29saWQgYmxh
Y2siOworLy8gICAgdmFyIGN0eCA9IGMuZ2V0Q29udGV4dCgiMmQiKTsKKy8vICAgIGN0eC5kcmF3
SW1hZ2UodmlkZW9FbGVtZW50LCAwLCAwLCAxNiwgMTYpOworLy8gICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChjKTsKKworICAgIC8vIFBvaW50IHRoZSB1bmlmb3JtIHNhbXBsZXIgdG8gdGV4
dHVyZSB1bml0IDAKKyAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgMCk7CisgICAgLy8gRHJh
dyB0aGUgdHJpYW5nbGVzCisgICAgd3R1LmRyYXdRdWFkKGdsLCBbMCwgMCwgMCwgMjU1XSk7Cisg
ICAgLy8gQ2hlY2sgYSBmZXcgcGl4ZWxzIG5lYXIgdGhlIHRvcCBhbmQgYm90dG9tIGFuZCBtYWtl
IHN1cmUgdGhleSBoYXZlCisgICAgLy8gdGhlIHJpZ2h0IGNvbG9yLgorICAgIGRlYnVnKCJDaGVj
a2luZyBsb3dlciBsZWZ0IGNvcm5lciIpOworICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDQs
IDQsIDIsIDIsIGJvdHRvbUNvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJl
ICIgKyBib3R0b21Db2xvcik7CisgICAgZGVidWcoIkNoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVy
Iik7CisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgNCwgZ2wuY2FudmFzLmhlaWdodCAtIDgs
IDIsIDIsIHRvcENvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJlICIgKyB0
b3BDb2xvcik7CisgICAgZGVidWcoIiIpOworfQorCitmdW5jdGlvbiBydW5UZXN0KHZpZGVvRWxl
bWVudCkKK3sKKyAgICB2YXIgcmVkID0gWzI1NSwgMCwgMF07CisgICAgdmFyIGdyZWVuID0gWzAs
IDI1NSwgMF07CisgICAgdmFyIGJsYWNrID0gWzAsIDAsIDBdOworICAgIHJ1bk9uZUl0ZXJhdGlv
bih2aWRlb0VsZW1lbnQsIGZhbHNlLCB0cnVlLCBibGFjaywgYmxhY2ssIHRydWUsIHRydWUsIHRy
dWUpOworICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZhbHNlLCB0cnVlLCBibGFj
aywgYmxhY2ssIHRydWUsIGZhbHNlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVv
RWxlbWVudCwgZmFsc2UsIHRydWUsIGJsYWNrLCBibGFjaywgZmFsc2UsIHRydWUsIGZhbHNlKTsK
KyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxzZSwgdHJ1ZSwgYmxhY2ssIGJs
YWNrLCB0cnVlLCB0cnVlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVu
dCwgZmFsc2UsIHRydWUsIGdyZWVuLCByZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOworICAgIHJ1
bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZhbHNlLCBmYWxzZSwgcmVkLCBncmVlbiwgZmFs
c2UsIGZhbHNlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgdHJ1
ZSwgdHJ1ZSwgZ3JlZW4sIHJlZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisgICAgcnVuT25lSXRl
cmF0aW9uKHZpZGVvRWxlbWVudCwgdHJ1ZSwgZmFsc2UsIHJlZCwgZ3JlZW4sIGZhbHNlLCBmYWxz
ZSwgZmFsc2UpOworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3Vs
ZCBiZSBubyBlcnJvcnMiKTsKKyAgICB2aWRlb0VsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigi
cGxheWluZyIsIHJ1blRlc3QpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJpbml0KCkiPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9
IjY0IiBoZWlnaHQ9IjQ4Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHZpZGVvIGlkPSJ2aWQiIHN0eWxlPSJkaXNwbGF5
Om5vbmU7Ij4KKyAgPHNvdXJjZSBzcmM9Ii4uL3Jlc291cmNlcy9ucG90LXZpZGVvLm1wNCIgIHR5
cGU9J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyRTAxRSInIC8+CisgIDxzb3VyY2Ugc3JjPSIu
Li9yZXNvdXJjZXMvbnBvdC12aWRlby53ZWJtdnA4LndlYm0iIHR5cGU9J3ZpZGVvL3dlYm07IGNv
ZGVjcz0idnA4IicgLz4KKyAgPHNvdXJjZSBzcmM9Ii4uL3Jlc291cmNlcy9ucG90LXZpZGVvLnRo
ZW9yYS5vZ3YiICB0eXBlPSd2aWRlby9vZ2c7IGNvZGVjcz0idGhlb3JhIicgLz4KKzwvdmlkZW8+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGlt
aXQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQz
ZGE5YTYzZDNlMTc4MTM0ZTIwNTk3MTU1YWNjNzk4ZDgyM2U1NjcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbApAQCAtMCwwICsxLDE1OSBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdGV4dHVy
ZSBzaXplIGxpbWl0IGNvbmZvcm1hbmNlIHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBzdHlsZT0i
d2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJp
Y3QiOworZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHZhcmlvdXMgc2l6ZXMgbGltaXRzIG9mIHRl
eHR1cmVzICIpCit2YXIgY2FudmFzOworCitmdW5jdGlvbiBudW1MZXZlbHNGcm9tU2l6ZShzaXpl
KSB7CisgIHZhciBsZXZlbHMgPSAwOworICB3aGlsZSAoKHNpemUgPj4gbGV2ZWxzKSA+IDApIHsK
KyAgICArK2xldmVsczsKKyAgfQorICByZXR1cm4gbGV2ZWxzOworfQorCit2YXIgd3R1ID0gV2Vi
R0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7Cit2
YXIgdGVzdHMgPSBbCisgIHsgZm9ybWF0OiBnbC5BTFBIQSwgICAgICAgICAgIHR5cGU6IGdsLlVO
U0lHTkVEX0JZVEUsICAgICAgICAgIHNpemU6IDEsIGRhdGFUeXBlOiBVaW50OEFycmF5ICB9LAor
ICB7IGZvcm1hdDogZ2wuTFVNSU5BTkNFLCAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLCAg
ICAgICAgICBzaXplOiAxLCBkYXRhVHlwZTogVWludDhBcnJheSAgfSwKKyAgeyBmb3JtYXQ6IGds
LkxVTUlOQU5DRV9BTFBIQSwgdHlwZTogZ2wuVU5TSUdORURfQllURSwgICAgICAgICAgc2l6ZTog
MiwgZGF0YVR5cGU6IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5SR0IsICAgICAgICAg
ICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsICAgICAgICAgIHNpemU6IDMsIGRhdGFUeXBlOiBV
aW50OEFycmF5ICB9LAorICB7IGZvcm1hdDogZ2wuUkdCLCAgICAgICAgICAgICB0eXBlOiBnbC5V
TlNJR05FRF9TSE9SVF81XzZfNSwgICBzaXplOiAxLCBkYXRhVHlwZTogVWludDE2QXJyYXkgfSwK
KyAgeyBmb3JtYXQ6IGdsLlJHQkEsICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwg
ICAgICAgICAgc2l6ZTogNCwgZGF0YVR5cGU6IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBn
bC5SR0JBLCAgICAgICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzRfNF80XzQsIHNpemU6
IDEsIGRhdGFUeXBlOiBVaW50MTZBcnJheSB9LAorICB7IGZvcm1hdDogZ2wuUkdCQSwgICAgICAg
ICAgICB0eXBlOiBnbC5VTlNJR05FRF9TSE9SVF81XzVfNV8xLCBzaXplOiAxLCBkYXRhVHlwZTog
VWludDE2QXJyYXkgfQorXTsKKworLy8gTm90ZTogV2UgZXhwcmVzc2x5IG9ubHkgdXNlIDIgdGV4
dHVyZXMgYmVjYXVzZSBmaXJzdCBhIHRleHR1cmUgd2lsbCBiZSBkZWZpbmVkCisvLyBhcyB1c2lu
ZyBhbGwgbWlwcyBvZiAxIGZvcm1hdCwgdGhlbiBmb3IgYSBtb21lbnQgaXQgd2lsbCBoYXZlIG1p
eGVkIGZvcm1hdHMgd2hpY2gKKy8vIG1heSB1bmNvdmVyIGJ1Z3MuCit2YXIgdGFyZ2V0cyA9IFsK
KyAgeyB0YXJnZXQ6IGdsLlRFWFRVUkVfMkQsCisgICAgbWF4U2l6ZTogZ2wuZ2V0UGFyYW1ldGVy
KGdsLk1BWF9URVhUVVJFX1NJWkUpLAorICAgIG1heExldmVsOiAxMDAwLAorICAgIHRleDogZ2wu
Y3JlYXRlVGV4dHVyZSgpLAorICAgIHRhcmdldHM6IFtnbC5URVhUVVJFXzJEXQorICB9LAorICB7
IHRhcmdldDogZ2wuVEVYVFVSRV9DVUJFX01BUCwKKyAgICBtYXhTaXplOiBnbC5nZXRQYXJhbWV0
ZXIoZ2wuTUFYX0NVQkVfTUFQX1RFWFRVUkVfU0laRSksCisgICAgbWF4TGV2ZWw6IDUsCisgICAg
dGV4OiBnbC5jcmVhdGVUZXh0dXJlKCksCisgICAgdGFyZ2V0czogWworICAgICAgZ2wuVEVYVFVS
RV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElW
RV9YLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgICAgZ2wuVEVY
VFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJ
VElWRV9aLAorICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisgICAgXQorICB9
CitdOworCitnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfQUxJR05NRU5ULCAxKTsKKwordmFyIHRy
ZyA9IDA7Cit2YXIgdHQgPSAwOworcnVuTmV4dFRlc3QoKTsKKworZnVuY3Rpb24gcnVuTmV4dFRl
c3QoKSB7CisgIHZhciB0ID0gdGFyZ2V0c1t0cmddOworCisgIGlmICh0dCA9PSAwKSB7CisgICAg
dmFyIHRleCA9IHQudGV4OworICAgIGdsLmJpbmRUZXh0dXJlKHQudGFyZ2V0LCB0ZXgpOworCisg
ICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJtYXggc2l6ZSBmb3IgIiArIHd0dS5nbEVudW1Ub1N0
cmluZyhnbCwgdC50YXJnZXQpICsgIjogIiArIHQubWF4U2l6ZSk7CisgICAgdmFyIG51bUxldmVs
cyA9IG51bUxldmVsc0Zyb21TaXplKHQubWF4U2l6ZSk7CisgICAgZGVidWcoIm51bSBsZXZlbHMg
IiArIG51bUxldmVscyk7CisgIH0KKworICB2YXIgdGVzdCA9IHRlc3RzW3R0XTsKKyAgdGVzdEZv
cm1hdFR5cGUodCwgdGVzdCk7CisgICsrdHQ7CisgIGlmICh0dCA9PSB0ZXN0cy5sZW5ndGgpIHsK
KyAgICB0dCA9IDA7CisgICAgKyt0cmc7CisgICAgaWYgKHRyZyA9PSB0YXJnZXRzLmxlbmd0aCkg
eworICAgICAgZmluaXNoVGVzdCgpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgfQorICB3dHUu
d2FpdEZvckNvbXBvc2l0ZShnbCwgcnVuTmV4dFRlc3QpCit9CisKK2Z1bmN0aW9uIHRlc3RGb3Jt
YXRUeXBlKHQsIHRlc3QpIHsKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZzogIiArIHd0
dS5nbEVudW1Ub1N0cmluZyhnbCwgdGVzdC5mb3JtYXQpICsgIiwgIiArIHd0dS5nbEVudW1Ub1N0
cmluZyhnbCwgdGVzdC50eXBlKSk7CisgIGZvciAodmFyIGogPSAwOyBqIDwgdC50YXJnZXRzLmxl
bmd0aDsgKytqKSB7CisgICAgdmFyIHRhcmdldCA9IHQudGFyZ2V0c1tqXTsKKyAgICBkZWJ1Zygi
Iik7CisgICAgZGVidWcod3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0YXJnZXQpKTsKKyAgICB2YXIg
bnVtTGV2ZWxzID0gbnVtTGV2ZWxzRnJvbVNpemUodC5tYXhTaXplKTsKKyAgICB2YXIgbnVtVGVz
dExldmVscyA9IE1hdGgubWluKG51bUxldmVscywgdC5tYXhMZXZlbCk7CisgICAgZm9yICh2YXIg
bCA9IDA7IGwgPCBudW1UZXN0TGV2ZWxzOyArK2wpIHsKKyAgICAgIC8vIERvIGJvdHRvbSBsZXZl
bHMgZmlyc3Q7CisgICAgICB2YXIgc2l6ZSA9IDEgPDwgbDsKKyAgICAgIHZhciBsZXZlbCA9IG51
bUxldmVscyAtIGwgLSAxOworICAgICAgdmFyIG90aGVyRGltZW5zaW9uID0gdC50YXJnZXQgPT0g
Z2wuVEVYVFVSRV8yRCA/IDEgOiBzaXplOworICAgICAgdmFyIGJhZFNpemUgPSBzaXplICogMjsK
KyAgICAgIHZhciBiYWRPdGhlckRpbWVuc2lvbiA9IHQudGFyZ2V0ID09IGdsLlRFWFRVUkVfMkQg
PyAxIDogYmFkU2l6ZTsKKyAgICAgIHZhciBwaXhlbHMgPSBuZXcgdGVzdC5kYXRhVHlwZShiYWRT
aXplICogYmFkT3RoZXJEaW1lbnNpb24gKiB0ZXN0LnNpemUpOworICAgICAgZ2wudGV4SW1hZ2Uy
RCh0YXJnZXQsIGxldmVsLCB0ZXN0LmZvcm1hdCwgc2l6ZSwgb3RoZXJEaW1lbnNpb24sIDAsIHRl
c3QuZm9ybWF0LCB0ZXN0LnR5cGUsIHBpeGVscyk7CisgICAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9yIGZvciBsZXZlbDogIiArIGxl
dmVsICsgIiAiICsgc2l6ZSArICJ4IiArIG90aGVyRGltZW5zaW9uKTsKKyAgICAgIGdsLnRleElt
YWdlMkQodGFyZ2V0LCBsZXZlbCwgdGVzdC5mb3JtYXQsIG90aGVyRGltZW5zaW9uLCBzaXplLCAw
LCB0ZXN0LmZvcm1hdCwgdGVzdC50eXBlLCBwaXhlbHMpOworICAgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBlcnJvciBmb3IgbGV2ZWw6ICIg
KyBsZXZlbCArICIgIiArIG90aGVyRGltZW5zaW9uICsgIngiICsgc2l6ZSk7CisgICAgICBnbC50
ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHRlc3QuZm9ybWF0LCBiYWRTaXplLCBiYWRPdGhlckRp
bWVuc2lvbiwgMCwgdGVzdC5mb3JtYXQsIHRlc3QudHlwZSwgcGl4ZWxzKTsKKyAgICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInNob3VsZCBnZW5lcmF0ZSBJTlZBTElE
X1ZBTFVFIGZvciBsZXZlbDogIiArIGxldmVsICsgIiAiICsgYmFkU2l6ZSArICJ4IiArIGJhZE90
aGVyRGltZW5zaW9uKTsKKyAgICAgIGdsLnRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgdGVzdC5m
b3JtYXQsIGJhZE90aGVyRGltZW5zaW9uLCBiYWRTaXplLCAwLCB0ZXN0LmZvcm1hdCwgdGVzdC50
eXBlLCBwaXhlbHMpOworICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVF
LCAic2hvdWxkIGdlbmVyYXRlIElOVkFMSURfVkFMVUUgZm9yIGxldmVsOiAiICsgbGV2ZWwgKyAi
ICIgKyBiYWRPdGhlckRpbWVuc2lvbiArICJ4IiArIGJhZFNpemUpOworICAgIH0KKyAgfQorfQor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtc2l6ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhODc1ZDhiOTdjMzFjNGVlOTUxZjI0YzI2
ZGEzZDFkMTJlZDVlNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUu
aHRtbApAQCAtMCwwICsxLDIzOCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
Ky0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgdGV4dHVyZSBzaXplIGNvbmZvcm1hbmNlIHRlc3QuPC90aXRs
ZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMy
IiBoZWlnaHQ9IjMyIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFz
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1
dGUgdmVjNCB2UG9zaXRpb247CithdHRyaWJ1dGUgdmVjMyB0ZXhDb29yZDA7Cit2YXJ5aW5nIHZl
YzMgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9u
OworICAgIHRleENvb3JkID0gdGV4Q29vcmQwOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9
ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAg
ZmxvYXQ7Cit1bmlmb3JtIHNhbXBsZXJDdWJlIHRleDsKK3ZhcnlpbmcgdmVjMyB0ZXhDb29yZDsK
K3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVyZUN1YmUodGV4LCBub3Jt
YWxpemUodGV4Q29vcmQpKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
K2Rlc2NyaXB0aW9uKCJDaGVja3MgdGhhdCB2YXJpb3VzIHNpemVzIG9mIHRleHR1cmVzIHJlbmRl
ciIpCit2YXIgY2FudmFzOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3
dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7Cit2YXIgcHJvZ3JhbTJEID0gd3R1LnNldHVw
VGV4dHVyZWRRdWFkKGdsKTsKK3ZhciBwcm9ncmFtQ3ViZU1hcCA9IHd0dS5zZXR1cFByb2dyYW0o
CisgICAgZ2wsIFsndnNoYWRlcicsICdmc2hhZGVyJ10sIFsndlBvc2l0aW9uJywgJ3RleENvb3Jk
MCddLCBbMCwgMV0pOworZ2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKK2dsLmRpc2FibGUoZ2wu
QkxFTkQpOwordmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKK3ZhciBtYXgyRFNpemUgPSBn
bC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1RFWFRVUkVfU0laRSk7Cit2YXIgbWF4Q3ViZU1hcFNpemUg
PSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX0NVQkVfTUFQX1RFWFRVUkVfU0laRSk7CitkZWJ1Zygi
TUFYX1RFWFRVUkVfU0laRToiICsgbWF4MkRTaXplKTsKK2RlYnVnKCJNQVhfQ1VCRV9NQVBfVEVY
VFVSRV9TSVpFOiIgKyBtYXhDdWJlTWFwU2l6ZSk7CisvLyBBc3N1bWluZyAyMDQ4eDIwNDh4UkdC
QSAoMjJtZWcgd2l0aCBtaXBzKSB3aWxsIHJ1biBvbiBhbGwgV2ViR0wgcGxhdGZvcm1zCit2YXIg
bWF4MkRTcXVhcmVTaXplID0gTWF0aC5taW4obWF4MkRTaXplLCAyMDQ4KTsKKy8vIEknZCBwcmVm
ZXIgdGhpcyB0byBiZSAyMDQ4IGJ1dCB0aGF0J3MgMTZtZWcgeCA2IGZhY2VzIG9yIDEyOG1lZyAo
d2l0aCBtaXBzKQorLy8gMTAyNCBpcyAzMy41IG1lZyAod2l0aCBtaXBzKQordmFyIG1heEN1YmVN
YXBTaXplID0gTWF0aC5taW4obWF4Q3ViZU1hcFNpemUsIDEwMjQpOworCit2YXIgY29sb3JzID0g
WworICB7IG5hbWU6ICJncmVlbiIsIHJnYmE6IFswLCAwLCAyNTUsIDI1NV0gfSwKKyAgeyBuYW1l
OiAicmVkIiwgcmdiYTogWzI1NSwgMCwgMCwgMjU1XSB9LAorICB7IG5hbWU6ICJibHVlIiwgcmdi
YTogWzAsIDI1NSwgMCwgMjU1XSB9LAorICB7IG5hbWU6ICJ5ZWxsb3ciLCByZ2JhOiBbMjU1LCAy
NTUsIDAsIDI1NV0gfSwKKyAgeyBuYW1lOiAibWFnZW50YSIsIHJnYmE6IFsyNTUsIDAsIDI1NSwg
MjU1XSB9LAorICB7IG5hbWU6ICJjeWFuIiwgcmdiYTogWzAsIDI1NSwgMjU1LCAyNTVdIH0KK107
CisKK3ZhciBjb3VudCA9IDA7Cit2YXIgcG93ZXIgPSAwOworcnVuVGVzdCgpOworCitmdW5jdGlv
biBydW5UZXN0KCkgeworICBmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgdmFyIHNpemUgPSBNYXRo
LnBvdygyLCBwb3dlcik7CisgICAgaWYgKHNpemUgPiBtYXgyRFNpemUpIHsKKyAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CisgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtMkQpOworICAgIGlmICgh
Y2hlY2tUZXh0dXJlKHNpemUsIDEsIGZhbHNlKSkgcmV0dXJuIGZhbHNlOworICAgIGlmICghY2hl
Y2tUZXh0dXJlKDEsIHNpemUsIGZhbHNlKSkgcmV0dXJuIGZhbHNlOworICAgIGlmIChzaXplIDw9
IG1heDJEU3F1YXJlU2l6ZSkgeworICAgICAgaWYgKCFjaGVja1RleHR1cmUoc2l6ZSwgc2l6ZSwg
ZmFsc2UpKSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKyAgICB9CisgICAgaWYg
KHNpemUgPD0gbWF4Q3ViZU1hcFNpemUpIHsKKyAgICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbUN1
YmVNYXApOworICAgICAgaWYgKCFjaGVja1RleHR1cmUoc2l6ZSwgc2l6ZSwgdHJ1ZSkpIHsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKKyAg
fQorCisgIGlmIChkb1Rlc3QoKSkgeworICAgICsrcG93ZXI7CisgICAgc2V0VGltZW91dChydW5U
ZXN0LCAxMDApOworICB9IGVsc2UgeworICAgIGZpbmlzaFRlc3QoKTsKKyAgfQorfQorCitmdW5j
dGlvbiBjaGVja1RleHR1cmUod2lkdGgsIGhlaWdodCwgY3ViZU1hcCkgeworICBkZWJ1ZygiIik7
CisgIGNvdW50ID0gKGNvdW50ICsgMSkgJSBjb2xvcnMubGVuZ3RoOworICB2YXIgY29sb3IgPSBj
b2xvcnNbY291bnRdOworICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICB2YXIgdGFy
Z2V0ID0gY3ViZU1hcCA/IGdsLlRFWFRVUkVfQ1VCRV9NQVAgOiBnbC5URVhUVVJFXzJEOworICB2
YXIgdHlwZSA9IGN1YmVNYXAgPyAiY3ViZSBtYXAiIDogIjJEIHRleHR1cmUiOworICBkZWJ1Zygi
Y2hlY2sgIiArIHdpZHRoICsgIiwgIiArIGhlaWdodCArICIgIiArIHR5cGUpOworICBnbC5iaW5k
VGV4dHVyZSh0YXJnZXQsIHRleCk7CisgIGdsLnRleFBhcmFtZXRlcmkodGFyZ2V0LCBnbC5URVhU
VVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CisgIGdsLnRleFBhcmFtZXRlcmkodGFyZ2V0LCBn
bC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7CisgIGdsLnRleFBhcmFtZXRlcmko
dGFyZ2V0LCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgIGZpbGxMZXZl
bCgwLCB3aWR0aCwgaGVpZ2h0LCBjb2xvci5yZ2JhLCBjdWJlTWFwKTsKKyAgdmFyIGVyciA9IGds
LmdldEVycm9yKCk7CisgIGlmIChlcnIgPT0gZ2wuT1VUX09GX01FTU9SWSkgeworICAgIGRlYnVn
KCJvdXQgb2YgbWVtb3J5Iik7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisgIGlmIChlcnIgIT0g
Z2wuTk9fRVJST1IpIHsKKyAgICB0ZXN0RmFpbGVkKCJ1bmV4cGVjdGVkIGdsIGVycm9yOiAiICsg
d3R1LmdsRW51bVRvU3RyaW5nKGdsLCBlcnIpKTsKKyAgfQorICB3dHUuZHJhd1F1YWQoZ2wpOwor
ICB3dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yLnJnYmEsCisgICAgICB0eXBlICsgIiBvZiBzaXpl
ICIgKyB3aWR0aCArICJ4IiArIGhlaWdodCArICIgd2l0aCBubyBtaXBzIHNob3VsZCBkcmF3IHdp
dGggIiArIGNvbG9yLm5hbWUpOworICBjb3VudCA9IChjb3VudCArIDEpICUgY29sb3JzLmxlbmd0
aDsKKyAgY29sb3IgPSBjb2xvcnNbY291bnRdOworICBmaWxsTGV2ZWwoMCwgd2lkdGgsIGhlaWdo
dCwgY29sb3IucmdiYSwgY3ViZU1hcCk7CisgIGdsLmdlbmVyYXRlTWlwbWFwKHRhcmdldCk7Cisg
IHZhciBlcnIgPSBnbC5nZXRFcnJvcigpOworICBpZiAoZXJyID09IGdsLk9VVF9PRl9NRU1PUlkp
IHsKKyAgICBkZWJ1Zygib3V0IG9mIG1lbW9yeSIpOworICAgIHJldHVybiBmYWxzZTsKKyAgfQor
ICBpZiAoZXJyICE9IGdsLk5PX0VSUk9SKSB7CisgICAgdGVzdEZhaWxlZCgidW5leHBlY3RlZCBn
bCBlcnJvcjogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgZXJyKSk7CisgIH0KKyAgZ2wudGV4
UGFyYW1ldGVyaSh0YXJnZXQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSX01JUE1B
UF9ORUFSRVNUKTsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBj
b2xvci5yZ2JhLAorICAgICAgdHlwZSArICIgb2Ygc2l6ZSAiICsgd2lkdGggKyAieCIgKyBoZWln
aHQgKyAiIHdpdGggbWlwcyBzaG91bGQgZHJhdyB3aXRoICIgKyBjb2xvci5uYW1lKTsKKworICBj
b3VudCA9IChjb3VudCArIDEpICUgY29sb3JzLmxlbmd0aDsKKyAgY29sb3IgPSBjb2xvcnNbY291
bnRdOworICBmaWxsTGV2ZWwoMCwgd2lkdGgsIGhlaWdodCwgY29sb3IucmdiYSwgY3ViZU1hcCwg
dHJ1ZSk7CisgIGdsLmdlbmVyYXRlTWlwbWFwKHRhcmdldCk7CisKKyAgd3R1LmRyYXdRdWFkKGds
KTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBjb2xvci5yZ2JhLAorICAgICAgdHlwZSArICIgb2Yg
c2l6ZSAiICsgd2lkdGggKyAieCIgKyBoZWlnaHQgKyAiIHdpdGggbWlwcyBzaG91bGQgZHJhdyB3
aXRoICIgKyBjb2xvci5uYW1lKTsKKworICBnbC5kZWxldGVUZXh0dXJlKHRleCk7CisgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJTaG91bGQgYmUgbm8gZXJyb3JzLiIpOworICBy
ZXR1cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gZmlsbExldmVsKGxldmVsLCB3aWR0aCwgaGVpZ2h0
LCBjb2xvciwgb3B0X2N1YmVtYXAsIG9wdF9zdWJUZXgpIHsKKyAgdmFyIG51bVBpeGVscyA9IHdp
ZHRoICogaGVpZ2h0OworICB2YXIgcGl4ZWxzID0gbnVsbDsKKyAgdmFyIGxhcmdlRGltID0gTWF0
aC5tYXgod2lkdGgsIGhlaWdodCk7CisgIHZhciBzbWFsbERpbSA9IE1hdGgubWluKHdpZHRoLCBo
ZWlnaHQpOworCisgIHZhciBwaXhlbFJvdyA9IG5ldyBVaW50OEFycmF5KGxhcmdlRGltICogNCk7
CisgIGZvciAodmFyIGpqID0gMDsgamogPCBsYXJnZURpbTsgKytqaikgeworICAgIHZhciBvZmYg
PSBqaiAqIDQ7CisgICAgcGl4ZWxSb3dbb2ZmICsgMF0gPSBjb2xvclswXTsKKyAgICBwaXhlbFJv
d1tvZmYgKyAxXSA9IGNvbG9yWzFdOworICAgIHBpeGVsUm93W29mZiArIDJdID0gY29sb3JbMl07
CisgICAgcGl4ZWxSb3dbb2ZmICsgM10gPSBjb2xvclszXTsKKyAgfQorCisgIGlmIChsYXJnZURp
bSA9PSBudW1QaXhlbHMpIHsKKyAgICBwaXhlbHMgPSBwaXhlbFJvdzsKKyAgfSBlbHNlIHsKKyAg
ICB2YXIgcGl4ZWxzID0gbmV3IFVpbnQ4QXJyYXkobnVtUGl4ZWxzICogNCk7CisgICAgZm9yICh2
YXIgamogPSAwOyBqaiA8IHNtYWxsRGltOyArK2pqKSB7CisgICAgICB2YXIgb2ZmID0gamogKiBs
YXJnZURpbSAqIDQ7CisgICAgICBwaXhlbHMuc2V0KHBpeGVsUm93LCBvZmYpOworICAgIH0KKyAg
fQorIAorICB2YXIgdGFyZ2V0cyA9IG9wdF9jdWJlbWFwID8gWworICAgIGdsLlRFWFRVUkVfQ1VC
RV9NQVBfUE9TSVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisg
ICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfTkVHQVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAg
Z2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aXSA6CisgICAgW2dsLlRFWFRVUkVfMkRdOwor
CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0YXJnZXRzLmxlbmd0aDsgKytpaSkgeworICAgIC8v
IGRlYnVnKHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdGFyZ2V0c1tpaV0pKTsKKyAgICB2YXIgaW5k
ZXggPSAoaWkgKyBwb3dlcikgJSB0YXJnZXRzLmxlbmd0aDsKKyAgICB2YXIgdGFyZ2V0ID0gdGFy
Z2V0c1tpbmRleF07CisgICAgaWYgKG9wdF9zdWJUZXgpIHsKKyAgICAgIGdsLnRleFN1YkltYWdl
MkQoCisgICAgICAgICAgdGFyZ2V0LCBsZXZlbCwgMCwgMCwgd2lkdGgsIGhlaWdodCwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBwaXhlbHMpOworICAgIH0gZWxzZSB7Cisg
ICAgICBnbC50ZXhJbWFnZTJEKAorICAgICAgICAgIHRhcmdldCwgbGV2ZWwsIGdsLlJHQkEsIHdp
ZHRoLCBoZWlnaHQsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgcGl4
ZWxzKTsKKyAgICB9CisgIH0KK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5p
Zm9ybS1hcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTg4YTE4MzkzOGY1MzRjYzJiZDhlMjMwOTIwYmNiOWFlODI3NTY2MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwKQEAgLTAsMCArMSw1MDIg
QEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us
IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQv
b3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwg
dG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor
Kiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l
cmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0
aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRI
RSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisq
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9U
SEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IHVuaWZvcm0gYXJyYXkgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIiIGhlaWdodD0iMiI+IDwvY2FudmFz
PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0
dHJpYnV0ZSB2ZWM0IGFfcG9zaXRpb247CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAg
IGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBp
ZD0iZnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7CisgICAgdW5pZm9ybSAkKHR5cGUpIGNvbG9yWzNdOworICAgIHZvaWQgbWFp
bigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvbG9yWzBdJChlbGVtKSwg
Y29sb3JbMV0kKGVsZW0pLCBjb2xvclsyXSQoZWxlbSksIDEpOworICAgIH0KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlci1tYXgiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAg
IHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVuaWZvcm0gdmVjNCBjb2xvcmFbJChtYXhV
bmlmb3JtVmVjdG9ycyldOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFn
Q29sb3IgPSB2ZWM0KGNvbG9yYVskKHVzZWRVbmlmb3JtVmVjdG9yKV0pOworICAgIH0KKzwvc2Ny
aXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlci1tYXgtYWItYWIiIHR5cGU9Ingtc2hhZGVyL3gtZnJh
Z21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVuaWZvcm0gdmVjNCAk
KGRlY2wxKTsKKyAgICB1bmlmb3JtIHZlYzQgJChkZWNsMik7CisgICAgdm9pZCBtYWluKCkKKyAg
ICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoJCh1c2FnZTEpICsgJCh1c2FnZTIpKTsK
KyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigp
OworZGVidWcoIiIpOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworCit2YXIgdlNyYyA9IHd0dS5nZXRTY3JpcHQoInZz
aGFkZXIiKTsKK3ZhciBmVGVtcGxhdGUgPSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyIik7CisKK3Zh
ciB0eXBlSW5mb3MgPSBbCisgIHsgdHlwZTogJ2Zsb2F0JywKKyAgICBqc1R5cGVPZjogJ251bWJl
cicsCisgICAgc2V0dGVyOiAndW5pZm9ybTFmdicsCisgICAgZWxlbTogJycsCisgICAgbnVtU3Jj
VmFsdWVzOiAzLAorICAgIGludmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5p
Zm9ybTJmdihsb2MsIFsxLCAyXSk7CisgICAgfSwKKyAgICBzcmNWYWx1ZUFzU3RyaW5nOiBmdW5j
dGlvbihpbmRleCwgc3JjVmFsdWVzKSB7CisgICAgICByZXR1cm4gc3JjVmFsdWVzW2luZGV4XS50
b1N0cmluZygpOworICAgIH0sCisgICAgcmV0dXJuVmFsdWVBc1N0cmluZzogZnVuY3Rpb24odmFs
dWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCA/ICdudWxsJyA6IHZhbHVlLnRvU3Ry
aW5nKCk7CisgICAgfSwKKyAgICBjaGVja1R5cGU6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICBy
ZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJzsKKyAgICB9LAorICAgIGNoZWNrVmFsdWU6
IGZ1bmN0aW9uKHR5cGVJbmZvLCBpbmRleCwgdmFsdWUpIHsKKyAgICAgIHJldHVybiB0eXBlSW5m
by5zcmNWYWx1ZXNbaW5kZXhdID09IHZhbHVlOworICAgIH0sCisgICAgc3JjVmFsdWVzOiBbMTYs
IDE1LCAxNF0sCisgICAgc3JjVmFsdWVzTGVzczogW10sCisgICAgc3JjVmFsdWVzTGVzc011bHRp
cGxlOiBbMTZdLAorICAgIHNyY1ZhbHVlc01vcmVNdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzXSwK
KyAgICBzcmNWYWx1ZXNOb25NdWx0aXBsZTogbnVsbCwKKyAgfSwKKyAgeyB0eXBlOiAndmVjMics
CisgICAganNUeXBlT2Y6ICdGbG9hdDMyQXJyYXknLAorICAgIHNldHRlcjogJ3VuaWZvcm0yZnYn
LAorICAgIGVsZW06ICdbMV0nLAorICAgIG51bVNyY1ZhbHVlczogMywKKyAgICBpbnZhbGlkU2V0
OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGdsLnVuaWZvcm0xZnYobG9jLCBbMl0pOworICAgIH0s
CisgICAgaWxsZWdhbFNldDogZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlmb3JtMWZ2KGxv
YywgMik7CisgICAgfSwKKyAgICBzcmNWYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbihpbmRleCwgc3Jj
VmFsdWVzKSB7CisgICAgICByZXR1cm4gIlsiICsgc3JjVmFsdWVzW2luZGV4ICogMiArIDBdLnRv
U3RyaW5nKCkgKyAiLCAiICsKKyAgICAgICAgICAgICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiAy
ICsgMV0udG9TdHJpbmcoKSArICJdIjsKKyAgICB9LAorICAgIHJldHVyblZhbHVlQXNTdHJpbmc6
IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyAnbnVsbCcg
OiAoIlsiICsgdmFsdWVbMF0gKyAiLCAiICsgdmFsdWVbMV0gKyAiXSIpOworICAgIH0sCisgICAg
Y2hlY2tUeXBlOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlICYmCisgICAg
ICAgICAgICAgdHlwZW9mIHZhbHVlLmxlbmd0aCA9PT0gJ251bWJlcicgJiYKKyAgICAgICAgICAg
ICB2YWx1ZS5sZW5ndGggPT0gMjsKKyAgICB9LAorICAgIGNoZWNrVmFsdWU6IGZ1bmN0aW9uKHR5
cGVJbmZvLCBpbmRleCwgdmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJgor
ICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDIgKyAwXSA9PSB2YWx1ZVsw
XSAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDIgKyAxXSA9PSB2
YWx1ZVsxXTsKKyAgICB9LAorICAgIHNyY1ZhbHVlczogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTFd
LAorICAgIHNyY1ZhbHVlc0xlc3M6IFsxNl0sCisgICAgc3JjVmFsdWVzTGVzc011bHRpcGxlOiBb
MTYsIDE1LCAxNCwgMTNdLAorICAgIHNyY1ZhbHVlc01vcmVNdWx0aXBsZTogWzE2LCAxNSwgMTQs
IDEzLCAxMiwgMTEsIDEwLCA5XSwKKyAgICBzcmNWYWx1ZXNOb25NdWx0aXBsZTogWzE2LCAxNSwg
MTQsIDEzLCAxMiwgMTEsIDEwXSwKKyAgfSwKKyAgeyB0eXBlOiAndmVjMycsCisgICAganNUeXBl
T2Y6ICdGbG9hdDMyQXJyYXknLAorICAgIHNldHRlcjogJ3VuaWZvcm0zZnYnLAorICAgIGVsZW06
ICdbMl0nLAorICAgIG51bVNyY1ZhbHVlczogMywKKyAgICBpbnZhbGlkU2V0OiBmdW5jdGlvbihs
b2MpIHsKKyAgICAgIGdsLnVuaWZvcm0xZnYobG9jLCBbMl0pOworICAgIH0sCisgICAgaWxsZWdh
bFNldDogZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlmb3JtMWZ2KGxvYywgMik7CisgICAg
fSwKKyAgICBzcmNWYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbihpbmRleCwgc3JjVmFsdWVzKSB7Cisg
ICAgICByZXR1cm4gIlsiICsgc3JjVmFsdWVzW2luZGV4ICogMyArIDBdLnRvU3RyaW5nKCkgKyAi
LCAiICsKKyAgICAgICAgICAgICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiAzICsgMV0udG9TdHJp
bmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDMgKyAy
XS50b1N0cmluZygpICsgIl0iOworICAgIH0sCisgICAgcmV0dXJuVmFsdWVBc1N0cmluZzogZnVu
Y3Rpb24odmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCA/ICdudWxsJyA6Cisg
ICAgICAgICAgKCJbIiArIHZhbHVlWzBdICsgIiwgIiArIHZhbHVlWzFdICsgIiwgIiArIHZhbHVl
WzJdICsgIl0iKTsKKyAgICB9LAorICAgIGNoZWNrVHlwZTogZnVuY3Rpb24odmFsdWUpIHsKKyAg
ICAgIHJldHVybiB2YWx1ZSAmJgorICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZS5sZW5ndGggPT09
ICdudW1iZXInICYmCisgICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09IDM7CisgICAgfSwKKyAg
ICBjaGVja1ZhbHVlOiBmdW5jdGlvbih0eXBlSW5mbywgaW5kZXgsIHZhbHVlKSB7CisgICAgICBy
ZXR1cm4gdmFsdWUgIT09IG51bGwgJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNWYWx1ZXNb
aW5kZXggKiAzICsgMF0gPT0gdmFsdWVbMF0gJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNW
YWx1ZXNbaW5kZXggKiAzICsgMV0gPT0gdmFsdWVbMV0gJiYKKyAgICAgICAgICAgICB0eXBlSW5m
by5zcmNWYWx1ZXNbaW5kZXggKiAzICsgMl0gPT0gdmFsdWVbMl07CisgICAgfSwKKyAgICBzcmNW
YWx1ZXM6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOF0sCisgICAgc3JjVmFsdWVz
TGVzczogWzE2LCAxNV0sCisgICAgc3JjVmFsdWVzTGVzc011bHRpcGxlOiBbMTYsIDE1LCAxNCwg
MTMsIDEyLCAxMV0sCisgICAgc3JjVmFsdWVzTW9yZU11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMs
IDEyLCAxMSwgMTAsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDJdLAorICAgIHNyY1ZhbHVlc05vbk11
bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDksIDgsIDddLAorICB9LAorICB7
IHR5cGU6ICd2ZWM0JywKKyAgICBqc1R5cGVPZjogJ0Zsb2F0MzJBcnJheScsCisgICAgc2V0dGVy
OiAndW5pZm9ybTRmdicsCisgICAgZWxlbTogJ1szXScsCisgICAgbnVtU3JjVmFsdWVzOiAzLAor
ICAgIGludmFsaWRTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAgICAgZ2wudW5pZm9ybTFmdihsb2Ms
IFsyXSk7CisgICAgfSwKKyAgICBpbGxlZ2FsU2V0OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGds
LnVuaWZvcm0xZnYobG9jLCAyKTsKKyAgICB9LAorICAgIHNyY1ZhbHVlQXNTdHJpbmc6IGZ1bmN0
aW9uKGluZGV4LCBzcmNWYWx1ZXMpIHsKKyAgICAgIHJldHVybiAiWyIgKyBzcmNWYWx1ZXNbaW5k
ZXggKiA0ICsgMF0udG9TdHJpbmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1Zh
bHVlc1tpbmRleCAqIDQgKyAxXS50b1N0cmluZygpICsgIiwgIiArCisgICAgICAgICAgICAgICAg
ICAgc3JjVmFsdWVzW2luZGV4ICogNCArIDJdLnRvU3RyaW5nKCkgKyAiLCAiICsKKyAgICAgICAg
ICAgICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiA0ICsgM10udG9TdHJpbmcoKSArICJdIjsKKyAg
ICB9LAorICAgIHJldHVyblZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICBy
ZXR1cm4gdmFsdWUgPT09IG51bGwgPyAnbnVsbCcgOgorICAgICAgICAgICgiWyIgKyB2YWx1ZVsw
XSArICIsICIgKyB2YWx1ZVsxXSArCisgICAgICAgICAgICIsICIgKyB2YWx1ZVsyXSArICIsICIg
KyB2YWx1ZVszXSArICJdIik7CisgICAgfSwKKyAgICBjaGVja1R5cGU6IGZ1bmN0aW9uKHZhbHVl
KSB7CisgICAgICByZXR1cm4gdmFsdWUgJiYKKyAgICAgICAgICAgICB0eXBlb2YgdmFsdWUubGVu
Z3RoID09PSAnbnVtYmVyJyAmJgorICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCA9PSA0OworICAg
IH0sCisgICAgY2hlY2tWYWx1ZTogZnVuY3Rpb24odHlwZUluZm8sIGluZGV4LCB2YWx1ZSkgewor
ICAgICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3Jj
VmFsdWVzW2luZGV4ICogNCArIDBdID09IHZhbHVlWzBdICYmCisgICAgICAgICAgICAgdHlwZUlu
Zm8uc3JjVmFsdWVzW2luZGV4ICogNCArIDFdID09IHZhbHVlWzFdICYmCisgICAgICAgICAgICAg
dHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogNCArIDJdID09IHZhbHVlWzJdICYmCisgICAgICAg
ICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogNCArIDNdID09IHZhbHVlWzNdOworICAg
IH0sCisgICAgc3JjVmFsdWVzOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDksIDgsIDcs
IDYsIDVdLAorICAgIHNyY1ZhbHVlc0xlc3M6IFsxNiwgMTUsIDE0XSwKKyAgICBzcmNWYWx1ZXNM
ZXNzTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOV0sCisgICAgc3JjVmFs
dWVzTW9yZU11bHRpcGxlOiBbMTYsIDE1LCAxNCwgMTMsIDEyLCAxMSwgMTAsIDksIDgsIDcsIDYs
IDUsIDQsIDMsIDIsIDFdLAorICAgIHNyY1ZhbHVlc05vbk11bHRpcGxlOiBbMTYsIDE1LCAxNCwg
MTMsIDEyLCAxMSwgMTAsIDksIDgsIDcsIDYsIDUsIDRdLAorICB9CitdOworCitmb3IgKHZhciB0
dCA9IDA7IHR0IDwgdHlwZUluZm9zLmxlbmd0aDsgKyt0dCkgeworICB2YXIgdHlwZUluZm8gPSB0
eXBlSW5mb3NbdHRdOworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJjaGVjayAiICsgdHlwZUluZm8u
dHlwZSk7CisgIHZhciBmU3JjID0gd3R1LnJlcGxhY2VQYXJhbXMoZlRlbXBsYXRlLCB0eXBlSW5m
byk7CisgIC8vZGVidWcoImZTcmM6ICIgKyBmU3JjKTsKKyAgdmFyIHByb2dyYW0gPSB3dHUubG9h
ZFByb2dyYW0oZ2wsIHZTcmMsIGZTcmMpOworCisgIHZhciBudW1Vbmlmb3JtcyA9IGdsLmdldFBy
b2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2wuQUNUSVZFX1VOSUZPUk1TKTsKKyAgYXNzZXJ0TXNn
KG51bVVuaWZvcm1zID09IDEsICIxIHVuaWZvcm0gZm91bmQiKTsKKyAgdmFyIGluZm8gPSBnbC5n
ZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDApOworICBhc3NlcnRNc2coaW5mby5uYW1lID09ICJj
b2xvclswXSIsCisgICAgICAgICAgICAidW5pZm9ybSBuYW1lIGlzICdjb2xvclswXScgbm90ICdj
b2xvcicgYXMgcGVyIE9wZW5HTCBFUyAyLjAuMjQgc2VjdGlvbiAyLjEwIik7CisgIHZhciBsb2Mg
PSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgImNvbG9yWzBdIik7CisgIHZhciBzcmNW
YWx1ZXMgPSB0eXBlSW5mby5zcmNWYWx1ZXM7CisgIHZhciBzcmNWYWx1ZXNMZXNzID0gdHlwZUlu
Zm8uc3JjVmFsdWVzTGVzczsKKyAgdmFyIHNyY1ZhbHVlc0xlc3NNdWx0aXBsZSA9IHR5cGVJbmZv
LnNyY1ZhbHVlc0xlc3NNdWx0aXBsZTsKKyAgdmFyIHNyY1ZhbHVlc01vcmVNdWx0aXBsZSA9IHR5
cGVJbmZvLnNyY1ZhbHVlc01vcmVNdWx0aXBsZTsKKyAgdmFyIHNyY1ZhbHVlc05vbk11bHRpcGxl
ID0gdHlwZUluZm8uc3JjVmFsdWVzTm9uTXVsdGlwbGU7CisKKyAgLy8gVHJ5IHNldHRpbmcgdGhl
IHZhbHVlIGJlZm9yZSB1c2luZyB0aGUgcHJvZ3JhbQorICBnbFt0eXBlSW5mby5zZXR0ZXJdKGxv
Yywgc3JjVmFsdWVzKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElP
TiwKKyAgICAgICAgICAgICAgICAgICJzaG91bGQgZmFpbCBpZiB0aGVyZSBpcyBubyBjdXJyZW50
IHByb2dyYW0iKTsKKworICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworICBnbFt0eXBlSW5mby5z
ZXR0ZXJdKGxvYywgc3JjVmFsdWVzTGVzcyk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5W
QUxJRF9WQUxVRSwKKyAgICAgICAgICAgICAgICAgICJzaG91bGQgZmFpbCB3aXRoIGluc3VmZmlj
aWVudCBhcnJheSBzaXplIHdpdGggZ2wuIiArIHR5cGVJbmZvLnNldHRlcik7CisgIGlmIChzcmNW
YWx1ZXNOb25NdWx0aXBsZSkgeworICAgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1
ZXNOb25NdWx0aXBsZSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX1ZBTFVF
LAorICAgICAgICAgICAgICAgICAgICAic2hvdWxkIGZhaWwgd2l0aCBub24tbXVsdGlwbGUgYXJy
YXkgc2l6ZSB3aXRoIGdsLiIgKyB0eXBlSW5mby5zZXR0ZXIpOworICB9CisgIGdsW3R5cGVJbmZv
LnNldHRlcl0obG9jLCBzcmNWYWx1ZXMpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SLAorICAgICAgICAgICAgICAgICAgImNhbiBzZXQgYW4gYXJyYXkgb2YgdW5pZm9ybXMgd2l0
aCBnbC4iICsgdHlwZUluZm8uc2V0dGVyKTsKKyAgZ2xbdHlwZUluZm8uc2V0dGVyXShsb2MsIHNy
Y1ZhbHVlc0xlc3NNdWx0aXBsZSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Is
CisgICAgICAgICAgICAgICAgICAiY2FuIHBhcnRpYWxseSBzZXQgYW4gYXJyYXkgb2YgdW5pZm9y
bXMgd2l0aCBnbC4iICsgdHlwZUluZm8uc2V0dGVyICsgIiB3aXRoIGEgc21hbGxlciBhcnJheSIp
OworICBnbFt0eXBlSW5mby5zZXR0ZXJdKGxvYywgc3JjVmFsdWVzTW9yZU11bHRpcGxlKTsKKyAg
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICJjYW4g
c2V0IGFuIGFycmF5IG9mIHVuaWZvcm1zIHdpdGggZ2wuIiArIHR5cGVJbmZvLnNldHRlciArICIg
d2l0aCBhIGxhcmdlciBhcnJheSIpOworCisgIHZhciB2YWx1ZXMgPSBnbC5nZXRVbmlmb3JtKHBy
b2dyYW0sIGxvYyk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAg
ICAgICAgICAgICAiY2FuIGNhbGwgZ2wuZ2V0VW5pZm9ybSIpOworICBhc3NlcnRNc2codHlwZUlu
Zm8uY2hlY2tUeXBlKHZhbHVlcyksCisgICAgICAgICAgICAiZ2wuZ2V0VW5pZm9ybSByZXR1cm5z
IHRoZSBjb3JyZWN0IHR5cGUuIik7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0eXBlSW5mby5u
dW1TcmNWYWx1ZXM7ICsraWkpIHsKKyAgICB2YXIgZWxlbUxvYyA9IGdsLmdldFVuaWZvcm1Mb2Nh
dGlvbihwcm9ncmFtLCAiY29sb3JbIiArIGlpICsgIl0iKTsKKyAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAiY2FuIGdldCBsb2NhdGlvbiBv
ZiBlbGVtZW50ICIgKyBpaSArCisgICAgICAgICAgICAgICAgICAgICIgb2YgYXJyYXkgZnJvbSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24iKTsKKyAgICB2YXIgdmFsdWUgPSBnbC5nZXRVbmlmb3JtKHBy
b2dyYW0sIGVsZW1Mb2MpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisg
ICAgICAgICAgICAgICAgICAgICJjYW4gZ2V0IHZhbHVlIG9mIGVsZW1lbnQgIiArIGlpICsgIiBv
ZiBhcnJheSBmcm9tIGdsLmdldFVuaWZvcm0iKTsKKyAgICBhc3NlcnRNc2codHlwZUluZm8uY2hl
Y2tWYWx1ZSh0eXBlSW5mbywgaWksIHZhbHVlKSwKKyAgICAgICAgICAgICAgInZhbHVlIHB1dCBp
biAoIiArIHR5cGVJbmZvLnNyY1ZhbHVlQXNTdHJpbmcoaWksIHNyY1ZhbHVlcykgKworICAgICAg
ICAgICAgICAiKSBtYXRjaGVzIHZhbHVlIHB1bGxlZCBvdXQgKCIgKworICAgICAgICAgICAgICB0
eXBlSW5mby5yZXR1cm5WYWx1ZUFzU3RyaW5nKHZhbHVlKSArICIpIik7CisgIH0KKyAgdHlwZUlu
Zm8uaW52YWxpZFNldChsb2MpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BF
UkFUSU9OLAorICAgICAgICAgICAgICAgICAgInVzaW5nIHRoZSB3cm9uZyBzaXplIG9mIGdsLlVu
aWZvcm0gZmFpbHMiKTsKKyAgdmFyIGV4Y2VwdGlvbkNhdWdodCA9IGZhbHNlOworICBpZiAodHlw
ZUluZm8uaWxsZWdhbFNldCkgeworICAgIHRyeSB7CisgICAgICB0eXBlSW5mby5pbGxlZ2FsU2V0
KGxvYyk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgZXhjZXB0aW9uQ2F1Z2h0ID0gdHJ1ZTsK
KyAgICB9CisgICAgYXNzZXJ0TXNnKGV4Y2VwdGlvbkNhdWdodCwgInBhc3Npbmcgbm9uLWFycmF5
IHRvIGdsVW5pZm9ybSpmdiBzaG91bGQgdGhyb3cgVHlwZUVycm9yIik7CisgIH0KKworICBnbC51
c2VQcm9ncmFtKG51bGwpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAg
ICAgICAgICAgICAgICAgImNhbiBjYWxsIGdsLnVzZVByb2dyYW0obnVsbCkiKTsKK30KKworLy8g
VGhpcyB0ZXN0IGlzIHRvIHRlc3QgZHJpdmVycyB0aGUgaGF2ZSBidWdzIHJlbGF0ZWQgdG8gb3B0
aW1pemluZworLy8gYW4gYXJyYXkgb2YgdW5pZm9ybXMgd2hlbiBvbmx5IDEgb2YgdGhvc2UgdW5p
Zm9ybXMgaXMgdXNlZC4KK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IGRyaXZlcnMgZG9uJ3Qgb3Zl
ciBvcHRpbWl6ZSB1bnVzZWQgYXJyYXkgZWxlbWVudHMiKTsKK3ZhciBtYXhVbmlmb3JtVmVjdG9y
cyA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfRlJBR01FTlRfVU5JRk9STV9WRUNUT1JTKTsKK3Zh
ciB0ZXN0cyA9IFsKKyB7IGRlc2M6ICJ1c2luZyBsYXN0IGVsZW1lbnQiLAorICAgbWF4VW5pZm9y
bVZlY3RvcnM6IG1heFVuaWZvcm1WZWN0b3JzLAorICAgdXNlZFVuaWZvcm1WZWN0b3I6IG1heFVu
aWZvcm1WZWN0b3JzIC0gMSwKKyAgIHNoYWRlcjogImZzaGFkZXItbWF4IiwKKyAgIGNvbG9yOiBb
MCwgMSwgMCwgMV0sCisgICBhcnJheU5hbWU6ICJjb2xvcmEiLAorICAgZXh0cmFOYW1lOiAiY29s
b3JiIiwKKyB9LAorIHsgZGVzYzogInVzaW5nIGZpcnN0IGVsZW1lbnQiLAorICAgbWF4VW5pZm9y
bVZlY3RvcnM6IG1heFVuaWZvcm1WZWN0b3JzLAorICAgdXNlZFVuaWZvcm1WZWN0b3I6IDAsCisg
ICBzaGFkZXI6ICJmc2hhZGVyLW1heCIsCisgICBjb2xvcjogWzAsIDEsIDAsIDFdLAorICAgYXJy
YXlOYW1lOiAiY29sb3JhIiwKKyAgIGV4dHJhTmFtZTogImNvbG9yYiIsCisgfSwKK107CisKKy8v
IEdlbmVyYXRlIHRlc3Qgc2hhZGVycy4gV2UncmUgdHJ5aW5nIHRvIGZvcmNlIHRoZSBkcml2ZXIg
dG8KKy8vIG92ZXJmbG93IGZyb20gMSBhcnJheSBpbnRvIHRoZSBuZXh0IGlmIGl0IG9wdGltaXpl
cy4gU28gZm9yIGV4YW1wbGUgaWYgaXQgd2FzIEMKKy8vCisvLyAgIGludCBiaWdbNF07CisvLyAg
IGludCBsaXR0bGVbMV07CisvLyAgIGJpZ1s1XSA9IDEyNDsKKy8vCisvLyBXb3VsZCBlbmQgdXAg
c2V0dGluZyBsaXR0bGVbMF0gaW5zdGVhZCBvZiBiaWcuIFNvbWUgZHJpdmVycyBvcHRpbWl6ZQor
Ly8gd2hlcmUgaWYgeW91IG9ubHkgdXNlIHNheSAnYmlnWzNdJyBpdCB3aWxsIGFjdHVhbGx5IG9u
bHkgYWxsb2NhdGUganVzdCAxIGVsZW1lbnQKKy8vIGZvciBiaWcuCisvLworLy8gQnV0LCBzb21l
IGRyaXZlcnMgaGF2ZSBhIGJ1ZyB3aGVyZSB0aGUgZmFjdCB0aGF0IHRoZXkgb3B0aW1pemVkIGJp
ZyB0byAxIGVsZW1lbnQKKy8vIGRvZXMgbm90IGdldCBwYXNzZWQgZG93biB0byBnbFVuaWZvcm0g
c28gd2hlbiBzZXR0aW5nIHRoZSB1bmlmb3JtICdiaWdbM10nIHRoZXkKKy8vIG92ZXJ3cml0ZSBt
ZW1vcnkuCisvLworLy8gSWYgdGhlIGRyaXZlciBjcmFzaGVzLCB5ZWEuIFdlIGZvdW5kIGEgYnVn
LiBXZSBjYW4gYmxhY2tsaXN0IHRoZSBkcml2ZXIuCisvLyBPdGhlcndpc2Ugd2UgdHJ5IHZhcmlv
dXMgY29tYmluYXRpb25zIHNvIHRoYXQgc2V0dGluZyAnbGl0dGxlWzBdJyBmaXJzdAorLy8gYW5k
IHRoZW4gc2V0dGluZyBhbGwgZWxlbWVudHMgb2YgJ2JpZycgd2UgaG9wZSBpdCB3aWxsIG92ZXJ3
cml0ZSAnbGl0dGxlWzBdJworLy8gd2hpY2ggd2lsbCBzaG93IHRoZSBidWcgYW5kIGFnYWluIHdl
IGNhbiBibGFja2xpc3QgdGhlIGRyaXZlci4KKy8vCisvLyBXZSBkb24ndCBrbm93IGhvdyB0aGUg
ZHJpdmVyIHdpbGwgb3JkZXIsIGluIG1lbW9yeSwgdGhlIHZhcmlvdXMgdW5pZm9ybXMKKy8vIG9y
IGZvciB0aGF0IG1hdHRlciB3ZSBkb24ndCBldmVuIGtub3cgaWYgdGhleSB3aWxsIGJlIGNvbnRp
Z3VvdXMgaW4gbWVtb3J5CisvLyBidXQgdG8gaG9wZWZ1bGx5IGV4cG9zZSBhbnkgYnVncyB3ZSB0
cnkgdmFyaW91cyBjb21iaW5hdGlvbnMuCisvLworLy8gICAgSXQgY291bGQgYmUgdGhlIGNvbXBp
bGVyIG9yZGVycyB1bmlmb3JtcyBhbHBoYWJldGljYWxseS4KKy8vICAgIEl0IGNvdWxkIGJlIGl0
IG9yZGVycyB0aGVtIGluIG9yZGVyIG9mIGRlY2xhcmF0aW9uLgorLy8gICAgSXQgY291bGQgYmUg
aXQgb3JkZXJzIHRoZW0gaW4gb3JkZXIgb2YgdXNhZ2UuCisvLworLy8gV2UgYWxzbyB0ZXN0IHVz
aW5nIG9ubHkgZmlyc3QgZWxlbWVudCBvZiBiaWcgb3IganVzdCB0aGUgbGFzdCBlbGVtZW50IG9m
IGJpZy4KKy8vCitmb3IgKHZhciBuYW1lT3JkZXIgPSAwOyBuYW1lT3JkZXIgPCAyOyArK25hbWVP
cmRlcikgeworICB2YXIgbmFtZTEgPSBuYW1lT3JkZXIgPyAiY29sb3JhIiA6ICJjb2xvcmIiOwor
ICB2YXIgbmFtZTIgPSBuYW1lT3JkZXIgPyAiY29sb3JiIiA6ICJjb2xvcmEiOworICBmb3IgKHZh
ciBsYXN0ID0gMDsgbGFzdCA8IDI7ICsrbGFzdCkgeworICAgIHZhciB1c2VkVW5pZm9ybVZlY3Rv
ciA9IGxhc3QgPyBtYXhVbmlmb3JtVmVjdG9ycyAtIDIgOiAwOworICAgIGZvciAodmFyIGRlY2xP
cmRlciA9IDA7IGRlY2xPcmRlciA8IDI7ICsrZGVjbE9yZGVyKSB7CisgICAgICB2YXIgYmlnTmFt
ZSAgICA9IGRlY2xPcmRlciA/IG5hbWUxIDogbmFtZTI7CisgICAgICB2YXIgbGl0dGxlTmFtZSA9
IGRlY2xPcmRlciA/IG5hbWUyIDogbmFtZTE7CisgICAgICB2YXIgZGVjbDEgPSBiaWdOYW1lICsg
IlsiICsgKG1heFVuaWZvcm1WZWN0b3JzIC0gMSkgKyAiXSI7CisgICAgICB2YXIgZGVjbDIgPSBs
aXR0bGVOYW1lICsgIlsxXSI7CisgICAgICBpZiAoZGVjbE9yZGVyKSB7CisgICAgICAgIHZhciB0
ID0gZGVjbDE7CisgICAgICAgIGRlY2wxID0gZGVjbDI7CisgICAgICAgIGRlY2wyID0gdDsKKyAg
ICAgIH0KKyAgICAgIGZvciAodmFyIHVzYWdlT3JkZXIgPSAwOyB1c2FnZU9yZGVyIDwgMjsgKyt1
c2FnZU9yZGVyKSB7CisgICAgICAgIHZhciB1c2FnZTEgPSBiaWdOYW1lICsgIlsiICsgdXNlZFVu
aWZvcm1WZWN0b3IgKyAiXSI7CisgICAgICAgIHZhciB1c2FnZTIgPSBsaXR0bGVOYW1lICsgIlsw
XSI7CisgICAgICAgIGlmICh1c2FnZU9yZGVyKSB7CisgICAgICAgICAgdmFyIHQgPSB1c2FnZTE7
CisgICAgICAgICAgdXNhZ2UxID0gdXNhZ2UyOworICAgICAgICAgIHVzYWdlMiA9IHQ7CisgICAg
ICAgIH0KKyAgICAgICAgdmFyIGZTcmMgPSB3dHUucmVwbGFjZVBhcmFtcyh3dHUuZ2V0U2NyaXB0
KCJmc2hhZGVyLW1heC1hYi1hYiIpLCB7CisgICAgICAgICAgZGVjbDE6IGRlY2wxLAorICAgICAg
ICAgIGRlY2wyOiBkZWNsMiwKKyAgICAgICAgICB1c2FnZTE6IHVzYWdlMSwKKyAgICAgICAgICB1
c2FnZTI6IHVzYWdlMiwKKyAgICAgICAgfSk7CisgICAgICAgIHZhciBkZXNjID0gInRlc3Rpbmc6
ICIgKyBuYW1lMSArICI6IiArIG5hbWUyICsgIiB1c2luZyAiICsgKGxhc3QgPyAibGFzdCIgOiAi
Zmlyc3QiKSArCisgICAgICAgICAgICAiIGNyZWF0aW5nIHVuaWZvcm1zICIgKyBkZWNsMSArICIg
IiArIGRlY2wyICsgIiBhbmQgYWNjZXNzaW5nICIgKyB1c2FnZTEgKyAiICIgKyB1c2FnZTI7Cisg
ICAgICAgIHRlc3RzLnB1c2goeworICAgICAgICAgIGRlc2M6IGRlc2MsCisgICAgICAgICAgbWF4
VW5pZm9ybVZlY3RvcnM6IG1heFVuaWZvcm1WZWN0b3JzIC0gMSwKKyAgICAgICAgICB1c2VkVW5p
Zm9ybVZlY3RvcjogdXNlZFVuaWZvcm1WZWN0b3IsCisgICAgICAgICAgc291cmNlOiBmU3JjLAor
ICAgICAgICAgIGNvbG9yOiBbMCwgMCwgMCwgMV0sCisgICAgICAgICAgYXJyYXlOYW1lOiBiaWdO
YW1lLAorICAgICAgICAgIGV4dHJhTmFtZTogbGl0dGxlTmFtZSwKKyAgICAgICAgfSk7CisgICAg
ICB9CisgICAgfQorICB9Cit9CisKK3ZhciBhbGxSZXF1aXJlZFVuaWZvcm1Mb2NhdGlvbnNRdWVy
eWFibGUgPSB0cnVlOworZnVuY3Rpb24gdGVzdFVuaWZvcm1PcHRpbWl6YXRpb25Jc3N1ZXModGVz
dEluZGV4KSB7CisgIHZhciB0ZXN0ID0gdGVzdHNbdGVzdEluZGV4XTsKKyAgZGVidWcoIiIpOwor
ICBkZWJ1Zyh0ZXN0LmRlc2MpOworICB2YXIgZlNyYyA9IHRlc3Quc291cmNlOworICBpZiAoIWZT
cmMpIHsKKyAgICBmU3JjID0gd3R1LnJlcGxhY2VQYXJhbXMod3R1LmdldFNjcmlwdCh0ZXN0LnNo
YWRlciksIHRlc3QpOworICB9CisKKyAgdmFyIGNvbnNvbGVFbGVtID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgd3R1LmFkZFNoYWRlclNvdXJjZSgKKyAgICAgIGNvbnNv
bGVFbGVtLCAidmVydGV4IHNoYWRlciIsIHZTcmMpOworICB3dHUuYWRkU2hhZGVyU291cmNlKAor
ICAgICAgY29uc29sZUVsZW0sICJmcmFnbWVudCBzaGFkZXIiLCBmU3JjKTsKKworICB2YXIgcHJv
Z3JhbSA9IHd0dS5sb2FkUHJvZ3JhbShnbCwgdlNyYywgZlNyYyk7CisgIGdsLnVzZVByb2dyYW0o
cHJvZ3JhbSk7CisKKyAgdmFyIGNvbG9yYkxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9u
KHByb2dyYW0sIHRlc3QuZXh0cmFOYW1lICsgIlswXSIpOworICBpZiAoY29sb3JiTG9jYXRpb24p
IHsKKyAgICBnbC51bmlmb3JtNGZ2KGNvbG9yYkxvY2F0aW9uLCBbMCwgMSwgMCwgMF0pOworICB9
CisKKyAgLy8gU2V0IGp1c3QgdGhlIHVzZWQgdW5pZm9ybQorICB2YXIgbmFtZSA9IHRlc3QuYXJy
YXlOYW1lICsgIlsiICsgdGVzdC51c2VkVW5pZm9ybVZlY3RvciArICJdIjsKKyAgdmFyIHVuaWZv
cm1Mb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCBuYW1lKTsKKyAgZ2wu
dW5pZm9ybTRmdih1bmlmb3JtTG9jYXRpb24sIHRlc3QuY29sb3IpOworICB3dHUuc2V0dXBRdWFk
KGdsLCAxLCBwb3NpdGlvbkxvYyk7CisgIHd0dS5kcmF3SW5kZXhlZFF1YWQoZ2wsIDEpOworICB3
dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsK
KworICAvLyBTZXQgYWxsIHRoZSB1bnVzZWQgdW5pZm9ybXMKKyAgdmFyIGxvY2F0aW9ucyA9IFtd
OworICBhbGxSZXF1aXJlZFVuaWZvcm1Mb2NhdGlvbnNRdWVyeWFibGUgPSB0cnVlOworICBmb3Ig
KHZhciBpaSA9IDA7IGlpIDwgdGVzdC5tYXhVbmlmb3JtVmVjdG9yczsgKytpaSkgeworICAgIHZh
ciBuYW1lID0gdGVzdC5hcnJheU5hbWUgKyAiWyIgKyBpaSArICJdIjsKKyAgICB2YXIgdW5pZm9y
bUxvY2F0aW9uID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sIG5hbWUpOworICAgIGxv
Y2F0aW9ucy5wdXNoKHVuaWZvcm1Mb2NhdGlvbik7CisgICAgaWYgKGlpID09IHRlc3QudXNlZFVu
aWZvcm1WZWN0b3IpIHsKKyAgICAgIGNvbnRpbnVlOworICAgIH0KKyAgICAvLyBMb2NhdGlvbnMg
PiB1c2VkVW5mb3JtVmVjdG9yIG1heSBub3QgZXhpc3QuCisgICAgLy8gTG9jYXRpb25zIDw9IHVz
ZWRVbmlmb3JtVmVjdG9yIE1VU1QgZXhpc3QuCisgICAgaWYgKGlpIDw9IHRlc3QudXNlZFVuaWZv
cm1WZWN0b3IgJiYgKHVuaWZvcm1Mb2NhdGlvbiA9PT0gdW5kZWZpbmVkIHx8IHVuaWZvcm1Mb2Nh
dGlvbiA9PT0gbnVsbCkpIHsKKyAgICAgIGFsbFJlcXVpcmVkVW5pZm9ybUxvY2F0aW9uc1F1ZXJ5
YWJsZSA9IGZhbHNlOworICAgIH0KKyAgICBnbC51bmlmb3JtNGZ2KHVuaWZvcm1Mb2NhdGlvbiwg
WzEsIDAsIDAsIDFdKTsKKyAgfQorICBzaG91bGRCZVRydWUoImFsbFJlcXVpcmVkVW5pZm9ybUxv
Y2F0aW9uc1F1ZXJ5YWJsZSIpOworICB2YXIgcG9zaXRpb25Mb2MgPSBnbC5nZXRBdHRyaWJMb2Nh
dGlvbihwcm9ncmFtLCAiYV9wb3NpdGlvbiIpOworICB3dHUuc2V0dXBRdWFkKGdsLCAxLCBwb3Np
dGlvbkxvYyk7CisgIHd0dS5kcmF3SW5kZXhlZFF1YWQoZ2wsIDEpOworICB3dHUuY2hlY2tDYW52
YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKworICAvLyBDaGVj
ayB3ZSBjYW4gcmVhZCAmIHdyaXRlIGVhY2ggdW5pZm9ybS4KKyAgLy8gTm90ZTogdW5pZm9ybXMg
cGFzdCB0ZXN0LnVzZWRVbmlmb3JtVmVjdG9yIG1pZ2h0IG5vdCBleGlzdC4KKyAgZm9yICh2YXIg
aWkgPSAwOyBpaSA8IHRlc3QubWF4VW5pZm9ybVZlY3RvcnM7ICsraWkpIHsKKyAgICBnbC51bmlm
b3JtNGZ2KGxvY2F0aW9uc1tpaV0sIFtpaSArIDQsIGlpICsgMiwgaWkgKyAzLCBpaSArIDFdKTsK
KyAgfQorCisgIHZhciBrRXBzaWxvbiA9IDAuMDE7CisgIHZhciBpc1NhbWUgPSBmdW5jdGlvbih2
MSwgdjIpIHsKKyAgICByZXR1cm4gTWF0aC5hYnModjEgLSB2MikgPCBrRXBzaWxvbjsKKyAgfTsK
KworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGVzdC5tYXhVbmlmb3JtVmVjdG9yczsgKytpaSkg
eworICAgIHZhciBsb2NhdGlvbiA9IGxvY2F0aW9uc1tpaV07CisgICAgaWYgKGxvY2F0aW9uKSB7
CisgICAgICB2YXIgdmFsdWUgPSBnbC5nZXRVbmlmb3JtKHByb2dyYW0sIGxvY2F0aW9uc1tpaV0p
OworICAgICAgaWYgKCFpc1NhbWUodmFsdWVbMF0sIGlpICsgNCkgfHwKKyAgICAgICAgICAhaXNT
YW1lKHZhbHVlWzFdLCBpaSArIDIpIHx8CisgICAgICAgICAgIWlzU2FtZSh2YWx1ZVsyXSwgaWkg
KyAzKSB8fAorICAgICAgICAgICFpc1NhbWUodmFsdWVbM10sIGlpICsgMSkpIHsKKyAgICAgICAg
dGVzdEZhaWxlZCgibG9jYXRpb246ICIgKyBpaSArICIgd2FzIG5vdCBjb3JyZWN0IHZhbHVlIik7
CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfQorfQorCit2YXIgdGVzdEluZGV4
ID0gMDsKK2Z1bmN0aW9uIHJ1bk5leHRUZXN0KCkgeworICB0ZXN0VW5pZm9ybU9wdGltaXphdGlv
bklzc3Vlcyh0ZXN0SW5kZXgrKyk7CisgIGlmICh0ZXN0SW5kZXggPCB0ZXN0cy5sZW5ndGgpIHsK
KyAgICBzZXRUaW1lb3V0KHJ1bk5leHRUZXN0LCAxMCk7CisgIH0gZWxzZSB7CisgICAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3VsZCBiZSBubyBlcnJvcnMiKTsK
KyAgICBkZWJ1ZygiIik7CisgICAgZmluaXNoVGVzdCgpOworICB9Cit9CitydW5OZXh0VGVzdCgp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFl
YWU4MGMwMGE0MjczMTg2ZmIzNGU1MDc4ZDhhYmEwMjU1OWViNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDM2MiBAQAor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdW5p
Zm9ybSBkZWZhdWx0IHZhbHVlczwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3QtZXZhbC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIiIGhlaWdo
dD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdCBpZD0idnNoYWRlcjAiIHR5cGU9Ingtc2hhZGVyL3gt
dmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgICAg
Z2xfUG9zaXRpb24gPSB2UG9zaXRpb247Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFk
ZXIwIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0
OwordW5pZm9ybSAkKHR5cGUpIHVfdW5pZm9ybTsKKworYm9vbCBpc1plcm8oJCh0eXBlKSB2YWx1
ZSkgeworICQoY2hlY2spOworfQorCit2b2lkIG1haW4oKQoreworICBnbF9GcmFnQ29sb3IgPSBp
c1plcm8odV91bmlmb3JtKSA/IHZlYzQoMCwxLDAsMSkgOiB2ZWM0KDEsMCwwLDEpOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyMSIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgor
YXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwordmFyeWluZyB2ZWM0IHZfY29sb3I7Cit1bmlmb3Jt
ICQodHlwZSkgdV91bmlmb3JtOworCitib29sIGlzWmVybygkKHR5cGUpIHZhbHVlKSB7CisgICAk
KGNoZWNrKTsKK30KKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlv
bjsKKyAgICB2X2NvbG9yID0gaXNaZXJvKHVfdW5pZm9ybSkgPyB2ZWM0KDAsMSwwLDEpIDogdmVj
NCgxLDAsMCwxKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjEiIHR5cGU9Ingt
c2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZl
YzQgdl9jb2xvcjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdl9jb2xvcjsK
K30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlcjIiIHR5cGU9Ingtc2hhZGVyL3gtdmVy
dGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xf
UG9zaXRpb24gPSB2UG9zaXRpb247Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIy
IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
dW5pZm9ybSAkKHR5cGUpIHVfdW5pZm9ybVsyXTsKKworYm9vbCBpc1plcm8oJCh0eXBlKSB2YWx1
ZSkgeworICAkKGNoZWNrKTsKK30KKwordm9pZCBtYWluKCkKK3sKKyAgZ2xfRnJhZ0NvbG9yID0g
aXNaZXJvKHVfdW5pZm9ybVsxXSkgPyB2ZWM0KDAsMSwwLDEpIDogdmVjNCgxLDAsMCwxKTsKK30K
Kzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlcjMiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4
Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK3ZhcnlpbmcgdmVjNCB2X2NvbG9yOwordW5p
Zm9ybSAkKHR5cGUpIHVfdW5pZm9ybVsyXTsKKworYm9vbCBpc1plcm8oJCh0eXBlKSB2YWx1ZSkg
eworICAgJChjaGVjayk7Cit9CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB2
UG9zaXRpb247CisgICAgdl9jb2xvciA9IGlzWmVybyh1X3VuaWZvcm1bMV0pID8gdmVjNCgwLDEs
MCwxKSA6IHZlYzQoMSwwLDAsMSk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIz
IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owor
dmFyeWluZyB2ZWM0IHZfY29sb3I7Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9
IHZfY29sb3I7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlw
dGlvbigpOworCit2YXIgdGVzdHMgPSBbCit7IHR5cGU6ICdmbG9hdCcsCisgIGNoZWNrOiAicmV0
dXJuIHZhbHVlID09IDAuMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZv
cm0xZihsb2MsIDMuMCk7IH0KK30sCit7IHR5cGU6ICdpbnQnLAorICBjaGVjazogInJldHVybiB2
YWx1ZSA9PSAwIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFpKGxv
YywgMy4wKTsgfQorfSwKK3sgdHlwZTogJ2Jvb2wnLAorICBjaGVjazogInJldHVybiB2YWx1ZSA9
PSBmYWxzZSIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0xaShsb2Ms
IDEpOyB9Cit9LAoreyB0eXBlOiAndmVjMicsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09
IDAuMCAmJiB2YWx1ZVsxXSA9PSAwLjAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBn
bC51bmlmb3JtMmYobG9jLCAzLjAsIDMuMCk7IH0KK30sCit7IHR5cGU6ICd2ZWMzJywKKyAgY2hl
Y2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0gMC4wICYmIHZhbHVlWzFdID09IDAuMCAmJiB2YWx1ZVsy
XSA9PSAwLjAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtM2YobG9j
LCAzLjAsIDMuMCwgMy4wKTsgfQorfSwKK3sgdHlwZTogJ3ZlYzQnLAorICBjaGVjazogInJldHVy
biB2YWx1ZVswXSA9PSAwLjAgJiYgdmFsdWVbMV0gPT0gMC4wICYmIHZhbHVlWzJdID09IDAuMCAm
JiB2YWx1ZVszXSA9PSAwLjAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlm
b3JtNGYobG9jLCAzLjAsIDMuMCwgMy4wLCAzLjApOyB9Cit9LAoreyB0eXBlOiAnaXZlYzInLAor
ICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSAwICYmIHZhbHVlWzFdID09IDAiLAorICBzZXRG
bjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMmkobG9jLCAzLCAzKTsgfQorfSwKK3sg
dHlwZTogJ2l2ZWMzJywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0gMCAmJiB2YWx1ZVsx
XSA9PSAwICYmIHZhbHVlWzJdID09IDAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBn
bC51bmlmb3JtM2kobG9jLCAzLCAzLCAzKTsgfQorfSwKK3sgdHlwZTogJ2l2ZWM0JywKKyAgY2hl
Y2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0gMCAmJiB2YWx1ZVsxXSA9PSAwICYmIHZhbHVlWzJdID09
IDAgJiYgdmFsdWVbM10gPT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVu
aWZvcm00aShsb2MsIDMsIDMsIDMsIDMpOyB9Cit9LAoreyB0eXBlOiAnYnZlYzInLAorICBjaGVj
azogInJldHVybiB2YWx1ZVswXSA9PSBmYWxzZSAmJiB2YWx1ZVsxXSA9PSBmYWxzZSIsCisgIHNl
dEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0yaShsb2MsIDEsIDEpOyB9Cit9LAor
eyB0eXBlOiAnYnZlYzMnLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSBmYWxzZSAmJiB2
YWx1ZVsxXSA9PSBmYWxzZSAmJiB2YWx1ZVsyXSA9PSBmYWxzZSIsCisgIHNldEZuOiBmdW5jdGlv
bihnbCwgbG9jKSB7IGdsLnVuaWZvcm0zaShsb2MsIDEsIDEsIDEpOyB9Cit9LAoreyB0eXBlOiAn
YnZlYzQnLAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSBmYWxzZSAmJiB2YWx1ZVsxXSA9
PSBmYWxzZSAmJiB2YWx1ZVsyXSA9PSBmYWxzZSAmJiB2YWx1ZVszXSA9PSBmYWxzZSIsCisgIHNl
dEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm00aShsb2MsIDEsIDEsIDEsIDEpOyB9
Cit9LAoreyB0eXBlOiAnbWF0MicsCisgIGNoZWNrOgorICAgICJyZXR1cm4gIiArCisgICAgInZh
bHVlWzBdWzBdID09IDAuMCAmJiB2YWx1ZVswXVsxXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVl
WzFdWzBdID09IDAuMCAmJiB2YWx1ZVsxXVswXSA9PSAwLjAiLAorICB2YWx1ZUNoZWNrOgorICAg
ICJyZXR1cm4gIiArCisgICAgInZhbHVlWzBdID09IDAuMCAmJiB2YWx1ZVsxXSA9PSAwLjAgJiYg
IiArCisgICAgInZhbHVlWzJdID09IDAuMCAmJiB2YWx1ZVszXSA9PSAwLjAiLAorICBzZXRGbjog
ZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtTWF0cml4MmZ2KGxvYywgZmFsc2UsIFsxLCAx
LCAxLCAxXSk7IH0KK30sCit7IHR5cGU6ICdtYXQzJywKKyAgY2hlY2s6CisgICAgInJldHVybiAi
ICsKKyAgICAidmFsdWVbMF1bMF0gPT0gMC4wICYmIHZhbHVlWzFdWzBdID09IDAuMCAmJiB2YWx1
ZVsyXVswXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzBdWzFdID09IDAuMCAmJiB2YWx1ZVsx
XVsxXSA9PSAwLjAgJiYgdmFsdWVbMl1bMV0gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVswXVsy
XSA9PSAwLjAgJiYgdmFsdWVbMV1bMl0gPT0gMC4wICYmIHZhbHVlWzJdWzJdID09IDAuMCIsCisg
IHZhbHVlQ2hlY2s6CisgICAgInJldHVybiAiICsKKyAgICAidmFsdWVbMF0gPT0gMC4wICYmIHZh
bHVlWzFdID09IDAuMCAmJiB2YWx1ZVsyXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzNdID09
IDAuMCAmJiB2YWx1ZVs0XSA9PSAwLjAgJiYgdmFsdWVbNV0gPT0gMC4wICYmICIgKworICAgICJ2
YWx1ZVs2XSA9PSAwLjAgJiYgdmFsdWVbN10gPT0gMC4wICYmIHZhbHVlWzhdID09IDAuMCIsCisg
IHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm1NYXRyaXgzZnYobG9jLCBmYWxz
ZSwgWzEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDFdKTsgfQorfSwKK3sgdHlwZTogJ21hdDQnLAor
ICBjaGVjazoKKyAgICAicmV0dXJuICIgKworICAgICJ2YWx1ZVswXVswXSA9PSAwLjAgJiYgdmFs
dWVbMV1bMF0gPT0gMC4wICYmIHZhbHVlWzJdWzBdID09IDAuMCAmJiB2YWx1ZVszXVswXSA9PSAw
LjAgJiYgIiArCisgICAgInZhbHVlWzBdWzFdID09IDAuMCAmJiB2YWx1ZVsxXVsxXSA9PSAwLjAg
JiYgdmFsdWVbMl1bMV0gPT0gMC4wICYmIHZhbHVlWzNdWzFdID09IDAuMCAmJiAiICsKKyAgICAi
dmFsdWVbMF1bMl0gPT0gMC4wICYmIHZhbHVlWzFdWzJdID09IDAuMCAmJiB2YWx1ZVsyXVsyXSA9
PSAwLjAgJiYgdmFsdWVbM11bMl0gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVswXVszXSA9PSAw
LjAgJiYgdmFsdWVbMV1bM10gPT0gMC4wICYmIHZhbHVlWzJdWzNdID09IDAuMCAmJiB2YWx1ZVsz
XVszXSA9PSAwLjAiLAorICB2YWx1ZUNoZWNrOgorICAgICJyZXR1cm4gIiArCisgICAgInZhbHVl
WyAwXSA9PSAwLjAgJiYgdmFsdWVbIDFdID09IDAuMCAmJiB2YWx1ZVsgMl0gPT0gMC4wICYmIHZh
bHVlWyAzXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWyA0XSA9PSAwLjAgJiYgdmFsdWVbIDVd
ID09IDAuMCAmJiB2YWx1ZVsgNl0gPT0gMC4wICYmIHZhbHVlWyA3XSA9PSAwLjAgJiYgIiArCisg
ICAgInZhbHVlWyA4XSA9PSAwLjAgJiYgdmFsdWVbIDldID09IDAuMCAmJiB2YWx1ZVsxMF0gPT0g
MC4wICYmIHZhbHVlWzExXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzEyXSA9PSAwLjAgJiYg
dmFsdWVbMTNdID09IDAuMCAmJiB2YWx1ZVsxNF0gPT0gMC4wICYmIHZhbHVlWzE1XSA9PSAwLjAi
LAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtTWF0cml4NGZ2KGxvYywg
ZmFsc2UsIFsxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxXSk7
IH0KK30sCit7IHR5cGU6ICdzYW1wbGVyMkQnLAorICBjaGVjazoKKyAgICAidmVjNCB2ID0gdGV4
dHVyZTJEKHZhbHVlLCB2ZWMyKDAsIDApKTsiICsKKyAgICAicmV0dXJuIHYueCA9PSAxLjAgJiYg
di55ID09IDEuMCAmJiB2LnogPT0gMS4wICYmIHYudyA9PSAxLjAiLAorICB2YWx1ZUNoZWNrOgor
ICAgICJyZXR1cm4gdmFsdWUgPT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGds
LnVuaWZvcm0xaShsb2MsIDEpOyB9Cit9LAoreyB0eXBlOiAnc2FtcGxlckN1YmUnLAorICBjaGVj
azoKKyAgICAidmVjNCB2ID0gdGV4dHVyZUN1YmUodmFsdWUsIHZlYzMoMCwgMCwgMCkpOyIgKwor
ICAgICJyZXR1cm4gdi54ID09IDEuMCAmJiB2LnkgPT0gMS4wICYmIHYueiA9PSAxLjAgJiYgdi53
ID09IDEuMCIsCisgIHZhbHVlQ2hlY2s6CisgICAgInJldHVybiB2YWx1ZSA9PSAwIiwKKyAgc2V0
Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTFpKGxvYywgMSk7IH0KK30sCitdOwor
Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0
KCk7Cit2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7Cit2YXIgY2hl
Y2tGbjsKKword3R1LnNldHVwVW5pdFF1YWQoZ2wsIFswLCAxXSk7CisKKy8vIFNldCB1bml0IDAg
dG8gYSBub24tMCB0ZXh0dXJlLgordmFyIGhhdmVWZXJ0ZXhUZXh0dXJlSW1hZ2VVbml0cyA9Cisg
ICAgZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WRVJURVhfVEVYVFVSRV9JTUFHRV9VTklUUykgPj0g
MjsKK3ZhciB0ZXgyRCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKK3ZhciB0ZXhDdWJlID0gZ2wuY3Jl
YXRlVGV4dHVyZSgpOworZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4MkQpOworZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4Q3ViZSk7CisKK3ZhciBwaXhlbCA9
IG5ldyBVaW50OEFycmF5KFsyNTUsIDI1NSwgMjU1LCAyNTVdKTsKK3ZhciB0YXJnZXRzID0gWwor
ICBnbC5URVhUVVJFXzJELAorICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgIGds
LlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJ
VElWRV9ZLAorICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCitd
OworZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRhcmdldHMubGVuZ3RoOyArK2lpKSB7CisgICAgZ2wu
dGV4SW1hZ2UyRCgKKyAgICAgICAgdGFyZ2V0c1tpaV0sIDAsIGdsLlJHQkEsIDEsIDEsIDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHBpeGVsKTsKK30KKwordmFyIHNoYWRlclRlbXBsYXRl
cyA9IFsKK3sgdnM6ICJ2c2hhZGVyMCIsIGZzOiAiZnNoYWRlcjAiLCB0eXBlOiAnZicgfSwKK3sg
dnM6ICJ2c2hhZGVyMSIsIGZzOiAiZnNoYWRlcjEiLCB0eXBlOiAndicgfSwKK3sgdnM6ICJ2c2hh
ZGVyMiIsIGZzOiAiZnNoYWRlcjIiLCB0eXBlOiAnZicgfSwKK3sgdnM6ICJ2c2hhZGVyMyIsIGZz
OiAiZnNoYWRlcjMiLCB0eXBlOiAndicgfSwKK107CisKKy8vIEdldCBzaGFkZXIgdGVtcGxhdGVz
Citmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2hhZGVyVGVtcGxhdGVzLmxlbmd0aDsgKytpaSkgewor
ICB2YXIgdGVtcGxhdGUgPSBzaGFkZXJUZW1wbGF0ZXNbaWldOworICB0ZW1wbGF0ZS52cyA9IHd0
dS5nZXRTY3JpcHQodGVtcGxhdGUudnMpOworICB0ZW1wbGF0ZS5mcyA9IHd0dS5nZXRTY3JpcHQo
dGVtcGxhdGUuZnMpOworfQorCitmdW5jdGlvbiB0ZXN0VHlwZSh0ZXN0KSB7CisgIGRlYnVnKCIi
KTsKKyAgZGVidWcoInRlc3Rpbmc6ICIgKyB0ZXN0LnR5cGUpOworCisgIGZvciAodmFyIGlpID0g
MDsgaWkgPCBzaGFkZXJUZW1wbGF0ZXMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIHRlbXBsYXRl
ID0gc2hhZGVyVGVtcGxhdGVzW2lpXTsKKworICAgIGlmICh0ZXN0LnR5cGUuc3Vic3RyaW5nKDAs
IDcpID09ICJzYW1wbGVyIiAmJgorICAgICAgICB0ZW1wbGF0ZS50eXBlID09ICd2JyAmJgorICAg
ICAgICAhaGF2ZVZlcnRleFRleHR1cmVJbWFnZVVuaXRzKSB7CisgICAgICBjb250aW51ZTsKKyAg
ICB9CisKKyAgICB2YXIgdnMgPSB3dHUucmVwbGFjZVBhcmFtcyh0ZW1wbGF0ZS52cywgdGVzdCk7
CisgICAgdmFyIGZzID0gd3R1LnJlcGxhY2VQYXJhbXModGVtcGxhdGUuZnMsIHRlc3QpOworCisg
ICAgd3R1LmFkZFNoYWRlclNvdXJjZShjLCAidmVydGV4IHNoYWRlciIsIHZzKTsKKyAgICB3dHUu
YWRkU2hhZGVyU291cmNlKGMsICJmcmFnbWVudCBzaGFkZXIiLCBmcyk7CisKKyAgICB2YXIgdnMg
PSB3dHUubG9hZFNoYWRlcihnbCwgdnMsIGdsLlZFUlRFWF9TSEFERVIpOworICAgIHZhciBmcyA9
IHd0dS5sb2FkU2hhZGVyKGdsLCBmcywgZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICB2YXIgcHJv
Z3JhbSA9IHd0dS5jcmVhdGVQcm9ncmFtKGdsLCB2cywgZnMpOworCisgICAgZ2wudXNlUHJvZ3Jh
bShwcm9ncmFtKTsKKworICAgIHZhciBsb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3Jh
bSwgInVfdW5pZm9ybVsxXSIpOworICAgIGlmICghbG9jKSB7CisgICAgICAgIHZhciBsb2MgPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfdW5pZm9ybSIpOworICAgIH0KKworICAg
IHZhciB2YWx1ZSA9IGdsLmdldFVuaWZvcm0ocHJvZ3JhbSwgbG9jKTsKKyAgICBUZXN0RXZhbCgi
Y2hlY2tGbiA9IGZ1bmN0aW9uKHZhbHVlKSB7IiArICh0ZXN0LnZhbHVlQ2hlY2sgPyB0ZXN0LnZh
bHVlQ2hlY2sgOiB0ZXN0LmNoZWNrKSArICI7fSIpOworICAgIGlmIChjaGVja0ZuKHZhbHVlKSkg
eworICAgICAgICB0ZXN0UGFzc2VkKCJ1bmlmb3JtIGlzIHplcm8iKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICB0ZXN0RmFpbGVkKCJ1bmlmb3JtIGlzIG5vdCB6ZXJvIik7CisgICAgfQorCisgICAg
ZGVidWcoImRlZmF1bHQgdmFsdWUgc2hvdWxkIGJlIHplcm8iKTsKKyAgICB3dHUuZHJhd1F1YWQo
Z2wpOworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBi
ZSBncmVlbiIsIDApOworCisgICAgZGVidWcoInRlc3QgdGVzdCBieSBzZXR0aW5nIHZhbHVlIik7
CisgICAgdGVzdC5zZXRGbihnbCwgbG9jKTsKKworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAg
d3R1LmNoZWNrQ2FudmFzKGdsLCBbMjU1LCAwLCAwLCAyNTVdLCAic2hvdWxkIGJlIHJlZCIsIDAp
OworCisgICAgZGVidWcoInJlLWxpbmtpbmcgc2hvdWxkIHJlc2V0IHRvIGRlZmF1bHRzIik7Cisg
ICAgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSk7CisKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAg
IHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIs
IDApOworCisgICAgZ2wuZGVsZXRlUHJvZ3JhbShwcm9ncmFtKTsKKyAgICBnbC5kZWxldGVTaGFk
ZXIodnMpOworICAgIGdsLmRlbGV0ZVNoYWRlcihmcyk7CisKKyAgICB3dHUuZ2xFcnJvclNob3Vs
ZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBHTCBlcnJvcnMiKTsKKyAgfQorfQor
Cit2YXIgdGVzdE5keCA9IDA7CitmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsKKyAgICB0ZXN0VHlw
ZSh0ZXN0c1t0ZXN0TmR4KytdKTsKKyAgICBpZiAodGVzdE5keCA+PSB0ZXN0cy5sZW5ndGgpIHsK
KyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIHNldFRpbWVvdXQo
cnVuTmV4dFRlc3QsIDEpOworICAgIH0KK30KKworcnVuTmV4dFRlc3QoKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9y
bS1sb2NhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNWM2ZDc5MDE3OGUzOTI2MWIyOWJhZmZlNTg0
ZWJhNjRkMzI3NzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9u
Lmh0bWwKQEAgLTAsMCArMSwxMTYgQEAKKzwhLS0KKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIg
VGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9m
IHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
CisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3Ry
aWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVz
ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu
c2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBz
dWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5j
bHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1h
dGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRI
T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
CisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC
RSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBX
SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBB
UklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklB
TFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKy0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3Jp
cHRpb24oIlRlc3RzIHRoZSBXZWJHTFVuaWZvcm1Mb2NhdGlvbiBBUEkiKTsKKwordmFyIHd0dSA9
IFdlYkdMVGVzdFV0aWxzOwordmFyIGNvbnRleHRBID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOwor
dmFyIGNvbnRleHRCID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOwordmFyIHByb2dyYW1BMSA9IHd0
dS5sb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHRBKTsKK3ZhciBwcm9ncmFtQTIgPSB3dHUubG9h
ZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0QSk7Cit2YXIgcHJvZ3JhbUIgPSB3dHUubG9hZFN0YW5k
YXJkUHJvZ3JhbShjb250ZXh0Qik7Cit2YXIgcHJvZ3JhbVMgPSB3dHUubG9hZFByb2dyYW1Gcm9t
RmlsZShjb250ZXh0QSwgIi4uL3Jlc291cmNlcy9zdHJ1Y3RVbmlmb3JtU2hhZGVyLnZlcnQiLCAi
Li4vcmVzb3VyY2VzL2ZyYWdtZW50U2hhZGVyLmZyYWciKTsKK3ZhciBwcm9ncmFtViA9IHd0dS5s
b2FkUHJvZ3JhbUZyb21GaWxlKGNvbnRleHRBLCAiLi4vcmVzb3VyY2VzL2Zsb2F0VW5pZm9ybVNo
YWRlci52ZXJ0IiwgIi4uL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci5mcmFnIik7Cit2YXIg
bG9jYXRpb25BID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1BMSwgJ3VfbW9k
ZWxWaWV3UHJvak1hdHJpeCcpOwordmFyIGxvY2F0aW9uQiA9IGNvbnRleHRCLmdldFVuaWZvcm1M
b2NhdGlvbihwcm9ncmFtQiwgJ3VfbW9kZWxWaWV3UHJvak1hdHJpeCcpOwordmFyIGxvY2F0aW9u
U3ggPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X3N0cnVjdC54Iik7
Cit2YXIgbG9jYXRpb25TeDI7Cit2YXIgbG9jYXRpb25BcnJheTAgPSBjb250ZXh0QS5nZXRVbmlm
b3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X2FycmF5WzBdIik7Cit2YXIgbG9jYXRpb25BcnJheTEg
PSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X2FycmF5WzFdIik7Cit2
YXIgbG9jYXRpb25WZWM0ID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1WLCAi
ZnZhbDQiKTsKKwordmFyIHZlYyA9IFsxLCAyLCAzLCA0XTsKK3ZhciBtYXQgPSBbMSwgMiwgMywg
NCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTZdOworCitzaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudXNl
UHJvZ3JhbShwcm9ncmFtQTIpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNv
bnRleHRBLklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dEEudW5pZm9ybU1hdHJpeDRmdihsb2Nh
dGlvbkEsIGZhbHNlLCBtYXQpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNv
bnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudXNlUHJvZ3JhbShwcm9ncmFtQTEpIik7CitzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEu
dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbkEsIGZhbHNlLCBtYXQpIik7CitzaG91bGRHZW5lcmF0
ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybU1h
dHJpeDRmdihudWxsLCBmYWxzZSwgbWF0KSIpOworCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29u
dGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudXNlUHJvZ3JhbShwcm9ncmFtUyki
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJj
b250ZXh0QS51bmlmb3JtMWkobG9jYXRpb25TeCwgMzMzKSIpOworc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0xZihsb2Nh
dGlvbkFycmF5MCwgNC4wKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250
ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0xZihsb2NhdGlvbkFycmF5MSwgNS4wKSIp
OworCitzaG91bGRCZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25TeCki
LCAiMzMzIik7CitzaG91bGRCZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRp
b25BcnJheTApIiwgIjQuMCIpOworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0ocHJvZ3Jh
bVMsIGxvY2F0aW9uQXJyYXkxKSIsICI1LjAiKTsKKworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNv
bnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVzZVByb2dyYW0ocHJvZ3JhbVYp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAi
Y29udGV4dEEudW5pZm9ybTRmdihsb2NhdGlvblZlYzQsIHZlYykiKTsKK3Nob3VsZEJlKCJjb250
ZXh0QS5nZXRVbmlmb3JtKHByb2dyYW1WLCBsb2NhdGlvblZlYzQpIiwgInZlYyIpOworCitzaG91
bGRCZU51bGwoImNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtViwgXCJJRG9udEV4
aXN0XCIpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VS
Uk9SLCAiY29udGV4dEEubGlua1Byb2dyYW0ocHJvZ3JhbUExKSIpOworLy8gQWZ0ZXIgbGlua2lu
ZyBhbGwgYm94ZXMgYXJlIGJhZC4KK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29u
dGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS51bmlmb3JtTWF0cml4NGZ2KGxvY2F0
aW9uQSwgZmFsc2UsIG1hdCkiKTsKKworLy8gYWZ0ZXIgcmUtbGlua2luZyB0aGUgc2FtZSBwcm9n
cmFtLCBhbGwgdW5pZm9ybSBsb2NhdGlvbnMgYmVjb21lIGludmFsaWQuCitzaG91bGRHZW5lcmF0
ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudXNlUHJvZ3Jh
bShwcm9ncmFtUykiKTsKK2NvbnRleHRBLnN0ZW5jaWxNYXNrKDEpOworc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLmxpbmtQcm9ncmFt
KHByb2dyYW1TKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5J
TlZBTElEX09QRVJBVElPTiwgImNvbnRleHRBLnVuaWZvcm0xaShsb2NhdGlvblN4LCAzKSIpOwor
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElP
TiwgImNvbnRleHRBLmdldFVuaWZvcm0ocHJvZ3JhbVMsIGxvY2F0aW9uU3gpIik7CisKKy8vIFJl
dHJpZXZlIHRoZSBsb2NhdGlvbnMgYWdhaW4sIGFuZCB0aGV5IHNob3VsZCBiZSBnb29kLgorbG9j
YXRpb25TeCA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfc3RydWN0
LngiKTsKK2xvY2F0aW9uQXJyYXkwID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dy
YW1TLCAidV9hcnJheVswXSIpOworZGVidWcoImhlcmUiKTsKK2NvbnRleHRBLnN0ZW5jaWxNYXNr
KDApOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwg
ImNvbnRleHRBLnVuaWZvcm0xaShsb2NhdGlvblN4LCAzKSIpOworc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm0xZihsb2Nh
dGlvbkFycmF5MCwgMTIzKSIpOworc2hvdWxkQmUoImNvbnRleHRBLmdldFVuaWZvcm0ocHJvZ3Jh
bVMsIGxvY2F0aW9uU3gpIiwgIjMiKTsKK3Nob3VsZEJlKCJjb250ZXh0QS5nZXRVbmlmb3JtKHBy
b2dyYW1TLCBsb2NhdGlvbkFycmF5MCkiLCAiMTIzIik7CisKKy8vIGdldFVuaWZvcm1Mb2NhdGlv
biBzaG91bGQgcmV0dXJuIGEgZGlmZmVyZW50IG9iamVjdCBldmVyeXRpbWUsIHNob3VsZCBub3Qg
Y2FjaGUgYW5kIHJldHVybiB0aGUgc2FtZSBvYmplY3QKK2RlYnVnKCJUZXN0aW5nIHRoYXQgZ2V0
VW5pZm9ybUxvY2F0aW9uIHJldHVybnMgYSBkaWZmZXJlbnQgb2JqZWN0IGV2ZXJ5dGltZSIpOwor
bG9jYXRpb25TeCAgPSBjb250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X3N0
cnVjdC54Iik7Citsb2NhdGlvblN4MiA9IGNvbnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9n
cmFtUywgInVfc3RydWN0LngiKTsKK3Nob3VsZEJlRmFsc2UoImxvY2F0aW9uU3ggPT09IGxvY2F0
aW9uU3gyIik7Citsb2NhdGlvblN4LmZvbyAgPSB7fTsKK2xvY2F0aW9uU3gyLmZvbyA9IHt9Owor
c2hvdWxkQmVGYWxzZSgibG9jYXRpb25TeC5mb28gPT09IGxvY2F0aW9uU3gyLmZvbyIpOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Vu
aWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwZWQ1NzdkMTYw
MzQxMWM1N2UwZDk2ODNlNTljNzAwNTE0N2M5ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbApAQCAtMCwwICsxLDExMCBAQAorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+V2ViR0wgc2FtcGxl
ciB1bmlmb3JtcyBjb25mb3JtYW5jZSB0ZXN0LjwvdGl0bGU+CisgICAgPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMiIgaGVpZ2h0
PSIyIiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKyAgPHNj
cmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIGluaXQoKQoreworICBkZXNjcmlwdGlvbigK
KyAgICAgICJUZXN0cyB0aGF0IG9ubHkgVW5pZm9ybTFpIGFuZCBVbmlmb3JtMWl2IGNhbiBiZSB1
c2VkIHRvIHNldCIgKworICAgICAgInNhbXBsZXIgdW5pZm9ybXMuIik7CisKKyAgdmFyIGNhbnZh
czJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczJkIik7CisKKyAgdmFyIHd0dSA9
IFdlYkdMVGVzdFV0aWxzOworICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxl
Iik7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKKworICB2YXIg
dGV4dHVyZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CisKKyAg
Z2wudW5pZm9ybTFpKHRleHR1cmVMb2MsIDEpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5P
X0VSUk9SLAorICAgICAgICAgICAgInVuaWZvcm0xaSBjYW4gc2V0IGEgc2FtcGxlciB1bmlmb3Jt
Iik7CisgIGdsLnVuaWZvcm0xaXYodGV4dHVyZUxvYywgWzFdKTsKKyAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICJ1bmlmb3JtMWl2IGNhbiBzZXQgYSBzYW1w
bGVyIHVuaWZvcm0iKTsKKyAgZ2wudW5pZm9ybTFmKHRleHR1cmVMb2MsIDEpOworICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgInVuaWZvcm0x
ZiByZXR1cm5zIElOVkFMSURfT1BFUkFUSU9OIGlmIGF0dGVtcHRpbmcgdG8gc2V0IGEgc2FtcGxl
ciB1bmlmb3JtIik7CisgIGdsLnVuaWZvcm0xZnYodGV4dHVyZUxvYywgWzFdKTsKKyAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwKKyAgICAgICAgICAgICJ1bmlmb3Jt
MWZ2IHJldHVybnMgSU5WQUxJRF9PUEVSQVRJT04gaWYgYXR0ZW1wdGluZyB0byBzZXQgYSBzYW1w
bGVyIHVuaWZvcm0iKTsKKworICB2YXIgbWF4VGV4dHVyZVVuaXRzID0gZ2wuZ2V0UGFyYW1ldGVy
KGdsLk1BWF9DT01CSU5FRF9URVhUVVJFX0lNQUdFX1VOSVRTKTsKKworICB2YXIgc3VjY2VzcyA9
IHRydWU7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBtYXhUZXh0dXJlVW5pdHM7ICsraWkpIHsK
KyAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgaWkpOworICAgIHN1Y2Nlc3MgPSBzdWNjZXNz
ICYmIChnbC5nZXRFcnJvcigpID09IGdsLk5PX0VSUk9SKTsKKyAgfQorICBleHBlY3RUcnVlKHN1
Y2Nlc3MsICJ1bmlmb3JtMWkgd29ya3MgZm9yIGFueSB2YWxpZCB0ZXh0dXJlIHVuaXQiKTsKKwor
ICB2YXIgc3VjY2VzcyA9IHRydWU7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBtYXhUZXh0dXJl
VW5pdHM7ICsraWkpIHsKKyAgICBnbC51bmlmb3JtMWl2KHRleHR1cmVMb2MsIFtpaV0pOworICAg
IHN1Y2Nlc3MgPSBzdWNjZXNzICYmIChnbC5nZXRFcnJvcigpID09IGdsLk5PX0VSUk9SKTsKKyAg
fQorICBleHBlY3RUcnVlKHN1Y2Nlc3MsICJ1bmlmb3JtMWl2IHdvcmtzIGZvciBhbnkgdmFsaWQg
dGV4dHVyZSB1bml0Iik7CisKKyAgdmFyIHN1Y2Nlc3MgPSB0cnVlOworICBmb3IgKHZhciBpaSA9
IG1heFRleHR1cmVVbml0czsgaWkgPCAweDEwMDAwOyArK2lpKSB7CisgICAgZ2wudW5pZm9ybTFp
KHRleHR1cmVMb2MsIGlpKTsKKyAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiAoZ2wuZ2V0RXJyb3Io
KSA9PSBnbC5JTlZBTElEX1ZBTFVFKTsKKyAgfQorICBleHBlY3RUcnVlKHN1Y2Nlc3MsICJ1bmlm
b3JtMWkgZ2VuZXJhdGVzIElOVkFMSURfVkFMVUUgZm9yIGludmFsaWQgdGV4dHVyZSB1bml0cyIp
OworCisgIHZhciBzdWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSBtYXhUZXh0dXJlVW5p
dHM7IGlpIDwgMHgxMDAwMDsgKytpaSkgeworICAgIGdsLnVuaWZvcm0xaXYodGV4dHVyZUxvYywg
W2lpXSk7CisgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGdsLmdldEVycm9yKCkgPT0gZ2wuSU5W
QUxJRF9WQUxVRSk7CisgIH0KKyAgZXhwZWN0VHJ1ZShzdWNjZXNzLCAidW5pZm9ybTFpdiBnZW5l
cmF0ZXMgSU5WQUxJRF9WQUxVRSBmb3IgaW52YWxpZCB0ZXh0dXJlIHVuaXRzIik7CisKK30KKwor
aW5pdCgpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187931</attachid>
            <date>2013-02-12 14:07:12 -0800</date>
            <delta_ts>2013-03-01 02:53:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109075-20130212140341.patch</filename>
            <type>text/plain</type>
            <size>710379</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNDgzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWYwNDZmNWViYmU2YTEyNmRmNmU4
OThjMTE4YTA5ZmJlM2JhMmYzOC4uNzA0YTFhZTc3ZDFiZTk0ODQ4MDIwNmFkMWFjM2ZiZmM3ZjI3
Mjc1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2MiBAQAorMjAxMy0wMi0xMiAgR3JlZ2cgVGF2YXJlcyAg
PGdtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZHMgZmFpbGluZyBXZWJHTCBDb25mb3Jt
YW5jZSBUZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwOTA3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2
ZS10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
Y2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRh
LXVybC10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
Y29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1
ZmZlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2Nv
bnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9u
LWFuZC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1m
dW5jdGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
dW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJl
c3RyaWN0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlp
bmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29udGFpbmlu
Zy1hcnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0
aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQt
d29yZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJj
dWl0aW5nLW9wZXJhdG9ycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9y
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWls
YXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12
YXJ5aW5ncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3Zh
cmlhYmxlcy9nbC1wb2ludGNvb3JkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29yZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQjIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktQy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0ktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
TF9TLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZl
ckRhdGFCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2Uy
RC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZGVsZXRlQnVmZmVyQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0Fy
cmF5cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0FycmF5c091dE9mQm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3
RWxlbWVudHNCYWRBcmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJncy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFk
QXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
dGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1Yklt
YWdlMkRIVE1MLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29z
L2Fjb3NfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS9vZ2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRh
bl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18w
MDFfdG9fMDA4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29n
bGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFf
dG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dM
L3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVw
XzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxz
LXRlc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9y
ZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29y
LXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmpl
Y3QtZ2V0LWNhbGxzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29w
eS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1j
b25mb3JtYW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YjU2NS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiYTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiNTY1LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Utcmdi
YTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1
NjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1
MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1p
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW1pcHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9ybS1h
cnJheXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91
bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZh
dWx0LXZhbHVlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLWxvY2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3Qt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jt
cy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3Jl
ZW4tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11
cmwtdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRy
YXdpbmctYnVmZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVz
dHJ1Y3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlvbi1zbW9vdGhz
dGVwLWdlbnR5cGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9u
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250
YWluaW5nLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZ2xvYmFsLXZh
cmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1z
aG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXJzLXdpdGgtdmFyeWluZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9pbnRjb29y
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QjQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1MX1MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLVNfVi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJncy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1Yklt
YWdlMkRCYWRBcmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFy
Z3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0VsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3Vi
SW1hZ2UyREJhZEFyZ3MuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhU
TUwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9h
dGFuXzAwMV90b18wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xf
Zmxvd18wMDFfdG9fMDA4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFt
cy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBs
ZS1jb3JydXB0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgt
aW1hZ2UtMmQtZm9ybWF0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtY2FudmFzLXJnYmE1NTUxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtdmlkZW8tcmdiYTQ0NDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5k
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLW5wb3QtdmlkZW8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9n
bC11bmlmb3JtLWFycmF5cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFs
dWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTExICBK
b3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1Y4XSBJbmRleGVk
REI6IE1pbm9yIEdDIGNhbiBjb2xsZWN0IElEQkRhdGFiYXNlIHdyYXBwZXIgd2l0aCB2ZXJzaW9u
Y2hhbmdlIGhhbmRsZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGY0OGE4M2U1OTRhZTNhOWQ0NzQyZDI0NTkzY2Y2NWU4Y2FmYmM4OTIu
LmI4OTQ5ZTYwNmZkNDBmZjkwZWFmNjMyYzcyZTAwM2E0YmFmMDJkNWUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQ1Niw3ICsxNDU2
LDQ3IEBAIHdlYmtpdC5vcmcvYi83NTI3NiBbIEFuZHJvaWQgXSBmYXN0L3JlcGFpbnQvc2hhZG93
LW11bHRpcGxlLXN0cmljdC12ZXJ0aWNhbC5odG1sCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFdlYkdMIFRlc3Rz
CiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsCitjcmJ1Zy5jb20vMTc0MjY4IHdl
YmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbCBb
IFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmln
aW4tY2xlYW4tY29uZm9ybWFuY2UuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbCBbIFNraXAgXQorY3JidWcu
Y29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3JtLWFycmF5cy5o
dG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1z
L3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3
ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwgWyBTa2lwIF0K
K2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1w
bGVycy10ZXN0Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFu
Y2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3
ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5odG1sIFsg
U2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1w
aXhlbHMtdGVzdC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1h
bmNlL3N0YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3
NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1h
dHRhY2htZW50Lmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFu
Y2UvYXR0cmlicy9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLmh0bWwgWyBTa2lwIF0KK2Ny
YnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5j
dGlvbi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmlj
dGlvbnMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9n
bHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5o
dG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwgWyBT
a2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
ci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5j
b20vMTc0MjY4IHdlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWlu
Z3MuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjgg
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbCBbIFNr
aXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2Fz
aW5fMDAxX3RvXzAwNi5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0MjY4IHdlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwgWyBTa2lwIF0KK2NyYnVn
LmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4
Lmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQyNjggd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3
ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90
b18wMDguaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDI2OCB3ZWJnbC9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sIFsgU2tpcCBdCisK
K2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlm
b3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYg
d2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jk
cy5odG1sIFsgU2tpcCBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0NjYgd2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCBbIFNraXAgXQorY3JidWcuY29t
LzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRhQmFkQXJn
cy5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmdsL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xNzQ0
NjYgd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCBb
IFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdlYmds
L2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbCBbIFNraXAgXQor
Y3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZl
LXRlc3QuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5jZS9j
YW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sIFsgU2tpcCBdCitjcmJ1Zy5jb20vMTc0NDY2IHdl
YmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2lu
Zy1idWZmZXIuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzE3NDQ2NiB3ZWJnbC9jb25mb3JtYW5j
ZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwgWyBTa2lwIF0K
IAogd2Via2l0Lm9yZy9iLzEwODkwMSB3ZWJnbC9jb25mb3JtYW5jZS9hdHRyaWJzL2dsLXZlcnRl
eGF0dHJpYnBvaW50ZXIuaHRtbCBbIFNsb3cgXQogd2Via2l0Lm9yZy9iLzEwOTExNCB3ZWJnbC9j
b25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtcmVsZWFzZS11cG9uLXJlbG9hZC5odG1sIFsgUGFz
cyBUaW1lb3V0IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggNzQ4ZmUwOTNiYWExZDAzYmIwODQxMTZjOWQ0NGNlOTQ5NTBmOTExNi4uYjNkMWU0Y2JhYWE0
OTNmZjUxNDRjYTExYjUwNzZhNWYxOWRjNjQxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTk3NCw2ICs5NzQsODIgQEAgZWRpdGluZy9wYXN0ZWJvYXJk
L3Bhc3RlLWdsb2JhbC1zZWxlY3Rpb24uaHRtbAogIyBDdXJyZW50bHkgZmFpbGluZyBXZWJHTCB0
ZXN0cyA8cmRhcjovL3Byb2JsZW0vOTM1NTQ2MD4KIGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbAogCisjIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkwODEKK3dlYmdsCit3ZWJnbC9jb25mb3JtYW5jZS9j
YW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNl
L2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNl
L2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXIuaHRtbCBb
IFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1k
ZXN0cnVjdGlvbi5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9u
cy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sIFsgU2tpcCBd
Cit3ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0
cmljdGlvbnMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
ci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1p
c21hdGNoLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MuaHRtbCBbIFNraXAg
XQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRt
bCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUIxLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CMi5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cu
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0No
ZWNrQVBJLUdfSS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbCBbIFNraXAgXQor
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbCBbIFNr
aXAgXQord2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRB
cmdzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlU
ZXhTdWJJbWFnZTJELmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwgWyBTa2lwIF0KK3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXMuaHRtbCBbIFNraXAgXQor
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50
cy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxl
bWVudHNCYWRBcmdzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rp
b25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRIVE1MLmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwgWyBT
a2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1M
Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFf
dG9fMDA2Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNp
bl8wMDFfdG9fMDA2Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0
YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL29nbGVz
L0dML2xvZy9sb2dfMDAxX3RvXzAwOC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbCBb
IFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVw
XzAwMV90b18wMDYuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wt
YmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwgWyBTa2lwIF0KK3dlYmds
L2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sIFsgU2tpcCBdCit3ZWJnbC9j
b25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3Qu
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUz
Ni1pbmRpY2VzLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0
aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRl
cmluZy9wb2ludC1zaXplLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L2dsLXBpeGVsc3RvcmVpLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUu
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMt
cmdiYTU1NTEuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbCBbIFNraXAgXQord2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1y
Z2I1NjUuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sIFsgU2tpcCBdCit3ZWJn
bC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE1NTUxLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCBbIFNraXAgXQord2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRl
by1yZ2I1NjUuaHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sIFsgU2tpcCBdCit3
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LXZpZGVvLXJnYmE1NTUxLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbCBbIFNraXAgXQord2Vi
Z2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwgWyBTa2lw
IF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQuaHRtbCBb
IFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0
bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1p
dC5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUu
aHRtbCBbIFNraXAgXQord2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0
LXZhbHVlcy5odG1sIFsgU2tpcCBdCit3ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3Jt
LWxvY2F0aW9uLmh0bWwgWyBTa2lwIF0KK3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZv
cm0tc2FtcGxlcnMtdGVzdC5odG1sIFsgU2tpcCBdCisKICMgU2VuZGluZyB0aGUgbW91c2UgZG93
biBldmVudCB0byB0aGUgc2Nyb2xsYmFyIHN0YXJ0cyBhIG5lc3RlZCBydW4gbG9vcCB3aGljaCBj
YXVzZXMgYSBoYW5nLgogZmFzdC9ldmVudHMvbW91c2Vkb3duLWluLXN1YmZyYW1lLXNjcm9sbGJh
ci5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZh
cy9idWZmZXItb2Zmc2NyZWVuLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2YwMzViN2IyMTM2OTE2NjBlMTQyNTc2ODg2ZGFmOTViNjRlYTcwZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXIt
b2Zmc2NyZWVuLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9mZnNj
cmVlbi10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVm
ZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M3ZDUxYTZjOWY4OWY0M2Q2ZTI1
NDBjNzc4MDhmNDFmMGUyNmQyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBidWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2NhbnZhcy9idWZmZXItb2Zmc2NyZWVuLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFz
L2J1ZmZlci1vZmZzY3JlZW4tdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZl
LXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1NWM1Y2I4NWU4YTVmYzYwMDRiOGNhZjI0
ODViNjk1ZGQxY2U4ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVz
dC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWQy
MmMwMjJmMTY1MDhlNGZkNWFiY2ZkMDE5ZjdlMDcyOTUzODdiNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItcHJlc2VydmUtdGVz
dC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGJ1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbCI+Li4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVz
ZXJ2ZS10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3
aW5nYnVmZmVyLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljM2M2MDQyNGFiMTk4Y2I3
MzQzYjM3ZjFlNjE4NTg3YzlkYzdhNzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZl
ci10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5
YjdhYzVhNThkMjU2OWJlMGZkYTkzZDMyNTIyNTJhZDYwMzg2NTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2luZ2J1ZmZlci10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRl
c3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgor
PGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2NhbnZhcy9kcmF3aW5nYnVmZmVyLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAi
PjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVz
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmU0YWI5Y2NiOTMyMDdjODRmNGM1N2Q1YWNlYjUz
YzY0ZGE0NGFjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NhbnZhcy90by1k
YXRhLXVybC10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jYW52YXMv
dG8tZGF0YS11cmwtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjZDA0ZDI4MDhjYWY1YzRkZTA1ZGY2
ZGFiODk4NjM0YTZkOTg5YjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIHRvLWRhdGEtdXJsLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy90by1k
YXRhLXVybC10ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQv
Y29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1idWZmZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1w
cmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY1M2Y0NGFj
NmU4N2RlMmQ0NWUyZjk4OGQxYjYwNGZhNzdjOGUwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2Vy
dmUtZHJhd2luZy1idWZmZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUtZHJhd2luZy1i
dWZmZXIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmli
dXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGNjNGQwN2UyNDJl
ZDdlYWE3NjI0NjBmZWMyMDU5NmU5NTAxZjUwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1hdHRyaWJ1dGUtcHJlc2VydmUt
ZHJhd2luZy1idWZmZXIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb250ZXh0LWF0dHJp
YnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVzZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sIj4uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0
cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQi
PjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQtYXR0cmlidXRlLXBy
ZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9jb250ZXh0L2Nv
bnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
ZTQ0OWZmNjRlNTI4ODhhNjhmOTMwZjUxZThjYTRlOThkZGI2MjRkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9u
LWFuZC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1s
CitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2NvbnRl
eHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYzIyYjg5ZTBlZTU5ODk4MTQ3YzI5NTlkNzk1ODYwOTkxMGJlZmY4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvY29udGV4
dC9jb250ZXh0LWNyZWF0aW9uLWFuZC1kZXN0cnVjdGlvbi5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIGNvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9jb250ZXh0L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwiPi4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1j
cmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1
Y3Rpb24uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNs
LWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRl
MzMwNjQ0N2I2NTdmOTFhMWM1NThmM2FhMTJmYjI0ZWUzNmQwMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rp
b24tc21vb3Roc3RlcC1nZW50eXBlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0
ZXAtZ2VudHlwZS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2dsc2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBl
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNs
LWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmYmMwNzRhNjc4
NzAxMjhlNTY5NmRmOGU4ZTM4ZjY5MzE2ZDQ3NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290
aHN0ZXAtZ2VudHlwZS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsc2wtZnVuY3Rpb24t
c21vb3Roc3RlcC1nZW50eXBlLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2Z1
bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sIj4uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNs
LWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9mdW5jdGlvbnMvZ2xzbC1mdW5jdGlv
bi1zbW9vdGhzdGVwLWdlbnR5cGUuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0
X2xpdGVyYWwudmVydC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzI4MTRiNDY4Mzg1OWEyZDYz
YTc4ZjFmMWM5Y2Q3OTY0MmE5NzE5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAu
Li8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVy
YWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xp
dGVyYWwudmVydC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyNWFjZDQ5Y2IzOTkyZWFiMGE2Y2ExNzBiMjA5
ODEzZWNkM2ZjMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0X2xpdGVyYWwudmVydC5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRl
c3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdy
YXBwZXIgZm9yIGZsb2F0X2xpdGVyYWwudmVydC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRlcmFsLnZlcnQuaHRtbCI+Li4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9saXRlcmFscy9mbG9hdF9saXRl
cmFsLnZlcnQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwiIHdpZHRoPSI4
MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11
bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0
aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmUwZThlMGVkZmYzNDg1MzM3YWRlYmI3MjA3
MjUzM2IxNDIwMWMyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKK1BBU1MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11
bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yZjIzNTBhMjViNzAxYjkyZTc5MDIyOGZiZjE1M2QwMTE1MTI1ZDkxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci11bmlmb3JtLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3Igc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3Ry
aWN0aW9ucy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbDwv
YT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItdW5pZm9ybS1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFy
eWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlv
bnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3NDMzOWU2YzU5MzRiZTcxNGNkNWI2ODViYTQ2
M2M5MmMzMGIwNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6
IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItdmFy
eWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTZhY2IwZmFjZDU1NzNjOGJkNTlmNTFkMjJiNGRiNjdkYjkzNzQxZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItdmFyeWluZy1wYWNraW5nLXJlc3RyaWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3Rz
LnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBw
ZXIgZm9yIHNoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmlj
dGlvbnMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21p
c2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRtbCIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
YXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3Ry
dWN0cy1jb250YWluaW5nLWFycmF5cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2M4OGMyOWFh
Y2I0MDQ5OWRkZTQwMzNjMTc3MzYzYWUxYjM5MzAzZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1z
dHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3Ry
dWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1
Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQwYTEwYzkwOWVkOTI0M2RjNmM2YTRhNmNkMjgxNzhmOWEwODFm
NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNs
L21pc2Mvc2hhZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13aXRoLWFycmF5LW9mLXN0cnVjdHMtY29u
dGFpbmluZy1hcnJheXMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwiPi4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWw8L2E+Cis8ZGl2
IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtYXJyYXktb2Ytc3RydWN0cy1jb250YWluaW5nLWFycmF5cy5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwt
dmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42M2Qx
M2Q1OWM4NTRhMzNiYmEwNjg2OGExNmEyODEyYWU4MDg4ZjMxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2Jh
bC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwt
dmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12
YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1p
c21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFiZWE0MDkzYTM0NGM0MGViMGY1MmEwYTkwNzIyOGUz
NmVhZjQ2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNo
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxl
LXByZWNpc2lvbi1taXNtYXRjaC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93
IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJl
Zj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbCI+
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbDwvYT4K
KzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItd2l0aC1nbG9iYWwtdmFyaWFibGUtcHJlY2lzaW9uLW1pc21hdGNoLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTIwYzRiMjQyM2ZhNWRhM2ZiNmI4YzdjYzRkYTA2
ODExOTZjNzNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
ci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1ub24tcmVzZXJ2
ZWQtd29yZHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9z
aGFkZXItd2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTI5OWVmY2E2
MWNlZTIxYWU3OTJlZTY1ZGFmNjc3YmE4MWYxNjFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLW5vbi1yZXNlcnZl
ZC13b3Jkcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNoYWRlci13aXRoLW5vbi1yZXNl
cnZlZC13b3Jkcy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRl
ci13aXRoLW5vbi1yZXNlcnZlZC13b3Jkcy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVk
LXdvcmRzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1l
Ij4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3No
YWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJj
dWl0aW5nLW9wZXJhdG9ycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZhN2NiNmExNDA5Yjky
N2RmYWZlZGYzMTJlNWNhM2M2OGZlNTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5n
LW9wZXJhdG9ycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3Jz
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3BlcmF0b3JzLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQt
Y2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOWFkMzg3NTgwYTJiMTAxZmI5
NDgzY2MzYTQ0ODI1ZjZlOGMzZTliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3Bl
cmF0b3JzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igc2hhZGVyLXdpdGgtc2hvcnQtY2ly
Y3VpdGluZy1vcGVyYXRvcnMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlz
Yy9zaGFkZXItd2l0aC1zaG9ydC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sIj4uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdp
dGgtc2hvcnQtY2lyY3VpdGluZy1vcGVyYXRvcnMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaG9y
dC1jaXJjdWl0aW5nLW9wZXJhdG9ycy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0t
YXJyYXktbmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
Z2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJheS1uYW1lcy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGM3MzNhODRhMmMwMDQ0NDhhMmE5OGM3Mzg3OTNkMTQ5NDU1NDEz
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
c2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGNiNTg4YzlkMzk0ZWQxOWQ0OThlNzE3YzhhY2Y4NmVmOTViM2Uw
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wv
bWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13
ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdCBXcmFwcGVyIGZvciBzaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0tYXJyYXktbmFtZXMu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1p
bGFyLXVuaWZvcm0tYXJyYXktbmFtZXMuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9y
bS1hcnJheS1uYW1lcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9
ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNpbWlsYXItdW5pZm9ybS1hcnJh
eS1uYW1lcy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDc3NzM1MmU4NmZkYzAzMzQxNGNhYTYzN2YzNTI0OTQy
YzEzMjg0NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFyeWluZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXJzLXdpdGgtdmFy
eWluZ3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlpbmdzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzE5M2I0NWMzMDFmM2M4M2Q2NjY4OWM2ZWQ2NDZhYmJiNzlkZTI3ZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXJzLXdpdGgtdmFyeWluZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBzaGFkZXJzLXdp
dGgtdmFyeWluZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFk
ZXJzLXdpdGgtdmFyeWluZ3MuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sPC9hPgor
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9p
ZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZ2xzbC92YXJpYWJsZXMvZ2wtcG9p
bnRjb29yZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQ0MzAzYTU3OGVmMWJhNzVlYjY5MDVk
ZGM2MTE2Y2U2ZTAwMzlhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBv
aW50Y29vcmQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDU2ZjZhMDgyZGNmNTE3ZTZhNjIyZDIyZTJiZWY4NDRjZGIyMGRlNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2ds
LXBvaW50Y29vcmQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRv
LWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBnbC1wb2ludGNvb3JkLmh0
bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3Jk
Lmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2ds
c2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjYzYWNiZjYyZWFiYzEwYjllMmVmNjA4MGZmODI5YTQ3ZWM2ODg5
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
QS5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1BLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY0N2IxOTYzZWYxNjJiYmI1OTg0ZWU1ZTdjODM4M2ExOWE4ODNmYzUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tB
UEktQS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUEuaHRtbCI+Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1BLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFt
ZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODMxZDJjMmVhODQ3MzQxNjJm
ODBiNDkzYjNmNzA4ZDM4N2IyNTA4OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDog
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIx
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1
aWNrQ2hlY2tBUEktQjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMzIyZDQxYTI3NTNjY2RkODNlNDYyMjZi
YmVlM2ZmZTc0ZjliZmE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1CMS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgor
VGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWwiPi4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1CMS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9
ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUIyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTJmNDVhM2JlOGI5NzE5ZDkwZmM2MjE4ZGViOTRiY2RjY2U0Mjc1YgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1CMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NzFhODZhZGY5OTBhZjczZTY3MzVmYTRmYjQ0MmU5YzMzNDg1ODY4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUIyLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
YXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0t
PgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQ
SS1CMi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
Ly4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUIyLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sPC9hPgorPGRp
diBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZmZDE3NDcyNWRmYWZm
MGI2MGQ4NmQ0MTFhZTM2NDU5ODQ1MTk4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUIzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzEwNjQzYmMwNWQwNTVkMzFmYzZl
NTQyYWVhODQ5ZmMyMGYzOTIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1CMy5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9w
PgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwiPi4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1CMy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIzLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzM2ZDRlODcxYjkzN2RiYzExMjU5ZmJhNTY5MGEzOGM1NTUxMzUyOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jOGJlYWU0YTNkODU2NThmNTAxMmQwYjE3NTZjMmIwNzM2NjQxMDc0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElU
IC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgcXVpY2tDaGVj
a0FQSS1CNC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUI0Lmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CNC5odG1sPC9hPgor
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48
L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5j
ZS9xdWlja0NoZWNrQVBJLUMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjY2FiZDRjYTc0YzY5
MmU0NTEzMjViZWViYTRlYTRkYTg4M2I2MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9j
b25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEkt
Qy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTNkNmJlNjZjY2E0OGE2ODdmZjUyNTM3
ZTM1NjA0NGY0MzYxYzYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUMuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBxdWlja0NoZWNrQVBJLUMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwiPi4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1DLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQy5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzYwYzVjZWQwOTk1NmEyNDg5NjFkZGM3OTk0MTYyZTlkZjI4MmVhYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1EX0ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVw
b3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3Jl
L2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDM1ZGUzYjA1NzcwMDA1YTM2YmI4NmU3YTBlZThjYzI4MmZiNDE5MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2Uv
cXVpY2tDaGVja0FQSS1EX0cuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBp
cyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQg
LS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBxdWlja0NoZWNr
QVBJLURfRy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLURfRy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWw8L2E+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktRF9HLmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdf
SS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZv
cm1hbmNlL3F1aWNrQ2hlY2tBUEktR19JLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGQyZTlh
YmI4N2FjYzIxOGNhZjhiMDkwMjI5MGY4MzU1MTNjYThkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUdfSS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVp
Y2tDaGVja0FQSS1HX0kuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjVkYzFhMTM2
YjRlY2YzMjcwMjU5NDk5YTYxZmMyMTA3OTFkMDZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUdf
SS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHF1aWNrQ2hlY2tBUEktR19JLmh0bWw8L3Rp
dGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktR19J
Lmh0bWwiPi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1HX0kuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1HX0kuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1MX1MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlYjYxOGU5MGMwZDc3OGE2OTBlN2Ex
OWY2MjUxMWY5MTA1ZmExZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1h
bmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlj
a0NoZWNrQVBJLUxfUy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNDgwOGRmNjNmM2UzNTE4MTRiMjVhYzQ2
Yjg1ZTViZmY4ZjIyNDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2Vi
Z2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRl
c3QgV3JhcHBlciBmb3IgcXVpY2tDaGVja0FQSS1MX1MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4K
K1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbCI+Li4vLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9x
dWlja0NoZWNrQVBJLUxfUy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYg
aWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUxfUy5odG1s
IiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTJlODEyNzQ5ZjVhZWY1Njc0NDdiOWIxZTZkNDM0NzE0NzM5NzI2
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1TX1YuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjc5OTg3OGQ4Yzc4NmJmNTI5MmNjNjQ0ZmUwYjM5ZDVmYzA0ZjllZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvY29u
Zm9ybWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBx
dWlja0NoZWNrQVBJLVNfVi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLVNfVi5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19W
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktU19WLmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0
YUJhZEFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNh
NWIwZDc3OThlNmU4MTc1YzkxMWM0NmEwY2Q0MjNkNGFkZWMyODgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZmZXJEYXRh
QmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9idWZm
ZXJEYXRhQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTc2MDgxMDJjZGVj
M2IxMWE2ZWQxODJkYzJjM2ViMDcwZDM5NjJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBidWZmZXJEYXRhQmFkQXJncy5odG1sPC90aXRsZT4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbCI+
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5j
dGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdz
Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMzMTA0ZjJjMDQ3NWJlMzM0YzI5YThlN2ExZWRkYzBlMDdmYzdmOGYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyRC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWVjZmU4MTE0
MGVkNDM2ODg4NTI0YmZmYmU3ZDEwZTMzN2RiZjYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29u
Zm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb3B5VGV4SW1hZ2UyRC5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkQuaHRtbCI+Li4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleEltYWdlMkQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleEltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjUyNTYzZDlhOWMzM2UxZGQwYWI5MmMyZGEzZDM2MTYwYWJlZTQ0Ngot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2NvcHlUZXhJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRC
YWRBcmdzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFy
Z3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lODkzM2U0ODkyNzI2ZGRiOWZiMzA3OTAyZTJmYzk4Y2IxNDlk
OTExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3IgY29weVRleEltYWdlMkRCYWRBcmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCI+Li4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eEltYWdlMkRCYWRBcmdzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFyZ3MuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDdiMjUyY2IwMGZlMDkyNjNlZDFiNDA4NzJmNmIxYWM1N2QyZGJkMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5k
IHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJELmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmViMWUwMzk0NWRkMjRjZDczMjZiMDYxM2IzMjU2YjUxYjY0OGFjYTQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5
VGV4U3ViSW1hZ2UyRC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4K
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvcHlUZXhTdWJJbWFn
ZTJELmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
U3ViSW1hZ2UyRC5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyRC5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
Y29weVRleFN1YkltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjJhZmFh
ZjRlMTAyMGZjYjM1MGFkNDE2OGJkYTVkMzg1NjM1NWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdl
MkRCYWRBcmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbAorUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBlMjhjNzdkMzg0ZWI3YzM3ZDE0MzcyODcwNmI3YTIxNDhmNWQxNWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9jb3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBj
b3B5VGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBi
ZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxh
IGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sIj4uLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4
U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJEQmFkQXJn
cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdmYTE5ODJiNzBiMzI4MTQ5ZjUyOTY4ZDgzMTNkMWFk
ZjdlZGM0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1
ZmZlckJhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRB
cmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjhjM2Q0MjM1NWJiMjMxMzE4ZWZjOTM5YjVmNmYwMGVhNjM4
ZTA2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciBkZWxldGVCdWZmZXJCYWRBcmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9kZWxldGVCdWZmZXJCYWRBcmdzLmh0bWwiPi4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZl
ckJhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJh
bWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9k
cmF3QXJyYXlzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdBcnJheXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkYzk4NTk1
NGU2NGNhNGI4Y2U1YWIxZTcwMzhhZjJiMWFlOTYyNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0
OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQwMmRmNTk3MWU0NDhiNzNjNDQ1Y2Y4YmU1MWNlN2JjNTg2OGU5YmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3QXJyYXlzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0
by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZHJhd0FycmF5cy5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1s
Ij4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRp
diBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzLmh0bWwiIHdpZHRo
PSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZHJhd0FycmF5c091dE9mQm91bmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjI0ZGVhZDQ1MmYzOWUwZTVhZmQwMjNiY2ZhM2ZjMWE2YWNmYzMwNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9m
Qm91bmRzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3Vu
ZHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNDljMGRhY2JkMDJkMmY4NGZiMzBiMjc2NWE2MTViOGYzOWIx
YmIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMu
cHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBl
ciBmb3IgZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0
OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRtbCI+Li4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0Fy
cmF5c091dE9mQm91bmRzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJyYXlzT3V0T2ZCb3VuZHMuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy9kcmF3RWxlbWVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hODEzYzM1ZGQzMTUyNGUyODA1NjNmNWQ4OWJiNWM5YTIyZjRlZDFkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0VsZW1lbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxl
bWVudHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdFbGVtZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhMzdjZjcxNDhjNTA0MTI4ZDQ2ZDY1YWNl
ZGNhNzVhYTEyMjI3MGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0
cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFw
cGVyIGZvciBkcmF3RWxlbWVudHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdFbGVtZW50cy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbDwvYT4K
KzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdFbGVtZW50cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJh
bWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0VsZW1lbnRzQmFkQXJncy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzI1N2RjMTZjN2EzZmQ3
OTE4ZGVjNDE1ODBhMWI1Y2Q5MzAxODJhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNC
YWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjAxNmQxMThlMjc1ZmNmOTBh
ZDljYzU0NjdjNmM2ZGQ2OWE4MjkwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciBkcmF3RWxlbWVudHNCYWRBcmdzLmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdzLmh0bWwi
Pi4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL2RyYXdFbGVtZW50c0JhZEFyZ3MuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RyYXdFbGVtZW50c0Jh
ZEFyZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQzOTc5OGQ1OTVmYmMxMDM4MDE2OTVlNTI4MDdkOGVm
NDhlMDEwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxz
QmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQaXhlbHNCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQxMGJjMGViOWRhYThmNWExZjFhNDJkYTczZTQ5NDIzMjVlY2I3MjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1Qg
RURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHJlYWRQ
aXhlbHNCYWRBcmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvcmVhZFBpeGVsc0JhZEFyZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAi
PjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTYzMjhmNjFlNWZh
NDNjYmQxYzU1OWU0YjQxMmZhY2RjMDM3YzQ0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRB
cmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmMmE5OTFkMDU0MTAwZTliMjlkNTNm
MjY3YzJhNmI1ZGRlOTJiZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIHRleEltYWdlMkRCYWRBcmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+
CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJEQmFkQXJncy5odG1sIj4uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJ
bWFnZTJEQmFkQXJncy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9
ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhJbWFnZTJESFRNTC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTY4MTI3YmE4Y2NkMmUyNzM5NDNjNjkwZDE4M2JlYmRmYWYzYjg1MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleElt
YWdlMkRIVE1MLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleElt
YWdlMkRIVE1MLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhOTE0MzY1MmUzZmYzOGYzY2Zm
NTA2MGVjN2RkOWE5ODcxZmY3MzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIHRleEltYWdlMkRIVE1MLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitU
ZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJESFRNTC5odG1sIj4uLi8uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhJbWFnZTJE
SFRNTC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+
Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbCIgd2lkdGg9IjgwMCIgaGVp
Z2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFn
ZTJEQmFkQXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDU2MjY1OWVjMmJjNjcxMGZmOTkyNjIxNmFkZTE1YWE2YjU3ZDM0MQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1
YkltYWdlMkRCYWRBcmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCitQ
QVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVu
Y3Rpb25zL3RleFN1YkltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhiOWIxM2FlZGI4NzE2YTAxZjQyMjY2ZWE3OTAxMzIzNGNiZWZjMWUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhT
dWJJbWFnZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleFN1YkltYWdl
MkRCYWRBcmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZy
YW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90
ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sIj4uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9y
ZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0
PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJE
SFRNTC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1
bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWUwMzNl
MzgxOTA2Mzc5ODM5YzQ2Zjc4MmRiOTZlNWNiZDU3Yzg4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRI
VE1MLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LgorCitUZXN0OiAuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sCitQQVNTCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1Yklt
YWdlMkRIVE1MLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0
aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlZmI5YzZhMzY2ZjVhMzli
YzA1YjhjODJmMjdhMzE3YzdiNDZjZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3Jt
YW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleFN1YkltYWdlMkRIVE1MLmh0bWw8L3RpdGxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sIj4uLi8u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhTdWJJbWFnZTJESFRNTC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxk
aXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4U3ViSW1hZ2UyREhUTUwuaHRt
bCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9hY29zL2Fjb3NfMDAxX3RvXzAwNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDhmZDcyMGZhNDQ1N2NkNjliNTk0OGZmZGY2YjQ3YjFkNDQ5ZDVjYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3Mv
YWNvc18wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fj
b3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhM2MzZGZmNThh
MGMzMWJkYmIzYjc4ODA2OGM2NjJmMWFjNjUyYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hY29zL2Fjb3NfMDAxX3RvXzAwNi5odG1s
CkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25m
b3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGFjb3NfMDAxX3RvXzAwNi5odG1sPC90aXRsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRt
bCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2ds
ZXMvR0wvYWNvcy9hY29zXzAwMV90b18wMDYuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9f
MDA2Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjMzZjIwY2NlNGNlNTcyNDY4Mzc0OGY0MTc1MGZjMDA4MWViMTg4OWUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9hc2luL2FzaW5fMDAxX3RvXzAwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRt
bAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xl
cy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjU5
YTAwMjVhZGRmY2I4MjZkYjFlYTQ3OTM1MGZlYjZiZmI1NmJiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXNpbi9hc2luXzAwMV90b18w
MDYuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBhc2luXzAwMV90b18wMDYuaHRtbDwvdGl0
bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmds
LXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9f
MDA2Lmh0bWwiPi4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hc2luL2FzaW5f
MDAxX3RvXzAwNi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTNiMzU2YzQ0ZTJjN2NmYTE0ZDg2OTI5ZDAyZTMxZGU2
MWU2ZGVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9f
MDA4Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDgxMjM4NDg4Yjg1ODAxMjFjZDQwNGZmYjEzYzM1YzdjMGJhNzI3ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2F0YW4vYXRhbl8w
MDFfdG9fMDA4Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgYXRhbl8wMDFfdG9fMDA4Lmh0
bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5f
MDAxX3RvXzAwOC5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sPC9hPgorPGRpdiBp
ZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRh
bi9hdGFuXzAwMV90b18wMDguaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1l
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18w
MDgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wv
Y29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wOGM3NTUzNWQyMTk1OTIxMDVkNzc3OWJkNTJjMjEyMDY4Y2Q0ZmI0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9m
bG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJv
bF9mbG93XzAwMV90b18wMDguaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90
b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRy
b2xfZmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwNjgyYWEw
MmY5OTczMjQwYWNlMmJkMTQyYzk4NmNjOTI0NDc5YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9jb250cm9sX2Zsb3cvY29udHJvbF9m
bG93XzAwMV90b18wMDguaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBjb250cm9sX2Zsb3df
MDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwiPi4uLy4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2NvbnRyb2xf
Zmxvdy9jb250cm9sX2Zsb3dfMDAxX3RvXzAwOC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvY29udHJvbF9mbG93L2Nv
bnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lm
cmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3Rv
XzAwOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVhZGQxMTM5NTE1YThmNzA4NWRhM2RjMmVm
NzRkMmMwZmVhOTVhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3RvXzAwOC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFf
dG9fMDA4Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mZDRiOTk5ZTdjNjg1MzE2NzViY2M2M2Y2N2VlYmE5YjI5YWM3YjVkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFf
dG9fMDA4Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgbG9nXzAwMV90b18wMDguaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAxX3Rv
XzAwOC5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uLy4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZy9sb2dfMDAx
X3RvXzAwOC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yODBlYTVjM2M1NGZjOTQ3N2JkNjM3YTA3ZTUwZDgxNGI0MDEy
YWY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uvb2ds
ZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uLy4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4
Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvbG9nMi9sb2cyXzAwMV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjVlYTg3MWFhYzBjMzg4MTRkOTU4NjhkNzFlYjNkZDE5Yzg1MzMyYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFf
dG9fMDA4Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgbG9nMl8wMDFfdG9fMDA4Lmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13
ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAx
X3RvXzAwOC5odG1sIj4uLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9vZ2xlcy9HTC9sb2cyL2xvZzJfMDAxX3RvXzAwOC5odG1sPC9hPgorPGRpdiBpZD0i
cmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9s
b2cyXzAwMV90b18wMDguaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhz
dGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTJlMWY2
NWUyYTdmYTg1MGM5MzUyMTAxZmQ1MmE5ZDIwMTNjZmUxNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3Rl
cF8wMDFfdG9fMDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5o
dG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL29n
bGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3Rv
XzAwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzNTNjYTgwMjQ3ZGNlNWNjYTQ2ZTg2YTI3MjM0MGU0MmI3
NzVmZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmds
LXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0
IFdyYXBwZXIgZm9yIHNtb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18w
MDYuaHRtbCI+Li4vLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvc21vb3Roc3RlcC9zbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbDwvYT4KKzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4u
Ly4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dM
L3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdo
dD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9j
YXRpb24tbG9uZy1uYW1lcy10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVz
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjhhNGQ4MjdhNTFkNjUzYWM5MjQ0NTg2Y2EwODhm
ZGZhNzEyYjFiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3Byb2dyYW1zL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMv
Z2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRl
c3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zZjEwOGY0ODU4NzBhM2JiODgxODU2NDc1NmNlNmZkMzViYjNj
NDBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0Lmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10
ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1s
b25nLW5hbWVzLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvcHJvZ3JhbXMvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tbG9uZy1uYW1lcy10ZXN0
Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxp
ZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9w
cm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbCIgd2lk
dGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9n
cmFtLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJv
Z3JhbXMvcHJvZ3JhbS10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTIyY2IzMjBhZWQw
YjQwM2NkZTFjYjliMjdkMGRiMDljZDNhZjA5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRl
c3QuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwYTgwYmMyZWZmNTNm
MjVlNzI1OThmNjY1ZDgyMTk3MTc5OTcyNjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBwcm9ncmFtLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1z
L3Byb2dyYW0tdGVzdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFtLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1zL3Byb2dyYW0tdGVzdC5odG1sIiB3
aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVh
ZC1waXhlbHMtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0ZGVi
OTk0YTNhNjQ5Y2Y1OWIxMjgxMGU3MDc3YTEwZTkwYjAzNjUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcv
cmVhZC1waXhlbHMtdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVhZGluZy9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODYyMWZlOTFkYWI5OTYzMTI0ZjNjZmI4YjFjNTc1ODBlYjBkZTQ3MQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhl
bHMtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHJlYWQtcGl4ZWxzLXRlc3QuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sIj4uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxz
LXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUi
PgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYw
MCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0
LWF0dGFjaG1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
cmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTY3ODI4NzFhZjU1YTk0MzFiMGJiYjM5YzMxODhhOGFjNTk5ZTllMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZl
cnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2Jq
ZWN0LWF0dGFjaG1lbnQuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1l
YnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE0YTNkYjlkNjBhMzQ1
MGYxMjFmNTVlMDdlMmYzMGQ0NTcyNjljMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFj
aG1lbnQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBmcmFtZWJ1ZmZlci1vYmplY3QtYXR0
YWNobWVudC5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQt
d2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZlci1v
YmplY3QtYXR0YWNobWVudC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0
bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJh
bWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5k
ZXJidWZmZXJzL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3It
dGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJp
bmcvZ2wtc2Npc3Nvci10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjhkOTk5ZDg3YmFm
MzE3ZGRiNzRhZTg0MWFlOTEzZjY4MjVmZmYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNj
aXNzb3ItdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMTNjMzA0MGQ5NWM2MjY2YWViZGFlNzlhMjFiNmZlYzc4N2FiM2MwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3It
dGVzdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGdsLXNjaXNzb3ItdGVzdC5odG1sPC90
aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sIj4uLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10
ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZW5kZXJpbmcvZ2wtc2Npc3Nvci10ZXN0Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2Vz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9t
b3JlLXRoYW4tNjU1MzYtaW5kaWNlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTNlNDMwZjJk
OTU0MzhlOWRiOGUyYTU3NGU5YTFkYmJiOTY4NTJiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNl
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4K
KworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVu
ZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1p
bmRpY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9y
ZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNjg0NDVlMzNiNGE4ZjlmOTVm
MGU4OTQxMmFkZGI4OGQ0ZjIxZTQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL21vcmUtdGhhbi02NTUzNi1pbmRpY2VzLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3IgbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sIj4uLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFu
LTY1NTM2LWluZGljZXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlk
PSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0
aXNhbXBsZS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44YThmZmZmNTRlOWY5ODhlNmM2OTAzMTA1NTcyNDU1M2VhNTEyNjRlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRp
c2FtcGxlLWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211
bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ3NTQy
ZDc3MjEyYzg0ZmQyNzYwNzI5ZjdlM2VjOGE1NWQ1NWIxNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0
aW9uLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgbXVsdGlzYW1wbGUtY29ycnVwdGlvbi5o
dG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVz
dC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRt
bCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5n
L211bHRpc2FtcGxlLWNvcnJ1cHRpb24uaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVy
aW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvcmVuZGVyaW5nL3BvaW50LXNpemUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjMDliZWRj
MTBjNmFjNzQ4YTg0ODRmNjhhMzVhMDdlNzliNGJhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50
LXNpemUuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWVhNzY3MTQyOTg0
NDAyOGMzYTc4ODExZGI1ZDk5ZmZiZmM0NGQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJn
bC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVz
dCBXcmFwcGVyIGZvciBwb2ludC1zaXplLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
cG9pbnQtc2l6ZS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL3BvaW50LXNpemUuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3Qt
Z2V0LWNhbGxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3N0
YXRlL2dsLW9iamVjdC1nZXQtY2FsbHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5MTA2Mjg3
MmE4YWVmNGQyMjZmYzlkZWQ2OWE0MTA2MzFkNjFjNGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0
OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1v
YmplY3QtZ2V0LWNhbGxzLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQzNGFmODlmOWU1MDA0ODBmOTRiZGYzN2I5YzU4NTUyOGUzN2UzZGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3Qt
Z2V0LWNhbGxzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wtb2JqZWN0LWdldC1jYWxs
cy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wt
dGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sIj4u
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmpl
Y3QtZ2V0LWNhbGxzLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwiIHdpZHRoPSI4MDAiIGhl
aWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2Ut
MmQtZm9ybWF0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40N2QzOTcwYTU1ODI1YjQ2ODFmYWQxZDQ1OTZiMjE0MjRmYWI2YjQ5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1h
Z2UtMmQtZm9ybWF0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sCitQQVNTCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHkt
dGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Njhj
NmUwZWE4MGU1NzE4YWRhMTk2OGQ4OWJkMDlhZGI5ZDE3YzM3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQt
Zm9ybWF0cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2Vu
ZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIGNvcHktdGV4LWltYWdlLTJkLWZv
cm1hdHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZv
cm1hdHMuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvY29weS10ZXgtaW1hZ2UtMmQtZm9ybWF0cy5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvY29weS10ZXgtaW1hZ2Ut
MmQtZm9ybWF0cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMjc1MDlkYjBiZjE3ZDZjNTcyMDc5MzUxZGEwODUwNzEyYmQ3NzhiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wt
cGl4ZWxzdG9yZWktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvZ2wtcGl4ZWxzdG9yZWkuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVp
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2JiN2I2ZTU5NDhmNTBlMmVlY2QxZDkzODE0NWZhNTVlZTcxOWY2
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElU
IC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZ2wtcGl4ZWxz
dG9yZWkuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdl
YmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJl
cG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL2ds
LXBpeGVsc3RvcmVpLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0i
aWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sIiB3aWR0aD0iODAwIiBoZWln
aHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25m
b3JtYW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1
ZGUyMTYzZTYxMWJiMzZjOTVkMDljZGMwNjZlNzQyNTI3M2U0MzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy9vcmlnaW4tY2xlYW4tY29u
Zm9ybWFuY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhl
IFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9y
IEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sCitQQVNTCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVh
bi1jb25mb3JtYW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWI5YjliZGE1YzZi
OWJiNGQxZTA4MjIxZWVlOWE3MjI3OTZmNGViOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBD
b25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIG9yaWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1s
PC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0bWwi
Pi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL29y
aWdpbi1jbGVhbi1jb25mb3JtYW5jZS5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4K
KzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1jYW52YXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5Yjk2Mjk0NDBi
YmZlZDhjOTYxMmJiNmZhNWIyMDNkNjg3ZjYxNGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42YWQ1ZGZhNWYxZmNhMDIzYzBkNmFhNTZlMWQ1NWFhMDkxNmQyYTViCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbAorUEFTUworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYjU2NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExMWJjZDY3ODU4ZDI2MTUwYWNiMzZmYzY5YjgzNjRl
YjFiOWYzZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBi
eSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
Q29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sIj4uLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+
PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+
PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTUwMGI3OWMyOGJjZjAyYTliZGM1
MzFkYWYzYzVlMzUxODIwNTExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52
YXMtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YmE0NDQ0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdi
YTQ0NDQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzdmMDc0NmU2Y2VjZjcwNTg0NjQ5OTA3NTUyY2Y3NzllYjVjMTUzYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQu
aHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRl
c3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYmE0NDQ0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBp
ZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNh
bnZhcy1yZ2JhNDQ0NC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzI5NDAyMzZlNTNlZDFlOTkwNWE2OWY4MDI0MzE2YzM1
NThmYTQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRl
c3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisK
K1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwK
K1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQyMDU0NjM5
ODc1MjgyMWY3ZDEyZDk0YzQzNGE3OTAxYmU3YmIxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5P
VCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbDwvdGl0bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJH
TCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlM
LjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYmE1NTUxLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1
NTUxLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4K
KzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1
MS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWNhbnZhcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwZjc4MGI1NmU3Zjk1M2I3NjE4MDBm
ZmMyNTYzZWE3ZmRkOTYwODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9Imlm
cmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMu
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiNGRhMjdiNDNm
ZTRlZWJlMDEwM2Q3ODcyZGEzMjY2MTM5NjcyYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWltYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0
bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg0YTJlZGU4ZWJkYmUxMDQ2ZTJjMDI2OWJkYzQ1NDAzMTM2MWNiNjkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4g
aWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zYmQyZmVhNTk4NGRlNGFlNzQ5YTA5MTBiY2I0ZTUzZDgwNDAyODg5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0
ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFu
Y2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdl
LXJnYjU2NS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQt
d2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQg
cmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1pbWFnZS1yZ2I1NjUuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2
IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UtcmdiNTY1Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1y
Z2JhNDQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45MDEyZWYwNmU5MTczY2U4ZmQyZWE5NDc2ZWUyZDgyNDI0NDc4
OTAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjRmZmZiODA3YTJlOWMz
ZDU5MTAzZDg1YzQ3N2ZkOWQ5YjdiZGRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1pbWFnZS1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbDwvdGl0bGU+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rl
c3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQu
aHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNi
M2I0NDk1YzI4ZmI4NTMyZDc5MzRmMWY4NjBlZjE2OTJlYjUxMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFt
ZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMThhZGM0OWM2OTY3NWNmZmZiYzdmYTYwYmRmNjM0MTgzMTliMTcz
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5l
cmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9y
bWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWlt
YWdlLXJnYmE1NTUxLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1l
IGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UtcmdiYTU1NTEuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwv
aWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWZm
NzVlNzJmMDFkZjczNzcyNjIyNzYxNDdjZTE1YzJjZTY5NzMzOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVE
SVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8
YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwiPi4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFkYjE4M2E1MzIyZGYxYzFjZjhkMWMyYWZjMjk4NjIxNzRmNTVmNTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLXZpZGVvLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRl
by1yZ2I1NjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU4YmE1ZjMwNDc2NzQ2YzE5ZTE2MTE3MzYyY2UwYThkYzU0NjU3
NTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0
ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDog
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbAorUEFTUworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC12aWRlby1yZ2I1NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZWQxNjYxZTQyMDdkOGMwODY5MWVhODA5
OTg2OTZmZjY0NjFmN2E4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1y
Z2I1NjUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVy
YXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLXZpZGVvLXJnYjU2NS5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGlu
IGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbCI+Li4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAw
Ij48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC12aWRlby1yZ2JhNDQ0NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zM2FjYzdkYzNkYzhiYzFlNDVlZjI2
N2RmODY2YWY4MDIwMTAyMTA1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRl
by1yZ2JhNDQ0NC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2Jh
NDQ0NC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0
NDQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
NTY0NWRhMmIyMzU0ZTEyZmFmNTBmZjBhNGVkMWVlYzZjZWM1MmFjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNDQ0NC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5
LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIg
Zm9yIHRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTQ0NDQuaHRtbDwv
dGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRo
ZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBv
ciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
dmlkZW8tcmdiYTQ0NDQuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1y
Z2JhNDQ0NC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2Jh
NDQ0NC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTAxOGIwNGJiZjU2NjEyZjNjNDRmOGNjYWU3YjBkZDlhZGMxZTNjMQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJl
bG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbAorUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LXZpZGVvLXJnYmE1NTUxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDlkMjhiNWY5NTJjNjhhNWVjYTdiNTc0
YTlhODljZjVmYTFkM2ZjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8t
cmdiYTU1NTEuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdl
bmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE1NTUxLmh0bWwiPi4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiYTU1NTEuaHRtbCIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTQ3NDhhODQ0OWY1NjUwZGQ1YTg1MmY1MjUzMWFjN2ZjNjY3OGY4NQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0
cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFw
cGVyIGZvciB0ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbDwvYT4KKzxkaXYg
aWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFn
ZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8uaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1hY3RpdmUtYmluZC0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTY4ODViZWRlY2Y2
NGNlMWY0ZjQ5NzNkNmRlMDhlNjQ2ZGJlNTAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0
OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJp
bmQtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3ZDBlNjZhMmZmZDYyNmFhNGQ5NWQwZGZkMWJlZDJmZTdl
ZGUwMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0t
IFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4g
RE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZv
ciB0ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eHR1cmUtYWN0aXZlLWJpbmQtMi5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbDwvYT4KKzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtYWN0aXZlLWJpbmQtMi5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmlu
ZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWFmNWQ0M2QzOGZmODEyMTg5ODVjMzc5YjUyYWRl
N2YwOTNkMTE0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQu
aHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY5
YTEzMjY2NTQ1NTRlMTYxOGUwNWNlYjkyYTllMDg3MWVlOTIwZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJp
bmQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2Vi
R0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWw8
L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0
aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mg
b3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwiPi4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUt
YWN0aXZlLWJpbmQuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJp
ZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQuaHRtbCIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1taXBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODJjYTBhOTAxYWEyYzU5ZjJjMzBh
ZmM1ODc4ZDhlOTVkNTRlNWFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbAor
UEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLW1pcHMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtbWlwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwOTY5NWEzOTI2OGU4MGJkMWMzZmIy
M2Q2NzQyYmJjZmFhMDBkMDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5w
eS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVy
IGZvciB0ZXh0dXJlLW1pcHMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBp
ZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUt
bWlwcy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXh0dXJlLW1pcHMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8
ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbWlwcy5odG1sIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBv
dC12aWRlby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzNzU0N2U5
NTg0MzI3MDVmY2IzNzAwODZiZjU2MTMxODhjMWNkNDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLW5wb3QtdmlkZW8tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3Qg
bGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rl
c3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtbnBvdC12aWRlby5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjYxMjNjZmExYzZiZjQ1Mzc5MjNmOTk2NWEzMjdjYTM2OGZlMzkwNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleHR1cmUtbnBvdC12aWRlby5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJ
VCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHRleHR1cmUt
bnBvdC12aWRlby5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZp
ZGVvLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleHR1cmUtbnBvdC12aWRlby5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1zaXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtc2l6ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWMzNGIxYWNm
M2M3YWEyMWY2ODhiN2IyYzRiMzFjYWNlMDNiNTljYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQg
YmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4v
Li4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVy
ZS1zaXplLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2U4MDM5M2Y4NmI2MmM2MjlhNGQ1NjczZGZmNDMyYmU3MmQ0N2Qw
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtc2l6ZS1saW1pdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlz
IHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCBy
ZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
dHVyZS1zaXplLWxpbWl0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMGQ5OGY5MjQxZmExODE0
OGZjNWFmZTVlM2E5YTNkYTRjMDk1NTdjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
d2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNl
IFRlc3QgV3JhcHBlciBmb3IgdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWw8L3RpdGxlPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitU
ZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWw8
L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLXNpemUtbGltaXQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZy
YW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQxNjE1MWI3ZTU0MzhhNDdkMzdkN2JlODM3Y2U3OWE2ZjgwMTBhYWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBi
eSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
Q29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB0ZXh0dXJlLXNpemUuaHRtbDwvdGl0bGU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBU
ZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwv
cD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleHR1cmUtc2l6ZS5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbDwvYT4KKzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleHR1
cmUtc2l6ZS5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kNmJhN2IyMWQ2MmMzYmVjZGM2ZmNhZDI0MDM5ZDFhYjE2ZWRmYWQzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
Z2wtdW5pZm9ybS1hcnJheXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwKK1BBU1MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvZ2wtdW5pZm9y
bS1hcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2ds
LXVuaWZvcm0tYXJyYXlzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDg4ZDBkMzBkOWRmNThlMDEyZTNhYmM0
Njc0MjZjODA5MjJjYzYyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVz
dHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3Jh
cHBlciBmb3IgZ2wtdW5pZm9ybS1hcnJheXMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1z
L2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWw8L2E+Cis8ZGl2IGlk
PSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlmb3Jt
LWFycmF5cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGU1NGNiYzNkYjc5ZWIwYWNhZmE5Y2ZiMDg0NGM4Y2U0
YWM3M2ZkNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1
ZXMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQtdmFsdWVzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZGIyYjJmZTZlMWRlN2I4NTk5Y2QwMGM0NDUwY2M5NmJjOWExNjA3NAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0t
ZGVmYXVsdC12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMgZmlsZSBpcyBh
dXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciB1bmlmb3JtLWRlZmF1
bHQtdmFsdWVzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtp
dC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFu
ZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQt
dmFsdWVzLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12YWx1ZXMuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tZGVmYXVsdC12
YWx1ZXMuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk3OWNlMzQ5N2JiY2YwZTI4ZjE0MjcyMTBlNmNiMWQ0ZTdjNDIxZTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlm
b3JtLWxvY2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1s
b2NhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlNDMyMWFjM2ZlNDI1MzBjNTExMzMxYzQ1ZGQ3ZGQz
ZDAwMDE1ODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERP
IE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Ig
dW5pZm9ybS1sb2NhdGlvbi5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1s
b2NhdGlvbi5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWxvY2F0aW9uLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1zYW1wbGVycy10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tc2FtcGxlcnMtdGVzdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGZjZWEyMjIwNDE1NDQ3Mjg4ODJhODZjOTgwZDlhMmNjMTY4NGNlNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZv
cm0tc2FtcGxlcnMtdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9y
bS1zYW1wbGVycy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS91bmlm
b3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDQyMGQ2NzZmYTUw
NGQxNjI4NjhmYTIwMTYyNjc5NWUzYjczZmQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwK
QEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZv
cm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWw8L3RpdGxl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2Vi
R0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJ
TC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCI+Li4vLi4vcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1w
bGVycy10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZy
YW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9jYW52YXMvYnVmZmVyLW9mZnNjcmVlbi10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLW9m
ZnNjcmVlbi10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQ0NjFkOWJiNDFlODgyZmE4NzJiZjU2YTY0
OWY1OGY2ZGMwNjdkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NhbnZhcy9idWZmZXItb2Zmc2NyZWVu
LXRlc3QuaHRtbApAQCAtMCwwICsxLDExNyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHJlcXVpcmVkIGJ1ZmZlciBjbGVhciBiZWhhdmlvdXIg
dGVzdDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyI+IDwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeworICAg
IGhlaWdodDogMzAwMHB4OworfQorPC9zdHlsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KKwordmFyIGl0ZXIgPSAwOwordmFyIGdsMTsKK3ZhciBnbDI7CisKK3ZhciB3dHUgPSBX
ZWJHTFRlc3RVdGlsczsKKworZnVuY3Rpb24gdGltZXIoKSB7CisgICAgaWYgKGl0ZXIgPT0gMCkg
eworICAgICAgICAvLyBzb21lIHJhbmRvbSBoYWNreSBzdHVmZiB0byBtYWtlIHN1cmUgdGhhdCB3
ZSBnZXQgYSBjb21wb3NpdGluZyBzdGVwCisgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCAxMCk7
CisgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCAtMTApOworICAgICAgICBpdGVyKys7CisKKyAg
ICAgICAgc2V0VGltZW91dCh0aW1lciwgNTAwKTsKKyAgICB9IGVsc2UgaWYgKGl0ZXIgPT0gMSkg
eworICAgICAgICBmdW5jdGlvbiBjbGVhcihnbCkgeworICAgICAgICAgICAgLy8gc2Npc3NvciB3
YXMgc2V0IGVhcmxpZXIKKyAgICAgICAgICAgIGdsLmNsZWFyQ29sb3IoMCwgMCwgMSwgMSk7Cisg
ICAgICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICAgICAgfQorICAg
ICAgICBjbGVhcihnbDEpOworICAgICAgICBjbGVhcihnbDIpOworCisgICAgICAgIGRlYnVnKCJj
aGVjayBvbiBzY3JlZW4gY2FudmFzIik7CisgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wx
LCAwLCAxMCwgMTAsIDEwLCBbMCwgMCwgMjU1LCAyNTVdLCAiY2xlYXJlZCBjb3JuZXIgc2hvdWxk
IGJlIGJsdWUsIHN0ZW5jaWwgc2hvdWxkIGJlIHByZXNlcnZlZCIpOworICAgICAgICB3dHUuY2hl
Y2tDYW52YXNSZWN0KGdsMSwgMCwgMCwgMTAsIDEwLCBbMCwgMCwgMCwgMF0sICJyZW1haW5kZXIg
b2YgYnVmZmVyIHNob3VsZCBiZSBjbGVhcmVkIik7CisgICAgICAgIGRlYnVnKCJjaGVjayBvZmYg
c2NyZWVuIGNhbnZhcyIpOworICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsMiwgMCwgMTAs
IDEwLCAxMCwgWzAsIDAsIDI1NSwgMjU1XSwgImNsZWFyZWQgY29ybmVyIHNob3VsZCBiZSBibHVl
LCBzdGVuY2lsIHNob3VsZCBiZSBwcmVzZXJ2ZWQiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFz
UmVjdChnbDIsIDAsIDAsIDEwLCAxMCwgWzI1NSwgMCwgMCwgMjU1XSwgInJlbWFpbmRlciBvZiBi
dWZmZXIgc2hvdWxkIGJlIHVuLWNsZWFyZWQgcmVkIik7CisKKyAgICAgICAgZmluaXNoVGVzdCgp
OworICAgIH0KK30KKworZnVuY3Rpb24gZ28oKSB7CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dCBlbnN1cmVzIFdlYkdMIGltcGxlbWVudGF0aW9ucyBjb3JyZWN0bHkgY2xlYXIgdGhlIGRyYXdp
bmcgYnVmZmVyIG9uIGNvbXBvc2l0ZSBpZiBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIgaXMgZmFsc2Uu
Iik7CisKKyAgICBkZWJ1ZygiIik7CisKKyAgICBnbDEgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJj
Iik7CisgICAgZ2wyID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOworICAgIHNob3VsZEJlVHJ1ZSgi
Z2wxICE9IG51bGwiKTsKKyAgICBzaG91bGRCZVRydWUoImdsMiAhPSBudWxsIik7CisKKyAgICBz
aG91bGRCZVRydWUoJ2dsMS5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNlcnZlRHJhd2luZ0J1
ZmZlciA9PSBmYWxzZScpOworICAgIHNob3VsZEJlVHJ1ZSgnZ2wyLmdldENvbnRleHRBdHRyaWJ1
dGVzKCkucHJlc2VydmVEcmF3aW5nQnVmZmVyID09IGZhbHNlJyk7CisKKyAgICBmdW5jdGlvbiBp
bml0KGdsKSB7CisgICAgICAgIGdsLmNsZWFyQ29sb3IoMSwgMCwgMCwgMSk7CisgICAgICAgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUIHwgZ2wuU1RF
TkNJTF9CVUZGRVJfQklUKTsKKworICAgICAgICAvLyBlbmFibGUgc2Npc3NvciBoZXJlLCBiZWZv
cmUgY29tcG9zaXRpbmcsIHRvIG1ha2Ugc3VyZSBpdCdzIGNvcnJlY3RseQorICAgICAgICAvLyBp
Z25vcmVkIGFuZCByZXN0b3JlZAorICAgICAgICBnbC5zY2lzc29yKDAsIDEwLCAxMCwgMTApOwor
ICAgICAgICBnbC5lbmFibGUoZ2wuU0NJU1NPUl9URVNUKTsKKyAgICB9CisKKyAgICBpbml0KGds
MSk7CisgICAgaW5pdChnbDIpOworCisgICAgc2V0VGltZW91dCh0aW1lciwgNTAwKTsKK30KKwor
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBnbywgZmFsc2UpOworCit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8Y2FudmFzIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgc3R5
bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsdWU7IiBpZD0iYyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1
ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvYnVmZmVyLXByZXNlcnZlLXRlc3QuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kYzE4ZDFiM2JjYzFkMzhjNjQ5ZDE4ODQ2OTAwNTU3NWNlOWVmNTVmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2J1ZmZlci1wcmVzZXJ2ZS10ZXN0Lmh0bWwKQEAgLTAs
MCArMSwxMTIgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25v
cyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv
ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0
d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRl
cmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu
Y2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt
b2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29y
IHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8K
KyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiog
aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgor
KioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U
IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG
T1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
QU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJP
TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5XZWJHTCByZXF1aXJlZCBidWZmZXIgY2xlYXIgYmVoYXZpb3VyIHRlc3Q8L3RpdGxlPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3Njcmlw
dD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsKKyAgICBoZWlnaHQ6IDMwMDBweDsK
K30KKzwvc3R5bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3ZhciBpdGVy
ID0gMDsKK3ZhciBnbDE7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKworZnVuY3Rpb24g
dGltZXIoKSB7CisgICAgaWYgKGl0ZXIgPT0gMCkgeworICAgICAgZnVuY3Rpb24gaW5pdChnbCkg
eworICAgICAgICAgIGdsLmNsZWFyQ29sb3IoMSwgMCwgMCwgMSk7CisgICAgICAgICAgZ2wuY2xl
YXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQgfCBnbC5TVEVOQ0lM
X0JVRkZFUl9CSVQpOworCisgICAgICAgICAgLy8gZW5hYmxlIHNjaXNzb3IgaGVyZSwgYmVmb3Jl
IGNvbXBvc2l0aW5nLCB0byBtYWtlIHN1cmUgaXQncyBjb3JyZWN0bHkKKyAgICAgICAgICAvLyBp
Z25vcmVkIGFuZCByZXN0b3JlZAorICAgICAgICAgIGdsLnNjaXNzb3IoMCwgMTAsIDEwLCAxMCk7
CisgICAgICAgICAgZ2wuZW5hYmxlKGdsLlNDSVNTT1JfVEVTVCk7CisgICAgICB9CisgICAgICBp
bml0KGdsMSk7CisgICAgfSBlbHNlIGlmIChpdGVyID09IDEpIHsKKyAgICAgICAgLy8gc29tZSBy
YW5kb20gaGFja3kgc3R1ZmYgdG8gbWFrZSBzdXJlIHRoYXQgd2UgZ2V0IGEgY29tcG9zaXRpbmcg
c3RlcAorICAgICAgICB3aW5kb3cuc2Nyb2xsQnkoMCwgMTApOworICAgICAgICB3aW5kb3cuc2Ny
b2xsQnkoMCwgLTEwKTsKKyAgICB9IGVsc2UgaWYgKGl0ZXIgPT0gMikgeworICAgICAgICBmdW5j
dGlvbiBjbGVhcihnbCkgeworICAgICAgICAgICAgLy8gc2Npc3NvciB3YXMgc2V0IGVhcmxpZXIK
KyAgICAgICAgICAgIGdsLmNsZWFyQ29sb3IoMCwgMCwgMSwgMSk7CisgICAgICAgICAgICBnbC5j
bGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFz
UmVjdChnbCwgMCwgMTAsIDEwLCAxMCwgWzAsIDAsIDI1NSwgMjU1XSwgImNsZWFyZWQgY29ybmVy
IHNob3VsZCBiZSBibHVlLCBzdGVuY2lsIHNob3VsZCBiZSBwcmVzZXJ2ZWQiKTsKKyAgICAgICAg
ICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDEwLCAxMCwgWzAsIDAsIDAsIDBdLCAi
cmVtYWluZGVyIG9mIGJ1ZmZlciBzaG91bGQgYmUgY2xlYXJlZCIpOworICAgICAgICB9CisgICAg
ICAgIGNsZWFyKGdsMSk7CisKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgaXRlcisrOworICAgIHNldFRpbWVvdXQodGltZXIsIDUwMCk7Cit9CisK
K2Z1bmN0aW9uIGdvKCkgeworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyBXZWJH
TCBpbXBsZW1lbnRhdGlvbnMgY29ycmVjdGx5IGNsZWFyIHRoZSBkcmF3aW5nIGJ1ZmZlciBvbiBj
b21wb3NpdGUgaWYgcHJlc2VydmVEcmF3aW5nQnVmZmVyIGlzIGZhbHNlLiIpOworCisgICAgZGVi
dWcoIiIpOworCisgICAgZ2wxID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiYyIpOworICAgIGlmICgh
Z2wxKSB7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIHNob3VsZEJlVHJ1ZSgiZ2wxICE9IG51bGwiKTsKKyAgICBzaG91bGRCZVRydWUoJ2dsMS5n
ZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNlcnZlRHJhd2luZ0J1ZmZlciA9PSBmYWxzZScpOwor
CisgICAgc2V0VGltZW91dCh0aW1lciwgNTAwKTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBnbywgZmFsc2UpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8IS0tIEltcG9ydGFudCB0byBwdXQgdGhlIGNh
bnZhcyBhdCB0aGUgdG9wIHNvIHRoYXQgaXQncyBhbHdheXMgdmlzaWJsZSBldmVuIGluIHRoZSB0
ZXN0IHN1aXRlIHJ1bm5lci4KKyAgICAgT3RoZXJ3aXNlIGl0IGp1c3QgZG9lc24ndCBnZXQgY29t
cG9zaXRlZCBpbiBGaXJlZm94LiAtLT4KKzxjYW52YXMgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiBz
dHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmx1ZTsiIGlkPSJjIj48L2NhbnZhcz4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2Fu
dmFzL2RyYXdpbmdidWZmZXItdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2Mzc5YzZhZmE4MTQzYzg1
NDQ5Mzc5NTE1NTM3M2ZjY2IwNGVjMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvZHJhd2lu
Z2J1ZmZlci10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxMzkgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENhbnZhcy5kcmF3aW5nQnVmZmVyV2lk
dGgsZHJhd2luZ0J1ZmZlckhlaWdodCBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oKTsKK2Rl
YnVnKCIiKTsKKwordmFyIGdsOwordmFyIG9sZFZpZXdwb3J0OworCitmdW5jdGlvbiBnZXRNYXhW
aWV3cG9ydERpbWVuc2lvbnMoKSB7CisgIC8vIGNyZWF0ZSBhIGZyZXNoIGNhbnZhcy4gVGhpcyBj
YW52YXMgd2lsbCBiZSBkaXNjYXJkZWQKKyAgLy8gYWZ0ZXIgZXhpdGluZyB0aGlzIGZ1bmN0aW9u
LgorICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CisgIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMsIHthbnRpYWxpYXM6IGZhbHNlfSk7CisgIGlm
ICghZ2wpIHsKKyAgICB0ZXN0RmFpbGVkKCJjb250ZXh0IGRvZXMgbm90IGV4aXN0Iik7CisgICAg
cmV0dXJuIFswLCAwXTsKKyAgfSBlbHNlIHsKKyAgICB0ZXN0UGFzc2VkKCJjb250ZXh0IGV4aXN0
cyIpOworCisgICAgLy8gRm9yIGEgZGVmYXVsdCBzaXplIGNhbnZhcyB0aGVzZSBzaG91bGQgYmUg
ZXF1YWwuCisgICAgLy8gV2ViR0wgY29udGV4dHMgYXJlIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0
aGUgc2l6ZSBvZiB0aGUgZHJhd2luZ0J1ZmZlcgorICAgIC8vIGZvciB0aGluZ3MgbGlrZSBoaS1y
ZXMgZGlzcGxheXMuCisgICAgc2hvdWxkQmUoJ2dsLmRyYXdpbmdCdWZmZXJXaWR0aCcsICdnbC5j
YW52YXMud2lkdGgnKTsKKyAgICBzaG91bGRCZSgnZ2wuZHJhd2luZ0J1ZmZlckhlaWdodCcsICdn
bC5jYW52YXMuaGVpZ2h0Jyk7CisgICAgcmV0dXJuIGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVklF
V1BPUlRfRElNUyk7CisgIH0KK30KKworZnVuY3Rpb24gdGVzdChkZXNpcmVkV2lkdGgsIGRlc2ly
ZWRIZWlnaHQpIHsKKyAgZGVidWcoIiIpOworICBkZWJ1ZygidGVzdGluZyBjYW52YXMgd2lkdGgg
PSAiICsgZGVzaXJlZFdpZHRoICsgIiwgaGVpZ2h0ID0gIiArIGRlc2lyZWRIZWlnaHQpOworCisg
IC8vIE1ha2UgYSBmcmVzaCBjYW52YXMuCisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJjYW52YXMiKTsKKyAgY2FudmFzLndpZHRoID0gZGVzaXJlZFdpZHRoOworICBjYW52
YXMuaGVpZ2h0ID0gZGVzaXJlZEhlaWdodDsKKworICAvLyBUaGlzICdnbCcgbXVzdCBiZSBnbG9i
YWwgZm9yIHNob3VsZEJlIHRvIHdvcmsuCisgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52
YXMsIHthbnRpYWxpYXM6IGZhbHNlfSk7CisgIGlmICghZ2wpIHsKKyAgICB0ZXN0RmFpbGVkKCJj
b250ZXh0IGRvZXMgbm90IGV4aXN0Iik7CisgIH0gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiY29u
dGV4dCBleGlzdHMiKTsKKworICAgIC8vIFZlcmlmeSB0aGVzZSBzdGF0cyBkaWRuJ3QgY2hhbmdl
IHNpbmNlIHRoZXkgY29tZSBmcm9tIGEgZGlmZmVyZW50CisgICAgLy8gY29udGV4dC4KKyAgICBz
aG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9WSUVXUE9SVF9ESU1TKVswXScsICdtYXhT
aXplWzBdJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5NQVhfVklFV1BPUlRf
RElNUylbMV0nLCAnbWF4U2l6ZVsxXScpOworCisgICAgLy8gY2hlY2sgdGhlIGluaXRpYWwgdmll
d3BvcnQgbWF0Y2hlcyB0aGUgZHJhd2luZ0J1ZmZlcldpZHRoIGFuZCBkcmF3aW5nQnVmZmVySGVp
Z2h0CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFtZXRlcihnbC5WSUVXUE9SVClbMF0nLCAnMCcp
OworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklFV1BPUlQpWzFdJywgJzAnKTsK
KyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVsyXScsICdnbC5kcmF3
aW5nQnVmZmVyV2lkdGgnKTsKKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQ
T1JUKVszXScsICdnbC5kcmF3aW5nQnVmZmVySGVpZ2h0Jyk7CisKKyAgICBkZWJ1ZygiIik7Cisg
ICAgZGVidWcoInRlc3RpbmcgcmVzaXppbmcgY2FudmFzIHRvIHdpZHRoID0gIiArIGRlc2lyZWRX
aWR0aCArICIsIGhlaWdodCA9ICIgKyBkZXNpcmVkSGVpZ2h0KTsKKworICAgIG9sZFZpZXdwb3J0
ID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKTsKKworICAgIC8vIGZsaXAgd2lkdGggYW5k
IGhlaWdodAorICAgIGNhbnZhcy53aWR0aCA9IGRlc2lyZWRIZWlnaHQ7CisgICAgY2FudmFzLmhl
aWdodCA9IGRlc2lyZWRXaWR0aDsKKworICAgIC8vIFZlcmlmeSB0aGUgdmlld3BvcnQgZGlkbid0
IGNoYW5nZS4KKyAgICBzaG91bGRCZSgnZ2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVswXScs
ICdvbGRWaWV3cG9ydFswXScpOworICAgIHNob3VsZEJlKCdnbC5nZXRQYXJhbWV0ZXIoZ2wuVklF
V1BPUlQpWzFdJywgJ29sZFZpZXdwb3J0WzFdJyk7CisgICAgc2hvdWxkQmUoJ2dsLmdldFBhcmFt
ZXRlcihnbC5WSUVXUE9SVClbMl0nLCAnb2xkVmlld3BvcnRbMl0nKTsKKyAgICBzaG91bGRCZSgn
Z2wuZ2V0UGFyYW1ldGVyKGdsLlZJRVdQT1JUKVszXScsICdvbGRWaWV3cG9ydFszXScpOworCisg
ICAgLy8gZml4IHRoZSB2aWV3cG9ydAorLy8gICAgZ2wudmlld3BvcnQoMCwgMCwgZ2wuZHJhd2lu
Z0J1ZmZlcldpZHRoLCBnbC5kcmF3aW5nQnVmZmVySGVpZ2h0KTsKKworICAgIHNob3VsZEJlKCdn
bC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7CisgIH0KK30KKwordmFyIHd0dSA9IFdlYkdM
VGVzdFV0aWxzOwordmFyIG1heFNpemUgPSBnZXRNYXhWaWV3cG9ydERpbWVuc2lvbnMoKTsKK2Rl
YnVnKCJNQVhfVklFV1BPUlRfRElNUzogIiArIG1heFNpemVbMF0gKyAiLCAiICsgbWF4U2l6ZVsx
XSk7CisKK3Nob3VsZEJlVHJ1ZSgnbWF4U2l6ZVswXSA+IDAnKTsKK3Nob3VsZEJlVHJ1ZSgnbWF4
U2l6ZVsxXSA+IDAnKTsKKworLy8gdGVzdCBhIHNtYWxsIHNpemUgdG8gbWFrZSBzdXJlIGl0IHdv
cmtzIGF0IGFsbC4KK3Rlc3QoMTYsIDMyKTsKKworLy8gTWFrZSBhIGNhbnZhcyBzbGlnaHRseSBs
YXJnZXIgdGhhbiB0aGUgbWF4IHNpemUgV2ViR0wgY2FuIGhhbmRsZS4KKy8vIEZyb20gc2VjdGlv
biAyLjIgb2YgdGhlIHNwZWMgdGhlIFdlYkdMIGltcGxlbWVudGF0aW9uIHNob3VsZCBhbGxvdyB0
aGlzIHRvIHdvcmsuCisKKy8vIHRlc3QgYSBzaXplIGxhcmdlciB0aGFuIE1BWF9WSUVXUE9SVF9E
SU1TIGluIGJvdGggZGltZW5zaW9ucwordGVzdChtYXhTaXplWzBdICsgMzIsIDgpOworCitkZWJ1
ZygiIikKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2Fu
dmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmU4ZGZmMWE4OTFlNTkzOTI3
NTkzYmViYzc5ZTNiMjM5Y2FiYjg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEt
dXJsLXRlc3QuaHRtbApAQCAtMCwwICsxLDEzMCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHRvRGF0YVVSTCB0ZXN0PC90aXRsZT4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiBzdHlsZT0i
Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHgiIGlkPSJj
M2QiPjwvY2FudmFzPgorPGNhbnZhcyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHN0eWxlPSJib3Jk
ZXI6IDFweCBzb2xpZCBibGFjazsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweCIgaWQ9ImMyZCI+
PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK3ZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKK3ZhciBudW1UZXN0cyA9IDEwOwordmFyIGdsOwordmFyIGN0eDsKKwordmFy
IG1haW4gPSBmdW5jdGlvbigpIHsKKyAgZGVzY3JpcHRpb24oKTsKKyAgY3R4ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImMyZCIpLmdldENvbnRleHQoIjJkIik7CisgIGdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dCgiYzNkIik7CisKKyAgaWYgKCFnbCkgeworICAgIHRlc3RGYWlsZWQoImNhbid0
IGNyZWF0ZSAzZCBjb250ZXh0Iik7CisgICAgcmV0dXJuOworICB9CisKKyAgdmFyIGNsZWFyUmVj
dCA9IGZ1bmN0aW9uKGdsLCB4LCB5LCB3aWR0aCwgaGVpZ2h0LCBjb2xvcikgeworICAgIGdsLmNs
ZWFyQ29sb3IoY29sb3JbMF0gLyAyNTUsIGNvbG9yWzFdIC8gMjU1LCBjb2xvclsyXSAvIDI1NSwg
Y29sb3JbM10gLyAyNTUpOworICAgIGdsLnNjaXNzb3IoeCwgeSwgd2lkdGgsIGhlaWdodCk7Cisg
ICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgIH07CisKKyAgdmFyIHRlc3RTaXpl
ID0gZnVuY3Rpb24oZ2wsIHdpZHRoLCBoZWlnaHQsIGNhbGxiYWNrKSB7CisgICAgZGVidWcoInRl
c3RpbmcgIiArIHdpZHRoICsgIiBieSAiICsgaGVpZ2h0KTsKKyAgICBnbC5jYW52YXMud2lkdGgg
PSB3aWR0aDsKKyAgICBnbC5jYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworICAgIGdsLnZpZXdwb3J0
KDAsIDAsIHdpZHRoLCBoZWlnaHQpOworICAgIGdsLmVuYWJsZShnbC5TQ0lTU09SX1RFU1QpOwor
CisgICAgdmFyIGJvdHRvbUNvbG9yID0gWzI1NSwgMCwgMCwgMjU1XTsKKyAgICB2YXIgdG9wQ29s
b3IgPSBbMCwgMjU1LCAwLCAyNTVdOworICAgIHZhciByaWdodENvbG9yID0gWzAsIDAsIDI1NSwg
MjU1XTsKKyAgICB2YXIgaGFsZkhlaWdodCA9IE1hdGguZmxvb3IoaGVpZ2h0IC8gMik7CisgICAg
dmFyIHRvcEhlaWdodCA9IGhlaWdodCAtIGhhbGZIZWlnaHQ7CisgICAgdmFyIGNhbnZhc1RvcEhl
aWdodCA9IGhlaWdodCAtIHRvcEhlaWdodDsKKyAgICBjbGVhclJlY3QoZ2wsIDAsIDAsIHdpZHRo
LCBoYWxmSGVpZ2h0LCBib3R0b21Db2xvcik7CisgICAgY2xlYXJSZWN0KGdsLCAwLCBoYWxmSGVp
Z2h0LCB3aWR0aCwgdG9wSGVpZ2h0LCB0b3BDb2xvcik7CisgICAgY2xlYXJSZWN0KGdsLCB3aWR0
aCAtIDEsIDAsIDEsIGhlaWdodCwgcmlnaHRDb2xvcik7CisKKyAgICB2YXIgaW1nID0gbmV3IElt
YWdlKCk7CisgICAgaW1nLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgY3R4LmNhbnZhcy53
aWR0aCA9IHdpZHRoOworICAgICAgY3R4LmNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CisgICAgICBj
dHguZHJhd0ltYWdlKGltZywgMCwgMCk7CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGN0eCwg
MCwgMCwgd2lkdGggLSAxLCB0b3BIZWlnaHQsIHRvcENvbG9yKTsKKyAgICAgIHd0dS5jaGVja0Nh
bnZhc1JlY3QoY3R4LCAwLCB0b3BIZWlnaHQsIHdpZHRoIC0gMSwgaGFsZkhlaWdodCwgYm90dG9t
Q29sb3IpOworICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChjdHgsIHdpZHRoIC0gMSwgMCwgMSwg
aGVpZ2h0LCByaWdodENvbG9yKTsKKyAgICAgIGRlYnVnKCIiKTsKKyAgICAgIGNhbGxiYWNrKCk7
CisgICAgfTsKKyAgICBpbWcuc3JjID0gZ2wuY2FudmFzLnRvRGF0YVVSTCgpOworICB9OworCisg
IHZhciB0ZXN0cyA9IFsKKyAgICB7IHdpZHRoOiAgMTYgICAgLCBoZWlnaHQ6ICAxNiAgICAsIH0s
CisgICAgeyB3aWR0aDogIDE2IC0gMSwgaGVpZ2h0OiAgMTYgICAgLCB9LAorICAgIHsgd2lkdGg6
ICAxNiAtIDEsIGhlaWdodDogIDE2IC0gMSwgfSwKKyAgICB7IHdpZHRoOiAgMTYgKyAxLCBoZWln
aHQ6ICAxNiAtIDEsIH0sCisgICAgeyB3aWR0aDogIDE2IC0gMSwgaGVpZ2h0OiAgMTYgKyAxLCB9
LAorICAgIHsgd2lkdGg6IDI1NiAgICAsIGhlaWdodDogMjU2ICAgICwgfSwKKyAgICB7IHdpZHRo
OiAyNTYgLSAxLCBoZWlnaHQ6IDI1NiAgICAsIH0sCisgICAgeyB3aWR0aDogMjU2IC0gMSwgaGVp
Z2h0OiAyNTYgLSAxLCB9LAorICAgIHsgd2lkdGg6IDI1NiArIDEsIGhlaWdodDogMjU2IC0gMSwg
fSwKKyAgICB7IHdpZHRoOiAyNTYgLSAxLCBoZWlnaHQ6IDI1NiArIDEsIH0sCisgICAgeyB3aWR0
aDogNTEyICAgICwgaGVpZ2h0OiA1MTIgICAgLCB9LAorICAgIHsgd2lkdGg6IDUxMiAtIDEsIGhl
aWdodDogNTEyICAgICwgfSwKKyAgICB7IHdpZHRoOiA1MTIgLSAxLCBoZWlnaHQ6IDUxMiAtIDEs
IH0sCisgICAgeyB3aWR0aDogNTEyICsgMSwgaGVpZ2h0OiA1MTIgLSAxLCB9LAorICAgIHsgd2lk
dGg6IDUxMiAtIDEsIGhlaWdodDogNTEyICsgMSwgfSwKKyAgXTsKKyAgdmFyIHRlc3RJbmRleCA9
IDA7CisgIHZhciBydW5OZXh0VGVzdCA9IGZ1bmN0aW9uKCkgeworICAgIGlmICh0ZXN0SW5kZXgg
PT0gdGVzdHMubGVuZ3RoKSB7CisgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICByZXR1cm47Cisg
ICAgfQorICAgIHZhciB0ZXN0ID0gdGVzdHNbdGVzdEluZGV4KytdOworICAgIHRlc3RTaXplKGds
LCB0ZXN0LndpZHRoLCB0ZXN0LmhlaWdodCwgZnVuY3Rpb24oKSB7CisgICAgICBzZXRUaW1lb3V0
KHJ1bk5leHRUZXN0LCAxMDApOworICAgIH0pCisgIH07CisgIHJ1bk5leHRUZXN0KCk7Cit9Owor
bWFpbigpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVz
ZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvY29udGV4dC9jb250ZXh0LWF0dHJpYnV0ZS1wcmVz
ZXJ2ZS1kcmF3aW5nLWJ1ZmZlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxOGMwNmFkNGVhYjVlZmE5NjY2
NTNjZmE4MjU5YWViOWE5MmRmY2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQt
YXR0cmlidXRlLXByZXNlcnZlLWRyYXdpbmctYnVmZmVyLmh0bWwKQEAgLTAsMCArMSwxMjIgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAg
ICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgY2FudmFzIHsKKyAgICAgICAgICAgICAgICB3aWR0aDo1MHB4OworICAgICAgICAgICAg
ICAgIGhlaWdodDo1MHB4OworICAgICAgICAgICAgfQorICAgICAgICAgICAgLnNxdWFyZSB7Cisg
ICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7CisgICAgICAgICAgICAgICAgd2lk
dGg6NTBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6NTBweDsKKyAgICAgICAgICAgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOnJlZDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgICAgIHZh
ciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrUmVzdWx0
KGN0eDEsIGN0eDIsIHByZXNlcnZlKSB7CisgICAgICAgICAgICAgICAgdmFyIGltZ0RhdGExID0g
Y3R4MS5nZXRJbWFnZURhdGEoMCwwLDEsMSk7CisgICAgICAgICAgICAgICAgdmFyIGltZ0RhdGEy
ID0gY3R4Mi5nZXRJbWFnZURhdGEoMCwwLDEsMSk7CisgICAgICAgICAgICAgICAgdmFyIGNvcnJl
Y3QxID0gWzI1NSwwLDAsMjU1XTsKKyAgICAgICAgICAgICAgICB2YXIgY29ycmVjdDIgPSBwcmVz
ZXJ2ZSA/IFsyNTUsMCwwLDI1NV0gOiBbMCwwLDAsMjU1XTsKKyAgICAgICAgICAgICAgICB2YXIg
b2sxID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB2YXIgb2syID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICBmb3IgKHZhciBwID0gMDsgcCA8IDQ7ICsrcCkgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoaW1nRGF0YTEuZGF0YVtwXSAhPSBjb3JyZWN0MVtwXSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIG9rMSA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBpZiAoaW1nRGF0YTIuZGF0YVtw
XSAhPSBjb3JyZWN0MltwXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG9rMiA9IGZhbHNlOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAob2sxICYmIG9rMikKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnUmVuZGVyZWQgb2sgd2l0aCBwcmVzZXJ2ZURyYXdp
bmdCdWZmZXIgJyArIHByZXNlcnZlICsnLicpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnRGlkIG5vdCByZW5kZXIgb2sgd2l0aCBwcmVzZXJ2
ZURyYXdpbmdCdWZmZXIgJyArIHByZXNlcnZlICsgJy4nKTsKKyAgICAgICAgICAgICAgICBpZiAo
cHJlc2VydmUpIHsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpCisgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCh0cnVlKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJ1blRl
c3QocHJlc2VydmUpIHsKKyAgICAgICAgICAgICAgICB2YXIgYzEgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnYycgKyAocHJlc2VydmUgKiAzICsgMSkpOworICAgICAgICAgICAgICAgIHZhciBj
MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyArIChwcmVzZXJ2ZSAqIDMgKyAyKSk7Cisg
ICAgICAgICAgICAgICAgdmFyIGMzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2MnICsgKHBy
ZXNlcnZlICogMyArIDMpKTsKKyAgICAgICAgICAgICAgICB2YXIgY3R4MSA9IGMxLmdldENvbnRl
eHQoJzJkJyk7CisgICAgICAgICAgICAgICAgdmFyIGN0eDIgPSBjMi5nZXRDb250ZXh0KCcyZCcp
OworICAgICAgICAgICAgICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoYzMsIHsgYWxw
aGE6ZmFsc2UsIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjpwcmVzZXJ2ZSB9KTsKKyAgICAgICAgICAg
ICAgICBnbC5jbGVhckNvbG9yKDEsIDAsIDAsIDEpOworICAgICAgICAgICAgICAgIGdsLmNsZWFy
KGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgICAgICAgICAgICAgIGN0eDEuZHJhd0ltYWdlKGMz
LCAwLCAwKTsKKyAgICAgICAgICAgICAgICB3dHUud2FpdEZvckNvbXBvc2l0ZShnbCwgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgICAgIGN0eDIuZHJhd0ltYWdlKGMzLCAwLCAwKTsKKyAg
ICAgICAgICAgICAgICAgICAgY2hlY2tSZXN1bHQoY3R4MSwgY3R4MiwgcHJlc2VydmUpOworICAg
ICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAg
IDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIDxjYW52YXMg
aWQ9J2MxJz48L2NhbnZhcz4KKyAgICAgICAgICAgIDxjYW52YXMgaWQ9J2MyJz48L2NhbnZhcz4K
KyAgICAgICAgICAgIDxjYW52YXMgaWQ9J2MzJz48L2NhbnZhcz4KKyAgICAgICAgICAgIDxzcGFu
PnNob3VsZCBsb29rIGFzIHJpZ2h0IHBhdHRlcm48L3NwYW4+CisgICAgICAgICAgICA8ZGl2IGNs
YXNzPSdzcXVhcmUnPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0nc3F1YXJlJyBzdHls
ZT0nYmFja2dyb3VuZC1jb2xvcjpibGFjayc+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNz
PSdzcXVhcmUnPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAg
ICAgIDxjYW52YXMgaWQ9J2M0Jz48L2NhbnZhcz4KKyAgICAgICAgICAgIDxjYW52YXMgaWQ9J2M1
Jz48L2NhbnZhcz4KKyAgICAgICAgICAgIDxjYW52YXMgaWQ9J2M2Jz48L2NhbnZhcz4KKyAgICAg
ICAgICAgIDxzcGFuPnNob3VsZCBsb29rIGFzIHJpZ2h0IHBhdHRlcm48L3NwYW4+CisgICAgICAg
ICAgICA8ZGl2IGNsYXNzPSdzcXVhcmUnPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0n
c3F1YXJlJz48L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9J3NxdWFyZSc+PC9kaXY+Cisg
ICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAg
ICAgInVzZSBzdHJpY3QiOworICAgICAgICAgICAgZGVzY3JpcHRpb24oJ1ZlcmlmeSB0aGF0IHBy
ZXNlcnZlRHJhd2luZ0J1ZmZlciBhdHRyaWJ1dGUgaXMgaG9ub3JlZC4nKTsKKyAgICAgICAgICAg
IHJ1blRlc3QoZmFsc2UpOworICAgICAgICAgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoInN1Y2Nlc3NmdWxseVBhcnNlZCIpOworICAg
ICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0
L2NvbnRleHQtY3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9jb250ZXh0L2NvbnRleHQt
Y3JlYXRpb24tYW5kLWRlc3RydWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDA4ZmMzOTEzNDBhYTdl
OGVjOWMwNzg2YWJmNzUwN2I0ZmQ2MTVhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2NvbnRleHQvY29u
dGV4dC1jcmVhdGlvbi1hbmQtZGVzdHJ1Y3Rpb24uaHRtbApAQCAtMCwwICsxLDg0IEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0IHRoYXQgY29u
dGV4dHMgYXJlIGZyZWVkIGFuZCBnYXJiYWdlIGNvbGxlY3RlZCByZWFzb25hYmx5PC90aXRsZT4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUg
PSBXZWJHTFRlc3RVdGlsczsKK3ZhciB0YXJnZXQgPSA1MDA7Cit2YXIgY291bnQgPSAwOworCitk
ZXNjcmlwdGlvbigpOworZG9OZXh0VGVzdCgpOworCisvLyBDcmVhdGVzIGEgY2FudmFzIGFuZCBh
IHRleHR1cmUgdGhlbiBleGl0cy4gVGhlcmUgYXJlCisvLyBubyByZWZlcmVuY2VzIHRvIGVpdGhl
ciBzbyBib3RoIHNob3VsZCBiZSBnYXJiYWdlIGNvbGxlY3RlZC4KK2Z1bmN0aW9uIHRlc3QoKSB7
CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKKyAgLy8g
VGhpcyBpcyBzYWZlIGZvciBhbnkgZGV2aWNlLiBTZWUgZHJhd2luZ0J1ZmZlcldpZHRoIGluIHNw
ZWMuCisgIGNhbnZhcy53aWR0aCA9IDIwNDg7CisgIGNhbnZhcy5oZWlnaHQgPSAyMDQ4OworICB2
YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CisgIHZhciBtYXhUZXh0dXJlU2l6
ZSA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVEVYVFVSRV9TSVpFKTsKKyAgdmFyIHNpemUgPSBN
YXRoLm1pbigxMDI0LCBtYXhUZXh0dXJlU2l6ZSk7CisgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0
dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgc2l6ZSwgc2l6ZSwgMCwgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICAgICAgICBuZXcgVWludDhBcnJheShzaXplICog
c2l6ZSAqIDQpKTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJTaG91bGQgYmUgbm8gZXJyb3JzIik7Cit9CisKK2Z1
bmN0aW9uIGRvTmV4dFRlc3QoKSB7CisgICsrY291bnQ7CisgIGRlYnVnKCJ0ZXN0ICIgKyBjb3Vu
dCArICIgb2YgIiArIHRhcmdldCk7CisgIHRlc3QoKTsKKyAgaWYgKGNvdW50IDwgdGFyZ2V0KSB7
CisgICAgc2V0VGltZW91dChkb05leHRUZXN0LCAxMDApOworICB9IGVsc2UgeworICAgIGZpbmlz
aFRlc3QoKTsKKyAgfQorfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvZnVuY3Rpb25zL2ds
c2wtZnVuY3Rpb24tc21vb3Roc3RlcC1nZW50eXBlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2Z1bmN0aW9ucy9nbHNs
LWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0MGQwYTI5YjA2
YzBjNmJmYzM1NjY0YTlhOWIyMzYzOGVkMTFhOWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2Z1
bmN0aW9ucy9nbHNsLWZ1bmN0aW9uLXNtb290aHN0ZXAtZ2VudHlwZS5odG1sCkBAIC0wLDAgKzEs
ODAgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91
cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy
Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh
bmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMi
KSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu
ZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks
IG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwg
Y29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hv
bSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxs
IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoq
IFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg
QU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU
RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5Z
CisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU
SU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VU
IE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9S
IE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0bGU+
R0xTTCBzbW9vdGhzdGVwLWdlbnR5cGUgZnVuY3Rpb24gdGVzdDwvdGl0bGU+CisgIDxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+CisgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2dsc2wt
ZmVhdHVyZS10ZXN0cy5jc3MiLz4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9nbHNsLWdlbmVyYXRvci5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisidXNlIHN0cmljdCI7CisKKworR0xTTEdlbmVyYXRvci5ydW5GZWF0dXJlVGVzdCh7
CisgIGZlYXR1cmU6ICJzbW9vdGhzdGVwIiwKKyAgYXJnczogIiQodHlwZSkgZWRnZTAsICQodHlw
ZSkgZWRnZTEsICQodHlwZSkgdmFsdWUiLAorICBiYXNlQXJnczogImVkZ2UwJChmaWVsZCksIGVk
Z2UxJChmaWVsZCksIHZhbHVlJChmaWVsZCkiLAorICB0ZXN0RnVuYzogIiQoZnVuYykoJCh0eXBl
KSwgJCh0eXBlKSwgJCh0eXBlKSkiLAorICBlbXVGdW5jOiBbImZsb2F0ICQoZnVuYylfYmFzZShm
bG9hdCBlZGdlMCwgZmxvYXQgZWRnZTEsIGZsb2F0IHZhbHVlKSB7IiwKKyAgICAgICAgICAgICIg
IGZsb2F0IHQgPSBjbGFtcCgodmFsdWUgLSBlZGdlMCkgLyAoZWRnZTEgLSBlZGdlMCksIDAuMCwg
MS4wKTsiLAorICAgICAgICAgICAgIiAgcmV0dXJuIHQgKiB0ICogKDMuMCAtIDIuMCAqIHQpOyIs
CisgICAgICAgICAgICAifSJdLmpvaW4oIlxuIiksCisgIGdyaWRSZXM6IDgsCisgIHRvbGVyYW5j
ZTogMSwKKyAgdGVzdHM6IFsKKyAgICBbIiQob3V0cHV0KSA9IHZlYzQoIiwKKyAgICAgIiAgICAk
KGZ1bmMpKDAuMywgMC43LCAkKGlucHV0KS54KSwiLAorICAgICAiICAgICQoZnVuYykoMC4yLCAw
LjgsICQoaW5wdXQpLnkpLCIsCisgICAgICIgICAgMCwiLAorICAgICAiICAgIDEpOyJdLmpvaW4o
IlxuIiksCisgICAgWyIkKG91dHB1dCkgPSB2ZWM0KCIsCisgICAgICIgICAgJChmdW5jKSh2ZWMy
KDAuNCwgMC42KSwgdmVjMigwLjgsIDAuOSksICQoaW5wdXQpLnh5KSwiLAorICAgICAiICAgIDAs
IDEpOyJdLmpvaW4oIlxuIiksCisgICAgWyIkKG91dHB1dCkgPSB2ZWM0KCIsCisgICAgICIgICAg
JChmdW5jKSh2ZWMzKDAuMywgMC41LCAwLjcpLCB2ZWMzKDAuNywgMC45LCAxLjApLCAkKGlucHV0
KS54eXopLCIsCisgICAgICIgICAgMSk7Il0uam9pbigiXG4iKSwKKyAgICBbIiQob3V0cHV0KSA9
ICIsCisgICAgICIgICAgJChmdW5jKSh2ZWM0KDAuMywgMC40LCAwLjUsIDAuMiksICIsCisgICAg
ICIgICAgICAgICAgICB2ZWM0KDAuNywgMC42LCAwLjksIDAuOCksICIsCisgICAgICIgICAgICAg
ICAgICAkKGlucHV0KSk7Il0uam9pbigiXG4iKQorICBdCit9KTsKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L2dsc2wvbGl0ZXJhbHMvZmxvYXRfbGl0ZXJhbC52ZXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zs
b2F0X2xpdGVyYWwudmVydC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4OGU0ZTFkYTZlOGU1N2Q0NTA1YmEz
NzdlODYyOWNiMjU0YzAxMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL2xpdGVyYWxzL2Zsb2F0
X2xpdGVyYWwudmVydC5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzwhLS0KKworLyoKKyoqIENvcHly
aWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0
aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxz
IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRo
ZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFu
ZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoq
CisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoq
IE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
UiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBP
UiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRF
UklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgQ29uZm9ybWFuY2UgVGVzdHM8
L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
cmVzb3VyY2VzL2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhTaGFkZXIiIHR5cGU9InRleHQvc29tZXRoaW5n
LW5vdC1qYXZhc2NyaXB0Ij4KKworLy8gcGFyc2luZyBmbG9hdGluZyBwb2ludCBsaXRlcmFscyBz
aG91bGQgc3VjY2VlZAordm9pZCBtYWluKCkgeworICBmbG9hdCB6ZXJvID0gMC4wOworICBmbG9h
dCBmcmFjdGlvbmFsQ29uc3RhbnQgPSAxLjA7CisgIGZsb2F0IGZyYWN0aW9uYWxDb25zdGFudEV4
cG9uZW50ID0gMS4wZTE7CisgIGZsb2F0IGZyYWN0aW9uYWxDb25zdGFudFBvc0V4cG9uZW50ID0g
MS4wZSsxOworICBmbG9hdCBmcmFjdGlvbmFsQ29uc3RhbnROZWdFeHBvbmVudCA9IDEuMGUtMTsK
KyAgZmxvYXQgZGlnaXRTZXF1ZW5jZUV4cG9uZW50ID0gMWUxOworICBmbG9hdCBkaWdpdFNlcXVl
bmNlUG9zRXhwb25lbnQgPSAxZSsxOworICBmbG9hdCBkaWdpdFNlcXVlbmNlTmVnRXhwb25lbnQg
PSAxZS0xOworICBmbG9hdCBwb2ludERpZ2l0ID0gLjE7CisgIGZsb2F0IGRpZ2l0UG9pbnQ9IDEu
OworICBmbG9hdCB1cHBlckNhc2VFeHBvbmVudCA9IDEuMEUxOworICBoaWdocCBmbG9hdCBwb3NJ
blJhbmdlID0gNDYxMTY4NjAxODQyNzM4NzkwMy47ICAvLyAyXjYyIC0gMQorICBoaWdocCBmbG9h
dCBwb3NPdXRSYW5nZSA9IDQ2MTE2ODYwMTg0MjczODc5MDUuOyAgLy8gMl42MiArIDEKKyAgaGln
aHAgZmxvYXQgcG9zSHVnZSA9IDFFMTAwOworICBoaWdocCBmbG9hdCBuZWdJblJhbmdlID0gLTQ2
MTE2ODYwMTg0MjczODc5MDMuOworICBoaWdocCBmbG9hdCBuZWdPdXRSYW5nZSA9IC00NjExNjg2
MDE4NDI3Mzg3OTA1LjsKKyAgaGlnaHAgZmxvYXQgbmVnSHVnZSA9IDFFMTAwOworfQorPC9zY3Jp
cHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworR0xTTENvbmZvcm1hbmNlVGVzdGVyLnJ1blRl
c3QoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3JtLXBhY2tp
bmctcmVzdHJpY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXVuaWZvcm0tcGFja2luZy1y
ZXN0cmljdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDhjN2U3YjYyYjFiMDA1NjVjN2VhN2NiY2Fh
NmFlMjk3MmUwY2YzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci11bmlmb3Jt
LXBhY2tpbmctcmVzdHJpY3Rpb25zLmh0bWwKQEAgLTAsMCArMSwyNjggQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHVuaWZvcm0gcGFja2lu
ZyByZXN0cmN0aW9ucyBDb25mb3JtYW5jZSBUZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVz
dHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9y
bWFuY2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iZXhh
bXBsZSIgd2lkdGg9IjIiIGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdCBpZD0idnNoYWRl
ciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgIGF0dHJpYnV0ZSB2ZWM0IGFfcG9zaXRp
b247CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3Np
dGlvbjsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hh
ZGVyL3gtdmVydGV4Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICB2YXJ5aW5n
IHZlYzQgdl92YXJ5aW5nOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFn
Q29sb3IgPSB2X3Zhcnlpbmc7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2c2hhZGVy
QXJyYXlUZXN0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgYXR0cmlidXRlIHZlYzQg
YV9wb3NpdGlvbjsKKyAgICB2YXJ5aW5nIHZlYzQgdl92YXJ5aW5nOworICAgIHVuaWZvcm0gJCh0
eXBlKSB1X3VuaWZvcm1bJChudW1UZXN0VHlwZSldOworICAgIHZvaWQgbWFpbigpCisgICAgewor
ICAgICAgICB2X3ZhcnlpbmcgPSAkKGNvZGUpOworICAgICAgICBnbF9Qb3NpdGlvbiA9IGFfcG9z
aXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyQXJyYXlUZXN0IiB0
eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
KyAgICB1bmlmb3JtICQodHlwZSkgdV91bmlmb3JtWyQobnVtVGVzdFR5cGUpXTsKKyAgICB2b2lk
IG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gJChjb2RlKTsKKyAgICB9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZzaGFkZXJVbmlmb3JtVGVzdCIgdHlwZT0ieC1zaGFkZXIv
eC1mcmFnbWVudCI+CisgICAgYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKyAgICB2YXJ5aW5n
IHZlYzQgdl92YXJ5aW5nOworJCh1bmlmb3JtcykKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAg
ICAgICAgdl92YXJ5aW5nID0gJChjb2RlKTsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0
aW9uOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlclVuaWZvcm1UZXN0IiB0
eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
KyQodW5pZm9ybXMpCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xv
ciA9ICQoY29kZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
ZGVzY3JpcHRpb24oKTsKK2RlYnVnKCIiKTsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3Zh
ciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKwordmFyIHVuaWZvcm1UeXBl
cyA9IFsKKyAgeyB0eXBlOiAiYm9vbCIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiAxLCByb3dz
OiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwLCAwLCAwKSIsIH0sCisg
IHsgdHlwZTogImZsb2F0IiwgICAgICAgY29tcG9uZW50c1BlclJvdzogMSwgcm93czogMSwgY29k
ZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCwgMCwgMCkiLCB9LAorICB7IHR5cGU6
ICJpbnQiLCAgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0
KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAidmVjMiIs
ICAgICAgICBjb21wb25lbnRzUGVyUm93OiAyLCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZv
cm0kKGlkKSQoaW5kZXgpLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogIml2ZWMyIiwgICAgICAgY29t
cG9uZW50c1BlclJvdzogMiwgcm93czogMSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGlu
ZGV4KSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJidmVjMiIsICAgICAgIGNvbXBvbmVudHNQZXJS
b3c6IDIsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleCksIDAsIDAp
IiwgfSwKKyAgeyB0eXBlOiAidmVjMyIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiAzLCByb3dz
OiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpLCAwKSIsIH0sCisgIHsgdHlw
ZTogIml2ZWMzIiwgICAgICAgY29tcG9uZW50c1BlclJvdzogMywgcm93czogMSwgY29kZTogInZl
YzQodV91bmlmb3JtJChpZCkkKGluZGV4KSwgMCkiLCB9LAorICB7IHR5cGU6ICJidmVjMyIsICAg
ICAgIGNvbXBvbmVudHNQZXJSb3c6IDMsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQo
aWQpJChpbmRleCksIDApIiwgfSwKKyAgeyB0eXBlOiAidmVjNCIsICAgICAgICBjb21wb25lbnRz
UGVyUm93OiA0LCByb3dzOiAxLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpKSIs
IH0sCisgIHsgdHlwZTogIml2ZWM0IiwgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czog
MSwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KSkiLCB9LAorICB7IHR5cGU6ICJi
dmVjNCIsICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHVf
dW5pZm9ybSQoaWQpJChpbmRleCkpIiwgfSwKKy8vIFllcywgdGhlIHNwZWMgc2F5cyBtYXQyIHRh
a2VzIDQgY29sdW1ucywgMiByb3dzLgorICB7IHR5cGU6ICJtYXQyIiwgICAgICAgIGNvbXBvbmVu
dHNQZXJSb3c6IDQsIHJvd3M6IDIsIGNvZGU6ICJ2ZWM0KHVfdW5pZm9ybSQoaWQpJChpbmRleClb
MF0sIDAsIDApIiwgfSwKKyAgeyB0eXBlOiAibWF0MyIsICAgICAgICBjb21wb25lbnRzUGVyUm93
OiAzLCByb3dzOiAzLCBjb2RlOiAidmVjNCh1X3VuaWZvcm0kKGlkKSQoaW5kZXgpWzBdLCAwKSIs
IH0sCisgIHsgdHlwZTogIm1hdDQiLCAgICAgICAgY29tcG9uZW50c1BlclJvdzogNCwgcm93czog
NCwgY29kZTogInZlYzQodV91bmlmb3JtJChpZCkkKGluZGV4KVswXSkiLCB9LAorLy8gU2FtcGxl
cnMgZ2VuZXJhbGx5IGhhdmUgbW9yZSByZXN0aWN0aXZlIGxpbWl0cy4KKy8vICB7IHR5cGU6ICJz
YW1wbGVyMkQiLCAgIGNvbXBvbmVudHNQZXJSb3c6IDEsIHJvd3M6IDEsIGNvZGU6ICJ2ZWM0KHRl
eHR1cmUyRCh1X3VuaWZvcm1bJChpbmRleCldLCB2ZWMyKDAsIDApKSkiLCB9LAorLy8gIHsgdHlw
ZTogInNhbXBsZXJDdWJlIiwgY29tcG9uZW50c1BlclJvdzogMSwgcm93czogMSwgY29kZTogInZl
YzQodGV4dHVyZUN1YmUodV91bmlmb3JtWyQoaW5kZXgpXSwgdmVjMygwLCAwLCAwKSkpIiwgfSwK
K107CisKK3ZhciB2QmFzZVNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoInZzaGFkZXIiKTsKK3ZhciBm
QmFzZVNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXIiKTsKK3ZhciB2QXJyYXlUZXN0U291
cmNlID0gd3R1LmdldFNjcmlwdCgidnNoYWRlckFycmF5VGVzdCIpOwordmFyIGZBcnJheVRlc3RT
b3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVyQXJyYXlUZXN0Iik7Cit2YXIgdlVuaWZvcm1U
ZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgidnNoYWRlclVuaWZvcm1UZXN0Iik7Cit2YXIgZlVu
aWZvcm1UZXN0U291cmNlID0gd3R1LmdldFNjcmlwdCgiZnNoYWRlclVuaWZvcm1UZXN0Iik7CisK
K3ZhciB0ZXN0cyA9IFtdOwordmFyIHNoYWRlclR5cGVzID0gWworICB7IHR5cGU6ICJ2ZXJ0ZXgi
LAorICAgIC8vIEZvciB0ZXN0cyB0aGF0IGV4cGVjdCBmYWlsdXJlIHdoaWNoIHNoYWRlciBtaWdo
dCBmYWlsLgorICAgIHZlcnRFeHBlY3RhdGlvbjogZmFsc2UsCisgICAgZnJhZ0V4cGVjdGF0aW9u
OiB0cnVlLAorICAgIHZlcnRBcnJheVRlc3Q6IHZBcnJheVRlc3RTb3VyY2UsCisgICAgZnJhZ0Fy
cmF5VGVzdDogZkJhc2VTb3VyY2UsCisgICAgdmVydFVuaWZvcm1UZXN0OiB2VW5pZm9ybVRlc3RT
b3VyY2UsCisgICAgZnJhZ1VuaWZvcm1UZXN0OiBmQmFzZVNvdXJjZSwKKyAgICBtYXhWZWN0b3Jz
OiBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX1ZFUlRFWF9VTklGT1JNX1ZFQ1RPUlMpLAorICAgIG1p
blZlY3RvcnM6IDEyOCwgIC8vIEdMU0wgRVMgMS4wLjE3IEFwcGVuZGl4IEEuNywKKyAgfSwKKyAg
eyB0eXBlOiAiZnJhZ21lbnQiLAorICAgIC8vIEZvciB0ZXN0cyB0aGF0IGV4cGVjdCBmYWlsdXJl
IHdoaWNoIHNoYWRlciBtaWdodCBmYWlsLgorICAgIHZlcnRFeHBlY3RhdGlvbjogdHJ1ZSwKKyAg
ICBmcmFnRXhwZWN0YXRpb246IGZhbHNlLAorICAgIHZlcnRBcnJheVRlc3Q6IHZCYXNlU291cmNl
LAorICAgIGZyYWdBcnJheVRlc3Q6IGZBcnJheVRlc3RTb3VyY2UsCisgICAgdmVydFVuaWZvcm1U
ZXN0OiB2QmFzZVNvdXJjZSwKKyAgICBmcmFnVW5pZm9ybVRlc3Q6IGZVbmlmb3JtVGVzdFNvdXJj
ZSwKKyAgICBtYXhWZWN0b3JzOiBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFYX0ZSQUdNRU5UX1VOSUZP
Uk1fVkVDVE9SUyksCisgICAgbWluVmVjdG9yczogMTYsICAvLyBHTFNMIEVTIDEuMC4xNyBBcHBl
bmRpeCBBLjcsCisgIH0sCitdOworZm9yICh2YXIgc3MgPSAwOyBzcyA8IHNoYWRlclR5cGVzLmxl
bmd0aDsgKytzcykgeworICB2YXIgc2hhZGVyVHlwZSA9IHNoYWRlclR5cGVzW3NzXTsKKyAgZGVi
dWcoIm1heCAiICsgc2hhZGVyVHlwZS50eXBlICsgIjogIiArIHNoYWRlclR5cGUubWF4VmVjdG9y
cyk7CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB1bmlmb3JtVHlwZXMubGVuZ3RoOyArK2lpKSB7
CisgICAgdmFyIGluZm8gPSB1bmlmb3JtVHlwZXNbaWldOworICAgIHd0dS5sb2coImNoZWNraW5n
OiAiICsgaW5mby50eXBlKTsKKyAgICAvLyBDb21wdXRlIHRoZSBtYXhpbXVtIGFtb3VudCBvZiB0
aGlzIHR5cGUgYWxsb3dlZCBpbiBhIHNpbmdsZSBhcnJheS4KKyAgICB2YXIgbnVtVmFycyA9IE1h
dGguZmxvb3Ioc2hhZGVyVHlwZS5tYXhWZWN0b3JzIC8gaW5mby5yb3dzKTsKKyAgICAvLyBDb21w
dXRlIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHRvIHdvcmsgaW4gYSBzaW5nbGUgYXJyYXkuCisgICAg
dmFyIG1pblZhcnMgPSBNYXRoLmZsb29yKHNoYWRlclR5cGUubWluVmVjdG9ycyAvIGluZm8ucm93
cyk7CisgICAgLy8gVGVzdCBhcnJheVsxXSBvZiB0aGUgdHlwZQorICAgIHZhciBjb2RlID0gd3R1
LnJlcGxhY2VQYXJhbXMoaW5mby5jb2RlLCB7aWQ6ICIiLCBpbmRleDogIlswXSJ9KTsKKyAgICB0
ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRl
clR5cGUudmVydEFycmF5VGVzdCwge251bVRlc3RUeXBlOiAxLCBjb2RlOiBjb2RlfSwgaW5mbyks
CisgICAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5y
ZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ0FycmF5VGVzdCwge251bVRlc3RUeXBlOiAxLCBj
b2RlOiBjb2RlfSwgaW5mbyksCisgICAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGxp
bmtTdWNjZXNzOiB0cnVlLAorICAgICAgcGFzc01zZzogc2hhZGVyVHlwZS50eXBlICsgIiBzaGFk
ZXIgd2l0aCB1bmlmb3JtIGFycmF5IG9mICIgKyBpbmZvLnR5cGUgKyAiIHdpdGggMSBlbGVtZW50
IHNob3VsZCBzdWNjZWVkIiwKKyAgICB9KTsKKyAgICAvLyBUZXN0IGFycmF5W21heF0gb2YgdGhl
IHR5cGUKKyAgICAvLyBOb3RlOiBXZSBjYW4ndCB0ZXN0IHRoaXMgYXMgYWN0dWFsIEdMIGRyaXZl
cnMgYXJlIG9ubHkgcmVxdWlyZWQgdG8gYmUgYWJsZSB0bworICAgIC8vIGRvIHRoZSBtaW5pbXVt
IG51bWJlci4gQWZ0ZXIgdGhhdCBpdCBjYW4gZmFpbCBmb3IgYW55IHJlYXNvbi4KKyAgICBpZiAo
ZmFsc2UpIHsKKyAgICAgIHZhciBjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby5jb2RlLCB7
aWQ6ICIiLCBpbmRleDogIlsiICsgKG51bVZhcnMgLSAxKSArICJdIn0pOworICAgICAgdGVzdHMu
cHVzaCh7CisgICAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5
cGUudmVydEFycmF5VGVzdCwge251bVRlc3RUeXBlOiBudW1WYXJzLCBjb2RlOiBjb2RlfSwgaW5m
byksCisgICAgICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgICAgICBmU2hhZGVyU291cmNl
OiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdBcnJheVRlc3QsIHtudW1UZXN0VHlw
ZTogbnVtVmFycywgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgICBmU2hhZGVyU3VjY2Vzczog
dHJ1ZSwKKyAgICAgICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgICAgIHBhc3NNc2c6IHNoYWRl
clR5cGUudHlwZSArICIgc2hhZGVyIHdpdGggdW5pZm9ybSBhcnJheSBvZiAiICsgaW5mby50eXBl
ICsgIiB3aXRoICIgKyBudW1WYXJzICsgIiBlbGVtZW50cyAodGhlIG1heGltdW0pIHNob3VsZCBz
dWNjZWVkIiwKKyAgICAgIH0pOworICAgIH0KKworICAgIC8vIFRlc3QgcmVxdWlyZWQgbnVtYmVy
IG9mIHVuaWZvcm1zCisgICAgdmFyIGNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLmNvZGUs
IHtpZDogIiIsIGluZGV4OiAiWyIgKyAobWluVmFycyAtIDEpICsgIl0ifSk7CisgICAgdGVzdHMu
cHVzaCh7CisgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBl
LnZlcnRBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogbWluVmFycywgY29kZTogY29kZX0sIGluZm8p
LAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICBmU2hhZGVyU291cmNlOiB3dHUu
cmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogbWlu
VmFycywgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisg
ICAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICAgIHBhc3NNc2c6IHNoYWRlclR5cGUudHlwZSAr
ICIgc2hhZGVyIHdpdGggdW5pZm9ybSBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRoICIg
KyBtaW5WYXJzICsgIiBlbGVtZW50cyAodGhlIG1pbmltdW0gcmVxdWlyZWQpIHNob3VsZCBzdWNj
ZWVkIiwKKyAgICB9KTsKKworICAgIC8vIFRlc3QgYXJyYXlbbWF4ICsgMV0gYWNjZXNzaW5nIGxh
c3QgZWxlbWVudC4gV2ViR0wgcmVxdWlyZXMgdGhpcyB0byBmYWlsLgorICAgIHZhciBjb2RlID0g
d3R1LnJlcGxhY2VQYXJhbXMoaW5mby5jb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgbnVtVmFy
cyArICJdIn0pOworICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJjZTogd3R1LnJl
cGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0QXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51bVZh
cnMgKyAxLCBjb2RlOiBjb2RlfSwgaW5mbyksCisgICAgICB2U2hhZGVyU3VjY2Vzczogc2hhZGVy
VHlwZS52ZXJ0RXhwZWN0YXRpb24sCisgICAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBh
cmFtcyhzaGFkZXJUeXBlLmZyYWdBcnJheVRlc3QsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEs
IGNvZGU6IGNvZGV9LCBpbmZvKSwKKyAgICAgIGZTaGFkZXJTdWNjZXNzOiBzaGFkZXJUeXBlLmZy
YWdFeHBlY3RhdGlvbiwKKyAgICAgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgICAgIHBhc3NNc2c6
IHNoYWRlclR5cGUudHlwZSArICIgc2hhZGVyIHdpdGggdW5pZm9ybSBhcnJheSBvZiAiICsgaW5m
by50eXBlICsgIiB3aXRoICIgKyAobnVtVmFycyArIDEpICsgIiBlbGVtZW50cyAob25lIHBhc3Qg
bWF4aW11bSkgYWNjZXNzaW5nIGxhc3QgZWxlbWVudCBzaG91bGQgZmFpbCIsCisgICAgfSk7CisK
KyAgICAvLyBUZXN0IGFycmF5W21heCArIDFdIGFjY2Vzc2luZyBmaXJzdCBlbGVtZW50LiBXZWJH
TCByZXF1aXJlcyB0aGlzIHRvIGZhaWwgYnV0IEVTIGFsbG93cyB0cnVuY2F0aW5nIGFycmF5Lgor
ICAgIHZhciBjb2RlID0gd3R1LnJlcGxhY2VQYXJhbXMoaW5mby5jb2RlLCB7aWQ6ICIiLCBpbmRl
eDogIlswXSJ9KTsKKyAgICB0ZXN0cy5wdXNoKHsKKyAgICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5y
ZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUudmVydEFycmF5VGVzdCwge251bVRlc3RUeXBlOiBudW1W
YXJzICsgMSwgY29kZTogY29kZX0sIGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHNoYWRl
clR5cGUudmVydEV4cGVjdGF0aW9uLAorICAgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQ
YXJhbXMoc2hhZGVyVHlwZS5mcmFnQXJyYXlUZXN0LCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAx
LCBjb2RlOiBjb2RlfSwgaW5mbyksCisgICAgICBmU2hhZGVyU3VjY2Vzczogc2hhZGVyVHlwZS5m
cmFnRXhwZWN0YXRpb24sCisgICAgICBsaW5rU3VjY2VzczogZmFsc2UsCisgICAgICBwYXNzTXNn
OiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoIHVuaWZvcm0gYXJyYXkgb2YgIiArIGlu
Zm8udHlwZSArICIgd2l0aCAiICsgKG51bVZhcnMgKyAxKSArICIgZWxlbWVudHMgKG9uZSBwYXN0
IG1heGltdW0pIGFjY2Vzc2luZyBmaXJzdCBlbGVtZW50IHNob3VsZCBmYWlsIiwKKyAgICB9KTsK
KworICAgIC8vIFRlc3QgbWF4IHVuaWZvcm1zIG9mIHR5cGUuCisgICAgLy8gTm90ZTogV2UgY2Fu
J3QgdGVzdCB0aGlzIGFzIGFjdHVhbCBHTCBkcml2ZXJzIGFyZSBvbmx5IHJlcXVpcmVkIHRvIGJl
IGFibGUgdG8KKyAgICAvLyBkbyB0aGUgbWluaW11bSBudW1iZXIuIEFmdGVyIHRoYXQgaXQgY2Fu
IGZhaWwgZm9yIGFueSByZWFzb24uCisgICAgaWYgKGZhbHNlKSB7CisgICAgfQorCisgICAgdmFy
IGdlbmVyYXRlQ29kZSA9IGZ1bmN0aW9uKG51bVZhcnMpIHsKKyAgICAgIHZhciB1bmlmb3JtcyA9
IFtdOworICAgICAgdmFyIGNvZGVzID0gW107CisgICAgICBmb3IgKHZhciB1dSA9IDA7IHV1IDwg
bnVtVmFyczsgKyt1dSkgeworICAgICAgICB1bmlmb3Jtcy5wdXNoKCIgICAgdW5pZm9ybSAiICsg
aW5mby50eXBlICsgIiB1X3VuaWZvcm0iICsgdXUgKyAiOyIpOworICAgICAgICBjb2Rlcy5wdXNo
KHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uY29kZSwge2lkOiB1dSwgaW5kZXg6ICIifSkpOworICAg
ICAgfQorICAgICAgcmV0dXJuIHsKKyAgICAgICAgdW5pZm9ybXM6IHVuaWZvcm1zLmpvaW4oIlxu
IiksCisgICAgICAgIGNvZGU6IGNvZGVzLmpvaW4oIiArIFxuICAgICAgICAgICAgIiksCisgICAg
ICB9OworICAgIH07CisKKyAgICAvLyBUZXN0IG1heCsxIHVuaWZvcm1zIG9mIHR5cGUuCisgICAg
dGVzdHMucHVzaCh7CisgICAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFk
ZXJUeXBlLnZlcnRVbmlmb3JtVGVzdCwgZ2VuZXJhdGVDb2RlKG51bVZhcnMgKyAxKSwgaW5mbyks
CisgICAgICB2U2hhZGVyU3VjY2Vzczogc2hhZGVyVHlwZS52ZXJ0RXhwZWN0YXRpb24sCisgICAg
ICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhzaGFkZXJUeXBlLmZyYWdVbmlmb3Jt
VGVzdCwgZ2VuZXJhdGVDb2RlKG51bVZhcnMgKyAxKSwgaW5mbyksCisgICAgICBmU2hhZGVyU3Vj
Y2Vzczogc2hhZGVyVHlwZS5mcmFnRXhwZWN0YXRpb24sCisgICAgICBsaW5rU3VjY2VzczogZmFs
c2UsCisgICAgICBwYXNzTXNnOiBzaGFkZXJUeXBlLnR5cGUgKyAiIHNoYWRlciB3aXRoICIgKyAo
bnVtVmFycyArIDEpICsgIiB1bmlmb3JtcyBvZiAiICsgaW5mby50eXBlICsgIiAob25lIHBhc3Qg
bWF4aW11bSkgc2hvdWxkIGZhaWwiLAorICAgIH0pOworCisgICAgLy8gVGVzdCByZXF1aXJlZCB1
bmlmb3JtcyBvZiB0eXBlLgorICAgIHRlc3RzLnB1c2goeworICAgICAgdlNoYWRlclNvdXJjZTog
d3R1LnJlcGxhY2VQYXJhbXMoc2hhZGVyVHlwZS52ZXJ0VW5pZm9ybVRlc3QsIGdlbmVyYXRlQ29k
ZShtaW5WYXJzKSwgaW5mbyksCisgICAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICAgIGZT
aGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHNoYWRlclR5cGUuZnJhZ1VuaWZvcm1UZXN0
LCBnZW5lcmF0ZUNvZGUobWluVmFycyksIGluZm8pLAorICAgICAgZlNoYWRlclN1Y2Nlc3M6IHRy
dWUsCisgICAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICAgIHBhc3NNc2c6IHNoYWRlclR5cGUu
dHlwZSArICIgc2hhZGVyIHdpdGggIiArIG1pblZhcnMgKyAiIHVuaWZvcm1zIG9mICIgKyBpbmZv
LnR5cGUgKyAiICh0aGUgbWluaW11bSByZXF1aXJlZCkgc2hvdWxkIHN1Y2NlZWQiLAorICAgIH0p
OworICB9Cit9CitHTFNMQ29uZm9ybWFuY2VUZXN0ZXIucnVuVGVzdHModGVzdHMpOwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJpY3Rpb25z
Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXZhcnlpbmctcGFja2luZy1yZXN0cmljdGlvbnMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iNzM2NDIzMjZmNjE0ODI2ZGMwNGMxNGUwODZlZDQzMjU0NjNhZDNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci12YXJ5aW5nLXBhY2tpbmctcmVzdHJp
Y3Rpb25zLmh0bWwKQEAgLTAsMCArMSwyMjAgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHZhcnlpbmcgcGFja2luZyByZXN0cmN0aW9ucyBD
b25mb3JtYW5jZSBUZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dsc2wtY29uZm9ybWFuY2UtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIi
IGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdCBpZD0idnNoYWRlckFycmF5VGVzdCIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKK3Zhcnlp
bmcgJCh0eXBlKSB2X3ZhcnlpbmdbJChudW1UZXN0VHlwZSldOwordm9pZCBtYWluKCkKK3sKKyAg
ICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRpb247CisgICAgJCh2Y29kZSkKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlckFycmF5VGVzdCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+
CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdmFyeWluZyAkKHR5cGUpIHZfdmFy
eWluZ1skKG51bVRlc3RUeXBlKV07CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGds
X0ZyYWdDb2xvciA9ICQoZmNvZGUpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNo
YWRlclZhcnlpbmdUZXN0IiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK2F0dHJpYnV0ZSB2
ZWM0IGFfcG9zaXRpb247CiskKHZhcnlpbmdzKQorICAgIHZvaWQgbWFpbigpCisgICAgeworICAg
ICAgICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRpb247CisgICAgICAgICQodmNvZGUpCisgICAgfQor
PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyVmFyeWluZ1Rlc3QiIHR5cGU9Ingtc2hhZGVy
L3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworJCh2YXJ5aW5ncykK
KyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gJChmY29kZSk7
CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24o
KTsKK2RlYnVnKCIiKTsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5j
cmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKwordmFyIHZhcnlpbmdUeXBlcyA9IFsKKyAgeyB0
eXBlOiAiZmxvYXQiLCAgICAgICBjb21wb25lbnRzUGVyUm93OiAxLCByb3dzOiAxLCB2Y29kZTog
InZfdmFyeWluZyQoaWQpJChpbmRleCkgPSAxLjA7IiwgICAgICAgICAgICAgIGZjb2RlOiAidmVj
NCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpLCAwLCAwLCAwKSIsIH0sCisgIHsgdHlwZTogInZlYzIi
LCAgICAgICAgY29tcG9uZW50c1BlclJvdzogMiwgcm93czogMSwgdmNvZGU6ICJ2X3Zhcnlpbmck
KGlkKSQoaW5kZXgpID0gdmVjMigwLCAwKTsiLCAgICAgICBmY29kZTogInZlYzQodl92YXJ5aW5n
JChpZCkkKGluZGV4KSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJ2ZWMzIiwgICAgICAgIGNvbXBv
bmVudHNQZXJSb3c6IDMsIHJvd3M6IDEsIHZjb2RlOiAidl92YXJ5aW5nJChpZCkkKGluZGV4KSA9
IHZlYzMoMCwgMCwgMCk7IiwgICAgZmNvZGU6ICJ2ZWM0KHZfdmFyeWluZyQoaWQpJChpbmRleCks
IDApIiwgfSwKKyAgeyB0eXBlOiAidmVjNCIsICAgICAgICBjb21wb25lbnRzUGVyUm93OiA0LCBy
b3dzOiAxLCB2Y29kZTogInZfdmFyeWluZyQoaWQpJChpbmRleCkgPSB2ZWM0KDAsIDAsIDAsIDAp
OyIsIGZjb2RlOiAidmVjNCh2X3ZhcnlpbmckKGlkKSQoaW5kZXgpKSIsIH0sCisvLyBZZXMsIHRo
ZSBzcGVjIHNheXMgbWF0MiB0YWtlcyA0IGNvbHVtbnMsIDIgcm93cy4gICAgdmNvZGU6ICIiLAor
ICB7IHR5cGU6ICJtYXQyIiwgICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDQsIHJvd3M6IDIsIHZj
b2RlOiAidl92YXJ5aW5nJChpZCkkKGluZGV4KSA9IG1hdDIoMS4wKTsiLCBmY29kZTogInZlYzQo
dl92YXJ5aW5nJChpZCkkKGluZGV4KVswXSwgMCwgMCkiLCB9LAorICB7IHR5cGU6ICJtYXQzIiwg
ICAgICAgIGNvbXBvbmVudHNQZXJSb3c6IDMsIHJvd3M6IDMsIHZjb2RlOiAidl92YXJ5aW5nJChp
ZCkkKGluZGV4KSA9IG1hdDMoMS4wKTsiLCBmY29kZTogInZlYzQodl92YXJ5aW5nJChpZCkkKGlu
ZGV4KVswXSwgMCkiLCB9LAorICB7IHR5cGU6ICJtYXQ0IiwgICAgICAgIGNvbXBvbmVudHNQZXJS
b3c6IDQsIHJvd3M6IDQsIHZjb2RlOiAidl92YXJ5aW5nJChpZCkkKGluZGV4KSA9IG1hdDQoMS4w
KTsiLCBmY29kZTogInZlYzQodl92YXJ5aW5nJChpZCkkKGluZGV4KVswXSkiLCB9LAorXTsKKwor
dmFyIHZBcnJheVRlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyQXJyYXlUZXN0Iik7
Cit2YXIgZkFycmF5VGVzdFNvdXJjZSA9IHd0dS5nZXRTY3JpcHQoImZzaGFkZXJBcnJheVRlc3Qi
KTsKK3ZhciB2VmFyeWluZ1Rlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyVmFyeWlu
Z1Rlc3QiKTsKK3ZhciBmVmFyeWluZ1Rlc3RTb3VyY2UgPSB3dHUuZ2V0U2NyaXB0KCJmc2hhZGVy
VmFyeWluZ1Rlc3QiKTsKKwordmFyIG1pblZhcnlpbmdWZWN0b3JzID0gODsKK3ZhciBtYXhWYXJ5
aW5nVmVjdG9ycyA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVkFSWUlOR19WRUNUT1JTKTsKK3Zh
ciB0ZXN0cyA9IFtdOworCitmb3IgKHZhciBpaSA9IDA7IGlpIDwgdmFyeWluZ1R5cGVzLmxlbmd0
aDsgKytpaSkgeworICB2YXIgaW5mbyA9IHZhcnlpbmdUeXBlc1tpaV07CisgIHd0dS5sb2coImNo
ZWNraW5nOiAiICsgaW5mby50eXBlKTsKKyAgLy8gQ29tcHV0ZSB0aGUgbWF4aW11bSBhbW91bnQg
b2YgdGhpcyB0eXBlIGFsbG93ZWQgaW4gYSBzaW5nbGUgYXJyYXkuCisgIHZhciBudW1WYXJzID0g
TWF0aC5mbG9vcihtYXhWYXJ5aW5nVmVjdG9ycyAvIGluZm8ucm93cyk7CisgIC8vIENvbXB1dGUg
dGhlIG1pbmltdW0gcmVxdWlyZWQgdG8gd29yayBpbiBhIHNpbmdsZSBhcnJheS4KKyAgdmFyIG1p
blZhcnMgPSBNYXRoLmZsb29yKG1pblZhcnlpbmdWZWN0b3JzIC8gaW5mby5yb3dzKTsKKyAgLy8g
VGVzdCBhcnJheVsxXSBvZiB0aGUgdHlwZQorICB2YXIgdmNvZGUgPSB3dHUucmVwbGFjZVBhcmFt
cyhpbmZvLnZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlswXSJ9KTsKKyAgdmFyIGZjb2RlID0gd3R1
LnJlcGxhY2VQYXJhbXMoaW5mby5mY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgIHRl
c3RzLnB1c2goeworICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHZBcnJheVRl
c3RTb3VyY2UsIHtudW1UZXN0VHlwZTogMSwgdmNvZGU6IHZjb2RlfSwgaW5mbyksCisgICAgdlNo
YWRlclN1Y2Nlc3M6IHRydWUsCisgICAgZlNoYWRlclNvdXJjZTogd3R1LnJlcGxhY2VQYXJhbXMo
ZkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiAxLCBmY29kZTogZmNvZGV9LCBpbmZvKSwK
KyAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICBw
YXNzTXNnOiAic2hhZGVycyB3aXRoIHZhcnlpbmcgYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIg
d2l0aCAxIGVsZW1lbnQgc2hvdWxkIHN1Y2NlZWQiLAorICB9KTsKKyAgLy8gZG8gdGhlIG1pbmlt
dW0gbnVtYmVyLiBBZnRlciB0aGF0IGl0IGNhbiBmYWlsIGZvciBhbnkgcmVhc29uLgorICBpZiAo
ZmFsc2UpIHsKKyAgICB2YXIgdmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLnZjb2RlLCB7
aWQ6ICIiLCBpbmRleDogIlsiICsgKG51bVZhcnMgLSAxKSArICJdIn0pOworICAgIHZhciBmY29k
ZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8uZmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyAo
bnVtVmFycyAtIDEpICsgIl0ifSk7CisgICAgdGVzdHMucHVzaCh7CisgICAgICB2U2hhZGVyU291
cmNlOiB3dHUucmVwbGFjZVBhcmFtcyh2QXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG51
bVZhcnMsIHZjb2RlOiB2Y29kZX0sIGluZm8pLAorICAgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUs
CisgICAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmQXJyYXlUZXN0U291cmNl
LCB7bnVtVGVzdFR5cGU6IG51bVZhcnMsIGZjb2RlOiBmY29kZX0sIGluZm8pLAorICAgICAgZlNo
YWRlclN1Y2Nlc3M6IHRydWUsCisgICAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICAgIHBhc3NN
c2c6ICJzaGFkZXJzIHdpdGggdmFyeWluZyBhcnJheSBvZiAiICsgaW5mby50eXBlICsgIiB3aXRo
ICIgKyBudW1WYXJzICsgIiBlbGVtZW50cyAodGhlIG1heGltdW0pIHNob3VsZCBzdWNjZWVkIiwK
KyAgICB9KTsKKyAgfQorCisgIC8vIFRlc3QgcmVxdWlyZWQgbnVtYmVyIG9mIHVuaWZvcm1zCisg
IHZhciB2Y29kZSA9IHd0dS5yZXBsYWNlUGFyYW1zKGluZm8udmNvZGUsIHtpZDogIiIsIGluZGV4
OiAiWyIgKyAobWluVmFycyAtIDEpICsgIl0ifSk7CisgIHZhciBmY29kZSA9IHd0dS5yZXBsYWNl
UGFyYW1zKGluZm8uZmNvZGUsIHtpZDogIiIsIGluZGV4OiAiWyIgKyAobWluVmFycyAtIDEpICsg
Il0ifSk7CisgIHRlc3RzLnB1c2goeworICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFy
YW1zKHZBcnJheVRlc3RTb3VyY2UsIHtudW1UZXN0VHlwZTogbWluVmFycywgdmNvZGU6IHZjb2Rl
fSwgaW5mbyksCisgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgZlNoYWRlclNvdXJjZTog
d3R1LnJlcGxhY2VQYXJhbXMoZkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBtaW5WYXJz
LCBmY29kZTogZmNvZGV9LCBpbmZvKSwKKyAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBs
aW5rU3VjY2VzczogdHJ1ZSwKKyAgICBwYXNzTXNnOiAic2hhZGVycyB3aXRoIHZhcnlpbmcgYXJy
YXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgbWluVmFycyArICIgZWxlbWVudHMgKHRo
ZSBtaW5pbXVtIHJlcXVpcmVkKSBzaG91bGQgc3VjY2VlZCIsCisgIH0pOworCisgIC8vIFRlc3Qg
YXJyYXlbbWF4ICsgMV0gYWNjZXNzaW5nIGxhc3QgZWxlbWVudC4gV2ViR0wgcmVxdWlyZXMgdGhp
cyB0byBmYWlsLgorICB2YXIgdmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZvLnZjb2RlLCB7
aWQ6ICIiLCBpbmRleDogIlsiICsgbnVtVmFycyArICJdIn0pOworICB2YXIgZmNvZGUgPSB3dHUu
cmVwbGFjZVBhcmFtcyhpbmZvLmZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlsiICsgbnVtVmFycyAr
ICJdIn0pOworICB0ZXN0cy5wdXNoKHsKKyAgICB2U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBh
cmFtcyh2QXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCB2Y29kZTog
dmNvZGV9LCBpbmZvKSwKKyAgICB2U2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgZlNoYWRlclNv
dXJjZTogd3R1LnJlcGxhY2VQYXJhbXMoZkFycmF5VGVzdFNvdXJjZSwge251bVRlc3RUeXBlOiBu
dW1WYXJzICsgMSwgZmNvZGU6IGZjb2RlfSwgaW5mbyksCisgICAgZlNoYWRlclN1Y2Nlc3M6IGZh
bHNlLAorICAgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgICBwYXNzTXNnOiAic2hhZGVycyB3aXRo
IHZhcnlpbmcgYXJyYXkgb2YgIiArIGluZm8udHlwZSArICIgd2l0aCAiICsgKG51bVZhcnMgKyAx
KSArICIgZWxlbWVudHMgKG9uZSBwYXN0IG1heGltdW0pIGFjY2Vzc2luZyBsYXN0IGVsZW1lbnQg
c2hvdWxkIGZhaWwiLAorICB9KTsKKworICAvLyBUZXN0IGFycmF5W21heCArIDFdIGFjY2Vzc2lu
ZyBmaXJzdCBlbGVtZW50LiBXZWJHTCByZXF1aXJlcyB0aGlzIHRvIGZhaWwgYnV0IEVTIGFsbG93
cyB0cnVuY2F0aW5nIGFycmF5LgorICB2YXIgdmNvZGUgPSB3dHUucmVwbGFjZVBhcmFtcyhpbmZv
LnZjb2RlLCB7aWQ6ICIiLCBpbmRleDogIlswXSJ9KTsKKyAgdmFyIGZjb2RlID0gd3R1LnJlcGxh
Y2VQYXJhbXMoaW5mby5mY29kZSwge2lkOiAiIiwgaW5kZXg6ICJbMF0ifSk7CisgIHRlc3RzLnB1
c2goeworICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHZBcnJheVRlc3RTb3Vy
Y2UsIHtudW1UZXN0VHlwZTogbnVtVmFycyArIDEsIHZjb2RlOiB2Y29kZX0sIGluZm8pLAorICAg
IHZTaGFkZXJTdWNjZXNzOiBmYWxzZSwKKyAgICBmU2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBh
cmFtcyhmQXJyYXlUZXN0U291cmNlLCB7bnVtVGVzdFR5cGU6IG51bVZhcnMgKyAxLCBmY29kZTog
ZmNvZGV9LCBpbmZvKSwKKyAgICBmU2hhZGVyU3VjY2VzczogZmFsc2UsCisgICAgbGlua1N1Y2Nl
c3M6IGZhbHNlLAorICAgIHBhc3NNc2c6ICJzaGFkZXJzIHdpdGggdmFyeWluZyBhcnJheSBvZiAi
ICsgaW5mby50eXBlICsgIiB3aXRoICIgKyAobnVtVmFycyArIDEpICsgIiBlbGVtZW50cyAob25l
IHBhc3QgbWF4aW11bSkgYWNjZXNzaW5nIGZpcnN0IGVsZW1lbnQgc2hvdWxkIGZhaWwiLAorICB9
KTsKKworICAvLyBUZXN0IG1heCB1bmlmb3JtcyBvZiB0eXBlLgorICAvLyBOb3RlOiBXZSBjYW4n
dCB0ZXN0IHRoaXMgYXMgYWN0dWFsIEdMIGRyaXZlcnMgYXJlIG9ubHkgcmVxdWlyZWQgdG8gYmUg
YWJsZSB0bworICAvLyBkbyB0aGUgbWluaW11bSBudW1iZXIuIEFmdGVyIHRoYXQgaXQgY2FuIGZh
aWwgZm9yIGFueSByZWFzb24uCisgIGlmIChmYWxzZSkgeworICB9CisKKyAgdmFyIGdlbmVyYXRl
Q29kZSA9IGZ1bmN0aW9uKG51bVZhcnMpIHsKKyAgICB2YXIgdmFyeWluZ3MgPSBbXTsKKyAgICB2
YXIgdmNvZGVzID0gW107CisgICAgdmFyIGZjb2RlcyA9IFtdOworICAgIGZvciAodmFyIHV1ID0g
MDsgdXUgPCBudW1WYXJzOyArK3V1KSB7CisgICAgICB2YXJ5aW5ncy5wdXNoKCIgICAgdmFyeWlu
ZyAiICsgaW5mby50eXBlICsgIiB2X3ZhcnlpbmciICsgdXUgKyAiOyIpOworICAgICAgdmNvZGVz
LnB1c2god3R1LnJlcGxhY2VQYXJhbXMoaW5mby52Y29kZSwge2lkOiB1dSwgaW5kZXg6ICIifSkp
OworICAgICAgZmNvZGVzLnB1c2god3R1LnJlcGxhY2VQYXJhbXMoaW5mby5mY29kZSwge2lkOiB1
dSwgaW5kZXg6ICIifSkpOworICAgIH0KKyAgICByZXR1cm4geworICAgICAgdmFyeWluZ3M6IHZh
cnlpbmdzLmpvaW4oIlxuIiksCisgICAgICB2Y29kZTogdmNvZGVzLmpvaW4oIlxuICAgICAgICAg
ICAgIiksCisgICAgICBmY29kZTogZmNvZGVzLmpvaW4oIiArIFxuICAgICAgICAgICAgIiksCisg
ICAgfTsKKyAgfTsKKworICAvLyBUZXN0IG1heCsxIHZhcnlpbmdzIG9mIHR5cGUuCisgIHRlc3Rz
LnB1c2goeworICAgIHZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHZWYXJ5aW5nVGVz
dFNvdXJjZSwgZ2VuZXJhdGVDb2RlKG51bVZhcnMgKyAxKSwgaW5mbyksCisgICAgdlNoYWRlclN1
Y2Nlc3M6IGZhbHNlLAorICAgIGZTaGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKGZWYXJ5
aW5nVGVzdFNvdXJjZSwgZ2VuZXJhdGVDb2RlKG51bVZhcnMgKyAxKSwgaW5mbyksCisgICAgZlNo
YWRlclN1Y2Nlc3M6IGZhbHNlLAorICAgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgICBwYXNzTXNn
OiAic2hhZGVycyB3aXRoICIgKyAobnVtVmFycyArIDEpICsgIiB2YXJ5aW5ncyBvZiAiICsgaW5m
by50eXBlICsgIiAob25lIHBhc3QgbWF4aW11bSkgc2hvdWxkIGZhaWwiLAorICB9KTsKKworICAv
LyBUZXN0IHJlcXVpcmVkIHZhcnlpbmdzIG9mIHR5cGUuCisgIHRlc3RzLnB1c2goeworICAgIHZT
aGFkZXJTb3VyY2U6IHd0dS5yZXBsYWNlUGFyYW1zKHZWYXJ5aW5nVGVzdFNvdXJjZSwgZ2VuZXJh
dGVDb2RlKG1pblZhcnMpLCBpbmZvKSwKKyAgICB2U2hhZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBm
U2hhZGVyU291cmNlOiB3dHUucmVwbGFjZVBhcmFtcyhmVmFyeWluZ1Rlc3RTb3VyY2UsIGdlbmVy
YXRlQ29kZShtaW5WYXJzKSwgaW5mbyksCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAg
bGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInNoYWRlcnMgd2l0aCAiICsgbWluVmFy
cyArICIgdmFyeWluZ3Mgb2YgIiArIGluZm8udHlwZSArICIgKHRoZSBtaW5pbXVtIHJlcXVpcmVk
KSBzaG91bGQgc3VjY2VlZCIsCisgIH0pOworfQorCitHTFNMQ29uZm9ybWFuY2VUZXN0ZXIucnVu
VGVzdHModGVzdHMpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWFy
cmF5LW9mLXN0cnVjdHMtY29udGFpbmluZy1hcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJyYXlzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGRjNjhhOTQyZDY0NGY3ZjBmZjNlNmZmNWEyMWRhMjFiYWZhNzcxZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1hcnJheS1vZi1zdHJ1Y3RzLWNvbnRhaW5pbmctYXJy
YXlzLmh0bWwKQEAgLTAsMCArMSwxNTcgQEAKKworPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+R0xTTCBBcnJheSBvZiBTdHJ1Y3RzIENvbnRhaW5pbmcgQXJy
YXlzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+CisKKzxzY3JpcHQg
aWQ9InZzaGFkZXIiLCB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCBh
X3Bvc2l0aW9uOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRp
b247Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIwIiwgdHlwZT0ieC1zaGFkZXIv
eC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3N0cnVjdCBteV9zdHJ1Y3Qg
eworICB2ZWM0IGNvbG9yWzJdOworfTsKK3VuaWZvcm0gbXlfc3RydWN0IHVfY29sb3JzWzJdOwor
dm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSB1X2NvbG9yc1swXS5jb2xvclsw
XTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcjEiLCB0eXBlPSJ4LXNoYWRlci94
LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Oworc3RydWN0IG15X3N0cnVjdCB7
CisgIHZlYzQgY29sb3JbMl07Cit9OwordW5pZm9ybSBteV9zdHJ1Y3QgdV9jb2xvcnNbMl07Cit2
b2lkIG1haW4odm9pZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfY29sb3JzWzBdLmNvbG9yWzFd
OworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyLXdpdGgtb25lLWVsZW1lbnQtYXJy
YXlzIiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9h
dDsKK3N0cnVjdCBteV9zdHJ1Y3QgeworICB2ZWM0IGNvbG9yWzFdOworfTsKK3VuaWZvcm0gbXlf
c3RydWN0IHVfY29sb3JzWzFdOwordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9GcmFnQ29sb3Ig
PSB1X2NvbG9yc1swXS5jb2xvclswXTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRl
cjMiLCB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0
Oworc3RydWN0IG15X3N0cnVjdCB7CisgIHZlYzQgY29sb3IxWzJdOworICB2ZWM0IGNvbG9yMlsy
XTsKK307Cit1bmlmb3JtIG15X3N0cnVjdCB1X2NvbG9yc1syXTsKK3ZvaWQgbWFpbih2b2lkKSB7
CisgICAgZ2xfRnJhZ0NvbG9yID0gdV9jb2xvcnNbMF0uY29sb3IxWzBdICsgdV9jb2xvcnNbMF0u
Y29sb3IyWzBdICsgdV9jb2xvcnNbMV0uY29sb3IxWzFdICt1X2NvbG9yc1sxXS5jb2xvcjJbMV07
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0
aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVz
Y3JpcHRpb24oKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dCgiY2FudmFzIik7Cit3dHUuc2V0dXBVbml0UXVhZChnbCk7CisKK2ZvciAo
dmFyIGlpID0gMDsgaWkgPCAyOyArK2lpKSB7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJv
Z3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiICsgaWldLCBbImFfcG9zaXRpb24iXSk7Cisg
IHZhciByZWRfbG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1sw
XS5jb2xvclsiICsgaWkgICsgIl0iKTsKKyAgdmFyIGdyZWVuX2xvYyA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMF0uY29sb3JbIiArICgxIC0gaWkpICsgIl0iKTsK
KyAgZ2wudW5pZm9ybTRmdihyZWRfbG9jLCBbMSwgMCwgMCwgMV0pOworICBnbC51bmlmb3JtNGZ2
KGdyZWVuX2xvYywgWzAsIDEsIDAsIDFdKTsKKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNo
ZWNrQ2FudmFzKGdsLCBbMjU1LCAwLCAwLCAyNTVdLCAiU2hvdWxkIGJlIHJlZCIpOworfQorCit2
YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyLXdp
dGgtb25lLWVsZW1lbnQtYXJyYXlzIl0sIFsiYV9wb3NpdGlvbiJdKTsKK3ZhciBncmVlbl9sb2Mg
PSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzBdLmNvbG9yWzBdIik7
CitnbC51bmlmb3JtNGZ2KGdyZWVuX2xvYywgWzAsIDEsIDAsIDFdKTsKK3d0dS5kcmF3UXVhZChn
bCk7Cit3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAyNTUsIDAsIDI1NV0sICJTaG91bGQgYmUgZ3Jl
ZW4iKTsKKwordmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbInZzaGFkZXIiLCAi
ZnNoYWRlcjMiXSwgWyJhX3Bvc2l0aW9uIl0pOwordmFyIG51bVVuaWZvcm1zID0gZ2wuZ2V0UHJv
Z3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5BQ1RJVkVfVU5JRk9STVMpOworc2hvdWxkQmUoIm51
bVVuaWZvcm1zIiwgIjQiKTsKK3ZhciB1bmlmb3JtcyA9IFtdCitmb3IgKHZhciBpaSA9IDA7IGlp
IDwgbnVtVW5pZm9ybXM7ICsraWkpIHsKKyAgdW5pZm9ybXMucHVzaChnbC5nZXRBY3RpdmVVbmlm
b3JtKHByb2dyYW0sIGlpKS5uYW1lKTsKK30KK3VuaWZvcm1zLnNvcnQoKTsKK3Nob3VsZEJlKCJ1
bmlmb3Jtc1swXSIsICcidV9jb2xvcnNbMF0uY29sb3IxWzBdIicpOworc2hvdWxkQmUoInVuaWZv
cm1zWzFdIiwgJyJ1X2NvbG9yc1swXS5jb2xvcjJbMF0iJyk7CitzaG91bGRCZSgidW5pZm9ybXNb
Ml0iLCAnInVfY29sb3JzWzFdLmNvbG9yMVswXSInKTsKK3Nob3VsZEJlKCJ1bmlmb3Jtc1szXSIs
ICcidV9jb2xvcnNbMV0uY29sb3IyWzBdIicpOwordmFyIGxvYzAwID0gZ2wuZ2V0VW5pZm9ybUxv
Y2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1swXS5jb2xvcjEiKTsKK3ZhciBsb2MwMSA9IGdsLmdl
dFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMF0uY29sb3IyIik7Cit2YXIgbG9j
MTAgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInVfY29sb3JzWzFdLmNvbG9yMSIp
OwordmFyIGxvYzExID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9yc1sx
XS5jb2xvcjIiKTsKK3Nob3VsZEJlVHJ1ZSgibG9jMDAgIT0gdW5kZWZpbmVkIik7CitzaG91bGRC
ZVRydWUoImxvYzAxICE9IHVuZGVmaW5lZCIpOworc2hvdWxkQmVUcnVlKCJsb2MxMCAhPSB1bmRl
ZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgibG9jMTEgIT0gdW5kZWZpbmVkIik7CitnbC51bmlmb3Jt
NGZ2KGxvYzAwLCBbMSwgMCwgMCwgMF0pOworZ2wudW5pZm9ybTRmdihsb2MwMSwgWzAsIDEsIDAs
IDBdKTsKK2dsLnVuaWZvcm00ZnYobG9jMTAsIFswLCAwLCAwLCAwLCAwLCAwLCAxLCAwXSk7Citn
bC51bmlmb3JtNGZ2KGxvYzExLCBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMV0pOwordmFyIGxvYzEw
MSA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9jb2xvcnNbMV0uY29sb3IxWzFd
Iik7Cit2YXIgbG9jMTExID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X2NvbG9y
c1sxXS5jb2xvcjJbMV0iKTsKK3Nob3VsZEJlVHJ1ZSgibG9jMTAxICE9IHVuZGVmaW5lZCIpOwor
c2hvdWxkQmVUcnVlKCJsb2MxMTEgIT0gdW5kZWZpbmVkIik7Cit3dHUuZHJhd1F1YWQoZ2wsIFsw
LCAwLCAwLCAwXSk7CitnbC51bmlmb3JtNGZ2KGxvYzEwMSwgWzAsIDAsIDAsIDBdKTsKK2dsLnVu
aWZvcm00ZnYobG9jMTExLCBbMCwgMCwgMCwgMF0pOword3R1LmRyYXdRdWFkKGdsLCBbMCwgMCwg
MCwgMF0pOword3R1LmNoZWNrQ2FudmFzKGdsLCBbMjU1LCAyNTUsIDAsIDBdLCAiU2hvdWxkIGJl
IHllbGxvdyIpOworCitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hv
dWxkIGJlIG5vIGVycm9ycyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtZ2xvYmFsLXZhcmlhYmxlLXByZWNpc2lvbi1taXNtYXRjaC5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVjaXNpb24tbWlzbWF0Y2guaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wMDg4YWNmOWFhYmU3OTMzYmUyMDgzZjY1NTI1MzZhN2Q3OWU4YmQ1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLWdsb2JhbC12YXJpYWJsZS1wcmVj
aXNpb24tbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDEyNCBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBDb25mb3JtYW5jZSBUZXN0
czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRlc3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1j
b25mb3JtYW5jZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlk
PSJmc2hhZGVyV2l0aE1lZGl1bXBHbG9iYWwiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZh
c2NyaXB0Ij4KKy8vIFRoZXJlIGlzIG5vIGRlZmF1bHQgcHJlY2lzaW9uIGluIGZyYWdtZW50IHNo
YWRlcnMsIHNvIHNwZWNpZnkgbWVkaXVtcC4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCit1
bmlmb3JtIHZlYzQgZm9vOworCit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IGZv
bzsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlcldpdGhNZWRpdW1wR2xvYmFsU3Ry
dWN0IiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CisvLyBUaGVyZSBpcyBu
byBkZWZhdWx0IHByZWNpc2lvbiBpbiBmcmFnbWVudCBzaGFkZXJzLCBzbyBzcGVjaWZ5IG1lZGl1
bXAuCitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworc3RydWN0IGZvbworeworICAgdmVjNCBi
YXI7Cit9OworCit1bmlmb3JtIGZvbyBiYXo7CisKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJh
Z0NvbG9yID0gYmF6LmJhcjsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlcldpdGhI
aWdocEdsb2JhbCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorLy8gRGVmYXVsdCBwcmVjaXNp
b24gZm9yIHZlcnRleCBzaGFkZXJzIGlzIGhpZ2hwLgordW5pZm9ybSB2ZWM0IGZvbzsKKwordm9p
ZCBtYWluKCkgeworICAgIGdsX1Bvc2l0aW9uID0gZm9vOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJ2c2hhZGVyV2l0aEhpZ2hwR2xvYmFsU3RydWN0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRl
eCI+CisvLyBEZWZhdWx0IHByZWNpc2lvbiBmb3IgdmVydGV4IHNoYWRlcnMgaXMgaGlnaHAuCitz
dHJ1Y3QgZm9vCit7CisgICB2ZWM0IGJhcjsKK307CisKK3VuaWZvcm0gZm9vIGJhejsKKwordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IGJhei5iYXI7Cit9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiQ2hlY2tzIHNoYWRlcnMgd2l0aCBn
bG9iYWwgdmFyaWFibGVzIGFuZCBwcmVjaXNpb24gcXVhbGlmaWVyIG1pc21hdGNoLiIpOworCit2
YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisKK3ZhciBnbHNsVGVzdHMgPSBbXTsKKworZ2xzbFRl
c3RzLnB1c2goeworICB2U2hhZGVySWQ6ICd2c2hhZGVyV2l0aEhpZ2hwR2xvYmFsJywKKyAgdlNo
YWRlclN1Y2Nlc3M6IHRydWUsCisgIGZTaGFkZXJJZDogJ2ZzaGFkZXJXaXRoTWVkaXVtcEdsb2Jh
bCcsCisgIGZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICBsaW5rU3VjY2VzczogZmFsc2UsCisgIHBh
c3NNc2c6ICJtaXNtYXRjaGluZyBwcmVjaXNpb24gZm9yIHVuaWZvcm1zIGNhdXNlcyBsaW5rIGVy
cm9yIChhcyBleHBlY3RlZCkiLAorfSk7CisKK2dsc2xUZXN0cy5wdXNoKHsKKyAgdlNoYWRlcklk
OiAndnNoYWRlcldpdGhIaWdocEdsb2JhbFN0cnVjdCcsCisgIHZTaGFkZXJTdWNjZXNzOiB0cnVl
LAorICBmU2hhZGVySWQ6ICdmc2hhZGVyV2l0aE1lZGl1bXBHbG9iYWxTdHJ1Y3QnLAorICBmU2hh
ZGVyU3VjY2VzczogdHJ1ZSwKKyAgbGlua1N1Y2Nlc3M6IGZhbHNlLAorICBwYXNzTXNnOiAibWlz
bWF0Y2hpbmcgcHJlY2lzaW9uIGZvciBzdHJ1Y3R1cmUgdW5pZm9ybXMgY2F1c2VzIGxpbmsgZXJy
b3IgKGFzIGV4cGVjdGVkKSIsCit9KTsKKworR0xTTENvbmZvcm1hbmNlVGVzdGVyLnJ1blRlc3Rz
KGdsc2xUZXN0cyk7CisKK2RlYnVnKCIiKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hh
ZGVyLXdpdGgtbm9uLXJlc2VydmVkLXdvcmRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgt
bm9uLXJlc2VydmVkLXdvcmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM4YTE2MGY3NWE1YTE0MGU0Mzhl
Mzk5Y2M2ZDhlMzQ2YzliNDBmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXIt
d2l0aC1ub24tcmVzZXJ2ZWQtd29yZHMuaHRtbApAQCAtMCwwICsxLDcyNCBAQAorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBDb25mb3Jt
YW5jZSBUZXN0cyAtIE5vbiBSZXNlcnZlZCBXb3JkczwvdGl0bGU+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvZ2xzbC1mZWF0dXJlLXRl
c3RzLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9nbHNsLWNvbmZv
cm1hbmNlLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZl
cnRleFNoYWRlcjAiIHR5cGU9InRleHQvc29tZXRoaW5nLW5vdC1qYXZhc2NyaXB0Ij4KK3N0cnVj
dCAkcmVwbGFjZU1lIHsKKyAgdmVjNCAkcmVwbGFjZU1lOworfTsKK3N0cnVjdCBGb28geworICAk
cmVwbGFjZU1lICRyZXBsYWNlTWU7Cit9OworYXR0cmlidXRlIHZlYzQgcG9zaXRpb247Cit2b2lk
IG1haW4oKQoreworICAgIEZvbyBmOworICAgIGYuJHJlcGxhY2VNZS4kcmVwbGFjZU1lID0gcG9z
aXRpb247CisgICAgZ2xfUG9zaXRpb24gPSBmLiRyZXBsYWNlTWUuJHJlcGxhY2VNZTsKK30KKzwv
c2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXIwIiB0eXBlPSJ0ZXh0L3NvbWV0aGlu
Zy1ub3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3ZlYzQgJHJlcGxh
Y2VNZSgpIHsKKyAgICByZXR1cm4gdmVjNCgwLDEsMCwxKTsKK30KK3ZvaWQgbWFpbigpCit7Cisg
ICAgZ2xfRnJhZ0NvbG9yID0gJHJlcGxhY2VNZSgpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlk
PSJ2ZXJ0ZXhTaGFkZXIxIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+Cith
dHRyaWJ1dGUgdmVjNCAkcmVwbGFjZU1lOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlv
biA9ICRyZXBsYWNlTWU7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVy
MSIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7Cit2ZWM0IGZvbyh2ZWM0ICRyZXBsYWNlTWUpIHsKKyAgcmV0dXJuICRyZXBsYWNl
TWU7Cit9Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IGZvbyh2ZWM0KDEsMCwx
LDEpKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idmVydGV4U2hhZGVyMiIgdHlwZT0idGV4
dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgordmFyeWluZyB2ZWM0ICRyZXBsYWNlTWU7Cith
dHRyaWJ1dGUgdmVjNCBwb3NpdGlvbjsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24g
PSBwb3NpdGlvbjsKKyAgICAkcmVwbGFjZU1lID0gcG9zaXRpb247Cit9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9ImZyYWdtZW50U2hhZGVyMiIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFz
Y3JpcHQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit2YXJ5aW5nIHZlYzQgJHJlcGxhY2VN
ZTsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gJHJlcGxhY2VNZTsKK30KKzwv
c2NyaXB0PgorPHNjcmlwdCBpZD0idmVydGV4U2hhZGVyMyIgdHlwZT0idGV4dC9zb21ldGhpbmct
bm90LWphdmFzY3JpcHQiPgorYXR0cmlidXRlIHZlYzQgcG9zaXRpb247Cit2b2lkIG1haW4oKQor
eworICAgIGdsX1Bvc2l0aW9uID0gcG9zaXRpb247Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
ImZyYWdtZW50U2hhZGVyMyIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90LWphdmFzY3JpcHQiPgor
cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHZlYzQgJHJlcGxhY2VNZTsKK3ZvaWQg
bWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gJHJlcGxhY2VNZTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciBEWFdvcmRzID0gWworICAiQnVmZmVyIiwKKyAg
ImRvdWJsZSIsCisgICJ1aW50IiwKKyAgImhhbGYiLAorICAiZHdvcmQiLAorICAic3RyaW5nIiwK
KyAgInRleHR1cmUiLAorICAicGl4ZWxzaGFkZXIiLAorICAidmVydGV4c2hhZGVyIiwKKyAgInN3
aXRjaCIsCisgICJtaW4xNmZsb2F0IiwKKyAgIm1pbjEwZmxvYXQiLAorICAibWluMTZpbnQiLAor
ICAibWluMTJpbnQiLAorICAibWluMTZ1aW50IiwKKyAgInZlY3RvciIsCisgICJtYXRyaXgiLAor
ICAiZmxvYXQyIiwKKyAgImZsb2F0MyIsCisgICJmbG9hdDQiLAorICAiZmxvYXQxeDEiLAorICAi
ZmxvYXQxeDIiLAorICAiZmxvYXQxeDMiLAorICAiZmxvYXQxeDQiLAorICAiZmxvYXQyeDEiLAor
ICAiZmxvYXQyeDIiLAorICAiZmxvYXQyeDMiLAorICAiZmxvYXQyeDQiLAorICAiZmxvYXQzeDEi
LAorICAiZmxvYXQzeDIiLAorICAiZmxvYXQzeDMiLAorICAiZmxvYXQzeDQiLAorICAiZmxvYXQ0
eDEiLAorICAiZmxvYXQ0eDIiLAorICAiZmxvYXQ0eDMiLAorICAiZmxvYXQ0eDQiLAorICAiaW50
MXgxIiwKKyAgImludDF4MiIsCisgICJpbnQxeDMiLAorICAiaW50MXg0IiwKKyAgImludDJ4MSIs
CisgICJpbnQyeDIiLAorICAiaW50MngzIiwKKyAgImludDJ4NCIsCisgICJpbnQzeDEiLAorICAi
aW50M3gyIiwKKyAgImludDN4MyIsCisgICJpbnQzeDQiLAorICAiaW50NHgxIiwKKyAgImludDR4
MiIsCisgICJpbnQ0eDMiLAorICAiaW50NHg0IiwKKyAgImRvdWJsZTF4MSIsCisgICJkb3VibGUx
eDIiLAorICAiZG91YmxlMXgzIiwKKyAgImRvdWJsZTF4NCIsCisgICJkb3VibGUyeDEiLAorICAi
ZG91YmxlMngyIiwKKyAgImRvdWJsZTJ4MyIsCisgICJkb3VibGUyeDQiLAorICAiZG91YmxlM3gx
IiwKKyAgImRvdWJsZTN4MiIsCisgICJkb3VibGUzeDMiLAorICAiZG91YmxlM3g0IiwKKyAgImRv
dWJsZTR4MSIsCisgICJkb3VibGU0eDIiLAorICAiZG91YmxlNHgzIiwKKyAgImRvdWJsZTR4NCIs
CisgICJhYm9ydCIsCisgICJhYnMiLAorICAiYWNvcyIsCisgICJhbGwiLAorICAiQWxsTWVtb3J5
QmFycmllciIsCisgICJBbGxNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYyIsCisgICJhbnkiLAor
ICAiYXNkb3VibGUiLAorICAiYXNmbG9hdCIsCisgICJhc2luIiwKKyAgImFzaW50IiwKKyAgImFz
aW50IiwKKyAgImFzdWludCIsCisgICJhc3VpbnQiLAorICAiYXRhbiIsCisgICJhdGFuMiIsCisg
ICJjZWlsIiwKKyAgImNsYW1wIiwKKyAgImNsaXAiLAorICAiY29zIiwKKyAgImNvc2giLAorICAi
Y291bnRiaXRzIiwKKyAgImNyb3NzIiwKKyAgIkQzRENPTE9SdG9VQllURTQiLAorICAiZGR4IiwK
KyAgImRkeF9jb2Fyc2UiLAorICAiZGR4X2ZpbmUiLAorICAiZGR5IiwKKyAgImRkeV9jb2Fyc2Ui
LAorICAiZGR5X2ZpbmUiLAorICAiZGVncmVlcyIsCisgICJkZXRlcm1pbmFudCIsCisgICJEZXZp
Y2VNZW1vcnlCYXJyaWVyIiwKKyAgIkRldmljZU1lbW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jIiwK
KyAgImRpc3RhbmNlIiwKKyAgImRvdCIsCisgICJkc3QiLAorICAiZXJyb3JmIiwKKyAgIkV2YWx1
YXRlQXR0cmlidXRlQXRDZW50cm9pZCIsCisgICJFdmFsdWF0ZUF0dHJpYnV0ZUF0U2FtcGxlIiwK
KyAgIkV2YWx1YXRlQXR0cmlidXRlU25hcHBlZCIsCisgICJleHAiLAorICAiZXhwMiIsCisgICJm
MTZ0b2YzMiIsCisgICJmMzJ0b2YxNiIsCisgICJmYWNlZm9yd2FyZCIsCisgICJmaXJzdGJpdGhp
Z2giLAorICAiZmlyc3RiaXRsb3ciLAorICAiZmxvb3IiLAorICAiZm1hIiwKKyAgImZtb2QiLAor
ICAiZnJhYyIsCisgICJmcmV4cCIsCisgICJmd2lkdGgiLAorICAiR2V0UmVuZGVyVGFyZ2V0U2Ft
cGxlQ291bnQiLAorICAiR2V0UmVuZGVyVGFyZ2V0U2FtcGxlUG9zaXRpb24iLAorICAiR3JvdXBN
ZW1vcnlCYXJyaWVyIiwKKyAgIkdyb3VwTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMiLAorICAi
SW50ZXJsb2NrZWRBZGQiLAorICAiSW50ZXJsb2NrZWRBbmQiLAorICAiSW50ZXJsb2NrZWRDb21w
YXJlRXhjaGFuZ2UiLAorICAiSW50ZXJsb2NrZWRDb21wYXJlU3RvcmUiLAorICAiSW50ZXJsb2Nr
ZWRFeGNoYW5nZSIsCisgICJJbnRlcmxvY2tlZE1heCIsCisgICJJbnRlcmxvY2tlZE1pbiIsCisg
ICJJbnRlcmxvY2tlZE9yIiwKKyAgIkludGVybG9ja2VkWG9yIiwKKyAgImlzZmluaXRlIiwKKyAg
ImlzaW5mIiwKKyAgImlzbmFuIiwKKyAgImxkZXhwIiwKKyAgImxlbmd0aCIsCisgICJsZXJwIiwK
KyAgImxpdCIsCisgICJsb2ciLAorICAibG9nMTAiLAorICAibG9nMiIsCisgICJtYWQiLAorICAi
bWF4IiwKKyAgIm1pbiIsCisgICJtb2RmIiwKKyAgIm1zYWQ0IiwKKyAgIm11bCIsCisgICJub2lz
ZSIsCisgICJub3JtYWxpemUiLAorICAicG93IiwKKyAgInByaW50ZiIsCisgICJQcm9jZXNzMkRR
dWFkVGVzc0ZhY3RvcnNBdmciLAorICAiUHJvY2VzczJEUXVhZFRlc3NGYWN0b3JzTWF4IiwKKyAg
IlByb2Nlc3MyRFF1YWRUZXNzRmFjdG9yc01pbiIsCisgICJQcm9jZXNzSXNvbGluZVRlc3NGYWN0
b3JzIiwKKyAgIlByb2Nlc3NRdWFkVGVzc0ZhY3RvcnNBdmciLAorICAiUHJvY2Vzc1F1YWRUZXNz
RmFjdG9yc01heCIsCisgICJQcm9jZXNzUXVhZFRlc3NGYWN0b3JzTWluIiwKKyAgIlByb2Nlc3NU
cmlUZXNzRmFjdG9yc0F2ZyIsCisgICJQcm9jZXNzVHJpVGVzc0ZhY3RvcnNNYXgiLAorICAiUHJv
Y2Vzc1RyaVRlc3NGYWN0b3JzTWluIiwKKyAgInJhZGlhbnMiLAorICAicmNwIiwKKyAgInJlZmxl
Y3QiLAorICAicmVmcmFjdCIsCisgICJyZXZlcnNlYml0cyIsCisgICJyb3VuZCIsCisgICJyc3Fy
dCIsCisgICJzYXR1cmF0ZSIsCisgICJzaWduIiwKKyAgInNpbiIsCisgICJzaW5jb3MiLAorICAi
c2luaCIsCisgICJzbW9vdGhzdGVwIiwKKyAgInNxcnQiLAorICAic3RlcCIsCisgICJ0YW4iLAor
ICAidGFuaCIsCisgICJ0ZXgxRCIsCisgICJ0ZXgxRCIsCisgICJ0ZXgxRGJpYXMiLAorICAidGV4
MURncmFkIiwKKyAgInRleDFEbG9kIiwKKyAgInRleDFEcHJvaiIsCisgICJ0ZXgyRCIsCisgICJ0
ZXgyRCIsCisgICJ0ZXgyRGJpYXMiLAorICAidGV4MkRncmFkIiwKKyAgInRleDJEbG9kIiwKKyAg
InRleDJEcHJvaiIsCisgICJ0ZXgzRCIsCisgICJ0ZXgzRCIsCisgICJ0ZXgzRGJpYXMiLAorICAi
dGV4M0RncmFkIiwKKyAgInRleDNEbG9kIiwKKyAgInRleDNEcHJvaiIsCisgICJ0ZXhDVUJFIiwK
KyAgInRleENVQkUiLAorICAidGV4Q1VCRWJpYXMiLAorICAidGV4Q1VCRWdyYWQiLAorICAidGV4
Q1VCRWxvZCIsCisgICJ0ZXhDVUJFcHJvaiIsCisgICJ0cmFuc3Bvc2UiLAorICAidHJ1bmMiCitd
OworCit2YXIgR0xTTF80XzIwXzExX3dvcmRzID0gWworICAiYXR0cmlidXRlIiwKKyAgImNvbnN0
IiwKKyAgInVuaWZvcm0iLAorICAidmFyeWluZyIsCisgICJjb2hlcmVudCIsCisgICJ2b2xhdGls
ZSIsCisgICJyZXN0cmljdCIsCisgICJyZWFkb25seSIsCisgICJ3cml0ZW9ubHkiLAorICAiYXRv
bWljX3VpbnQiLAorICAibGF5b3V0IiwKKyAgImNlbnRyb2lkIiwKKyAgImZsYXQiLAorICAic21v
b3RoIiwKKyAgIm5vcGVyc3BlY3RpdmUiLAorICAicGF0Y2giLAorICAic2FtcGxlIiwKKyAgImJy
ZWFrIiwKKyAgImNvbnRpbnVlIiwKKyAgImRvIiwKKyAgImZvciIsCisgICJ3aGlsZSIsCisgICJz
d2l0Y2giLAorICAiY2FzZSIsCisgICJkZWZhdWx0IiwKKyAgImlmIiwKKyAgImVsc2UiLAorICAi
c3Vicm91dGluZSIsCisgICJpbiIsCisgICJvdXQiLAorICAiaW5vdXQiLAorICAiZmxvYXQiLAor
ICAiZG91YmxlIiwKKyAgImludCIsCisgICJ2b2lkIiwKKyAgImJvb2wiLAorICAidHJ1ZSIsCisg
ICJmYWxzZSIsCisgICJpbnZhcmlhbnQiLAorICAiZGlzY2FyZCIsCisgICJyZXR1cm4iLAorICAi
bWF0MiIsCisgICJtYXQzIiwKKyAgIm1hdDQiLAorICAiZG1hdDIiLAorICAiZG1hdDMiLAorICAi
ZG1hdDQiLAorICAibWF0MngyIiwKKyAgIm1hdDJ4MyIsCisgICJtYXQyeDQiLAorICAiZG1hdDJ4
MiIsCisgICJkbWF0MngzIiwKKyAgImRtYXQyeDQiLAorICAibWF0M3gyIiwKKyAgIm1hdDN4MyIs
CisgICJtYXQzeDQiLAorICAiZG1hdDN4MiIsCisgICJkbWF0M3gzIiwKKyAgImRtYXQzeDQiLAor
ICAibWF0NHgyIiwKKyAgIm1hdDR4MyIsCisgICJtYXQ0eDQiLAorICAiZG1hdDR4MiIsCisgICJk
bWF0NHgzIiwKKyAgImRtYXQ0eDQiLAorICAidmVjMiIsCisgICJ2ZWMzIiwKKyAgInZlYzQiLAor
ICAiaXZlYzIiLAorICAiaXZlYzMiLAorICAiaXZlYzQiLAorICAiYnZlYzIiLAorICAiYnZlYzMi
LAorICAiYnZlYzQiLAorICAiZHZlYzIiLAorICAiZHZlYzMiLAorICAiZHZlYzQiLAorICAidWlu
dCIsCisgICJ1dmVjMiIsCisgICJ1dmVjMyIsCisgICJ1dmVjNCIsCisgICJsb3dwIiwKKyAgIm1l
ZGl1bXAiLAorICAiaGlnaHAiLAorICAicHJlY2lzaW9uIiwKKyAgInNhbXBsZXIxRCIsCisgICJz
YW1wbGVyMkQiLAorICAic2FtcGxlcjNEIiwKKyAgInNhbXBsZXJDdWJlIiwKKyAgInNhbXBsZXIx
RFNoYWRvdyIsCisgICJzYW1wbGVyMkRTaGFkb3ciLAorICAic2FtcGxlckN1YmVTaGFkb3ciLAor
ICAic2FtcGxlcjFEQXJyYXkiLAorICAic2FtcGxlcjJEQXJyYXkiLAorICAic2FtcGxlcjFEQXJy
YXlTaGFkb3ciLAorICAic2FtcGxlcjJEQXJyYXlTaGFkb3ciLAorICAiaXNhbXBsZXIxRCIsCisg
ICJpc2FtcGxlcjJEIiwKKyAgImlzYW1wbGVyM0QiLAorICAiaXNhbXBsZXJDdWJlIiwKKyAgImlz
YW1wbGVyMURBcnJheSIsCisgICJpc2FtcGxlcjJEQXJyYXkiLAorICAidXNhbXBsZXIxRCIsCisg
ICJ1c2FtcGxlcjJEIiwKKyAgInVzYW1wbGVyM0QiLAorICAidXNhbXBsZXJDdWJlIiwKKyAgInVz
YW1wbGVyMURBcnJheSIsCisgICJ1c2FtcGxlcjJEQXJyYXkiLAorICAic2FtcGxlcjJEUmVjdCIs
CisgICJzYW1wbGVyMkRSZWN0U2hhZG93IiwKKyAgImlzYW1wbGVyMkRSZWN0IiwKKyAgInVzYW1w
bGVyMkRSZWN0IiwKKyAgInNhbXBsZXJCdWZmZXIiLAorICAiaXNhbXBsZXJCdWZmZXIiLAorICAi
dXNhbXBsZXJCdWZmZXIiLAorICAic2FtcGxlcjJETVMiLAorICAiaXNhbXBsZXIyRE1TIiwKKyAg
InVzYW1wbGVyMkRNUyIsCisgICJzYW1wbGVyMkRNU0FycmF5IiwKKyAgImlzYW1wbGVyMkRNU0Fy
cmF5IiwKKyAgInVzYW1wbGVyMkRNU0FycmF5IiwKKyAgInNhbXBsZXJDdWJlQXJyYXkiLAorICAi
c2FtcGxlckN1YmVBcnJheVNoYWRvdyIsCisgICJpc2FtcGxlckN1YmVBcnJheSIsCisgICJ1c2Ft
cGxlckN1YmVBcnJheSIsCisgICJpbWFnZTFEIiwKKyAgImlpbWFnZTFEIiwKKyAgInVpbWFnZTFE
IiwKKyAgImltYWdlMkQiLAorICAiaWltYWdlMkQiLAorICAidWltYWdlMkQiLAorICAiaW1hZ2Uz
RCIsCisgICJpaW1hZ2UzRCIsCisgICJ1aW1hZ2UzRCIsCisgICJpbWFnZTJEUmVjdCIsCisgICJp
aW1hZ2UyRFJlY3QiLAorICAidWltYWdlMkRSZWN0IiwKKyAgImltYWdlQ3ViZSIsCisgICJpaW1h
Z2VDdWJlIiwKKyAgInVpbWFnZUN1YmUiLAorICAiaW1hZ2VCdWZmZXIiLAorICAiaWltYWdlQnVm
ZmVyIiwKKyAgInVpbWFnZUJ1ZmZlciIsCisgICJpbWFnZTFEQXJyYXkiLAorICAiaWltYWdlMURB
cnJheSIsCisgICJ1aW1hZ2UxREFycmF5IiwKKyAgImltYWdlMkRBcnJheSIsCisgICJpaW1hZ2Uy
REFycmF5IiwKKyAgInVpbWFnZTJEQXJyYXkiLAorICAiaW1hZ2VDdWJlQXJyYXkiLAorICAiaWlt
YWdlQ3ViZUFycmF5IiwKKyAgInVpbWFnZUN1YmVBcnJheSIsCisgICJpbWFnZTJETVMiLAorICAi
aWltYWdlMkRNUyIsCisgICJ1aW1hZ2UyRE1TIiwKKyAgImltYWdlMkRNU0FycmF5IiwKKyAgImlp
bWFnZTJETVNBcnJheSIsCisgICJ1aW1hZ2UyRE1TQXJyYXkiLAorICAic3RydWN0IgorXTsKKwor
dmFyIEdMU0xfNF8yMF8xMV9mdXR1cmVfd29yZHMgPSBbCisgICJjb21tb24iLAorICAicGFydGl0
aW9uIiwKKyAgImFjdGl2ZSIsCisgICJhc20iLAorICAiY2xhc3MiLAorICAidW5pb24iLAorICAi
ZW51bSIsCisgICJ0eXBlZGVmIiwKKyAgInRlbXBsYXRlIiwKKyAgInRoaXMiLAorICAicGFja2Vk
IiwKKyAgInJlc291cmNlIiwKKyAgImdvdG8iLAorICAiaW5saW5lIiwKKyAgIm5vaW5saW5lIiwK
KyAgInB1YmxpYyIsCisgICJzdGF0aWMiLAorICAiZXh0ZXJuIiwKKyAgImV4dGVybmFsIiwKKyAg
ImludGVyZmFjZSIsCisgICJsb25nIiwKKyAgInNob3J0IiwKKyAgImhhbGYiLAorICAiZml4ZWQi
LAorICAidW5zaWduZWQiLAorICAic3VwZXJwIiwKKyAgImlucHV0IiwKKyAgIm91dHB1dCIsCisg
ICJodmVjMiIsCisgICJodmVjMyIsCisgICJodmVjNCIsCisgICJmdmVjMiIsCisgICJmdmVjMyIs
CisgICJmdmVjNCIsCisgICJzYW1wbGVyM0RSZWN0IiwKKyAgImZpbHRlciIsCisgICJzaXplb2Yi
LAorICAiY2FzdCIsCisgICJuYW1lc3BhY2UiLAorICAidXNpbmciLAorICAicm93X21ham9yIgor
XTsKKwordmFyIEdMU0xfMV8wXzE3X3dvcmRzID0gWworICAiYXR0cmlidXRlIiwKKyAgImNvbnN0
IiwKKyAgInVuaWZvcm0iLAorICAidmFyeWluZyIsCisgICJicmVhayIsCisgICJjb250aW51ZSIs
CisgICJkbyIsCisgICJmb3IiLAorICAid2hpbGUiLAorICAiaWYiLAorICAiZWxzZSIsCisgICJp
biIsCisgICJvdXQiLAorICAiaW5vdXQiLAorICAiZmxvYXQiLAorICAiaW50IiwKKyAgInZvaWQi
LAorICAiYm9vbCIsCisgICJ0cnVlIiwKKyAgImZhbHNlIiwKKyAgImxvd3AiLAorICAibWVkaXVt
cCIsCisgICJoaWdocCIsCisgICJwcmVjaXNpb24iLAorICAiaW52YXJpYW50IiwKKyAgImRpc2Nh
cmQiLAorICAicmV0dXJuIiwKKyAgIm1hdDIiLAorICAibWF0MyIsCisgICJtYXQ0IiwKKyAgInZl
YzIiLAorICAidmVjMyIsCisgICJ2ZWM0IiwKKyAgIml2ZWMyIiwKKyAgIml2ZWMzIiwKKyAgIml2
ZWM0IiwKKyAgImJ2ZWMyIiwKKyAgImJ2ZWMzIiwKKyAgImJ2ZWM0IiwKKyAgInNhbXBsZXIyRCIs
CisgICJzYW1wbGVyQ3ViZSIsCisgICJzdHJ1Y3QiCitdCisKK3ZhciBHTFNMXzFfMF8xN19GdXR1
cmVXb3JkcyA9IFsKKyAgImFzbSIsCisgICJjbGFzcyIsCisgICJ1bmlvbiIsCisgICJlbnVtIiwK
KyAgInR5cGVkZWYiLAorICAidGVtcGxhdGUiLAorICAidGhpcyIsCisgICJwYWNrZWQiLAorICAi
Z290byIsCisgICJzd2l0Y2giLAorICAiZGVmYXVsdCIsCisgICJpbmxpbmUiLAorICAibm9pbmxp
bmUiLAorICAidm9sYXRpbGUiLAorICAicHVibGljIiwKKyAgInN0YXRpYyIsCisgICJleHRlcm4i
LAorICAiZXh0ZXJuYWwiLAorICAiaW50ZXJmYWNlIiwKKyAgImZsYXQiLAorICAibG9uZyIsCisg
ICJzaG9ydCIsCisgICJkb3VibGUiLAorICAiaGFsZiIsCisgICJmaXhlZCIsCisgICJ1bnNpZ25l
ZCIsCisgICJzdXBlcnAiLAorICAiaW5wdXQiLAorICAib3V0cHV0IiwKKyAgImh2ZWMyIiwKKyAg
Imh2ZWMzIiwKKyAgImh2ZWM0IiwKKyAgImR2ZWMyIiwKKyAgImR2ZWMzIiwKKyAgImR2ZWM0IiwK
KyAgImZ2ZWMyIiwKKyAgImZ2ZWMzIiwKKyAgImZ2ZWM0IiwKKyAgInNhbXBsZXIxRCIsCisgICJz
YW1wbGVyM0QiLAorICAic2FtcGxlcjFEU2hhZG93IiwKKyAgInNhbXBsZXIyRFNoYWRvdyIsCisg
ICJzYW1wbGVyMkRSZWN0IiwKKyAgInNhbXBsZXIzRFJlY3QiLAorICAic2FtcGxlcjJEUmVjdFNo
YWRvdyIsCisgICJzaXplb2YiLAorICAiY2FzdCIsCisgICJuYW1lc3BhY2UiLAorICAidXNpbmci
CitdOworCitkZXNjcmlwdGlvbigpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIg
Z2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7Cit2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb25zb2xlIik7CisKK3ZhciBiYWRXb3JkcyA9IFsKKyAgeyB3b3JkczogRFhXb3JkcyB9
LAorICB7IHdvcmRzOiBHTFNMXzRfMjBfMTFfd29yZHMsIH0sCisgIHsgd29yZHM6IEdMU0xfNF8y
MF8xMV9mdXR1cmVfd29yZHMsIH0KK107CisKK3ZhciByZXNlcnZlZFdvcmRzTGlzdHMgPSBbCisg
IEdMU0xfMV8wXzE3X3dvcmRzLAorICBHTFNMXzFfMF8xN19GdXR1cmVXb3JkcworXTsKKwordmFy
IHJlc2VydmVkV29yZHMgPSB7IH07Citmb3IgKHZhciBpaSA9IDA7IGlpIDwgcmVzZXJ2ZWRXb3Jk
c0xpc3RzLmxlbmd0aDsgKytpaSkgeworICB2YXIgbGlzdCA9IHJlc2VydmVkV29yZHNMaXN0c1tp
aV07CisgIGZvciAodmFyIGpqID0gMDsgamogPCBsaXN0Lmxlbmd0aDsgKytqaikgeworICAgIHJl
c2VydmVkV29yZHNbbGlzdFtqal1dID0gdHJ1ZTsKKyAgfQorfQorCit2YXIgY2hlY2tlZFdvcmRz
ID0ge307CisKK3ZhciBzcmMgPSBbXTsKK2ZvciAodmFyIGlpID0gMDsgaWkgPCA0OyArK2lpKSB7
CisgIHZhciB2c3JjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZlcnRleFNoYWRlciIgKyBp
aSkudGV4dDsKKyAgdmFyIGZzcmMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnJhZ21lbnRT
aGFkZXIiICsgaWkpLnRleHQ7CisgIHNyYy5wdXNoKHt2c3JjOiB2c3JjLCBmc3JjOiBmc3JjfSk7
Cit9CisKK3ZhciBiYWRXb3JkTmR4ID0gMDsKK3ZhciBsaXN0TmR4ID0gMDsKKworZnVuY3Rpb24g
dGVzdE5leHRXb3JkKCkgeworICB2YXIgbGlzdCA9IGJhZFdvcmRzW2JhZFdvcmROZHhdLndvcmRz
OworICBpZiAobGlzdE5keCA+PSBsaXN0Lmxlbmd0aCkgeworICAgICsrYmFkV29yZE5keDsKKyAg
ICBpZiAoYmFkV29yZE5keCA+PSBiYWRXb3Jkcy5sZW5ndGgpIHsKKyAgICAgIGZpbmlzaFRlc3Qo
KTsKKyAgICAgIHJldHVybjsKKyAgICB9CisgICAgbGlzdE5keCA9IDA7CisgICAgbGlzdCA9IGJh
ZFdvcmRzW2JhZFdvcmROZHhdLndvcmRzOworICB9CisgIHRlc3RXb3JkKGxpc3RbbGlzdE5keF0p
OworICArK2xpc3ROZHg7CisgIHNldFRpbWVvdXQodGVzdE5leHRXb3JkLDEpOworfQordGVzdE5l
eHRXb3JkKCk7CisKK2Z1bmN0aW9uIHRlc3RXb3JkKHdvcmQpIHsKKyAgaWYgKHdvcmQgaW4gcmVz
ZXJ2ZWRXb3JkcyB8fCB3b3JkIGluIGNoZWNrZWRXb3JkcykgeworICAgIHJldHVybjsKKyAgfQor
ICBjaGVja2VkV29yZHNbd29yZF0gPSB0cnVlOworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJ0ZXN0
aW5nOiAiICsgd29yZCk7CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHNyYy5sZW5ndGg7ICsr
aWkpIHsKKyAgICB2YXIgdnMgPSBzcmNbaWldLnZzcmMucmVwbGFjZSgvXCRyZXBsYWNlTWUvZywg
d29yZCk7CisgICAgdmFyIGZzID0gc3JjW2lpXS5mc3JjLnJlcGxhY2UoL1wkcmVwbGFjZU1lL2cs
IHdvcmQpOworCisgICAgd3R1LmFkZFNoYWRlclNvdXJjZShjLCAidmVydGV4IHNoYWRlciIsIHZz
KTsKKyAgICB3dHUuYWRkU2hhZGVyU291cmNlKGMsICJmcmFnbWVudCBzaGFkZXIiLCBmcyk7CisK
KyAgICB2YXIgc3VjY2VzcyA9IHRydWU7CisgICAgdmFyIHByb2dyYW0gPSB3dHUubG9hZFByb2dy
YW0oZ2wsIHZzLCBmcywgZnVuY3Rpb24obXNnKSB7CisgICAgICBkZWJ1Zyhtc2cpOworICAgICAg
c3VjY2VzcyA9IGZhbHNlOworICAgIH0pOworICAgIGlmIChzdWNjZXNzKSB7CisgICAgICB0ZXN0
UGFzc2VkKCJzaGFkZXIgd2l0aDogJyIgKyB3b3JkICsgIicgY29tcGlsZWQiKTsKKyAgICB9IGVs
c2UgeworICAgICAgdGVzdEZhaWxlZCgic2hhZGVyIHdpdGg6ICciICsgd29yZCArICInIGZhaWxl
ZCB0byBjb21waWxlIik7CisgICAgfQorICAgIGlmIChwcm9ncmFtKSB7CisgICAgICBnbC5kZWxl
dGVQcm9ncmFtKHByb2dyYW0pOworICAgIH0KKyAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBHTCBlcnJvcnMiKTsKKyAgfQorfQorCisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNpcmN1aXRpbmctb3Bl
cmF0b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2hvcnQtY2lyY3VpdGluZy1vcGVy
YXRvcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzc1NDhmMzZjOTJiMGY3NjQyNWU1NGMyNmU3ZmI5YmNi
YjgyZDczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRoLXNob3J0LWNp
cmN1aXRpbmctb3BlcmF0b3JzLmh0bWwKQEAgLTAsMCArMSwxOTEgQEAKKzwhLS0KKworLyoKKyoq
IENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0
ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0
aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiog
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlh
bHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBm
dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlh
bCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9S
IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBP
UiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiog
VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI
RSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhl
YWQ+CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgICAgPHRpdGxlPldlYkdMIHNob3J0
LWNpcmN1aXQgZXZhbHVhdGlvbjwvdGl0bGU+CisgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKyAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisgICAg
PC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9
IjIiIGhlaWdodD0iMiI+IDwvY2FudmFzPgorCisgICAgPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisgIFdlYkdMIFNoYWRlcnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0+CisgICAgPCEtLSBQYXNzIHRocm91Z2ggU2hhZGVycyAtLT4KKyAg
ICA8c2NyaXB0IGlkPSJ2c2hhZGVyMCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICAgICAg
LyogUEFTUy1USFJPVUdIIFZFUlRFWCBTSEFERVIgKi8KKyAgICAgIGF0dHJpYnV0ZSB2ZWM0IHZQ
b3NpdGlvbjsKKworICAgICAgdm9pZCBtYWluKCkKKyAgICAgIHsKKyAgICAgICAgZ2xfUG9zaXRp
b24gPSB2UG9zaXRpb247CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0IGlk
PSJmc2hhZGVyMCIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgICAvKiBQQVNTLVRI
Uk9VR0ggRlJBR01FTlQgU0hBREVSICovCisgICAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
KyAgICAgIHZhcnlpbmcgdmVjNCB2UGFzc1Rocm91Z2g7CisKKyAgICAgIHZvaWQgbWFpbigpCisg
ICAgICB7CisgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZQYXNzVGhyb3VnaDsKKyAgICAgIH0KKyAg
ICA8L3NjcmlwdD4KKworICAgIDwhLS0gYmFzaWMgY29uZGl0b25hbCBzaG9ydCBjaXJjdWl0IFNo
YWRlcnMgLS0+CisgICAgPHNjcmlwdCBpZD0idnNoYWRlcjEiIHR5cGU9Ingtc2hhZGVyL3gtdmVy
dGV4Ij4KKyAgICAgIGF0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKKyAgICAgIHZhcnlpbmcgdmVj
NCB2UGFzc1Rocm91Z2g7CisKKyAgICAgIHZvaWQgbWFpbigpCisgICAgICB7CisgICAgICAgIGlu
dCB4ID0gMTsKKyAgICAgICAgJCh2YXJpYWJsZXMpCisgICAgICAKKyAgICAgICAgaWYgKCQoY29u
ZGl0aW9uKSkKKyAgICAgICAgeyAvKmRvIG5vdGhpbmcqLyB9CisKKyAgICAgICAgLyogaWYgeCB3
YXMgdW5tb2RpZmllZCByZXR1cm4gZ3JlZW4sIGVsc2UgcmV0dXJuIHJlZCAqLworICAgICAgICB2
UGFzc1Rocm91Z2ggPSAoeCA9PSAxKSA/IHZlYzQoMCwgMSwgMCwgMSkgOiB2ZWM0KDEsIDAsIDAs
IDEpOworICAgICAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICAgIH0KKyAgICA8L3Nj
cmlwdD4KKworICAgIDxzY3JpcHQgaWQ9ImZzaGFkZXIxIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdt
ZW50Ij4KKyAgICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworCisgICAgICB2b2lkIG1haW4o
KQorICAgICAgeworICAgICAgICBpbnQgeCA9IDE7CisgICAgICAgICQodmFyaWFibGVzKQorICAg
ICAgICAKKyAgICAgICAgaWYgKCQoY29uZGl0aW9uKSkKKyAgICAgICAgeyAvKmRvIG5vdGhpbmcq
LyB9CisKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gKHggPT0gMSkgPyB2ZWM0KDAsIDEsIDAsIDEp
IDogdmVjNCgxLCAwLCAwLCAxKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKworICAgIDwhLS0g
TWFpbiBib2R5IG9mIHRoZSBXZWJnbCBwcm9ncmFtIC0tPgorICAgIDxzY3JpcHQ+CisgICAgInVz
ZSBzdHJpY3QiOworICAgICAgZGVzY3JpcHRpb24oKTsKKworICAgICAgdmFyIHd0dSA9IFdlYkdM
VGVzdFV0aWxzOworICAgICAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOworICAgICAg
dmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworCisgICAgICB3dHUu
c2V0dXBVbml0UXVhZChnbCwgWzAsIDFdKTsKKworICAgICAgdmFyIHNoYWRlclRlbXBsYXRlcyA9
IFsKKyAgICAgIHsgdnM6ICJ2c2hhZGVyMSIsIGZzOiAiZnNoYWRlcjAiIH0sIC8vIGJhc2ljIHZl
cnRleCBzaG9ydC1jaXJjdWl0IHRlc3QKKyAgICAgIHsgdnM6ICJ2c2hhZGVyMCIsIGZzOiAiZnNo
YWRlcjEiIH0sIC8vIGJhc2ljIGZyYWdtZW50IHNob3J0LWNpcmN1aXQgdGVzdAorICAgICAgXTsK
KworICAgICAgLyogcmVwbGFjZSB0aGUgbmFtZXMgb2YgdGhlIHNoYWRlcnMgaW4gdGhlIHRlbXBh
dGUgdmFyaWFibGVzIHdpdGgKKyAgICAgICogdGhlIHNoYWRlcnMgdGhlbXNlbHZlcyAqLworICAg
ICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHNoYWRlclRlbXBsYXRlcy5sZW5ndGg7ICsraWkpIHsK
KyAgICAgICAgdmFyIHRlbXBsYXRlID0gc2hhZGVyVGVtcGxhdGVzW2lpXTsKKyAgICAgICAgdGVt
cGxhdGUudnMgPSB3dHUuZ2V0U2NyaXB0KHRlbXBsYXRlLnZzKTsKKyAgICAgICAgdGVtcGxhdGUu
ZnMgPSB3dHUuZ2V0U2NyaXB0KHRlbXBsYXRlLmZzKTsKKyAgICAgIH0KKworICAgICAgLyogZGVm
aW5lIHRoZSBjb25kaXRvbiB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgc2hhZGVycy4gSWYgYWRk
aXRpb25hbAorICAgICAgICogdmFyaWFibGVzIGFyZSBuZWVkZWQgdGhhdCBhcmUgbm90IHByZXNl
bnQgaSB0aGUgc2hhZGVyIHRoZXkgbXkgYmUKKyAgICAgICAqIGRlZmluZWQgaW4gdGhlIHZhcmlh
YmxlcyB2YXJpYWJsZSAqLworICAgICAgdmFyIHRlc3RzID0gWworICAgICAgICB7IGNvbmRpdGlv
bjogInRydWUgfHwgKHggPSAwKSA9PSAxIiwgdmFyaWFibGVzOiAiIiB9LCAvKiB0ZXN0IGJhc2lj
ICdvcicgc2hvcnQgY2lyY3VpdCAqLworICAgICAgICB7IGNvbmRpdGlvbjogImZhbHNlICYmICh4
ID0gMCkgPT0gMSIsIHZhcmlhYmxlczogIiIgfSwgLyogdGVzdCBiYXNpYyAnYW5kJyBzaG9ydCBj
aXJjdWl0ICovCisgICAgICAgIHsgY29uZGl0aW9uOiAiKGogPT0gMyAmJiBqID09IGspIHx8IChq
ID4gKHggPSAwKSkiLCB2YXJpYWJsZXM6ICJpbnQgaiA9IDM7XG5pbnQgayA9IDM7IiB9LCAvKiB0
ZXN0IGJhc2ljICdvcicgc2hvcnQgY2lyY3VpdCB3aXRoIGFjdHVhbCBjb25kaXRpb24gKi8KKyAg
ICAgICAgeyBjb25kaXRpb246ICIoaiA9PSAzICYmIGogPT0gaykgJiYgKGogPiAoeCA9IDApKSIs
IHZhcmlhYmxlczogImludCBqID0gMztcbmludCBrID0gNDsiIH0sIC8qIHRlc3QgYmFzaWMgJ2Fu
ZCcgc2hvcnQgY2lyY3VpdCB3aXRoIGFjdHVhbCBjb25kaXRpb24gKi8KKyAgICAgICAgeyBjb25k
aXRpb246ICIoaiArIDMgPiBrICYmICgoaiA8IDEwKSB8fCAoeCArIDUgPiBqICsgKHggPSAwKSkp
IHx8ICggeCA9IDAgKSA9PSA3KSIsIHZhcmlhYmxlczogImludCBqID0gNTtcbmludCBrID0gMzsi
IH0sIC8qIGNvbXBsZXggdGVzdCAqLworICAgICAgICB7IGNvbmRpdGlvbjogImogKyAxID09IDYg
PyB4ID09IDEgfHwgaiA+ICh4ID0gMCkgOiAoeCA9IDApID09IDEgJiYgKHggPSAwKSA8PSAxIiwg
dmFyaWFibGVzOiAiaW50IGogPSA1OyIgfSwgLyogbmVzdGVkIHdpdGggdGVybmFyeSBvcGVyYXRv
ciAqLworICAgICAgXTsKKworICAgICAgZnVuY3Rpb24gdGVzdFNob3J0Q2lyY3VpdCh0ZXN0KSB7
CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgZGVidWcoInRlc3Rpbmcgc2hvcnQgY2lyY3Vp
dCBjb25kaXRpb246ICIgKyB0ZXN0LmNvbmRpdGlvbik7CisKKyAgICAgICAgLyogU2V0dGluZyBj
bGVhciBjb2xvciB0byBibHVlICovCisgICAgICAgIGdsLmNsZWFyQ29sb3IoMC4wLCAwLjAsIDEu
MCwgMS4wKTsKKworICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2hhZGVyVGVtcGxhdGVz
Lmxlbmd0aDsgKytpaSkgeworCisgICAgICAgICAgLyogY2xlYXIgdGhlIHNjcmVlbiBzbyB0aGF0
IHN1YnNlcXVlbnQgdGVzdHMgZG9uJ3QgY29uZmxpY3QgKi8KKyAgICAgICAgICBnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICAgICAgICB2YXIgdGVtcGxhdGUgPSBzaGFkZXJUZW1w
bGF0ZXNbaWldOworCisgICAgICAgICAgdmFyIHZzID0gd3R1LnJlcGxhY2VQYXJhbXModGVtcGxh
dGUudnMsIHRlc3QpOworICAgICAgICAgIHZhciBmcyA9IHd0dS5yZXBsYWNlUGFyYW1zKHRlbXBs
YXRlLmZzLCB0ZXN0KTsKKworICAgICAgICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywgInZlcnRl
eCBzaGFkZXIiLCB2cyk7CisgICAgICAgICAgd3R1LmFkZFNoYWRlclNvdXJjZShjLCAiZnJhZ21l
bnQgc2hhZGVyIiwgZnMpOworCisgICAgICAgICAgdmFyIHZzID0gd3R1LmxvYWRTaGFkZXIoZ2ws
IHZzLCBnbC5WRVJURVhfU0hBREVSKTsKKyAgICAgICAgICB2YXIgZnMgPSB3dHUubG9hZFNoYWRl
cihnbCwgZnMsIGdsLkZSQUdNRU5UX1NIQURFUik7CisgICAgICAgICAgdmFyIHByb2dyYW0gPSB3
dHUuY3JlYXRlUHJvZ3JhbShnbCwgdnMsIGZzKTsKKworICAgICAgICAgIGdsLnVzZVByb2dyYW0o
cHJvZ3JhbSk7CisKKyAgICAgICAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgICAgICAgIHd0dS5j
aGVja0NhbnZhcyhnbCwgWzAsIDI1NSwgMCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIsIDApOwor
CisgICAgICAgICAgZ2wuZGVsZXRlUHJvZ3JhbShwcm9ncmFtKTsKKyAgICAgICAgICBnbC5kZWxl
dGVTaGFkZXIodnMpOworICAgICAgICAgIGdsLmRlbGV0ZVNoYWRlcihmcyk7CisKKyAgICAgICAg
ICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3VsZCBiZSBubyBHTCBl
cnJvcnMiKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICB2YXIgdGVzdE5keCA9IDA7Cisg
ICAgICBmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsKKyAgICAgICAgICB0ZXN0U2hvcnRDaXJjdWl0
KHRlc3RzW3Rlc3ROZHgrK10pOworICAgICAgICAgIGlmICh0ZXN0TmR4ID49IHRlc3RzLmxlbmd0
aCkgeworICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgc2V0VGltZW91dChydW5OZXh0VGVzdCwgMSk7CisgICAgICAgICAgfQorICAg
ICAgfQorCisgICAgICBydW5OZXh0VGVzdCgpOworCisgICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtc2ltaWxhci11bmlmb3JtLWFycmF5LW5hbWVzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmRlMGQ0NTY4ZmNhNjcwMjA1ZmZlZTJhNGRlMTg0NTZiZDI5NTQ4Zgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1zaW1pbGFyLXVuaWZvcm0t
YXJyYXktbmFtZXMuaHRtbApAQCAtMCwwICsxLDEzMSBAQAorPCEtLQorCisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+R0xTTCBzaW1pbGFyIG5hbWVzIGlzc3VlPC90aXRs
ZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIi8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9nbHNsLWZlYXR1cmUtdGVzdHMuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9InZzaGFk
ZXIiLCB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9u
Owordm9pZCBtYWluKHZvaWQpIHsKKyAgICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRpb247Cit9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIxIiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVu
dCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNp
b25bMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uMlsyXTsKK3VuaWZvcm0gdmVjNCB1
X25hbWVbMl07Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfbmFtZUNv
bGxpc2lvblswXSArIHVfbmFtZUNvbGxpc2lvbjJbMF0gKyB1X25hbWVbMF07Cit9Cis8L3Njcmlw
dD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIyIiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+Citw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb24yWzJd
OwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvblsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVb
Ml07Cit2b2lkIG1haW4odm9pZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfbmFtZUNvbGxpc2lv
bjJbMF0gKyB1X25hbWVDb2xsaXNpb25bMF0gKyB1X25hbWVbMF07Cit9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9ImZzaGFkZXIzIiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNp
b24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb25bMl07Cit1bmlm
b3JtIHZlYzQgdV9uYW1lWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit2
b2lkIG1haW4odm9pZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfbmFtZUNvbGxpc2lvblswXSAr
IHVfbmFtZVswXSArIHVfbmFtZUNvbGxpc2lvbjJbMF07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
aWQ9ImZzaGFkZXI0IiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVk
aXVtcCBmbG9hdDsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb24yWzJdOwordW5pZm9ybSB2
ZWM0IHVfbmFtZVsyXTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb25bMl07Cit2b2lkIG1h
aW4odm9pZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfbmFtZUNvbGxpc2lvbjJbMF0gKyB1X25h
bWVbMF0gKyB1X25hbWVDb2xsaXNpb25bMF07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZz
aGFkZXI1IiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBm
bG9hdDsKK3VuaWZvcm0gdmVjNCB1X25hbWVbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlz
aW9uWzJdOwordW5pZm9ybSB2ZWM0IHVfbmFtZUNvbGxpc2lvbjJbMl07Cit2b2lkIG1haW4odm9p
ZCkgeworICAgIGdsX0ZyYWdDb2xvciA9IHVfbmFtZVswXSArIHVfbmFtZUNvbGxpc2lvblswXSAr
IHVfbmFtZUNvbGxpc2lvbjJbMF07Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXI2
IiwgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
K3VuaWZvcm0gdmVjNCB1X25hbWVbMl07Cit1bmlmb3JtIHZlYzQgdV9uYW1lQ29sbGlzaW9uMlsy
XTsKK3VuaWZvcm0gdmVjNCB1X25hbWVDb2xsaXNpb25bMl07Cit2b2lkIG1haW4odm9pZCkgewor
ICAgIGdsX0ZyYWdDb2xvciA9IHVfbmFtZVswXSArIHVfbmFtZUNvbGxpc2lvbjJbMF0gKyB1X25h
bWVDb2xsaXNpb25bMF07Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorInVz
ZSBzdHJpY3QiOworZGVzY3JpcHRpb24oKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwor
dmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2FudmFzIik7Cit3dHUuc2V0dXBVbml0UXVh
ZChnbCk7CisKK2ZvciAodmFyIGlpID0gMDsgaWkgPCA2OyArK2lpKSB7CisgIHZhciBwcm9ncmFt
ID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiICsgKGlpICsgMSld
LCBbImFfcG9zaXRpb24iXSk7CisgIHZhciBsb2MxID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHBy
b2dyYW0sICJ1X25hbWVbMF0iKTsKKyAgdmFyIGxvYzIgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24o
cHJvZ3JhbSwgInVfbmFtZUNvbGxpc2lvblswXSIpOworICB2YXIgbG9jMyA9IGdsLmdldFVuaWZv
cm1Mb2NhdGlvbihwcm9ncmFtLCAidV9uYW1lQ29sbGlzaW9uMlswXSIpOworICBnbC51bmlmb3Jt
NGZ2KGxvYzEsIFsxLCAwLCAwLCAwXSk7CisgIGdsLnVuaWZvcm00ZnYobG9jMiwgWzAsIDEsIDAs
IDBdKTsKKyAgZ2wudW5pZm9ybTRmdihsb2MzLCBbMCwgMCwgMCwgMV0pOworICB3dHUuZHJhd1F1
YWQoZ2wpOworICB3dHUuY2hlY2tDYW52YXMoZ2wsIFsyNTUsIDI1NSwgMCwgMjU1XSwgIlNob3Vs
ZCBiZSB5ZWxsb3ciKTsKK30KKworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRo
ZXJlIHNob3VsZCBiZSBubyBlcnJvcnMiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL3NoYWRlcnMtd2l0aC12YXJ5aW5ncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlcnMtd2l0aC12
YXJ5aW5ncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyMWJkYzA3YzcyMzBiN2U5MzZlZTUxMWMwYmNjMGZi
ZTlmODlhODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVycy13aXRoLXZhcnlp
bmdzLmh0bWwKQEAgLTAsMCArMSwxMTYgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIEdMU0wgQ29uZm9ybWFuY2UgVGVzdHM8L3RpdGxlPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L2dsc2wtZmVhdHVyZS10ZXN0cy5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvZ2xzbC1jb25mb3JtYW5jZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhTaGFkZXJOb1ZhcnlpbmciIHR5cGU9InRleHQvc29tZXRoaW5n
LW5vdC1qYXZhc2NyaXB0Ij4KK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0
KDAsMCwwLDApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJ2ZXJ0ZXhTaGFkZXJVbnVzZWRW
YXJ5aW5nIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+Cit2YXJ5aW5nIHZl
YzQgdl92YXJ5aW5nOworCit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgw
LDAsMCwwKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnJhZ21lbnRTaGFkZXJVbnVzZWRW
YXJ5aW5nIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24g
bWVkaXVtcCBmbG9hdDsKKwordmFyeWluZyB2ZWM0IHZfdmFyeWluZzsKKwordm9pZCBtYWluKCkK
K3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDAsMCwwLDApOworfQorPC9zY3JpcHQ+Cis8c2Ny
aXB0IGlkPSJmcmFnbWVudFNoYWRlclVzZWRWYXJ5aW5nIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1u
b3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordmFyeWluZyB2ZWM0
IHZfdmFyeWluZzsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2X3Zhcnlp
bmc7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisvLyBHTFNMIDEuMC4xNyA0LjMuNQorInVzZSBz
dHJpY3QiOworR0xTTENvbmZvcm1hbmNlVGVzdGVyLnJ1blRlc3RzKFsKKyAgeworICAgIHZTaGFk
ZXJJZDogInZlcnRleFNoYWRlck5vVmFyeWluZyIsCisgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUs
CisgICAgZlNoYWRlcklkOiAiZnJhZ21lbnRTaGFkZXJVbnVzZWRWYXJ5aW5nIiwKKyAgICBmU2hh
ZGVyU3VjY2VzczogdHJ1ZSwKKyAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICBwYXNzTXNnOiAi
dmVydGV4IHNoYWRlciB3aXRoIG5vIHZhcnlpbmcgYW5kIGZyYWdtZW50IHNoYWRlciB3aXRoIHVu
dXNlZCB2YXJ5aW5nIG11c3Qgc3VjY2VlZCIsCisgIH0sCisgIHsKKyAgICB2U2hhZGVySWQ6ICJ2
ZXJ0ZXhTaGFkZXJOb1ZhcnlpbmciLAorICAgIHZTaGFkZXJTdWNjZXNzOiB0cnVlLAorICAgIGZT
aGFkZXJJZDogImZyYWdtZW50U2hhZGVyVXNlZFZhcnlpbmciLAorICAgIGZTaGFkZXJTdWNjZXNz
OiB0cnVlLAorICAgIGxpbmtTdWNjZXNzOiBmYWxzZSwKKyAgICBwYXNzTXNnOiAidmVydGV4IHNo
YWRlciB3aXRoIG5vIHZhcnlpbmcgYW5kIGZyYWdtZW50IHNoYWRlciB3aXRoIHVzZWQgdmFyeWlu
ZyBtdXN0IGZhaWwiLAorICB9LAorICB7CisgICAgdlNoYWRlcklkOiAidmVydGV4U2hhZGVyVW51
c2VkVmFyeWluZyIsCisgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgZlNoYWRlcklkOiAi
ZnJhZ21lbnRTaGFkZXJVbnVzZWRWYXJ5aW5nIiwKKyAgICBmU2hhZGVyU3VjY2VzczogdHJ1ZSwK
KyAgICBsaW5rU3VjY2VzczogdHJ1ZSwKKyAgICBwYXNzTXNnOiAidmVydGV4IHNoYWRlciB3aXRo
IHVudXNlZCB2YXJ5aW5nIGFuZCBmcmFnbWVudCBzaGFkZXIgd2l0aCB1bnVzZWQgdmFyeWluZyBt
dXN0IHN1Y2NlZWQiLAorICB9LAorICB7CisgICAgdlNoYWRlcklkOiAidmVydGV4U2hhZGVyVW51
c2VkVmFyeWluZyIsCisgICAgdlNoYWRlclN1Y2Nlc3M6IHRydWUsCisgICAgZlNoYWRlcklkOiAi
ZnJhZ21lbnRTaGFkZXJVc2VkVmFyeWluZyIsCisgICAgZlNoYWRlclN1Y2Nlc3M6IHRydWUsCisg
ICAgbGlua1N1Y2Nlc3M6IHRydWUsCisgICAgcGFzc01zZzogInZlcnRleCBzaGFkZXIgd2l0aCB1
bnVzZWQgdmFyeWluZyBhbmQgZnJhZ21lbnQgc2hhZGVyIHdpdGggdXNlZCB2YXJ5aW5nIG11c3Qg
c3VjY2VlZCIsCisgIH0sCitdKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1w
b2ludGNvb3JkLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9nbHNsL3ZhcmlhYmxlcy9nbC1wb2ludGNvb3JkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2VhNzQ3MTExODAyNjc1Yzk0MGI5MjQzNjkxZDc3MzFmMDlkZTM3MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL2dsc2wvdmFyaWFibGVzL2dsLXBvaW50Y29vcmQuaHRtbApAQCAtMCwwICsxLDE2
MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3Vw
IEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu
ZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIp
LCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n
CisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg
bWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBj
b3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwg
Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiog
VEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF
RCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJ
T04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQg
T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1Ig
T1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5n
bC1wb2ludGNvb3JkIFRlc3Q8L3RpdGxlPgorICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICA8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+CisgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1
NiI+Cis8L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICA8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZl
cnRleCI+CisgICAgYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworICAgIHVuaWZvcm0gZmxvYXQg
dVBvaW50U2l6ZTsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgIGdsX1BvaW50U2l6ZSA9
IHVQb2ludFNpemU7CisgICAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICB9CisgIDwv
c2NyaXB0PgorCisgIDxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21l
bnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHZvaWQgbWFpbigpCisgICAg
eworICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgKKyAgICAgICAgZ2xfUG9pbnRDb29yZC54LAor
ICAgICAgICBnbF9Qb2ludENvb3JkLnksCisgICAgICAgIDAsCisgICAgICAgIDEpOworICAgIH0K
KyAgPC9zY3JpcHQ+CisKKyAgPHNjcmlwdD4KKyAgICAidXNlIHN0cmljdCI7CisgICAgZGVzY3Jp
cHRpb24oIkNoZWNrcyBnbF9Qb2ludENvb3JkIGFuZCBnbF9Qb2ludFNpemUiKTsKKyAgICBkZWJ1
ZygiIik7CisKKyAgICAvLyBOT1RFOiBJJ20gbm90IDEwMCUgY29uZmlkZW50IGluIHRoaXMgdGVz
dC4gSSB0aGluayBpdCBpcyBjb3JyZWN0LgorCisgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxz
OworICAgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsKKyAgICBzaG91
bGRCZU5vbk51bGwoImdsIik7CisgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKGds
LCBbInZzaGFkZXIiLCAiZnNoYWRlciJdLCBbInZQb3NpdGlvbiJdKTsKKyAgICBzaG91bGRCZSgi
Z2wuZ2V0RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOworCisgICAgdmFyIGNhbnZhcyA9IGdsLmNh
bnZhczsKKyAgICB2YXIgd2lkdGggPSBjYW52YXMud2lkdGg7CisgICAgdmFyIGhlaWdodCA9IGNh
bnZhcy5oZWlnaHQ7CisgICAgc2hvdWxkQmUoIndpZHRoIiwgImhlaWdodCIpOworCisgICAgdmFy
IG1heFBvaW50U2l6ZSA9IGdsLmdldFBhcmFtZXRlcihnbC5BTElBU0VEX1BPSU5UX1NJWkVfUkFO
R0UpWzFdOworICAgIHNob3VsZEJlVHJ1ZSgibWF4UG9pbnRTaXplID49IDEiKTsKKyAgICAvLyBU
aGUgbWluaW11bSBhbmQgbWF4aW11bSBwb2ludCBzaXplcyBtYXkgYmUgZmxvYXRpbmctcG9pbnQg
bnVtYmVycy4KKyAgICBzaG91bGRCZVRydWUoIk1hdGguZmxvb3IobWF4UG9pbnRTaXplKSA+PSAx
Iik7CisgICAgbWF4UG9pbnRTaXplID0gTWF0aC5mbG9vcihtYXhQb2ludFNpemUpOworICAgIHNo
b3VsZEJlVHJ1ZSgibWF4UG9pbnRTaXplICUgMSA9PSAwIik7CisKKyAgICBtYXhQb2ludFNpemUg
PSBNYXRoLm1pbihtYXhQb2ludFNpemUsIDY0KTsKKyAgICB2YXIgcG9pbnRXaWR0aCA9IG1heFBv
aW50U2l6ZSAvIHdpZHRoOworICAgIHZhciBwb2ludFN0ZXAgPSBNYXRoLmZsb29yKG1heFBvaW50
U2l6ZSAvIDQpOworICAgIHZhciBwb2ludFN0ZXAgPSBNYXRoLm1heCgxLCBwb2ludFN0ZXApOwor
CisgICAgdmFyIHBvaW50U2l6ZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAi
dVBvaW50U2l6ZSIpOworICAgIGdsLnVuaWZvcm0xZihwb2ludFNpemVMb2MsIG1heFBvaW50U2l6
ZSk7CisKKyAgICB2YXIgcGl4ZWxPZmZzZXQgPSAobWF4UG9pbnRTaXplICUgMikgPyAoMSAvIHdp
ZHRoKSA6IDA7CisgICAgdmFyIHZlcnRleE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICAg
IGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworICAgIGdsLmJ1
ZmZlckRhdGEoCisgICAgICAgIGdsLkFSUkFZX0JVRkZFUiwKKyAgICAgICAgbmV3IEZsb2F0MzJB
cnJheSgKKyAgICAgICAgICBbLTAuNSArIHBpeGVsT2Zmc2V0LCAtMC41ICsgcGl4ZWxPZmZzZXQs
CisgICAgICAgICAgICAwLjUgKyBwaXhlbE9mZnNldCwgLTAuNSArIHBpeGVsT2Zmc2V0LAorICAg
ICAgICAgICAtMC41ICsgcGl4ZWxPZmZzZXQsICAwLjUgKyBwaXhlbE9mZnNldCwKKyAgICAgICAg
ICAgIDAuNSArIHBpeGVsT2Zmc2V0LCAgMC41ICsgcGl4ZWxPZmZzZXRdKSwKKyAgICAgICAgZ2wu
U1RBVElDX0RSQVcpOworICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICAgIGds
LnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKworICAg
IGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKwor
ICAgIGdsLmRyYXdBcnJheXMoZ2wuUE9JTlRTLCAwLCA0KTsKKyAgICBzaG91bGRCZSgiZ2wuZ2V0
RXJyb3IoKSIsICJnbC5OT19FUlJPUiIpOworCisgICAgZnVuY3Rpb24gczJwKHMpIHsKKyAgICAg
IHJldHVybiAocyArIDEuMCkgKiAwLjUgKiB3aWR0aDsKKyAgICB9CisKKyAgICAvL2Z1bmN0aW9u
IHByaW50KHgsIHkpIHsKKyAgICAvLyAgdmFyIGIgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICAv
LyAgZ2wucmVhZFBpeGVscyh4LCB5LCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBi
KTsKKyAgICAvLyAgZGVidWcoIiIgKyB4ICsgIiwiICsgeSArICI6ICIgKyBiWzBdICsgIiwiICsg
YlsxXSArICIsIiArIGJbMl0pOworICAgIC8vfQorICAgIC8vCisgICAgLy9mb3IgKHZhciBpaSA9
IDA7IGlpIDwgMTAwOyArK2lpKSB7CisgICAgLy8gIHByaW50KGlpLCBpaSk7CisgICAgLy99CisK
KyAgICBmb3IgKHZhciBweSA9IDA7IHB5IDwgMjsgKytweSkgeworICAgICAgZm9yICh2YXIgcHgg
PSAwOyBweCA8IDI7ICsrcHgpIHsKKyAgICAgICAgZGVidWcoIiIpOworICAgICAgICB2YXIgcG9p
bnRYID0gLTAuNSArIHB4ICsgcGl4ZWxPZmZzZXQ7CisgICAgICAgIHZhciBwb2ludFkgPSAtMC41
ICsgcHkgKyBwaXhlbE9mZnNldDsKKyAgICAgICAgZm9yICh2YXIgeXkgPSAwOyB5eSA8IG1heFBv
aW50U2l6ZTsgeXkgKz0gcG9pbnRTdGVwKSB7CisgICAgICAgICAgZm9yICh2YXIgeHggPSAwOyB4
eCA8IG1heFBvaW50U2l6ZTsgeHggKz0gcG9pbnRTdGVwKSB7CisgICAgICAgICAgICAvLyBmb3Jt
dWxhIGZvciBzIGFuZCB0IGZyb20gT3BlbkdMIEVTIDIuMCBzcGVjIHNlY3Rpb24gMy4zCisgICAg
ICAgICAgICB2YXIgeHcgPSBzMnAocG9pbnRYKTsKKyAgICAgICAgICAgIHZhciB5dyA9IHMycChw
b2ludFkpOworICAgICAgICAgICAgLy9kZWJ1ZygieHc6ICIgKyB4dyArICIgeXc6ICIgKyB5dyk7
CisgICAgICAgICAgICB2YXIgdSA9IHh4IC8gbWF4UG9pbnRTaXplICogMiAtIDE7CisgICAgICAg
ICAgICB2YXIgdiA9IHl5IC8gbWF4UG9pbnRTaXplICogMiAtIDE7CisgICAgICAgICAgICB2YXIg
eGYgPSBNYXRoLmZsb29yKHMycChwb2ludFggKyB1ICogcG9pbnRXaWR0aCkpOworICAgICAgICAg
ICAgdmFyIHlmID0gTWF0aC5mbG9vcihzMnAocG9pbnRZICsgdiAqIHBvaW50V2lkdGgpKTsKKyAg
ICAgICAgICAgIC8vZGVidWcoInhmOiAiICsgeGYgKyAiIHlmOiAiICsgeWYpOworICAgICAgICAg
ICAgdmFyIHMgPSAwLjUgKyAoeGYgKyAwLjUgLSB4dykgLyBtYXhQb2ludFNpemU7CisgICAgICAg
ICAgICB2YXIgdCA9IDAuNSArICh5ZiArIDAuNSAtIHl3KSAvIG1heFBvaW50U2l6ZTsKKyAgICAg
ICAgICAgIC8vZGVidWcoInM6ICIgKyBzICsgIiB0OiAiICsgdCk7CisgICAgICAgICAgICB2YXIg
Y29sb3IgPSBbTWF0aC5mbG9vcihzICogMjU1KSwgTWF0aC5mbG9vcigoMSAtIHQpICogMjU1KSwg
MF07CisgICAgICAgICAgICB2YXIgbXNnID0gInBpeGVsICIgKyB4ZiArICIsIiArIHlmICsgIiBz
aG91bGQgYmUgIiArIGNvbG9yOworICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwg
eGYsIHlmLCAxLCAxLCBjb2xvciwgbXNnLCA0KTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICAgIH0KKyAgICB9CisKKyAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgPC9z
Y3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUEuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQ
SS1BLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzliOTk1ODdmOWUyNmRlMzBlMTc2YWJhYTQ1MTExZmFiMWQy
MTQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1B
Lmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEy
IFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFu
dGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBv
ZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo
ZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0
cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1
c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywg
c3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBN
YXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
LgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwg
QVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJ
QUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisK
Ky0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5p
dC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIu
Li91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLUEuanMi
Pjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisK
Ky8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3Jz
IHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3Vt
ZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVz
dENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0
cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1l
ICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJn
R2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0g
e307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0
IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVk
IHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlv
bihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmll
ZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAg
ICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9
CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlk
aXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAg
ICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQg
YXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291
cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxp
ZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3Nl
cnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAg
ICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVu
Y3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAg
ICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sg
PSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2
YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVy
KHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChn
ZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCBy
ZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4g
T2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBm
dW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1
cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7Cisg
ICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJy
b3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRp
b246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Nv
bmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZmNjNzRjODgyMTI5
ZWE5NThjNDE4OWQxYzIwMjgwN2JiYzgzMTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25m
b3JtYW5jZS9xdWlja0NoZWNrQVBJLUIxLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBl
PSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQ
SS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSJhcmdHZW5lcmF0b3JzLUIxLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBz
cGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRv
bWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5j
dGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBp
biBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAg
ICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBj
b250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAg
ICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUp
IGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVz
dENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JU
ZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAg
ICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBP
YmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3Jj
XSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJn
c1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAg
ICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2Vu
ZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkK
KyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rp
b24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAg
ICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAg
IHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBj
YWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3Jr
OiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2Uo
YSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtu
YW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVl
ZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5n
LiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZm
ZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAg
ICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJn
cy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsi
KSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFu
dXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3Vu
dCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxl
ZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3Jp
cHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxi
b2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tD
aGVja0FQSS1CMi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUIyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTZlZTkwOGI0MjcxNGRlZmY5NTVlNTJkOGFhNzUyYTUzMmVmNzM5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1CMi5odG1sCkBA
IC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAv
PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3Jj
PSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZh
c2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1CMi5qcyI+PC9zY3Jp
cHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVz
dCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dlbmVyYXRvcnMgd29yawor
Ly8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQgYXJndW1lbnRzCitU
ZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciByYW5kb21UZXN0Q291bnQg
PSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykgeworICAgIHRyeSB7Cisg
ICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVycm9yKG5hbWUgKyAiIGlz
IG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAgIHZhciBhcmdHZW4gPSBB
cmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmllZEFyZ3MgPSB7fTsKKyAg
ICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAgIC8vIHRlc3QgZWFjaCBH
TCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBnZW5lcmF0ZWQgdmFsaWQg
YXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4sIGZ1bmN0aW9uKGFyZ3Ms
IGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxyZWFkeVRyaWVkQ2hlY2sp
IHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFyZ3MpOworICAgICAgICAg
IGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7CisgICAgICAgIH0KKyAgICAg
ICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdmFsaWRpdHkgY2hl
Y2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2YWxpZAorICAgICAgICBp
ZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0KCJWYWxpZCBhcmdzOiAi
K25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9
KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVja0FyZ1ZhbGlkaXR5LmFw
cGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAgIC8vIGFzc2VydCB0aGF0
IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQgYXJncworICAgICAgICBh
c3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihh
KXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAg
ICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFyZ3MpOyBvayA9IHRydWU7
fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgcmV0dXJuIHZhbHVlLCBk
byBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxldGVCdWZmZXIocnYpIGFm
dGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAgICAgaWYgKGdlbi5yZXR1
cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFuaW5nIHVwIHJldHVybiB2
YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qu
dG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAgICAgIHJldHVybiBvazsK
KyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENvdW50KTsKKyAgICB9IGNh
dGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBmb3JtYXRFcnJvcihlKSk7
CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3twb3NpdGlvbjphYnNv
bHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjMuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFu
Y2UvcXVpY2tDaGVja0FQSS1CMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4NzJjOWY2YjIyYjBkMmY1OWI0
YTJmNzllOWY0NGRiNWM2ODk1ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNl
L3F1aWNrQ2hlY2tBUEktQjMuaHRtbApAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBD
b3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Np
b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp
bmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVy
aWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRp
c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxz
LCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu
b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9W
SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBP
UiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G
CisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO
RCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD
T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ
VEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUg
TUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJxdWlja0NoZWNrQVBJLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9ImFy
Z0dlbmVyYXRvcnMtQjMuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmll
ZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2Vu
ZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkg
eworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dl
bmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhy
b3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQi
KSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBh
bHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGlu
dWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQg
cmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5u
ZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAo
IWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50
b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10g
PSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBp
ZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQg
YXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAg
ICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXty
ZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAg
ICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2
OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3
aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFt
ZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpv
aW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFw
cGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNs
ZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxp
bmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFi
b3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2Vy
dE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChm
dW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7
IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJh
bmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUs
IGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxz
dHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8
L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJ
LUI0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktQjQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40NGRjYWEzN2I0NDhjM2RjYzc2ZmM5N2Q3MzU2NmVhNTBhZGRiOTM0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLUI0Lmh0bWwKQEAgLTAsMCAr
MSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2Ny
aXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0
aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3JzLUI0LmpzIj48L3NjcmlwdD4KKwor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQg
YWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVu
IGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRl
c3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsK
KyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlm
ICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2lu
ZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVy
YXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYg
KCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0
aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisg
ICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBz
ZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAg
ICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFs
cmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAg
ICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIg
b2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBh
c3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4u
Y2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsi
KCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4o
IiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2Vu
LCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVu
Y3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9r
KCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVy
biBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAg
ICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhl
cmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVz
dGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVl
Q2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFm
dGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJj
ZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdl
bi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAg
fSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkg
eworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9
CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308
L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
Y29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1DLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNr
Q2hlY2tBUEktQy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0OTQ1NTdkNTljZjkzZjAzMTcwM2U4YzczYzMz
MzAzNWFjNzQwM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hl
Y2tBUEktQy5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9
Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9y
cy1DLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3Jp
cHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdMIGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2Vu
ZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxlZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxp
ZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxpZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJh
bmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9yICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7
CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xbbmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJy
b3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9tIHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAg
dmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNbbmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVk
QXJncyA9IHt9OworICAgICAgaWYgKCFhcmdHZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAg
Ly8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdpdGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdl
bmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBhcmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwg
ZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZhcnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJl
YWR5VHJpZWRDaGVjaykgeworICAgICAgICAgIHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJn
cyk7CisgICAgICAgICAgaWYgKGFscmVhZHlUcmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgICAgICAgYWxyZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAg
ICAgICAgfQorICAgICAgICB2YXIgb2sgPSBmYWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBh
biB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQgdGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZh
bGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tBcmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQo
IlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVj
dC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNr
QXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdzKSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAg
Ly8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24gd29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBh
cmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlzIHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3Mu
bWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIiki
LAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJn
cyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAgLy8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSBy
ZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAgICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0
ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBnbC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAg
ICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5p
bmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7
cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAg
ICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAg
ICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJnR2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291
bnQpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZv
cm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0KK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFz
e3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1EX0cuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWMy
NDMzZWE5MjJmMzk2ZDViNTY0N2JmMGY2ODljNWYzOTljNzY0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNrQVBJLURfRy5odG1sCkBAIC0wLDAgKzEsODQgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1
aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWph
dmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9ycy1EX0cuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wg
ZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdHZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVk
IHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlk
QXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIgcmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3Ig
KHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMpIHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtu
YW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20g
dGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAgICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tu
YW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJpZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dl
bi5nZW5lcmF0ZSkgY29udGludWU7CisgICAgICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0
aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkgZ2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFy
Z0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2VuLCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFy
cykgeworICAgICAgICBpZiAoIWdlbi5ub0FscmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAg
dmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShhcmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRy
aWVkQXJnc1tzcmNdKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJl
YWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOworICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZh
bHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0
aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUgdmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0Fy
Z1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2VydCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdz
Lm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIp
IiwKKyAgICAgICAgICAgICAgICBnZW4uY2hlY2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3Mp
KTsKKyAgICAgICAgdmFyIHJ2OworICAgICAgICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3
b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlkIGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMg
c2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVj
dC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24o
KXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBhcmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAv
LyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAg
ICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVsZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGds
LmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAgICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVw
KQorICAgICAgICAgIGFzc2VydE9rKCJDbGVhbmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIitu
YW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSku
am9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVy
blZhbHVlQ2xlYW51cChydik7IH0pOworICAgICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdH
ZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RDb3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAg
ICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwgZm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQor
fQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+
Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3Jt
YW5jZS9xdWlja0NoZWNrQVBJLUdfSS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLUdfSS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0MWZjOWY4NGQzNzhmMGEwYTk0MjcxNDU1NjEyM2Jh
NWJmZTE4NjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tB
UEktR19JLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0i
Li4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icXVpY2tDaGVja0FQSS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJhcmdHZW5lcmF0b3Jz
LUdfSS5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0Ij4KKworLy8gVGVzdCB0aGF0IGFsbCBHTCBmdW5jdGlvbnMgc3BlY2lmaWVkIGluIEFyZ0dl
bmVyYXRvcnMgd29yaworLy8gd2hlbiBjYWxsZWQgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgdmFs
aWQgYXJndW1lbnRzCitUZXN0cy50ZXN0VmFsaWRBcmdzID0gZnVuY3Rpb24oKSB7CisgIHZhciBy
YW5kb21UZXN0Q291bnQgPSAxMDA7CisgIGZvciAodmFyIG5hbWUgaW4gQXJnR2VuZXJhdG9ycykg
eworICAgIHRyeSB7CisgICAgICBpZiAoIUdMW25hbWVdKQorICAgICAgICB0aHJvdyAobmV3IEVy
cm9yKG5hbWUgKyAiIGlzIG1pc3NpbmcgZnJvbSB0aGUgV2ViR0wgY29udGV4dCIpKTsKKyAgICAg
IHZhciBhcmdHZW4gPSBBcmdHZW5lcmF0b3JzW25hbWVdOworICAgICAgdmFyIGFscmVhZHlUcmll
ZEFyZ3MgPSB7fTsKKyAgICAgIGlmICghYXJnR2VuLmdlbmVyYXRlKSBjb250aW51ZTsKKyAgICAg
IC8vIHRlc3QgZWFjaCBHTCBmdW5jdGlvbiB3aXRoIHJhbmRvbVRlc3RDb3VudCByYW5kb21seSBn
ZW5lcmF0ZWQgdmFsaWQgYXJncworICAgICAgYXJnR2VuZXJhdG9yVGVzdFJ1bm5lcihhcmdHZW4s
IGZ1bmN0aW9uKGFyZ3MsIGdlbiwgc2V0dXBWYXJzKSB7CisgICAgICAgIGlmICghZ2VuLm5vQWxy
ZWFkeVRyaWVkQ2hlY2spIHsKKyAgICAgICAgICB2YXIgc3JjID0gT2JqZWN0LnRvU291cmNlKGFy
Z3MpOworICAgICAgICAgIGlmIChhbHJlYWR5VHJpZWRBcmdzW3NyY10pCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgICAgICAgIGFscmVhZHlUcmllZEFyZ3Nbc3JjXSA9IHRydWU7Cisg
ICAgICAgIH0KKyAgICAgICAgdmFyIG9rID0gZmFsc2U7CisgICAgICAgIC8vIGlmIHdlIGhhdmUg
YW4gdmFsaWRpdHkgY2hlY2tlciwgYXNzZXJ0IHRoYXQgdGhlIGdlbmVyYXRlZCBhcmdzIGFyZSB2
YWxpZAorICAgICAgICBpZiAoZ2VuLmNoZWNrQXJnVmFsaWRpdHkpCisgICAgICAgICAgYXNzZXJ0
KCJWYWxpZCBhcmdzOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmpl
Y3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGdlbi5jaGVj
a0FyZ1ZhbGlkaXR5LmFwcGx5KGdlbiwgYXJncykpOworICAgICAgICB2YXIgcnY7CisgICAgICAg
IC8vIGFzc2VydCB0aGF0IEdMIGZ1bmN0aW9uIHdvcmtzIHdoZW4gY2FsbGVkIHdpdGggdmFsaWQg
YXJncworICAgICAgICBhc3NlcnRPaygiVGhpcyBzaG91bGQgd29yazogIituYW1lKyIoIithcmdz
Lm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIp
IiwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbigpe3J2ID0gR0xbbmFtZV0uYXBwbHkoR0wsIGFy
Z3MpOyBvayA9IHRydWU7fSk7CisgICAgICAgIC8vIGlmIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUg
cmV0dXJuIHZhbHVlLCBkbyBpdCBoZXJlCisgICAgICAgIC8vIGUuZy4gY2FsbGluZyBnbC5kZWxl
dGVCdWZmZXIocnYpIGFmdGVyIHRlc3RpbmcgZ2wuY3JlYXRlQnVmZmVyKCkgYWJvdmUKKyAgICAg
ICAgaWYgKGdlbi5yZXR1cm5WYWx1ZUNsZWFudXApCisgICAgICAgICAgYXNzZXJ0T2soIkNsZWFu
aW5nIHVwIHJldHVybiB2YWx1ZSBhZnRlciAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEp
e3JldHVybiBPYmplY3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKCkgeyBnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKHJ2KTsgfSk7CisgICAg
ICAgIHJldHVybiBvazsKKyAgICAgIH0sIGFyZ0dlbi50ZXN0Q291bnQgfHwgcmFuZG9tVGVzdENv
dW50KTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgIHRlc3RGYWlsZWQobmFtZSwgZS5uYW1lLCBm
b3JtYXRFcnJvcihlKSk7CisgICAgfQorICB9Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZh
c3twb3NpdGlvbjphYnNvbHV0ZTt9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzwvYm9keT48L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2NvbmZvcm1hbmNlL3F1aWNrQ2hlY2tBUEktTF9TLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQ0
MjBjZWUxZjgwODdlZGFiNjNmZDljMjhkNTc2MThiMTU1MjYxMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVja0FQSS1MX1MuaHRtbApAQCAtMCwwICsxLDg0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5j
LgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29y
IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRv
IGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoq
IHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn
ZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGll
cyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl
IE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k
IHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3Bp
ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUg
TUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiog
Q0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBP
RiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBP
UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhF
UiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlw
ZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSJx
dWlja0NoZWNrQVBJLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9ImFyZ0dlbmVyYXRvcnMtTF9TLmpzIj48L3NjcmlwdD4KKworPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCisvLyBUZXN0IHRoYXQgYWxsIEdM
IGZ1bmN0aW9ucyBzcGVjaWZpZWQgaW4gQXJnR2VuZXJhdG9ycyB3b3JrCisvLyB3aGVuIGNhbGxl
ZCB3aXRoIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmd1bWVudHMKK1Rlc3RzLnRlc3RWYWxp
ZEFyZ3MgPSBmdW5jdGlvbigpIHsKKyAgdmFyIHJhbmRvbVRlc3RDb3VudCA9IDEwMDsKKyAgZm9y
ICh2YXIgbmFtZSBpbiBBcmdHZW5lcmF0b3JzKSB7CisgICAgdHJ5IHsKKyAgICAgIGlmICghR0xb
bmFtZV0pCisgICAgICAgIHRocm93IChuZXcgRXJyb3IobmFtZSArICIgaXMgbWlzc2luZyBmcm9t
IHRoZSBXZWJHTCBjb250ZXh0IikpOworICAgICAgdmFyIGFyZ0dlbiA9IEFyZ0dlbmVyYXRvcnNb
bmFtZV07CisgICAgICB2YXIgYWxyZWFkeVRyaWVkQXJncyA9IHt9OworICAgICAgaWYgKCFhcmdH
ZW4uZ2VuZXJhdGUpIGNvbnRpbnVlOworICAgICAgLy8gdGVzdCBlYWNoIEdMIGZ1bmN0aW9uIHdp
dGggcmFuZG9tVGVzdENvdW50IHJhbmRvbWx5IGdlbmVyYXRlZCB2YWxpZCBhcmdzCisgICAgICBh
cmdHZW5lcmF0b3JUZXN0UnVubmVyKGFyZ0dlbiwgZnVuY3Rpb24oYXJncywgZ2VuLCBzZXR1cFZh
cnMpIHsKKyAgICAgICAgaWYgKCFnZW4ubm9BbHJlYWR5VHJpZWRDaGVjaykgeworICAgICAgICAg
IHZhciBzcmMgPSBPYmplY3QudG9Tb3VyY2UoYXJncyk7CisgICAgICAgICAgaWYgKGFscmVhZHlU
cmllZEFyZ3Nbc3JjXSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgICAgYWxy
ZWFkeVRyaWVkQXJnc1tzcmNdID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICB2YXIgb2sgPSBm
YWxzZTsKKyAgICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB2YWxpZGl0eSBjaGVja2VyLCBhc3NlcnQg
dGhhdCB0aGUgZ2VuZXJhdGVkIGFyZ3MgYXJlIHZhbGlkCisgICAgICAgIGlmIChnZW4uY2hlY2tB
cmdWYWxpZGl0eSkKKyAgICAgICAgICBhc3NlcnQoIlZhbGlkIGFyZ3M6ICIrbmFtZSsiKCIrYXJn
cy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsi
KSIsCisgICAgICAgICAgICAgICAgZ2VuLmNoZWNrQXJnVmFsaWRpdHkuYXBwbHkoZ2VuLCBhcmdz
KSk7CisgICAgICAgIHZhciBydjsKKyAgICAgICAgLy8gYXNzZXJ0IHRoYXQgR0wgZnVuY3Rpb24g
d29ya3Mgd2hlbiBjYWxsZWQgd2l0aCB2YWxpZCBhcmdzCisgICAgICAgIGFzc2VydE9rKCJUaGlz
IHNob3VsZCB3b3JrOiAiK25hbWUrIigiK2FyZ3MubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmpl
Y3QudG9Tb3VyY2UoYSl9KS5qb2luKCIsIikrIikiLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KCl7cnYgPSBHTFtuYW1lXS5hcHBseShHTCwgYXJncyk7IG9rID0gdHJ1ZTt9KTsKKyAgICAgICAg
Ly8gaWYgd2UgbmVlZCB0byBjbGVhbnVwIHRoZSByZXR1cm4gdmFsdWUsIGRvIGl0IGhlcmUKKyAg
ICAgICAgLy8gZS5nLiBjYWxsaW5nIGdsLmRlbGV0ZUJ1ZmZlcihydikgYWZ0ZXIgdGVzdGluZyBn
bC5jcmVhdGVCdWZmZXIoKSBhYm92ZQorICAgICAgICBpZiAoZ2VuLnJldHVyblZhbHVlQ2xlYW51
cCkKKyAgICAgICAgICBhc3NlcnRPaygiQ2xlYW5pbmcgdXAgcmV0dXJuIHZhbHVlIGFmdGVyICIr
bmFtZSsiKCIrYXJncy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0p
LmpvaW4oIiwiKSsiKSIsCisgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IGdlbi5yZXR1
cm5WYWx1ZUNsZWFudXAocnYpOyB9KTsKKyAgICAgICAgcmV0dXJuIG9rOworICAgICAgfSwgYXJn
R2VuLnRlc3RDb3VudCB8fCByYW5kb21UZXN0Q291bnQpOworICAgIH0gY2F0Y2goZSkgeworICAg
ICAgdGVzdEZhaWxlZChuYW1lLCBlLm5hbWUsIGZvcm1hdEVycm9yKGUpKTsKKyAgICB9CisgIH0K
K30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO308L3N0eWxl
PgorPC9oZWFkPjxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9y
bWFuY2UvcXVpY2tDaGVja0FQSS1TX1YuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvY29uZm9ybWFuY2UvcXVpY2tDaGVj
a0FQSS1TX1YuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjI4ZWI0MmUzMTAyMzIxNzUzNjE2MDNkMmM1MmU2
MDY0YTZkMzIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9jb25mb3JtYW5jZS9xdWlja0NoZWNr
QVBJLVNfVi5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9
Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQi
IHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9InF1aWNrQ2hlY2tBUEkuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iYXJnR2VuZXJhdG9y
cy1TX1YuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCI+CisKKy8vIFRlc3QgdGhhdCBhbGwgR0wgZnVuY3Rpb25zIHNwZWNpZmllZCBpbiBBcmdH
ZW5lcmF0b3JzIHdvcmsKKy8vIHdoZW4gY2FsbGVkIHdpdGggcmFuZG9tbHkgZ2VuZXJhdGVkIHZh
bGlkIGFyZ3VtZW50cworVGVzdHMudGVzdFZhbGlkQXJncyA9IGZ1bmN0aW9uKCkgeworICB2YXIg
cmFuZG9tVGVzdENvdW50ID0gMTAwOworICBmb3IgKHZhciBuYW1lIGluIEFyZ0dlbmVyYXRvcnMp
IHsKKyAgICB0cnkgeworICAgICAgaWYgKCFHTFtuYW1lXSkKKyAgICAgICAgdGhyb3cgKG5ldyBF
cnJvcihuYW1lICsgIiBpcyBtaXNzaW5nIGZyb20gdGhlIFdlYkdMIGNvbnRleHQiKSk7CisgICAg
ICB2YXIgYXJnR2VuID0gQXJnR2VuZXJhdG9yc1tuYW1lXTsKKyAgICAgIHZhciBhbHJlYWR5VHJp
ZWRBcmdzID0ge307CisgICAgICBpZiAoIWFyZ0dlbi5nZW5lcmF0ZSkgY29udGludWU7CisgICAg
ICAvLyB0ZXN0IGVhY2ggR0wgZnVuY3Rpb24gd2l0aCByYW5kb21UZXN0Q291bnQgcmFuZG9tbHkg
Z2VuZXJhdGVkIHZhbGlkIGFyZ3MKKyAgICAgIGFyZ0dlbmVyYXRvclRlc3RSdW5uZXIoYXJnR2Vu
LCBmdW5jdGlvbihhcmdzLCBnZW4sIHNldHVwVmFycykgeworICAgICAgICBpZiAoIWdlbi5ub0Fs
cmVhZHlUcmllZENoZWNrKSB7CisgICAgICAgICAgdmFyIHNyYyA9IE9iamVjdC50b1NvdXJjZShh
cmdzKTsKKyAgICAgICAgICBpZiAoYWxyZWFkeVRyaWVkQXJnc1tzcmNdKQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICAgICAgICBhbHJlYWR5VHJpZWRBcmdzW3NyY10gPSB0cnVlOwor
ICAgICAgICB9CisgICAgICAgIHZhciBvayA9IGZhbHNlOworICAgICAgICAvLyBpZiB3ZSBoYXZl
IGFuIHZhbGlkaXR5IGNoZWNrZXIsIGFzc2VydCB0aGF0IHRoZSBnZW5lcmF0ZWQgYXJncyBhcmUg
dmFsaWQKKyAgICAgICAgaWYgKGdlbi5jaGVja0FyZ1ZhbGlkaXR5KQorICAgICAgICAgIGFzc2Vy
dCgiVmFsaWQgYXJnczogIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2Jq
ZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAgICAgICBnZW4uY2hl
Y2tBcmdWYWxpZGl0eS5hcHBseShnZW4sIGFyZ3MpKTsKKyAgICAgICAgdmFyIHJ2OworICAgICAg
ICAvLyBhc3NlcnQgdGhhdCBHTCBmdW5jdGlvbiB3b3JrcyB3aGVuIGNhbGxlZCB3aXRoIHZhbGlk
IGFyZ3MKKyAgICAgICAgYXNzZXJ0T2soIlRoaXMgc2hvdWxkIHdvcms6ICIrbmFtZSsiKCIrYXJn
cy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIE9iamVjdC50b1NvdXJjZShhKX0pLmpvaW4oIiwiKSsi
KSIsCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKXtydiA9IEdMW25hbWVdLmFwcGx5KEdMLCBh
cmdzKTsgb2sgPSB0cnVlO30pOworICAgICAgICAvLyBpZiB3ZSBuZWVkIHRvIGNsZWFudXAgdGhl
IHJldHVybiB2YWx1ZSwgZG8gaXQgaGVyZQorICAgICAgICAvLyBlLmcuIGNhbGxpbmcgZ2wuZGVs
ZXRlQnVmZmVyKHJ2KSBhZnRlciB0ZXN0aW5nIGdsLmNyZWF0ZUJ1ZmZlcigpIGFib3ZlCisgICAg
ICAgIGlmIChnZW4ucmV0dXJuVmFsdWVDbGVhbnVwKQorICAgICAgICAgIGFzc2VydE9rKCJDbGVh
bmluZyB1cCByZXR1cm4gdmFsdWUgYWZ0ZXIgIituYW1lKyIoIithcmdzLm1hcChmdW5jdGlvbihh
KXtyZXR1cm4gT2JqZWN0LnRvU291cmNlKGEpfSkuam9pbigiLCIpKyIpIiwKKyAgICAgICAgICAg
ICAgICAgICBmdW5jdGlvbigpIHsgZ2VuLnJldHVyblZhbHVlQ2xlYW51cChydik7IH0pOworICAg
ICAgICByZXR1cm4gb2s7CisgICAgICB9LCBhcmdHZW4udGVzdENvdW50IHx8IHJhbmRvbVRlc3RD
b3VudCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICB0ZXN0RmFpbGVkKG5hbWUsIGUubmFtZSwg
Zm9ybWF0RXJyb3IoZSkpOworICAgIH0KKyAgfQorfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52
YXN7cG9zaXRpb246YWJzb2x1dGU7fTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8L2JvZHk+PC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvYnVmZmVyRGF0YUJhZEFyZ3MuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21vcmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjY3NmU3
NzkwNWI0NjEzNGFjYjBiYjlmMzI4NmNkN2E0Y2FiMzUxOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2J1ZmZlckRhdGFCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSw3OSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFw
cGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5z
dGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZ2wnKTsKKyAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2Fu
dmFzKSk7CisgIHZhciBidWYgPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAgdmFyIGVidWYgPSBnbC5j
cmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1Zik7Cisg
IGdsLmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIGVidWYpOworICByZXR1cm4g
W2dsLCBidWYsIGVidWZdOworfQorCitUZXN0cy50ZXN0QnVmZmVyRGF0YSA9IGZ1bmN0aW9uKGds
KSB7CisgICAgYXNzZXJ0T2soInplcm8gc2l6ZSBkYXRhIiwKKyAgICAgICAgZnVuY3Rpb24oKXtn
bC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheSgwKSwgZ2wuU1RB
VElDX0RSQVcpO30pOworICAgIGFzc2VydEZhaWwoImJhZCB0YXJnZXQiLAorICAgICAgICBmdW5j
dGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuVEVYVFVSRV8yRCwgbmV3IEZsb2F0MzJBcnJheShbMSwy
LDNdKSwgZ2wuU1RBVElDX0RSQVcpO30pOworLy8gICAgYXNzZXJ0RmFpbCgiYXJyYXkgZm9yIGRh
dGEiLAorLy8gICAgICAgIGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIs
IFsxLDIsM10sIGdsLlNUQVRJQ19EUkFXKTt9KTsKKyAgICBhc3NlcnRGYWlsKCJiYWQgdXNhZ2Ui
LAorICAgICAgICBmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcg
RmxvYXQzMkFycmF5KFsxLDIsM10pLCBnbC5URVhUVVJFXzJEKTt9KTsKKyAgICBhc3NlcnRGYWls
KCJudWxsIGRhdGEiLAorICAgICAgICBmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlf
QlVGRkVSLCBudWxsLCBnbC5TVEFUSUNfRFJBVyk7fSk7CisgICAgYXNzZXJ0RmFpbCgidW5kZWZp
bmVkIGRhdGEiLAorICAgICAgICBmdW5jdGlvbigpe2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVG
RkVSLCB1bmRlZmluZWQsIGdsLlNUQVRJQ19EUkFXKTt9KTsKKyAgICBhc3NlcnRPayhmdW5jdGlv
bigpe2dsLmJ1ZmZlckRhdGEoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJy
YXkoWzEsMiwzXSksIGdsLlNUQVRJQ19EUkFXKTt9KTsKKyAgICB0aHJvd0Vycm9yKGdsLCAnYnVm
ZmVyRGF0YScpOworICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBudWxsKTsKKyAg
ICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5l
dyBGbG9hdDMyQXJyYXkoWzEsMiwzXSksIGdsLlNUQVRJQ19EUkFXKTt9KTsKKyAgICB0aHJvd0Vy
cm9yKGdsLCAnYnVmZmVyRGF0YScpOworICAgIGdsLmJpbmRCdWZmZXIoZ2wuRUxFTUVOVF9BUlJB
WV9CVUZGRVIsIG51bGwpOworICAgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5idWZmZXJEYXRh
KGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBuZXcgVWludDE2QXJyYXkoWzEsMiwzXSksIGdsLlNU
QVRJQ19EUkFXKTt9KTsKKyAgICB0aHJvd0Vycm9yKGdsLCAnYnVmZmVyRGF0YScpOworfQorCitU
ZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wsIGJ1ZiwgZWJ1ZikgeworICAgIGdsLmRlbGV0ZUJ1
ZmZlcihidWYpOworICAgIGdsLmRlbGV0ZUJ1ZmZlcihlYnVmKTsKK30KKworCis8L3NjcmlwdD4K
KzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9k
eT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9i
b2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhJbWFnZTJELmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1YTRm
MmZjMDY2YWYxZTVjN2RjNTIzMThkZTAyOTExYjU4Yjg1MjEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyRC5odG1sCkBAIC0wLDAgKzEsMTMwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0
YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52
YXMpKTsKKyAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsK
KyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV8yRCwgdGV4KTsKKyAgdmFyIHRleEN1YmVNYXAgPSBnbC5jcmVhdGVUZXh0dXJlKCk7Cisg
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRleEN1YmVNYXApOworICByZXR1
cm4gW2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLHRleCwgdGV4Q3ViZU1h
cCkgeworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgZ2wuYmluZFRl
eHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgbnVsbCk7CisgIGdsLmRlbGV0ZVRleHR1cmUodGV4
KTsKKyAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXhDdWJlTWFwKTsKK30KKworVGVzdHMudGVzdFRleElt
YWdlMkQgPSBmdW5jdGlvbihnbCkgeworICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCAwLDAsMSwxLDApOworICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBnbC5SR0JBLCAwLDAsMiwxLDApOworICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhU
VVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsMSwyLDApOworICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsMTYsMTYsMCk7CisgIGdsLmNvcHlUZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDE1LDE1LDEsMSwwKTsKKyAgdmFyIHZhbGlkX3Rh
cmdldHMgPSBbCisgICAgZ2wuVEVYVFVSRV8yRCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BP
U0lUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgIGdsLlRF
WFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FU
SVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfTkVHQVRJVkVfWgorICBdOworICB2YWxpZF90YXJnZXRzLmZvckVhY2goZnVu
Y3Rpb24odCkgeworICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuY29weVRleEltYWdlMkQodCwg
MCwgZ2wuUkdCQSwgMCwwLDEsMSwwKTt9KTsKKyAgfSk7Cit9CitUZXN0cy50ZXN0Um91bmR0cmlw
ID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgc2ggPSBuZXcgRmlsdGVyKGdsLCAnaWRlbnRpdHkt
ZmxpcC12ZXJ0JywgJ2lkZW50aXR5LWZyYWcnKTsKKyAgICBnbC5jbGVhckNvbG9yKDEuMCwgMC4w
LCAwLjAsIDEuMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgdmFy
IGJ1ZiA9IG5ldyBVaW50OEFycmF5KDQpOworICAgIGdsLnJlYWRQaXhlbHMoMCwwLDEsMSxnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIGFzc2VydEVxdWFscyhbMjU1LDAsMCwy
NTVdLCBbYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdXSk7CisgICAgLy8gcmVkIHRleHR1
cmUKKyAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAs
MTYsMTYsMCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJF
X1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhU
VVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgZ2wudGV4
UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLkxJTkVB
Uik7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9G
SUxURVIsIGdsLkxJTkVBUik7CisgICAgZ2wuY2xlYXJDb2xvcigwLjAsIDAuMCwgMS4wLCAxLjAp
OworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAgIC8vIGJsdWUgZnJhbWVi
dWZmZXIKKyAgICBnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllU
RSwgYnVmKTsKKyAgICBhc3NlcnRFcXVhbHMoWzAsMCwyNTUsMjU1XSwgW2J1ZlswXSwgYnVmWzFd
LCBidWZbMl0sIGJ1ZlszXV0pOworICAgIHNoLmFwcGx5KCk7IC8vIHBhaW50IGl0IHdpdGggdGV4
dHVyZQorICAgIGdsLnJlYWRQaXhlbHMoMCwwLDEsMSxnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRF
LCBidWYpOworICAgIGFzc2VydEVxdWFscyhbMjU1LDAsMCwyNTVdLCBbYnVmWzBdLCBidWZbMV0s
IGJ1ZlsyXSwgYnVmWzNdXSk7CisgICAgc2guZGVzdHJveSgpOworfQorCitUZXN0cy5lbmRVbml0
ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1m
bGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRl
eDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwordmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQg
bWFpbigpCit7CisgICAgdGV4Q29vcmQwID0gdmVjNChUZXgucywgMS4wLVRleC50LCAwLjAsIDAu
MCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRleCwgMS4wKTsKK30KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iaWRlbnRpdHktZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+Citw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwordW5pZm9ybSBzYW1wbGVyMkQgVGV4dHVyZTsKKwor
dmFyeWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdmVjNCBjID0gdGV4
dHVyZTJEKFRleHR1cmUsIHRleENvb3JkMC5zdCk7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsKK30K
Kzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgor
PC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9j
YW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRl
eEltYWdlMkRCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9jb3B5VGV4SW1hZ2UyREJhZEFy
Z3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zYjRkY2MyMmU5YWUwMDE2MjcxODVmODFlZGYxY2E5NzJiMzhh
MTFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleEltYWdlMkRCYWRB
cmdzLmh0bWwKQEAgLTAsMCArMSwxMDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4u
L3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgewor
ICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIg
Z2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgICByZXR1cm4gW2ds
XTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCkgeworICB2YXIgdGV4ID0gZ2wuY3Jl
YXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICBy
ZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLHRleCkgeworICBn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgZ2wuZGVsZXRlVGV4dHVyZSh0
ZXgpOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgYXNz
ZXJ0T2soImhlaWdodCA+IGJhY2tIZWlnaHQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC5jb3B5
VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsIDE3LDEsMCk7CisgICAg
fSk7CisgICAgYXNzZXJ0T2soIndpZHRoID4gYmFja1dpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwwLCAxLDE3
LDApOworICAgIH0pOworICAgIGFzc2VydE9rKCJ4ICsgd2lkdGggPiBiYWNrV2lkdGgiLCBmdW5j
dGlvbigpeworICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCAxNiwwLCAxLDEsMCk7CisgICAgfSk7CisgICAgYXNzZXJ0T2soInkgKyBoZWlnaHQgPiBi
YWNrSGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwxNiwgMSwxLDApOworICAgIH0pOworICAgIGFzc2VydE9r
KCJOZWdhdGl2ZSBYIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgLTEsMCwgMSwxLDApOworICAgIH0pOworICAgIGFzc2Vy
dE9rKCJOZWdhdGl2ZSBZIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwtMSwgMSwxLDApOworICAgIH0pOworICAgIGFz
c2VydEZhaWwoIk5lZ2F0aXZlIGhlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlU
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwgLTEsMSwwKTsKKyAgICB9
KTsKKyAgICBhc3NlcnRGYWlsKCJOZWdhdGl2ZSB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAg
IGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwgMSwtMSww
KTsKKyAgICB9KTsKKyAgICBhc3NlcnRGYWlsKCJOb24gMCBib3JkZXIiLCBmdW5jdGlvbigpewor
ICAgICAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAs
IDEsMSwxKTsKKyAgICB9KTsKKyAgICBhc3NlcnRGYWlsKCJOZWdhdGl2ZSBib3JkZXIiLGZ1bmN0
aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIDAsMCwgMSwxLC0xKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygiR29vZCBBcmdzIiwgZnVu
Y3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wu
UkdCQSwgMCwwLCAxNiwxNiwwKTsKKyAgICB9KTsKKyAgICBhc3NlcnRGYWlsKCJOUE9UIHRleHR1
cmUgdG8gPiBsZXZlbCAwIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMSwgZ2wuUkdCQSwgMCwwLCAxNSwxNiwwKTsKKyAgICB9KTsKKyAgICBh
c3NlcnRGYWlsKCJCYWQgdGFyZ2V0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleElt
YWdlMkQoZ2wuRkxPQVQsIDAsIGdsLlJHQkEsIDAsMCwgMTYsMTYsMCk7CisgICAgfSk7CisgICAg
YXNzZXJ0RmFpbCgiQmFkIGludGVybmFsIGZvcm1hdCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGds
LmNvcHlUZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLkZMT0FULCAwLDAsIDE2LDE2LDAp
OworICAgIH0pOworICAgIGFzc2VydEZhaWwoIk5lZ2F0aXZlIGxldmVsIiwgZnVuY3Rpb24oKXsK
KyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgLTEsIGdsLlJHQkEsIDAs
MCwgMTYsMTYsMCk7CisgICAgfSk7Cit9CisKKworVGVzdHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGds
KSB7Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08
L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0
PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvY29weVRleFN1YkltYWdlMkQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFn
ZTJELmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWQ1MWIzZWFiOWNiNDNhOWVmYmIxNjZiMGFmYzM2OGE4ZTBj
OWQ4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFnZTJE
Lmh0bWwKQEAgLTAsMCArMSwxNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Vu
aXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0i
Li4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICB2
YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZhciBnbCA9IHdy
YXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICByZXR1cm4gW2dsXTsKK30KKwor
VGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCkgeworICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVy
ZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICB2YXIgdGV4Q3Vi
ZU1hcCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9D
VUJFX01BUCwgdGV4Q3ViZU1hcCk7CisgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3du
ID0gZnVuY3Rpb24oZ2wsdGV4LHRleEN1YmVNYXApIHsKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVY
VFVSRV8yRCwgbnVsbCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG51
bGwpOworICBnbC5kZWxldGVUZXh0dXJlKHRleCk7CisgIGdsLmRlbGV0ZVRleHR1cmUodGV4Q3Vi
ZU1hcCk7Cit9CisKKworVGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlvbihnbCkgeworICBn
bC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLDAsMTYsMTYsMCk7
CisgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLDEsMSk7
CisgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLDIsMSk7
CisgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLDEsMik7
CisgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwwLDE2LDE2
KTsKKyAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAxNSwxNSwx
LDEpOworICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAxLDEsIDAsMCwx
NSwxNSk7CisgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDE1LDE1LCAw
LDAsMSwxKTsKKyAgdmFyIHZhbGlkX3RhcmdldHMgPSBbCisgICAgZ2wuVEVYVFVSRV8yRCwKKyAg
ICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgZ2wuVEVYVFVSRV9DVUJFX01B
UF9ORUdBVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICBn
bC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9Q
T1NJVElWRV9aLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWgorICBdOworICB2
YWxpZF90YXJnZXRzLmZvckVhY2goZnVuY3Rpb24odCkgeworICAgIGFzc2VydE9rKGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLmNvcHlUZXhJbWFnZTJEKHQsIDAsIGdsLlJHQkEsIDAsMCwxLDEsMCk7
CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKHQsIDAsIDAsMCwwLDAsMSwxKTsKKyAgICB9
KTsKKyAgfSk7Cit9CitUZXN0cy50ZXN0Um91bmR0cmlwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2
YXIgc2ggPSBuZXcgRmlsdGVyKGdsLCAnaWRlbnRpdHktZmxpcC12ZXJ0JywgJ2lkZW50aXR5LWZy
YWcnKTsKKyAgICBnbC5jbGVhckNvbG9yKDEuMCwgMC4wLCAwLjAsIDEuMCk7CisgICAgZ2wuY2xl
YXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7CisgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KDQp
OworICAgIGdsLnJlYWRQaXhlbHMoMCwwLDEsMSxnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBi
dWYpOworICAgIGFzc2VydEVxdWFscyhbMjU1LDAsMCwyNTVdLCBbYnVmWzBdLCBidWZbMV0sIGJ1
ZlsyXSwgYnVmWzNdXSk7CisgICAgLy8gcmVkIHRleHR1cmUKKyAgICBnbC5jbGVhckNvbG9yKDAu
MCwgMC4wLCAwLjAsIDAuMCk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7Cisg
ICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5V
TlNJR05FRF9CWVRFLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2wnKSk7CisgICAgZ2wuY2xl
YXJDb2xvcigxLjAsIDAuMCwgMC4wLCAxLjApOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZF
Ul9CSVQpOworICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCww
LDAsMTYsMTYpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVS
RV9XUkFQX1MsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVY
VFVSRV8yRCwgZ2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworICAgIGdsLnRl
eFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5MSU5F
QVIpOworICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5f
RklMVEVSLCBnbC5MSU5FQVIpOworICAgIGdsLmNsZWFyQ29sb3IoMC4wLCAwLjAsIDEuMCwgMS4w
KTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICAvLyBibHVlIGZyYW1l
YnVmZmVyCisgICAgZ2wucmVhZFBpeGVscygwLDAsMSwxLGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZ
VEUsIGJ1Zik7CisgICAgYXNzZXJ0RXF1YWxzKFswLDAsMjU1LDI1NV0sIFtidWZbMF0sIGJ1Zlsx
XSwgYnVmWzJdLCBidWZbM11dKTsKKyAgICBzaC5hcHBseSgpOyAvLyBwYWludCB3aXRoIHRleHR1
cmUKKyAgICBnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
YnVmKTsKKyAgICBhc3NlcnRFcXVhbHMoWzI1NSwwLDAsMjU1XSwgW2J1ZlswXSwgYnVmWzFdLCBi
dWZbMl0sIGJ1ZlszXV0pOworICAgIHNoLmRlc3Ryb3koKTsKK30KKworVGVzdHMuZW5kVW5pdCA9
IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktZmxp
cC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjMyBWZXJ0ZXg7
CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1h
aW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQoVGV4LnMsIDEuMC1UZXgudCwgMC4wLCAwLjAp
OworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7Cit9Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgaWQ9ImlkZW50aXR5LWZyYWciIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2FtcGxlcjJEIFRleHR1cmU7CisKK3Zh
cnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHZlYzQgYyA9IHRleHR1
cmUyRChUZXh0dXJlLCB0ZXhDb29yZDAuc3QpOworICAgIGdsX0ZyYWdDb2xvciA9IGM7Cit9Cis8
L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwv
aGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2Fu
dmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhT
dWJJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvY29weVRleFN1YkltYWdlMkRC
YWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDJjNDc0YzU1NDA5NWUxMmY3MjVmYmFjZmM5OThiMDhm
ZTczYjIyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2NvcHlUZXhTdWJJbWFn
ZTJEQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsMTExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBo
cmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2Ny
aXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9u
ICgpIHsKKyAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7Cisg
ICAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRleHQoY2FudmFzKSk7CisgICAgcmV0
dXJuIFtnbF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgdGV4
ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQs
IHRleCk7CisgICAgcmV0dXJuIFtnbF0KK30KKworVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihn
bCx0ZXgpIHsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBn
bC5kZWxldGVUZXh0dXJlKHRleCk7Cit9CisKK1Rlc3RzLnRlc3RUZXhJbWFnZTJEID0gZnVuY3Rp
b24oZ2wpIHsKKyAgICBnbC5jb3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JB
LCAwLDAsIDE2LDE2LCAwKTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVF
LCAid2lkdGggPiBkc3QgdGV4IHdpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRl
eFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDAsIDE3LDEpOworICAgIH0pOwor
ICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJoZWlnaHQgPiBkc3QgdGV4
IGhlaWdodCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIDAsMCwgMCwwLCAxLDE3KTsKKyAgICB9KTsKKyAgICAvLyBUaGUgc3BlYyBz
YXlzIHRoZSBzb3VyY2UgaW1hZ2UgZGltZW5zaW9ucyBjYW4gYmUgb3V0IG9mIHJhbmdlLgorICAg
IGFzc2VydE9rKCJ4ID4gZHN0IHRleCB3aWR0aCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNv
cHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMTYsMCwgMSwxKTsKKyAgICB9
KTsKKyAgICBhc3NlcnRPaygieSA+IGRzdCB0ZXggd2lkdGgiLCBmdW5jdGlvbigpeworICAgICAg
ICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIDAsMTYsIDEsMSk7
CisgICAgfSk7CisgICAgYXNzZXJ0T2soInggPCAwIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wu
Y29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAtMSwwLCAxLDEpOworICAg
IH0pOworICAgIGFzc2VydE9rKCJ5IDwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlU
ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMCwtMSwgMSwxKTsKKyAgICB9KTsK
KyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAid2lkdGggPCAwIiwgZnVu
Y3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
MCwwLCAwLDAsIC0xLDEpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFM
SURfVkFMVUUsICJoZWlnaHQgPCAwIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1
YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDAsIDEsLTEpOworICAgIH0pOworICAg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJ4b2Zmc2V0IDwgMCIsIGZ1bmN0
aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIC0x
LDAsIDAsMCwgMTYsMTYpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFM
SURfVkFMVUUsICJ5b2Zmc2V0IDwgMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhT
dWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsLTEsIDAsMCwgMTYsMTYpOworICAgIH0pOwor
ICAgIGFzc2VydE9rKCJ4IDwgMCBmdWxsIHdpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wu
Y29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAtMSwwLCAxNiwxNik7Cisg
ICAgfSk7CisgICAgYXNzZXJ0T2soInkgPCAwIGZ1bGwgaGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAg
ICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLC0xLCAx
NiwxNik7CisgICAgfSk7CisgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29w
eVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAwLDAsIDE2LDE2KTsKKyAgICB9
KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX0VOVU0sICJiYWQgdGFyZ2V0Iiwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuRkxPQVQsIDAsIDAs
MCwgMCwwLCAxNiwxNik7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9WQUxVRSwgIiIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLmNvcHlUZXhTdWJJbWFnZTJEKGds
LlRFWFRVUkVfMkQsIC0xLCAwLDAsIDAsMCwgMTYsMTYpOworICAgIH0pOworfQorCisKK1Rlc3Rz
LmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzdHlsZT5jYW52YXN7
IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9
ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL2RlbGV0ZUJ1ZmZlckJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTBjYmMwMWQ4
OGRjMmI4ZmE3MjFiMjZkYWFmNTY4MWI0NTgxNjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9m
dW5jdGlvbnMvZGVsZXRlQnVmZmVyQmFkQXJncy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
dHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3Rh
cnRVbml0ID0gZnVuY3Rpb24gKCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2dsJyk7CisgIHZhciBnbCA9IGdldEdMQ29udGV4dChjYW52YXMpOworICByZXR1cm4g
W2dsXTsKK30KKworVGVzdHMudGVzdERlbGV0ZUJ1ZmZlciA9IGZ1bmN0aW9uKGdsKSB7CisgIGFz
c2VydFRocm93Tm9HTEVycm9yKGdsLCAibnVtYmVyICIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1
ZmZlcigxKTsgfSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAibnVsbCIsIGZ1
bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcihudWxsKTsgfSk7CisgIGFzc2VydFRocm93Tm9HTEVy
cm9yKGdsLCAiMCIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcigwKTsgfSk7CisgIGFzc2Vy
dFRocm93Tm9HTEVycm9yKGdsLCAiZmFsc2UiLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIo
ZmFsc2UpOyB9KTsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0cnVlIiwgZnVuY3Rpb24o
KXsgZ2wuZGVsZXRlQnVmZmVyKHRydWUpOyB9KTsKKyAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2ws
ICJ7fSIsIGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcih7fSk7IH0pOworICB2YXIgdGV4ID0g
Z2wuY3JlYXRlVGV4dHVyZSgpOworICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgInRleCBhcyBi
dWYiLCBmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIodGV4KTsgfSk7CisgIHZhciBidWYgPSBn
bC5jcmVhdGVCdWZmZXIoKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXsgZ2wuZGVsZXRlQnVmZmVy
KGJ1Zik7IH0pOworICBhc3NlcnRPayhmdW5jdGlvbigpeyBnbC5kZWxldGVCdWZmZXIoYnVmKTsg
fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7IGdsLmRlbGV0ZUJ1ZmZlcihidWYpOyB9KTsKKyAg
YXNzZXJ0T2soZnVuY3Rpb24oKXsgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOyB9KTsKK30KKworVGVz
dHMuZW5kVW5pdCA9IGZ1bmN0aW9uKGdsKSB7Cit9CisKKzwvc2NyaXB0PgorPHN0eWxlPmNhbnZh
c3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxlPgorPC9oZWFkPjxib2R5PgorPGNhbnZhcyBp
ZD0iZ2wiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0FycmF5cy5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlv
bnMvZHJhd0FycmF5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhNWMxZDhkZTJlZDliOWY3YzZhMDhkMGIz
MmE5NDdjYzIxMDZmZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3QXJy
YXlzLmh0bWwKQEAgLTAsMCArMSwxMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4u
L3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0Ij4KKwordmFyIHZlcnRzID0gWzAuMCwgMC4wLCAwLjAsICAgMS4w
LCAwLjAsIDAuMCwgICAwLjAsIDEuMCwgMC4wXTsKK3ZhciBub3JtYWxzID0gWzAuMCwgMC4wLCAx
LjAsICAgMC4wLCAwLjAsIDEuMCwgICAwLjAsIDAuMCwgMS4wXTsKK3ZhciB0ZXhjb29yZHMgPSBb
MC4wLDAuMCwgIDEuMCwwLjAsICAwLjAsMS4wXTsKKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rp
b24gKCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7Cisg
IHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICB2YXIgcHJv
ZyA9IG5ldyBTaGFkZXIoZ2wsICd2ZXJ0JywgJ2ZyYWcnKTsKKyAgcHJvZy51c2UoKTsKKyAgdmFy
IHNoID0gcHJvZy5zaGFkZXIucHJvZ3JhbTsKKy8vICAgbG9nKGdsLmdldFNoYWRlckluZm9Mb2co
cHJvZy5zaGFkZXJzWzFdKSk7CisgIHZhciB2ID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdW
ZXJ0ZXgnKTsKKyAgdmFyIG4gPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihzaCwgJ05vcm1hbCcpOwor
ICB2YXIgdCA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnVGV4Jyk7CisgIHJldHVybiBbZ2ws
cHJvZyx2LG4sdF07Cit9CisKK1Rlc3RzLnNldHVwID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0
KSB7CisgIGFzc2VydCgwID09IGdsLmdldEVycm9yKCkpOworICByZXR1cm4gW2dsLCBwcm9nLCB2
LG4sdF07Cit9CitUZXN0cy50ZWFyZG93biA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgewor
ICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRy
aWJBcnJheShuKTsKKyAgZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworfQorCitUZXN0
cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHByb2cuZGVzdHJveSgp
OworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5c1ZCTyA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4s
dCkgeworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2Vz
fSk7CisgIHZiby5kcmF3KHYpOworICBhc3NlcnQoMCA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRy
YXciKSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMs
IDUsIDEpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5H
TEVTLCAwLCAyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgMCwgNik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDEsIDUpO30pOworICB2Ym8uZGVzdHJveSgpOworICBhc3NlcnQoMCA9PSBj
aGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlz
VkJPTXVsdGkgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgLy8gY3JlYXRlcyBWQk9z
IGZvciB0aGUgcXVhZCBhcnJheXMsIGJpbmRzIHRoZW0gd2l0aAorICAvLyB2ZXJ0ZXhBdHRyaWJQ
b2ludGVyIGFuZCBjYWxscyBkcmF3QXJyYXlzCisgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLAorICAg
IHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30sCisgICAge3NpemU6MywgZGF0YTpRdWFkLm5v
cm1hbHN9LAorICAgIHtzaXplOjIsIGRhdGE6UXVhZC50ZXhjb29yZHN9KTsKKyAgdmJvLmRyYXco
diwgbiwgdCk7CisgIGFzc2VydCgwID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZHJhdyIpKTsKKyAg
YXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNSwgMSk7fSk7
CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDIp
O30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAw
LCA2KTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xF
UywgMSwgNSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgMSwgNik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgNiwgMSk7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCB2Ym8udmJvc1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQs
IGZhbHNlLCAwLCAwKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgNSwgMSk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhn
bC5UUklBTkdMRVMsIDAsIDIpO30pOworICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMSwgNik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rp
b24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNiwgMSk7fSk7CisgIHZiby5kZXN0cm95
KCk7CisgIGFzc2VydCgwID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4K
KyAgYXR0cmlidXRlIHZlYzMgVmVydGV4OworICBhdHRyaWJ1dGUgdmVjMyBOb3JtYWw7CisgIGF0
dHJpYnV0ZSB2ZWMyIFRleDsKKworICB2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOworICB2b2lkIG1h
aW4oKQorICB7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZlcnRleCAqIE5vcm1hbCwgMS4wKTsK
KyAgICB0ZXhDb29yZDAgPSB2ZWM0KFRleCwwLjAsMC4wKSArIGdsX1Bvc2l0aW9uOworICB9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWciIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgor
ICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKworICB2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwor
ICB2b2lkIG1haW4oKQorICB7CisgICAgdmVjNCBjID0gdGV4Q29vcmQwOworICAgIGdsX0ZyYWdD
b2xvciA9IGM7CisgIH0KKzwvc2NyaXB0PgorCisKKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFi
c29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKyAgPGNhbnZhcyBpZD0iZ2wiIHdpZHRo
PSIxIiBoZWlnaHQ9IjEiPjwvY2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMv
ZHJhd0FycmF5c091dE9mQm91bmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQzZWU4NTc2NzQwOTA4Y2Ix
MDAwYWY0ZWYyYTZmODc2ZTk4ODE0NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdBcnJheXNPdXRPZkJvdW5kcy5odG1sCkBAIC0wLDAgKzEsMzA1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8q
CisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBl
cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u
IG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQg
ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhl
IE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGlt
aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK
KyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0
ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBh
cmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
c2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3Rh
bnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFS
RSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9S
UyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwK
KyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU
SU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9
InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK3ZhciB2ZXJ0cyA9IFsw
LjAsIDAuMCwgMC4wLCAgIDEuMCwgMC4wLCAwLjAsICAgMC4wLCAxLjAsIDAuMF07Cit2YXIgbm9y
bWFscyA9IFswLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMF07
Cit2YXIgdGV4Y29vcmRzID0gWzAuMCwwLjAsICAxLjAsMC4wLCAgMC4wLDEuMF07CisKK3ZhciB2
ZXJ0c0EgPSBuZXcgRmxvYXQzMkFycmF5KHZlcnRzKTsKK3ZhciBub3JtYWxzQSA9IG5ldyBGbG9h
dDMyQXJyYXkobm9ybWFscyk7Cit2YXIgdGV4Y29vcmRzQSA9IG5ldyBGbG9hdDMyQXJyYXkodGV4
Y29vcmRzKTsKKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24gKCkgeworICB2YXIgY2FudmFz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZhciBnbCA9IHdyYXBHTENvbnRl
eHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICB2YXIgcHJvZyA9IG5ldyBTaGFkZXIoZ2wsICd2
ZXJ0JywgJ2ZyYWcnKTsKKyAgcHJvZy51c2UoKTsKKyAgdmFyIHYgPSBwcm9nLmF0dHJpYignVmVy
dGV4Jyk7CisgIHZhciBuID0gcHJvZy5hdHRyaWIoJ05vcm1hbCcpOworICB2YXIgdCA9IHByb2cu
YXR0cmliKCdUZXgnKTsKKyAgcmV0dXJuIFtnbCxwcm9nLHYsbix0XTsKK30KKworVGVzdHMuc2V0
dXAgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgcmV0dXJuIFtnbCwgcHJvZywgdixu
LHRdOworfQorVGVzdHMudGVhcmRvd24gPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAg
Z2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmli
QXJyYXkobik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKK30KKworVGVzdHMu
ZW5kVW5pdCA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBwcm9nLmRlc3Ryb3koKTsK
K30KKworVGVzdHMudGVzdERyYXdBcnJheXNFbXB0eSA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4s
dCkgeworICB2YXIgYiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFS
UkFZX0JVRkZFUiwgYik7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcgRmxv
YXQzMkFycmF5KFtdKSwgZ2wuU1RBVElDX0RSQVcpOworICBhc3NlcnRPayhmdW5jdGlvbigpe2ds
LnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTt9KQorICBn
bC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sICJ6ZXJvIHNpemUgYXJyYXkiLAorICAgICAgZnVuY3Rpb24oKXtnbC5k
cmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMSk7fSk7CisgIGdsLmRlbGV0ZUJ1ZmZlcihiKTsK
K30KKworVGVzdHMudGVzdERyYXdBcnJheXNPdXRPZkJvdW5kcyA9IGZ1bmN0aW9uKGdsLCBwcm9n
LCB2LG4sdCkgeworICB2YXIgYiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVy
KGdsLkFSUkFZX0JVRkZFUiwgYik7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBu
ZXcgRmxvYXQzMkFycmF5KFtdKSwgZ2wuU1RBVElDX0RSQVcpOworICBhc3NlcnRPayhmdW5jdGlv
bigpe2dsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTt9
KTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGFzc2VydEdMRXJyb3IoZ2ws
IGdsLklOVkFMSURfT1BFUkFUSU9OLCAiemVybyBzaXplIGFycmF5IiwKKyAgICAgIGZ1bmN0aW9u
KCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEpO30pOworICBhc3NlcnRHTEVycm9y
KGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gc2l6ZSBhcnJheSAxMDAwMCIsCisgICAg
ICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAxMDAwMCk7fSk7Cisg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiemVybyBzaXplIGFycmF5
IDEwMDAwMDAwMDAwMDAwIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklB
TkdMRVMsIDAsIDEwMDAwMDAwMDAwMDAwKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sICJ6ZXJvIHNpemUgYXJyYXkgZnJhY3Rpb24iLAorICAgICAgZnVuY3Rp
b24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMS42KTt9KTsKKyAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIG9mZnNldCIsCisgICAgICBmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAtMSk7fSk7CisgIGFzc2VydEdM
RXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiY291bnQgb3V0IG9mIHJhbmdlIiwKKyAg
ICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDEpO30pOworICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgY291bnQiLAorICAg
ICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgLTEpO30pOworICBh
c3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAicG9zaXRpdmUgY291bnQsIG5lZ2F0
aXZlIG9mZnNldCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAtMSwgMSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdh
dGl2ZSBjb3VudCwgcG9zaXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0Fy
cmF5cyhnbC5UUklBTkdMRVMsIDEsIC0xKTt9KTsKKyAgZ2wuZGVsZXRlQnVmZmVyKGIpOworfQor
CisKK1Rlc3RzLnRlc3REcmF3QXJyYXlzV2l0aERhdGFPdXRPZkJvdW5kcyA9IGZ1bmN0aW9uKGds
LCBwcm9nLCB2LG4sdCkgeworICB2YXIgYiA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5k
QnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYik7CisgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVG
RkVSLCB2ZXJ0c0EsIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih2
LCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJh
eSh2KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICIzIGVsZW1l
bnQgYXJyYXkiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywg
MywgMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMyBl
bGVtZW50IGFycmF5IDEwMDAwIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5U
UklBTkdMRVMsIDAsIDEwMDAwKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sICIzIGVsZW1lbnQgYXJyYXkgMTAwMDAwMDAwMDAwMDAiLAorICAgICAgZnVuY3Rp
b24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMTAwMDAwMDAwMDAwMDApO30pOwor
ICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZyYWN0aW9uYWwgY291
bnQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywgMS42
KTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIG9m
ZnNldCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAt
MSk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiY291bnQg
b3V0IG9mIHJhbmdlIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDAsIDQpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAibmVn
YXRpdmUgY291bnQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xF
UywgMCwgLTEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAicG9z
aXRpdmUgY291bnQsIG5lZ2F0aXZlIG9mZnNldCIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdB
cnJheXMoZ2wuVFJJQU5HTEVTLCAtMSwgMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklO
VkFMSURfVkFMVUUsICJuZWdhdGl2ZSBjb3VudCwgcG9zaXRpdmUgb2Zmc2V0IiwKKyAgICAgIGZ1
bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIC0xKTt9KTsKKyAgZ2wuZGVs
ZXRlQnVmZmVyKGIpOworfQorCitUZXN0cy50ZXN0RHJhd0FycmF5c011bHRpT3V0T2ZCb3VuZHMg
PSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFyIGJzID0gW107CisgIGJzLnB1c2go
Z2wuY3JlYXRlQnVmZmVyKCkpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNb
YnMubGVuZ3RoLTFdKTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHZlcnRzQSwg
Z2wuU1RBVElDX0RSQVcpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGdsLkZMT0FU
LCBmYWxzZSwgMCwgMCk7CisgIGJzLnB1c2goZ2wuY3JlYXRlQnVmZmVyKCkpOworICBnbC5iaW5k
QnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbYnMubGVuZ3RoLTFdKTsKKyAgZ2wuYnVmZmVyRGF0
YShnbC5BUlJBWV9CVUZGRVIsIG5vcm1hbHNBLCBnbC5TVEFUSUNfRFJBVyk7CisgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgYnMucHVzaChn
bC5jcmVhdGVCdWZmZXIoKSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1ti
cy5sZW5ndGgtMV0pOworICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgdGV4Y29vcmRz
QSwgZ2wuU1RBVElDX0RSQVcpOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHQsIDIsIGdsLkZM
T0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBn
bC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJy
YXkodCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkg
YXJyYXkgMSIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAz
LCAyKTt9KTsKKyAgYnMucHVzaChnbC5jcmVhdGVCdWZmZXIoKSk7CisgIGdsLmJpbmRCdWZmZXIo
Z2wuQVJSQVlfQlVGRkVSLCBic1ticy5sZW5ndGgtMV0pOworICBnbC5idWZmZXJEYXRhKGdsLkFS
UkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJBcnJheSh2ZXJ0cy5jb25jYXQodmVydHMpKSwgZ2wuU1RB
VElDX0RSQVcpOworICBicy5wdXNoKGdsLmNyZWF0ZUJ1ZmZlcigpKTsKKyAgZ2wuYmluZEJ1ZmZl
cihnbC5BUlJBWV9CVUZGRVIsIGJzW2JzLmxlbmd0aC0xXSk7CisgIGdsLmJ1ZmZlckRhdGEoZ2wu
QVJSQVlfQlVGRkVSLCBuZXcgRmxvYXQzMkFycmF5KHRleGNvb3Jkcy5jb25jYXQodGV4Y29vcmRz
KSksIGdsLlNUQVRJQ19EUkFXKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAzLCBnbC5G
TE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNb
MV0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwg
MCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1syXSk7CisgIGdsLnZlcnRl
eEF0dHJpYlBvaW50ZXIodCwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5hYmxl
VmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pOwor
ICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJheSAyIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDMsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBn
bC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDMiLAorICAgICAgZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNCwgMik7fSk7CisgIGdsLmJpbmRCdWZmZXIoZ2wu
QVJSQVlfQlVGRkVSLCBic1swXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodiwgMywgZ2wu
RkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJz
WzNdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihuLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAs
IDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnNbMl0pOworICBnbC52ZXJ0
ZXhBdHRyaWJQb2ludGVyKHQsIDIsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmVuYWJs
ZVZlcnRleEF0dHJpYkFycmF5KHYpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsK
KyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkodCk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgNCIsCisgICAgICBmdW5jdGlvbigpe2ds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAzLCAyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwg
Z2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJheSA1IiwKKyAgICAgIGZ1bmN0aW9uKCl7
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDQsIDIpO30pOworICBnbC5iaW5kQnVmZmVyKGds
LkFSUkFZX0JVRkZFUiwgYnNbMF0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHYsIDMsIGds
LkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBi
c1sxXSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobiwgMywgZ2wuRkxPQVQsIGZhbHNlLCAw
LCAwKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJzWzRdKTsKKyAgZ2wudmVy
dGV4QXR0cmliUG9pbnRlcih0LCAyLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFi
bGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkobik7
CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHQpOworICBhc3NlcnRHTEVycm9yKGdsLCBn
bC5JTlZBTElEX09QRVJBVElPTiwgIm11bHRpIGFycmF5IDYiLAorICAgICAgZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMywgMik7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2ws
IGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgNyIsCisgICAgICBmdW5jdGlvbigp
e2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAzLCAyKTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihn
bC5BUlJBWV9CVUZGRVIsIGJzWzNdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAzLCBn
bC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwg
YnNbM10pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwg
MCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBic1syXSk7CisgIGdsLnZl
cnRleEF0dHJpYlBvaW50ZXIodCwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgZ2wuZW5h
YmxlVmVydGV4QXR0cmliQXJyYXkodik7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG4p
OworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwg
Z2wuSU5WQUxJRF9PUEVSQVRJT04sICJtdWx0aSBhcnJheSA4IiwKKyAgICAgIGZ1bmN0aW9uKCl7
Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDQsIDEpO30pOworICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgY291bnQiLAorICAgICAgZnVuY3Rpb24oKXtn
bC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgLTEsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgInplcm8gY291bnQ/Pz8iLAorICAgICAgZnVuY3Rpb24o
KXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNCk7fSk7CisgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibXVsdGkgYXJyYXkgOSIsCisgICAgICBmdW5jdGlv
bigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAxLCA0KTt9KTsKKyAgYnMuZm9yRWFjaChm
dW5jdGlvbihiKXsgZ2wuZGVsZXRlQnVmZmVyKGIpIH0pOworfQorCisKK1Rlc3RzLnRlc3REcmF3
QXJyYXlzVkJPT3V0T2ZCb3VuZHMgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFy
IHZibyA9IG5ldyBWQk8oZ2wsIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30pOworICB2Ym8u
dXNlKHYpOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgIjEiLAor
ICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgNiwgMSk7fSk7Cisg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSBjb3VudCIsCisg
ICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAyLCAtMSk7fSk7Cisg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiMyIsCisgICAgICBmdW5j
dGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA3KTt9KTsKKyAgYXNzZXJ0R0xF
cnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICI0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDEsIDYpO30pOworICB2Ym8uZGVzdHJveSgpOworfQor
CitUZXN0cy50ZXN0RHJhd0FycmF5c1ZCT011bHRpT3V0T2ZCb3VuZHMgPSBmdW5jdGlvbihnbCwg
cHJvZywgdixuLHQpIHsKKyAgLy8gY3JlYXRlcyBWQk9zIGZvciB0aGUgcXVhZCBhcnJheXMsIGJp
bmRzIHRoZW0gd2l0aAorICAvLyB2ZXJ0ZXhBdHRyaWJQb2ludGVyIGFuZCBjYWxscyBkcmF3QXJy
YXlzCisgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLAorICAgIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0
aWNlc30sCisgICAge3NpemU6MywgZGF0YTpRdWFkLm5vcm1hbHN9LAorICAgIHtzaXplOjIsIGRh
dGE6UXVhZC50ZXhjb29yZHN9KTsKKyAgdmJvLnVzZSh2LCBuLCB0KTsKKyAgYXNzZXJ0R0xFcnJv
cihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICIxIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJh
d0FycmF5cyhnbC5UUklBTkdMRVMsIDYsIDEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgY291bnQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3
QXJyYXlzKGdsLlRSSUFOR0xFUywgMiwgLTEpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwgIjIiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMCwgNyk7fSk7CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BF
UkFUSU9OLCAiMyIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVT
LCAxLCA2KTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKK30KKworVGVzdHMudGVzdERyYXdBcnJheXNP
T0JTaGFkZXJKdWdnbGUgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgdmFyIHZibyA9
IG5ldyBWQk8oZ2wsCisgICAge3NpemU6MywgZGF0YTpbMCwwLDBdfSwKKyAgICB7c2l6ZTozLCBk
YXRhOlswLDAsMCwwLDAsMF19KTsKKyAgdmJvLmluaXQoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5B
UlJBWV9CVUZGRVIsIHZiby52Ym9zWzBdKTsKKyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcih2LCAz
LCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh2
KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJvZmZzZXQgdG9v
IGJpZyIsCisgICAgICBmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAy
KTt9KTsKKyAgdmFyIHNoMiA9IG5ldyBTaGFkZXIoZ2wsICd2ZXJ0JywgJ2ZyYWcnKTsKKyAgc2gy
LnVzZSgpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvLnZib3NbMV0pOwor
ICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHNoMi5hdHRyaWIoJ1ZlcnRleCcpLCAzLCBnbC5GTE9B
VCwgZmFsc2UsIDAsIDApOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShzaDIuYXR0cmli
KCdWZXJ0ZXgnKSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklB
TkdMRVMsIDAsIDIpO30pOworICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElP
TiwgIm9mZnNldCB0b28gYmlnIDIiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMCwgMyk7fSk7CisgIHByb2cudXNlKCk7CisgIGdsLnZlcnRleEF0dHJpYlBv
aW50ZXIocHJvZy5hdHRyaWIoJ1ZlcnRleCcpLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOwor
ICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShwcm9nLmF0dHJpYignVmVydGV4JykpOworICBh
c3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAyKTt9KTsK
KyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJvZmZzZXQgdG9vIGJp
ZyAzIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMp
O30pOworICBzaDIuZGVzdHJveSgpOworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZlcnQi
IHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgYXR0cmlidXRlIHZlYzMgVmVydGV4OworICBh
dHRyaWJ1dGUgdmVjMyBOb3JtYWw7CisgIGF0dHJpYnV0ZSB2ZWMyIFRleDsKKworICB2YXJ5aW5n
IHZlYzQgdGV4Q29vcmQwOworICB2b2lkIG1haW4oKQorICB7CisgICAgZ2xfUG9zaXRpb24gPSB2
ZWM0KFZlcnRleCAqIE5vcm1hbCwgMS4wKTsKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KFRleCwwLjAs
MC4wKSArIGdsX1Bvc2l0aW9uOworICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZyYWciIHR5
cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwor
ICB2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOworICB2b2lkIG1haW4oKQorICB7CisgICAgZ2xfRnJh
Z0NvbG9yID0gdGV4Q29vcmQwOworICB9Cis8L3NjcmlwdD4KKworCis8c3R5bGU+Y2FudmFzeyBw
b3NpdGlvbjphYnNvbHV0ZTsgfTwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+CisgIDxjYW52YXMgaWQ9
ImdsIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHMuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25z
L2RyYXdFbGVtZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwMTY4NWRhYTZkNmU4OTkxZDUwMzFlY2I5
MWQwODI2NWE3ZTQzNjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxl
bWVudHMuaHRtbApAQCAtMCwwICsxLDE0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0i
Li4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIg
c3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1q
YXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiPgorCit2YXIgdmVydHMgPSBbMC4wLCAwLjAsIDAuMCwgICAx
LjAsIDAuMCwgMC4wLCAgIDAuMCwgMS4wLCAwLjBdOwordmFyIG5vcm1hbHMgPSBbMC4wLCAwLjAs
IDEuMCwgICAwLjAsIDAuMCwgMS4wLCAgIDAuMCwgMC4wLCAxLjBdOwordmFyIHRleGNvb3JkcyA9
IFswLjAsMC4wLCAgMS4wLDAuMCwgIDAuMCwxLjBdOwordmFyIGluZGljZXMgPSBbMCwxLDJdCisK
K1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29u
dGV4dChjYW52YXMpKTsKKyAgdmFyIHByb2cgPSBuZXcgU2hhZGVyKGdsLCAndmVydCcsICdmcmFn
Jyk7CisgIHByb2cudXNlKCk7CisgIHZhciBzaCA9IHByb2cuc2hhZGVyLnByb2dyYW07CisgIHZh
ciB2ID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdWZXJ0ZXgnKTsKKyAgdmFyIG4gPSBnbC5n
ZXRBdHRyaWJMb2NhdGlvbihzaCwgJ05vcm1hbCcpOworICB2YXIgdCA9IGdsLmdldEF0dHJpYkxv
Y2F0aW9uKHNoLCAnVGV4Jyk7CisgIHJldHVybiBbZ2wscHJvZyx2LG4sdF07Cit9CisKK1Rlc3Rz
LnNldHVwID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIGFzc2VydCgwID09IGdsLmdl
dEVycm9yKCkpOworICByZXR1cm4gW2dsLCBwcm9nLCB2LG4sdF07Cit9CitUZXN0cy50ZWFyZG93
biA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICBnbC5kaXNhYmxlVmVydGV4QXR0cmli
QXJyYXkodik7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShuKTsKKyAgZ2wuZGlzYWJs
ZVZlcnRleEF0dHJpYkFycmF5KHQpOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2ws
IHByb2csIHYsbix0KSB7CisgIHByb2cuZGVzdHJveSgpOworfQorCitUZXN0cy50ZXN0RHJhd0Vs
ZW1lbnRzVkJPID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgICAgdmFyIHZibyA9IG5l
dyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgICAgIHtzaXplOjMsIGRhdGE6UXVhZC52ZXJ0
aWNlc30sCisgICAgICAgICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCBkYXRhOlF1YWQu
aW5kaWNlc30pOworICB2Ym8uZHJhdyh2KTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9SID09IGNoZWNr
RXJyb3IoZ2wsICJ2Ym8uZHJhdyIpKTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxl
bWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgYXNz
ZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJ
R05FRF9TSE9SVCwgMCoyKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCAwLCBnbC5VTlNJR05FRF9TSE9SVCwgMioxKTt9KTsKKyAgYXNzZXJ0
T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05F
RF9TSE9SVCwgNSoyKTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGdsLk5PX0VSUk9S
ID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworVGVzdHMudGVzdERyYXdF
bGVtZW50c1ZCT011bHRpID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIC8vIGNyZWF0
ZXMgVkJPcyBmb3IgdGhlIHF1YWQgYXJyYXlzLCBiaW5kcyB0aGVtIHdpdGgKKyAgLy8gdmVydGV4
QXR0cmliUG9pbnRlciBhbmQgY2FsbHMgZHJhd0VsZW1lbnRzCisgIHZhciB2Ym8gPSBuZXcgVkJP
KGdsLAorICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAor
ICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQubm9ybWFsc30sCisgICAgICAg
ICAgICAgICAgICAgIHtzaXplOjIsIGRhdGE6UXVhZC50ZXhjb29yZHN9LAorICAgICAgICAgICAg
ICAgICAgICB7ZWxlbWVudHM6dHJ1ZSwgZGF0YTpRdWFkLmluZGljZXN9KTsKKyAgdmJvLmRyYXco
diwgbiwgdCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBjaGVja0Vycm9yKGdsLCAidmJvLmRy
YXciKSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xF
UywgNSwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7
Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMCwgZ2wuVU5TSUdORURfU0hPUlQsIDIqMik7
fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywg
NiwgZ2wuVU5TSUdORURfU0hPUlQsIDAqMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wu
ZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7
CisgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiY291bnQgKyBvZmZz
ZXQgb3V0IG9mIHJhbmdlIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRS
SUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDYqMik7fSk7CisgIGFzc2VydEdMRXJyb3Io
Z2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiY291bnQgKyBvZmZzZXQgb3V0IG9mIHJhbmdlIDIi
LAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5V
TlNJR05FRF9TSE9SVCwgMSoyKTt9KTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIs
IG51bGwpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvLnZib3NbMV0pOwor
ICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Cisg
IGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wu
VU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0Vs
ZW1lbnRzKGdsLlRSSUFOR0xFUywgMCwgZ2wuVU5TSUdORURfU0hPUlQsIDIqMik7fSk7CisgIGFz
c2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5T
SUdORURfU0hPUlQsIDAqMik7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1l
bnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfU0hPUlQsIDUqMik7fSk7CisgIGFzc2Vy
dEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiY291bnQgKyBvZmZzZXQgb3V0IG9m
IHJhbmdlIDMiLAorICAgICAgZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNioyKTt9KTsKKyAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wu
SU5WQUxJRF9PUEVSQVRJT04sICJjb3VudCArIG9mZnNldCBvdXQgb2YgcmFuZ2UgNCIsCisgICAg
ICBmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVE
X1NIT1JULCAxKjIpO30pOworICB2Ym8uZGVzdHJveSgpOworICBhc3NlcnQoZ2wuTk9fRVJST1Ig
PT0gY2hlY2tFcnJvcihnbCwgInZiby5kZXN0cm95IikpOworfQorCisKKzwvc2NyaXB0PgorPHNj
cmlwdCBpZD0idmVydCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorICBhdHRyaWJ1dGUgdmVj
MyBWZXJ0ZXg7CisgIGF0dHJpYnV0ZSB2ZWMzIE5vcm1hbDsKKyAgYXR0cmlidXRlIHZlYzIgVGV4
OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigpCisgIHsKKyAgICBn
bF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4ICogTm9ybWFsLCAxLjApOworICAgIHRleENvb3JkMCA9
IHZlYzQoVGV4LDAuMCwwLjApICsgZ2xfUG9zaXRpb247CisgIH0KKzwvc2NyaXB0PgorPHNjcmlw
dCBpZD0iZnJhZyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CisgIHByZWNpc2lvbiBtZWRp
dW1wIGZsb2F0OworCisgIHZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7CisgIHZvaWQgbWFpbigpCisg
IHsKKyAgICB2ZWM0IGMgPSB0ZXhDb29yZDA7CisgICAgZ2xfRnJhZ0NvbG9yID0gYzsKKyAgfQor
PC9zY3JpcHQ+CisKKworPHN0eWxlPmNhbnZhc3sgcG9zaXRpb246YWJzb2x1dGU7IH08L3N0eWxl
PgorPC9oZWFkPjxib2R5PgorICA8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+
PC9jYW52YXM+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJh
d0VsZW1lbnRzQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvZHJhd0VsZW1lbnRzQmFkQXJn
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE5MDJiNmY0OWZiNDA4ZmRhNTBkNjllYjAyYjg5ZWM5ZWE2ODNi
ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9kcmF3RWxlbWVudHNCYWRBcmdz
Lmh0bWwKQEAgLTAsMCArMSwyMDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3Vu
aXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0i
Li4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNj
cmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRp
b24veC1qYXZhc2NyaXB0Ij4KKworLy8gVGVzdHMuYXV0b3J1biA9IGZhbHNlOworLy8gVGVzdHMu
bWVzc2FnZSA9ICJDYXV0aW9uOiBNYXkgY3Jhc2ggeW91ciBicm93c2VyIjsKKwordmFyIHZlcnRz
ID0gWzAuMCwgMC4wLCAwLjAsICAgMS4wLCAwLjAsIDAuMCwgICAwLjAsIDEuMCwgMC4wXTsKK3Zh
ciBub3JtYWxzID0gWzAuMCwgMC4wLCAxLjAsICAgMC4wLCAwLjAsIDEuMCwgICAwLjAsIDAuMCwg
MS4wXTsKK3ZhciB0ZXhjb29yZHMgPSBbMC4wLDAuMCwgIDEuMCwwLjAsICAwLjAsMS4wXTsKK3Zh
ciBpbmRpY2VzID0gWzYwMDAwMDAwLDEsMl0KKworVGVzdHMuc3RhcnRVbml0ID0gZnVuY3Rpb24g
KCkgeworICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dsJyk7CisgIHZh
ciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICB2YXIgcHJvZyA9
IG5ldyBTaGFkZXIoZ2wsICd2ZXJ0JywgJ2ZyYWcnKTsKKyAgcHJvZy51c2UoKTsKKyAgdmFyIHNo
ID0gcHJvZy5zaGFkZXIucHJvZ3JhbTsKKyAgdmFyIHYgPSBnbC5nZXRBdHRyaWJMb2NhdGlvbihz
aCwgJ1ZlcnRleCcpOworICB2YXIgbiA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHNoLCAnTm9ybWFs
Jyk7CisgIHZhciB0ID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24oc2gsICdUZXgnKTsKKyAgcmV0dXJu
IFtnbCxwcm9nLHYsbix0XTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihnbCwgcHJvZywg
dixuLHQpIHsKKyAgYXNzZXJ0KDAgPT0gZ2wuZ2V0RXJyb3IoKSk7CisgIHJldHVybiBbZ2wsIHBy
b2csIHYsbix0XTsKK30KK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0
KSB7CisgIGdsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSh2KTsKKyAgZ2wuZGlzYWJsZVZlcnRl
eEF0dHJpYkFycmF5KG4pOworICBnbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodCk7Cit9CisK
K1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgcHJvZy5kZXN0
cm95KCk7Cit9CisKKworVGVzdHMudGVzdERyYXdFbGVtZW50c1ZCTyA9IGZ1bmN0aW9uKGdsLCBw
cm9nLCB2LG4sdCkgeworICAgIHZhciB2Ym8gPSBuZXcgVkJPKGdsLAorICAgICAgICAgICAgICAg
ICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9LAorICAgICAgICAgICAgICAgICAg
ICAgICB7ZWxlbWVudHM6dHJ1ZSwgZGF0YTpbMCwxLDIsMjAwMCwgNDA4MDIsIDU4ODc5OTJdfSk7
CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXt2Ym8uZHJhdyh2KTt9KTsKKyAgYXNzZXJ0RmFpbChm
dW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NI
T1JULCA1KjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGds
LlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3NlcnRPayhmdW5j
dGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JU
LCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklB
TkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NIT1JULCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlv
bigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NIT1JULCAx
KjIpO30pOworICB2Ym8uZGVzdHJveSgpOworICBhc3NlcnQoZ2wuTk9fRVJST1IgPT0gY2hlY2tF
cnJvcihnbCwgInZiby5kZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0RHJhd0VsZW1lbnRzVkJP
Qnl0ZSA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgeworICAgIHZhciB2Ym8gPSBuZXcgVkJP
KGdsLAorICAgICAgICAgICAgICAgICAgICAgICB7c2l6ZTozLCBkYXRhOlF1YWQudmVydGljZXN9
LAorICAgICAgICAgICAgICAgICAgICAgICB7ZWxlbWVudHM6dHJ1ZSwgdHlwZTpnbC5VTlNJR05F
RF9CWVRFLCBkYXRhOlswLDEsMiwyMDAwLCA0MDgwMiwgNTg4Nzk5Ml19KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe3Ziby5kcmF3KHYpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wu
ZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURfQllURSwgNSk7fSk7Cisg
IGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBn
bC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxl
bWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0
RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lH
TkVEX0JZVEUsIDEpO30pOworICB2Ym8uZGVzdHJveSgpOworICBhc3NlcnQoZ2wuTk9fRVJST1Ig
PT0gY2hlY2tFcnJvcihnbCwgInZiby5kZXN0cm95IikpOworfQorCitUZXN0cy50ZXN0RHJhd0Vs
ZW1lbnRzVkJPTXVsdGkgPSBmdW5jdGlvbihnbCwgcHJvZywgdixuLHQpIHsKKyAgLy8gY3JlYXRl
cyBWQk9zIGZvciB0aGUgcXVhZCBhcnJheXMsIGJpbmRzIHRoZW0gd2l0aAorICAvLyB2ZXJ0ZXhB
dHRyaWJQb2ludGVyIGFuZCBjYWxscyBkcmF3RWxlbWVudHMKKyAgLy8gVGhlIHF1YWQgaGFzIDYg
dmVydGljZXMKKyAgdmFyIHZibyA9IG5ldyBWQk8oZ2wsCisgICAgICAgICAgICAgICAgICAgIHtz
aXplOjMsIGRhdGE6UXVhZC52ZXJ0aWNlc30sCisgICAgICAgICAgICAgICAgICAgIHtzaXplOjMs
IGRhdGE6UXVhZC5ub3JtYWxzfSwKKyAgICAgICAgICAgICAgICAgICAge3NpemU6MiwgZGF0YTpR
dWFkLnRleGNvb3Jkc30sCisgICAgICAgICAgICAgICAgICAgIHtlbGVtZW50czp0cnVlLCBkYXRh
OlswLDEsMiw2LDIwMDAsIDI1Nl19KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe3Ziby5kcmF3
KHYsIG4sIHQpO30pOworICBnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAzLCBnbC5VTlNJ
R05FRF9TSE9SVCwgMCk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMo
Z2wuVFJJQU5HTEVTLCAxLCBnbC5VTlNJR05FRF9TSE9SVCwgNSoyKTt9KTsKKyAgYXNzZXJ0RmFp
bChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVE
X1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCAyLCBnbC5VTlNJR05FRF9TSE9SVCwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0
aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQs
IDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFO
R0xFUywgNCwgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9u
KCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfU0hPUlQsIDEq
Mik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5H
TEVTLCAyLCBnbC5VTlNJR05FRF9TSE9SVCwgMioyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlv
bigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCAz
KjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFO
R0xFUywgNSwgZ2wuVU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rp
b24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwg
MSoyKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklB
TkdMRVMsIDYsIGdsLlVOU0lHTkVEX1NIT1JULCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlv
bigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX1NIT1JULCA2
KjIpO30pOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvLnZib3NbMV0pOwor
ICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Cisg
IGdsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGdsLlVOU0lHTkVEX1NIT1JULCAwKTsK
KyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEs
IGdsLlVOU0lHTkVEX1NIT1JULCA1KjIpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wu
ZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wuVU5TSUdORURfU0hPUlQsIDApO30pOwor
ICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDMsIGds
LlVOU0lHTkVEX1NIT1JULCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdF
bGVtZW50cyhnbC5UUklBTkdMRVMsIDUsIGdsLlVOU0lHTkVEX1NIT1JULCAxKjIpO30pOworICBh
c3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwgZ2wu
VU5TSUdORURfU0hPUlQsIDEqMik7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9TSE9SVCwgMSk7fSk7CisgIGFz
c2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAxLCBnbC5V
TlNJR05FRF9TSE9SVCwgNioyKTt9KTsKKyAgdmJvLmRlc3Ryb3koKTsKKyAgYXNzZXJ0KGdsLk5P
X0VSUk9SID09IGNoZWNrRXJyb3IoZ2wsICJ2Ym8uZGVzdHJveSIpKTsKK30KKworVGVzdHMudGVz
dERyYXdFbGVtZW50c1ZCT011bHRpQnl0ZSA9IGZ1bmN0aW9uKGdsLCBwcm9nLCB2LG4sdCkgewor
ICAvLyBjcmVhdGVzIFZCT3MgZm9yIHRoZSBxdWFkIGFycmF5cywgYmluZHMgdGhlbSB3aXRoCisg
IC8vIHZlcnRleEF0dHJpYlBvaW50ZXIgYW5kIGNhbGxzIGRyYXdFbGVtZW50cworICAvLyBUaGUg
cXVhZCBoYXMgNiB2ZXJ0aWNlcworICB2YXIgdmJvID0gbmV3IFZCTyhnbCwKKyAgICAgICAgICAg
ICAgICAgICAge3NpemU6MywgZGF0YTpRdWFkLnZlcnRpY2VzfSwKKyAgICAgICAgICAgICAgICAg
ICAge3NpemU6MywgZGF0YTpRdWFkLm5vcm1hbHN9LAorICAgICAgICAgICAgICAgICAgICB7c2l6
ZToyLCBkYXRhOlF1YWQudGV4Y29vcmRzfSwKKyAgICAgICAgICAgICAgICAgICAge2VsZW1lbnRz
OnRydWUsIHR5cGU6Z2wuVU5TSUdORURfQllURSwgZGF0YTpbMCwxLDIsNiwyMDAwLCAyNTZdfSk7
CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXt2Ym8uZHJhdyh2LCBuLCB0KTt9KTsKKyAgZ2wuZHJh
d0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllURSwgMCk7CisgIGFzc2Vy
dEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA0LCBnbC5VTlNJ
R05FRF9CWVRFLCAtMSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVu
dHMoZ2wuVFJJQU5HTEVTLCAtMSwgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydE9r
KGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURf
QllURSwgNSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wu
VFJJQU5HTEVTLCA2LCBnbC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rp
b24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAyLCBnbC5VTlNJR05FRF9CWVRFLCAw
KTt9KTsKKyAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVT
LCAzLCBnbC5VTlNJR05FRF9CWVRFLCAwKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2ds
LmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDQsIGdsLlVOU0lHTkVEX0JZVEUsIDApO30pOwor
ICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMywg
Z2wuVU5TSUdORURfQllURSwgMSk7fSk7CisgIGFzc2VydEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3
RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCAyLCBnbC5VTlNJR05FRF9CWVRFLCAyKTt9KTsKKyAgYXNz
ZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVO
U0lHTkVEX0JZVEUsIDMpO30pOworICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1l
bnRzKGdsLlRSSUFOR0xFUywgNSwgZ2wuVU5TSUdORURfQllURSwgMSk7fSk7CisgIGFzc2VydEZh
aWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA2LCBnbC5VTlNJR05F
RF9CWVRFLCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50cyhn
bC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUsIDYpO30pOworICBnbC5iaW5kQnVmZmVy
KGdsLkFSUkFZX0JVRkZFUiwgdmJvLnZib3NbMV0pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVy
KG4sIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmRyYXdFbGVtZW50cyhnbC5UUklB
TkdMRVMsIDMsIGdsLlVOU0lHTkVEX0JZVEUsIDApOworICBhc3NlcnRPayhmdW5jdGlvbigpe2ds
LmRyYXdFbGVtZW50cyhnbC5UUklBTkdMRVMsIDEsIGdsLlVOU0lHTkVEX0JZVEUsIDUpO30pOwor
ICBhc3NlcnRGYWlsKGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgNiwg
Z2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2VydE9rKGZ1bmN0aW9uKCl7Z2wuZHJhd0Vs
ZW1lbnRzKGdsLlRSSUFOR0xFUywgMywgZ2wuVU5TSUdORURfQllURSwgMCk7fSk7CisgIGFzc2Vy
dEZhaWwoZnVuY3Rpb24oKXtnbC5kcmF3RWxlbWVudHMoZ2wuVFJJQU5HTEVTLCA1LCBnbC5VTlNJ
R05FRF9CWVRFLCAxKTt9KTsKKyAgYXNzZXJ0RmFpbChmdW5jdGlvbigpe2dsLmRyYXdFbGVtZW50
cyhnbC5UUklBTkdMRVMsIDYsIGdsLlVOU0lHTkVEX0JZVEUsIDEpO30pOworICBhc3NlcnRGYWls
KGZ1bmN0aW9uKCl7Z2wuZHJhd0VsZW1lbnRzKGdsLlRSSUFOR0xFUywgMSwgZ2wuVU5TSUdORURf
QllURSwgNik7fSk7CisgIHZiby5kZXN0cm95KCk7CisgIGFzc2VydChnbC5OT19FUlJPUiA9PSBj
aGVja0Vycm9yKGdsLCAidmJvLmRlc3Ryb3kiKSk7Cit9CisKK1Rlc3RzLnRlc3RTaGFyZWRCdWZm
ZXJzID0gZnVuY3Rpb24oZ2wsIHByb2csIHYsbix0KSB7CisgIHZhciB2Ym8gPSBnbC5jcmVhdGVC
dWZmZXIoKTsKKyAgdmFyIHZlcnRzQXJyID0gbmV3IFVpbnQxNkFycmF5KFswLDEsMywzLDQsNSw2
LDcsOF0pOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvKTsKKyAgZ2wuYnVm
ZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIHZlcnRzQXJyLCBnbC5TVEFUSUNfRFJBVyk7CisgIGFz
c2VydEZhaWwoZnVuY3Rpb24oKXtnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVS
LCB2Ym8pfSk7CisgIGdsLmRlbGV0ZUJ1ZmZlcih2Ym8pOworfQorCis8L3NjcmlwdD4KKzxzY3Jp
cHQgaWQ9InZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgYXR0cmlidXRlIHZlYzMg
VmVydGV4OworICBhdHRyaWJ1dGUgdmVjMyBOb3JtYWw7CisgIGF0dHJpYnV0ZSB2ZWMyIFRleDsK
KworICB2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOworICB2b2lkIG1haW4oKQorICB7CisgICAgZ2xf
UG9zaXRpb24gPSB2ZWM0KFZlcnRleCAqIE5vcm1hbCwgMS4wKTsKKyAgICB0ZXhDb29yZDAgPSB2
ZWM0KFRleCwwLjAsMC4wKSArIGdsX1Bvc2l0aW9uOworICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQg
aWQ9ImZyYWciIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICBwcmVjaXNpb24gbWVkaXVt
cCBmbG9hdDsKKworICB2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOworICB2b2lkIG1haW4oKQorICB7
CisgICAgdmVjNCBjID0gdGV4Q29vcmQwOworICAgIGdsX0ZyYWdDb2xvciA9IGM7CisgIH0KKzwv
c2NyaXB0PgorCisKKzxzdHlsZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4K
KzwvaGVhZD48Ym9keT4KKyAgPGNhbnZhcyBpZD0iZ2wiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjwv
Y2FudmFzPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3JlYWRQ
aXhlbHNCYWRBcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjNlNjk2MTM5NjA1MTYzNjNiMzVkNGQxNzE5OGM3ZmFjYmM3ZDI4ZTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9ucy9yZWFkUGl4ZWxzQmFkQXJncy5odG1sCkBA
IC0wLDAgKzEsMTE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy
ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMg
c29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAi
TWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9u
LCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJz
b25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQK
KyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFs
cy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC
TEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1Ig
VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIg
Lz4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNy
Yz0iLi4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2
YXNjcmlwdCI+CisKK1Rlc3RzLnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgdmFyIGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICB2YXIgZ2wgPSB3cmFwR0xDb250
ZXh0KGdldEdMQ29udGV4dChjYW52YXMpKTsKKyAgcmV0dXJuIFtnbF07Cit9CisKK1Rlc3RzLnRl
c3RSZWFkUGl4ZWxzID0gZnVuY3Rpb24oZ2wpIHsKKyAgLy8gd2UgY2FuJ3Qga25vdyBpZiB0aGlz
IGlzIGdvaW5nIHRvIGZhaWwgYmVjYXVzZSBvZiBuZWdhdGl2ZSB3aWR0aAorICAvLyBvciBiZWNh
dXNlIHRoZSBidWZmZXIgc2l6ZSBkb2Vzbid0IG1hdGNoIHRoZSBkaW1lbnNpb25zLgorICBhc3Nl
cnRTb21lR0xFcnJvcihnbCwgIm5lZ2F0aXZlIHdpZHRoIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wu
cmVhZFBpeGVscygwLDAsLTEsMSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAg
ICBuZXcgVWludDhBcnJheSg0KSk7fSk7CisgIGFzc2VydFNvbWVHTEVycm9yKGdsLCAgIm5lZ2F0
aXZlIGhlaWdodCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMoMCwwLDEsLTEsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoNCkpO30p
OworICBhc3NlcnRPaygibmVnYXRpdmUgeCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhl
bHMoLTEsMCwxLDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVp
bnQ4QXJyYXkoNCkpO30pOworICBhc3NlcnRPaygibmVnYXRpdmUgeSIsCisgICAgICBmdW5jdGlv
bigpe2dsLnJlYWRQaXhlbHMoMCwtMSwxLDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisg
ICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoNCkpO30pOworICBhc3NlcnRPaygiaGVpZ2h0ID4gYmFj
a2J1ZmZlciBoZWlnaHQiLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwxNiwx
NywgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSgx
NioxNyo0KSk7fSk7CisgIGFzc2VydE9rKCJ3aWR0aCA+IGJhY2tidWZmZXIgd2lkdGgiLAorICAg
ICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwxNywxNiwgZ2wuUkdCQSwgZ2wuVU5TSUdO
RURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSgxNyoxNio0KSk7fSk7CisgIGFzc2Vy
dE9rKCJ3aWR0aCwgaGVpZ2h0ID0gMCIsCisgICAgICBmdW5jdGlvbigpe2dsLnJlYWRQaXhlbHMo
MCwwLDAsMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhB
cnJheSgwKSk7fSk7CisgIC8vIHdlIGNhbid0IGtub3cgaWYgdGhpcyBpcyBnb2luZyB0byBmYWls
IGJlY2F1c2Ugb2YgbmVnYXRpdmUgd2lkdGgKKyAgLy8gb3IgYmVjYXVzZSB0aGUgYnVmZmVyIHNp
emUgZG9lc24ndCBtYXRjaCB0aGUgZGltZW5zaW9ucy4KKyAgYXNzZXJ0U29tZUdMRXJyb3IoZ2ws
ICJiYWQgZm9ybWF0IiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMSwxLCBn
bC5GTE9BVCwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgICBuZXcgVWludDhBcnJheSg0KjQp
KTt9KTsKKyAgLy8gd2UgY2FuJ3Qga25vdyBpZiB0aGlzIGlzIGdvaW5nIHRvIGZhaWwgYmVjYXVz
ZSBvZiBuZWdhdGl2ZSB3aWR0aAorICAvLyBvciBiZWNhdXNlIHRoZSBidWZmZXIgc2l6ZSBkb2Vz
bid0IG1hdGNoIHRoZSBkaW1lbnNpb25zLgorICBhc3NlcnRTb21lR0xFcnJvcihnbCwgImJhZCB0
eXBlIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygwLDAsMSwxLCBnbC5BTFBIQSwg
Z2wuRkxPQVQsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoMSo0KSk7fSk7Cit9CisKK1Rlc3Rz
LnRlc3RSZWFkUGl4ZWxzU09QSU1HID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgaW1nID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImkiKTsKKyAgICB3aGlsZSAoIWltZy5jb21wbGV0ZSkge30K
KyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfMkQsIHRleCk7CisgICAgLy8gU09QIGZhaWx1cmUKKyAgICBhc3NlcnRUaHJvd05v
R0xFcnJvcihnbCwgInRocm93IGJlY2F1c2UgaW1nIGlzIGZyb20gYW5vdGhlciBkb21haW4iLAor
ICAgICAgZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7fSk7CisgICAgZ2wuYmluZFRleHR1cmUo
Z2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgYXNzZXJ0T2soImNhbnZhcyBzdGlsbCBvcmlnaW4t
Y2xlYW4iLAorICAgICAgZnVuY3Rpb24oKXtnbC5yZWFkUGl4ZWxzKDAsMCwxLDEsIGdsLlJHQkEs
IGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICAgICAgbmV3IFVpbnQ4QXJyYXkoNCkpO30pOworICAg
IGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30KK1Rlc3RzLnRlc3RSZWFkUGl4ZWxzU09QQ2FudmFz
ID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImkiKTsKKyAgICB3aGlsZSAoIWltZy5jb21wbGV0ZSkge30KKyAgICB2YXIgYyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjIik7CisgICAgYy5nZXRDb250ZXh0KCIyZCIpLmRyYXdJbWFnZShp
bWcsIDAsIDApOworICAgIGFzc2VydEZhaWwoImNhbnZhcyB0aHJvd3MgYmVjYXVzZSBub3Qgb3Jp
Z2luIGNsZWFuIiwKKyAgICAgIGZ1bmN0aW9uKCl7Yy5nZXRDb250ZXh0KCIyZCIpLmdldEltYWdl
RGF0YSgwLDAsMSwxKTt9KTsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAg
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgLy8gU09QIGZhaWx1cmUK
KyAgICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgInRocm93IGJlY2F1c2UgY2FudmFzIGlzIG5v
dCBvcmlnaW4gY2xlYW4iLAorICAgICAgZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpO30pOworICAg
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIG51bGwpOworICAgIGFzc2VydE9rKCJjYW52
YXMgc3RpbGwgb3JpZ2luLWNsZWFuIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wucmVhZFBpeGVscygw
LDAsMSwxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIG5ldyBVaW50OEFy
cmF5KDQpKTt9KTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleCk7Cit9CisKK1Rlc3RzLmVuZFVu
aXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzwvaGVhZD48Ym9keT4KKzxjYW52
YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0i
YyIgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMjgiPjwvY2FudmFzPgorPGltZyBpZD0iaSIgc3JjPSJo
dHRwOi8vd3d3Lm9wZW5nbC5vcmcvaW1nL29wZW5nbF9sb2dvLmpwZyI+Cis8L2JvZHk+PC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREJhZEFyZ3MuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21v
cmUvZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjc3MjQ4N2Jm
MzRlYzI3MTMxMGFhZjMwZmQ1ZTBlNjhhMzQyMTNkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUv
ZnVuY3Rpb25zL3RleEltYWdlMkRCYWRBcmdzLmh0bWwKQEAgLTAsMCArMSwxMDYgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
dHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3VuaXQuY3NzIiAvPgorPHNjcmlwdCB0eXBlPSJhcHBs
aWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdW5pdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91dGlsLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KKworVGVzdHMuc3Rh
cnRVbml0ID0gZnVuY3Rpb24gKCkgeworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZ2wnKTsKKyAgICB2YXIgZ2wgPSB3cmFwR0xDb250ZXh0KGdldEdMQ29udGV4dChj
YW52YXMpKTsKKyAgICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMuc2V0dXAgPSBmdW5jdGlvbihn
bCkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1
cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFy
ZG93biA9IGZ1bmN0aW9uKGdsLHRleCkgeworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVf
MkQsIG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKK30KKworVGVzdHMudGVzdFRl
eEltYWdlMkQgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciBkYXRhID0gbmV3IFVpbnQ4QXJyYXko
NCk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJub3QgZW5v
dWdoIGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLlJHQkEsIDIsMSwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgZGF0YSk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJub3Qg
ZW5vdWdoIGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIGdsLlJHQkEsIDEsMiwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgZGF0YSk7
CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIHRh
cmdldCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuRkxPQVQsIDAsIGds
LlJHQkEsIDEsMSwwLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgfSk7Cisg
ICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIGludGVybmFsIGZvcm1h
dC9mb3JtYXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVf
MkQsIDAsIGdsLkZMT0FULCAxLDEsMCxnbC5GTE9BVCxnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsK
KyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX1ZBTFVFLCAiYm9yZGVy
ID4gMCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgMSwxLDQ4LGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAg
fSk7CisgICAgLy8gVGhlIHNwZWMgc2F5cyB6ZXJvIHNpemUgaXMgT0suIElmIHlvdSBkaXNhZ3Jl
ZSBwbGVhc2UgbGlzdCB0aGUgc2VjdGlvbgorICAgIC8vIGluIHRoZSBzcGVjIHRoYXQgZGV0YWls
cyB0aGlzIGlzc3VlLgorICAgIGFzc2VydE9rKCJ6ZXJvIHNpemUiLCBmdW5jdGlvbigpeworICAg
ICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsMCwwLGdsLlJH
QkEsZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihn
bCwgZ2wuSU5WQUxJRF9WQUxVRSwgIm5lZ2F0aXZlIHdpZHRoIiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAtMSwxLDAsZ2wuUkdC
QSxnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgaGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLC0xLDAsZ2wuUkdC
QSxnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGds
LCBnbC5JTlZBTElEX0VOVU0sICJiYWQgZm9ybWF0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wu
dGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLDEsMCxnbC5GTE9BVCxnbC5V
TlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX0VOVU0sICJiYWQgdHlwZSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwxLDAsZ2wuUkdCQSxnbC5URVhUVVJFXzJE
LCBudWxsKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJB
VElPTiwgIm5vdCBlbm91Z2ggZGF0YSIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwxLDAsZ2wuUkdCQSxnbC5VTlNJR05FRF9C
WVRFLCBuZXcgVWludDhBcnJheSgzKSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwg
Z2wuSU5WQUxJRF9PUEVSQVRJT04sICJmb3JtYXQgYW5kIHR5cGUgaW5jb21wYXRpYmxlIixmdW5j
dGlvbigpeworICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDEsMSwwLGdsLlJHQkEsZ2wuVU5TSUdORURfU0hPUlRfNV82XzUsIG51bGwpOworICAgIH0pOwor
ICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZm9ybWF0IGFuZCB0
eXBlIGluY29tcGF0aWJsZSIsZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCBnbC5SR0IsIDEsMSwwLGdsLlJHQixnbC5VTlNJR05FRF9TSE9SVF80XzRf
NF80LCBudWxsKTsKKyAgICB9KTsKK30KKworCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wp
IHsKK30KKworPC9zY3JpcHQ+Cis8c3R5bGU+Y2FudmFzeyBwb3NpdGlvbjphYnNvbHV0ZTsgfTwv
c3R5bGU+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjE2IiBoZWlnaHQ9
IjE2Ij48L2NhbnZhcz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3JlL2Z1bmN0aW9u
cy90ZXhJbWFnZTJESFRNTC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNzcyZjZiMjZjNDI5YWRkZGVjMGRmNDhhOTljOWYzYjc4Zjk0ZDViCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4SW1hZ2UyREhUTUwuaHRtbApAQCAt
MCwwICsxLDE1MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+
Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCIgc3JjPSIuLi91bml0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9
Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFz
Y3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGNhbnZh
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnbCcpOworICAgIHZhciBnbCA9IHdyYXBHTENv
bnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOworICAgIGdsLnZpZXdwb3J0KDAsMCxjYW52YXMu
d2lkdGgsY2FudmFzLmhlaWdodCk7CisgICAgZ2wuY2xlYXJDb2xvcigwLDAsMSwxKTsKKyAgICBn
bC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAg
Z2wuZGlzYWJsZShnbC5ERVBUSF9URVNUKTsKKyAgICByZXR1cm4gW2dsXTsKK30KKworVGVzdHMu
c2V0dXAgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7
CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICB2YXIgdGV4Q3Vi
ZU1hcCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJF
X0NVQkVfTUFQLCB0ZXhDdWJlTWFwKTsKKyAgICByZXR1cm4gW2dsXQorfQorCitUZXN0cy50ZWFy
ZG93biA9IGZ1bmN0aW9uKGdsLCB0ZXgsIHRleEN1YmVNYXApIHsKKyAgICBnbC5iaW5kVGV4dHVy
ZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleCk7CisgICAg
Z2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgbnVsbCk7CisgICAgZ2wuZGVsZXRl
VGV4dHVyZSh0ZXhDdWJlTWFwKTsKK30KKworVGVzdHMudGVzdFRleEltYWdlMkQgPSBmdW5jdGlv
bihnbCkgeworICAgIGdsLmVuYWJsZShnbC5CTEVORCk7CisgICAgdmFyIGltZyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdpJyk7CisgICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnYycpOworICAgIHZhciBjdHggPSBjLmdldENvbnRleHQoJzJkJyk7CisgICAgY3R4LmRyYXdJ
bWFnZShpbWcsMCwwKTsKKyAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJH
QkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7CisgICAgZ2wudGV4UGFyYW1ldGVy
aShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7Cisg
ICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wu
Q0xBTVBfVE9fRURHRSk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5U
RVhUVVJFX01BR19GSUxURVIsIGdsLkxJTkVBUik7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5U
RVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CisgICAgdmFyIGYg
PSBuZXcgRmlsdGVyKGdsLCAnaWRlbnRpdHktZmxpcC12ZXJ0JywgJ2lkZW50aXR5LWZyYWcnKTsK
KyAgICBnbC5ibGVuZEZ1bmMoZ2wuT05FLCBnbC5aRVJPKTsKKyAgICBmLmFwcGx5KCk7CisgICAg
Zi5kZXN0cm95KCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JB
LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTsKKyAgICBmID0gbmV3IEZpbHRlcihnbCwg
J2lkZW50aXR5LWhmbGlwLXZlcnQnLCAnaWRlbnRpdHktZnJhZycpOworICAgIGdsLmJsZW5kRnVu
YyhnbC5TUkNfQUxQSEEsIGdsLk9ORV9NSU5VU19TUkNfQUxQSEEpOworICAgIGYuYXBwbHkoKTsK
KyAgICBmLmRlc3Ryb3koKTsKKyAgICB2YXIgdmFsaWRfdGFyZ2V0cyA9IFsKKyAgICAgICAgZ2wu
VEVYVFVSRV8yRCwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAg
ICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgICAgICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElW
RV9ZLAorICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgICAgICAgIGds
LlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWgorICAgIF07CisgICAgdmFsaWRfdGFyZ2V0cy5m
b3JFYWNoKGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgYXNzZXJ0T2soZnVuY3Rpb24oKXtnbC50ZXhJ
bWFnZTJEKHQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpO30pOwor
ICAgICAgICBhc3NlcnRPayhmdW5jdGlvbigpe2dsLnRleEltYWdlMkQodCwgMSwgZ2wuUkdCQSwg
Z2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7fSk7CisgICAgfSk7Cit9CisKK1Rlc3RzLnRl
c3RUZXhJbWFnZTJETm9uU09QID0gZnVuY3Rpb24oZ2wpIHsKKyAgICB2YXIgaW1nID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2kyJyk7CisgICAgd2hpbGUgKCFpbWcuY29tcGxldGUpIHt9Cisg
ICAgdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycpOworICAgIHZhciBjdHggPSBj
LmdldENvbnRleHQoJzJkJyk7CisgICAgY3R4LmRyYXdJbWFnZShpbWcsMCwwKTsKKyAgICBhc3Nl
cnRUaHJvd05vR0xFcnJvcihnbCwgInRleEltYWdlMkQgd2l0aCBjcm9zcy1vcmlnaW4gaW1hZ2Ug
c2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAgICAgZnVuY3Rpb24oKXtnbC50ZXhJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGlt
Zyk7fSk7CisgICAgYXNzZXJ0VGhyb3dOb0dMRXJyb3IoZ2wsICJ0ZXhJbWFnZTJEIHdpdGggZGly
dHkgb3JpZ2luIGNhbnZhcyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIsCisgICAgICBmdW5jdGlv
bigpe2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgYyk7fSk7Cit9CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkg
eworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZsaXAtdmVydCIgdHlwZT0i
eC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4OworYXR0cmlidXRlIHZl
YzIgVGV4OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB0
ZXhDb29yZDAgPSB2ZWM0KFRleC5zLCAxLjAtVGV4LnQsIDAuMCwgMC4wKTsKKyAgICBnbF9Qb3Np
dGlvbiA9IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJpZGVu
dGl0eS1oZmxpcC12ZXJ0IiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVj
MyBWZXJ0ZXg7CithdHRyaWJ1dGUgdmVjMiBUZXg7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7
Cit2b2lkIG1haW4oKQoreworICAgIHRleENvb3JkMCA9IHZlYzQoMS4wLVRleC5zLCBUZXgudCwg
MC4wLCAwLjApOworICAgIGdsX1Bvc2l0aW9uID0gdmVjNChWZXJ0ZXgsIDEuMCk7Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgaWQ9ImlkZW50aXR5LWZyYWciIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21l
bnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisKK3VuaWZvcm0gc2FtcGxlcjJEIFRleHR1
cmU7CisKK3ZhcnlpbmcgdmVjNCB0ZXhDb29yZDA7Cit2b2lkIG1haW4oKQoreworICAgIHZlYzQg
YyA9IHRleHR1cmUyRChUZXh0dXJlLCB0ZXhDb29yZDAuc3QpOworICAgIGdsX0ZyYWdDb2xvciA9
IGM7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD48Ym9keT4KKzxjYW52YXMgaWQ9ImdsIiB3aWR0aD0i
MjU2IiBoZWlnaHQ9IjI1NiI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjIiB3aWR0aD0iMjU2IiBo
ZWlnaHQ9IjI1NiI+PC9jYW52YXM+Cis8aW1nIGlkPSJpIiB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1
NiIgIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFR
QUFBQUVBQ0FZQUFBQmNjcWhtQUFBVFZFbEVRVlI0bk8zZCtWUFVkNTdIY2YyYjlrOVkrejQ0K3FL
N09ab0dGVkE1VmZCR3phaDljeHBOekdFT29SdWE1bEJFdWUvREs0Zlo3TWFwbVNtM01sc2h1OHhP
ZENwREp0M3YvYUVCQVVIQU9NRzR6MGZWNTNmcVUvVjZmZDdmVC9lMzJiRURBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQXdPdkJrYXI3bCszK0d3QnNrOHhVclQwclRiOHZ4MlE0NWphbmx1N1lzV1Buc2dY
Z1RlWXdhazg1VTNYdjVaaU0zK1hiVWgvbDJkSUNCYzYwODBXWjF1cjkyYmFTSFJRQjhHYXlHZFVX
dTFIem9TTkZPK1pNMWYyY2JUTE01MWxUNXdvYzVya0RPYmJaL1ZtMlNFbTIzVnZzeWpoVjVuSlFC
c0NieEdaUVZ0bU42cDRNby9ZUGRxTkdIS2xheVVyWEo5eldsRVNoMHhJdnpzbVlMM0haNTRwek1t
NlZ1UnlSTXBmVFcrcHlVQWJBbThCbVZOVm5HTlRUZHFQNnZ6T01HckduYU1TWnFwTnNrMTd5Ykts
UzZEVEwvaXhib3RSbGo1ZmxPdWJMM0k2NU1wZmpWcm5iRWFsWUtJTlNsMzM1dlFHQTN3S2JVVzJ4
R2RXUkRLUDY2d3lqV2hZTHdKR2lGV2VhVHJKTkJuRmJVMlNQM1NUN3M2eFNtbXVYY3JjelVlNTJ4
c3R6SGZQbGJzZGN1ZHQ1cXl6WDNsS1dseGtzelhHZUs4bXhueXpKeVNqZVFSa0FyemViUVZsbE02
cDdiVWIxNDlVRjRFalZTbWFhVHJMUzllS3lwTWdlZTdvY3lMWkptZHNoRlhtWlVwSG5YRkVHQi9P
ekpzcmRqcUV5dC9ObVdhNDlYSmJ0OUphNk1rNFZ1N2hFQkY1TE5yMnEzbVpRejlnTTZ1OVhGRUJx
c2dDY2FUckpYSmdFY2kwcHN0ZGhrdjNaTmluTlRaYkFvZndzT1pTZkpRZnpNcVU4ejVrb2R6c1Na
Ym1PZUlYYitYVzUyekZhNW5MY0tuUFpJMlVMbDRqRmZLSUF2QjdNT3JYRlpsQkhiQWIxMXphaitr
bUdVYk51QVdTbTY1ZEtZSGRHbWhSbFdxUTh6eUZIQ25MaytMNWNPVjZVSzBjS1hWSzVKMXNPNW1k
S2hkc3BaYXZLb0RUWDBWUGljaVRMSUh0RkdWQUl3Sy9OWWxCVzJmVHFYcHRCL2RobVNKNytMeXFB
ckhTOTVKaVRKVkRnTkVsbFFaWjRLZ3VscnJwVTZxdExKWEJzdjV3dDN5TW45cnZsYUlGTERpOHZn
MXhING1CKzVwK1dsMEZwanIybEpNY1JMTTZ5bnl2T3pqaHhJSXQ3QStCWFk5R3I2cTBMNC85U0Fh
Um94TDd3L0w5V0FXU2JESkpyVFpGaWQ0WjRqeFpKVS8xeHVmSGhPZW0rZWs2aWwwL0xCNzRxYVR4
VEpvR2orK1ZzMlI0NXZqOVhqaFRreU9IZEM0OEpDMlZ3YUhmbW55cmN6bit2Y0RzbXluTHRReVU1
R1RlTGN6TENwVGsyVDNHVzdWaHhWc2FlN2Q0ZjRJMWwxcWt0Vm9NNllqT292cllhMUQ4c0ZvQjlX
UUU0MTVrQTh1MXBjdlJBam53VU9pTERMUUc1MTkwbzkyNDJ5bFJIblF5Ry9YTHo2bm1KWHFxV0Qz
eVYwbkM2VlB4SDk4blpzdDF5ZkYrdUhDMTBTZFhlYkRtVW55eURxb0xzN3c3bFozNWI3bmI4c2N4
dC83ZFNsMzJrSkNlanF5UW40MHBKVGtiWkRpWUM0Tld6YUpWVlZyMnExMlpRUGJZYTFIOWZ1d0Iw
U3dXUWxhNlhMRk95QUFveVRmTFc0VDNTZnVXTTNMM1JJQS83TDh2RC9zdnlaZThsK2V6VzIzS3Z1
MUVtTzJwbG9Oa24zVmZQU2V2YjFmSyt0MUlhejVSSjdjbGk4UjBwa3RPbCtYS3NLRmtHQnhmS29I
SnYxbDhQNW1mK3VTTFA4ZnZ5WE1kTW1kc1JLWGM1cW90ZEdRWGJ2Vi9BRzhXaVY5VmI5YW9acTE0
MWF6T294V2JjWEFIa1dsT2tKQzlEYWs4WHk2MVBMOGlEbm90TEJiQlVCSDJYNVl2YmwrUkJ6MFc1
ZTZOQkp0cHJwTC9aSnpjL09pL1hQM2hMV2k2ZWt2YzhoNld1dWtTOFZjL0tZUEVDOFdoaHpwT3Fn
dXp2S3ZkbWZYVjRkMmIzd2Z6TTl3L2xaVEVOQUsrQ1dhZXdXSFdxaUUydit0cXFWLzJ3MlFMSU5o
a2tQMk5oL0s4OUltTnRJZm1pOTlLejhQY2wxNWRMNjVKODBYdEpQci8xdHR5LzJTaDN1eHZrenZW
NkdZK0ZwTythVjY1LzhEdUpYRHdwVnp5SHBPN1VRaG1VNU12UklwZFU3YzJSUTd1ejVNUis5eCtP
RmJudUhpM01pVlFWdUtvUDc4NHUydTc5QTM3VExGcGxsVlduNnJYcVZZK3RldFdQR3hiQXNndkF2
VTZUdkhWb3Q4U3VuSlk3TitybHk3NjFnLzlsYjNKOXNXeDlmdnVTZkg3N2JYblFjMUh1ZFRmSVRG
ZWRqTFdGcFBlYVI3bytlRXZDalNmbHlvVkRVbGRkS3NIakIrVEM0VUk1Vlp3blZRVTVpYmNxOW54
MXVqUy81OFFCOTlYcVluZjVEcVlCNE9WWWRNL0dmNnRlOVkvazgvL0dCZUN5R0tYRW5TRTExUWVr
NTVQemN2OW00OHJRcnhQOEwyNWZraTl1dnkyZnIxcWYzYnFZbkF4dU5NaDBaNTJNUklOeSsxT1BY
UC93ZDlKKzVZdzAxNStRZDg0ZmxKcVR4WExoY0lHY0xNNzcrVWhCenQ4dVZCYTJucXZjZS9ac3ha
Nnk3ZDVMNERkbGNmeTM2RlZmVy9TcUg2d0dsYXd1Z01XdkFUdlRsaFdBeVNCNUdhbHlkSCtPZkZS
elJFYWpRZm44MXR2cmgvNkZ3VjljRitXeld4Zmx3YTJMY3Ivbm90enJicFNaNi9VeTFWVW5reDIx
TXR3U2tKNVBMa2pIZTJlbHFmNjRYRDUzVUVJbkRpUXVIQzZZcnk3T216MVc1SHJZK0ZiRjRSMU1B
OERtV0xUS0tzdXk4ZDlxVUwrd0FKWi9DM0NQTTEzT0h0d3RiZStlbHVucjlmTEZ1c0YvUHZTZjMx
bzcrQTk2bnEzN1BSZmxmaytqM0wrWi9Gang3bzBHbWU2cWs0bjJHaGxxOFV2UHgrZWwvY29adVZa
M1hDNmZxL2k1N2xUeDMycE9IbmdVT2xVYy9qUjRsRXRDWUNNV25hcmVvbGZOV1BTcVdhdEI5ZE9h
QmJER2w0QmNGcU1VdTIwU09uVkFibjU4VHU1Mk4yN3F0UDk4ZzlBL1dBejlRdkFYMTczRkV1aHVr
THZkRGNuSm9MTld4bU0xTWhqeHk4MlB6a25uKzJjU3NYZFB6NGNiVDh4K0dLaDgrRkh3U08wT1Nn
QlltMW1uc0poMXFvaEZyMXdZLzVYeFp3V3cvdGVBczlLVHZ3dHdaSCsyWEExVnlYQnJVQjcwWEZ6
L3RGOW56TjlLOE85MU44aTloZkF2cmpzM0d1VE9qWHFaWG5oRUdHK3ZrZEZvVUFiRC9wOTdQajcv
dDU2cjU3L3B1K2I1cE9YZDZxUGJ2ZGZBYThlaTNWVmwwYWw2TFhybFk0dE8rYU5GcjBwc3RnRDJP
Tkxsek1IZEVuMm5XcVk2NitTemx4enpIeXdiODU4TC9UckJ2M3ZqV2ZnWDE4ejE1SnJ1cXBPcHps
cVphQThseG1LaHY0OUdnMy9vRC9zKzN1NjlCbDQ3RnAyaTNxSlZ6VmgweWxtclR2bVRWWis4QUZ6
NUhzRHpCWkJqTmtweHJrMkNwdzVJOTBmbjVNNk5oaGVlOWxzT2Z2Zm1nMy9uK3JQd3oxeXZrNW11
T3BsZVdKTWR0ZkhKanBydkpqdHFLQUJndWVUNHI0aVlkY3F2emJwZFAxajB5dmpxQXJDdjlTSlF1
bDdjdGxTcDJwY3RId1lyWmFnbElQZHZOcTUvMnIvZ1ltOVR3Yit4OWVCUGQ5WEpWSElTbUovcXJQ
MW11ck9HUndCZ09aTjJWNVZGcCt5MWFCZkdmNTB5c1ZRQWEzd0hZTEVBc3RMMXN0dVJMcWNyOHFY
MThpbVo3S2lWQnowWFh4ajZqWi92TnhuODZ4c0hQL2tJVUNkVG5YWHg2YzdhdjB4MTFQUnM5MTRE
cngyVFRsRnYwaXBtekRybHJFV24vTW1pVjhsbUNpRGJiSkFEdVRZSm50d3ZONjcrVG1hdTF5ZER2
bWJvdDM2eDl5ejQ5UzhaL05yRk5UL2RWZnY3cWM2Nms5dTkxOEJyeGF4ZVBmNHI0aHNWZ0hQaDl3
QnpyU2xTVlpRdEh3UXFaVERpbDd2ZGpWczc3YmNZL0ptdEIxK21PbXNUa3gyMVQ2YTZha2UyZTYr
QjE0NUp1NnZLcEZQMm1yVEt4MmJ0cy9GLzhWdUFMeXFBM2ZZME9WMmVMeTJYVHNwRWU0M2NmOEd6
L1RZRVh5WTdhbVd5b3lZKzFWSHovVlJuWGZOMjd6WHcybGthLzdYS1dZdFcrWk5GcDVUTkZFQzJ5
U0Q3WFZZSm5OZ25YUisrSmROZGRacys3WCtkNE5mS1pFZU5USGJVekU5MjFEeWE1UElQV0NsTnJi
Q1l0Y254MzZUZDlZTlpwNGhiZEtxTkMyQmgvSzhzekpMMy9ZZGxJT3lUT3pjYXR2d3gzc1kzK3I4
bytETFpFVXBNdE5jOG1laGcvQWVlWTFMdnFqSnBsYjBtamVLeFdhdjQwYXhWSmxZWHdGcHZBbWFt
NlNUZm5pYlZaWGtTZWZ1a2pNVkNjcmQ3RXlQK2VxZjlsb0pmdTJId0p6cHFaS0s5UnNiYlEvSEo5
dEQzazUwMWpQL0FhaWFOb3Q2a1NZNy9acTNpSjdOT0tZc1hnQzhxZ0N5VFFmYmxXTVYvZko5MGZu
QldKanRyVjR6M1d6bnRuN3ZSdi81ODZMY2EvR2NyTkQvUkhubzAyYzc0RDZ5UXBsWllURnBGeEtS
VkxJMy9Ld3ZnK1JlQjdDbkozd0Z3V1ZMa2NHR1d2T2MvTFAzTlhwbTVYdi9MVC90TkJuOXlFOEVm
VDRZL01SNExQUmx2RHpIK0E2dVpOWXBLazNaWGIvckMrRy9TS2hLYkxZQzhqRFE1VlpZbjRZc25a
TFF0S0hkdWJDNzBteDN6ZjBud3g5dERNaDRMeVZnc0ZCK1BCYjhmYjJmOEI1NlRybEhVcDJzVjB5
YU5ZbW44MzB3QlpLWHJaVisyUlh6SDkwbkgrMmRsb3FNbVdRQ3Y0TFIvK2VDSGxvSy9FSDRaandY
bngyUEJSMlB0UWNaL1lEbVRScG1hcmxZMG1UUzd2a3JUS1A1cTBpcCtOdXVVWXRtZ0FCeXBXbkZa
akhLb0lGT3VlQTlKWDVOSHBydnFOaDM2elo3MnZ5VDRDK0ZQakxZRm40ekhnb3ovd0dvbXphN2Q2
WnBkTVpORzhZMUpvM2hpMWk0OC8yK2lBUEl5VXVWa3FWdWFHay9JU0RRb005ZGYzV20vTXZnMVd3
NytXQ3drWTIxQkdXMEx4a2ZiZ3QrUHhVS00vOEJxYVpwZHU5UFVpaWFUUnZHVlNhdjR5OUluQUJz
VVFHYTZYb3F5TGVJOVZpVHQ3NTJSOGZiUXFzQy80dE4raThFZmF3dkthRFFvSTlIQS9HaGI4SnV4
S09NLzhCeVQ1bDlUMDlTS1FMcEdNV1RTS3Y3VHJGVThOZXVVaWVVRllGdjFZeUNPVksza21KUGov
N3ZlZzlKN3pTTlRuYld2NkxSL0JjRmZXQ1BSUUh3a0d2akxTRFRBbTMvQWV0TFZ5anlUUnZtT1Nh
dVlOT3NVMzVwMXluOXNWQUJ1VzZxY0xNMlZhdzNIWmJnMUlOTmRyK2EwWC9zei9LMEZmelFhbE5G
b0lIbjZSd08vSDJrTDh1WWY4Q0ltemE1Q2syN1hlMmF0Y3NxaVU4YlhMWUFValdTbTY2UXd5eXpl
WTRVU3UzSmF4bUtodFVQL2kwLzdtaFdoWHhIOHR2V0NINVNSYUVCR280SEVTS3YveVdocmdNcy9Z
RFBTZGNvaXMxYnh2a1duZkdyUksrTnJGWUE5UlN2WlpvTWMzT3VVZHp3SDVmYTFDekxSVWZOUFBl
M0gxemp0MXd2KzRocHVEY1JIb29IdlI2SUJMditBelRMcmxFVm1uZktoUmFkOGFsM3o1OEMwNHJh
bHlJbVNYTG5XY0V5R1d2MHkyVmtyVTEzUGgvNmxUdnNOZ2orNlFmQkhXZ015M0JxUTRWYi8vSEJy
NE5GSTFNL2xIN0FWRnIwcVlOR3JIbHIxcXFjMmd5cSsvRTFBWjVwT0NyTk00amxhSUcxWFRzdG9X
L0NmZDlxL1ZQQURNdHpxVHd5MytKOE1NLzRETDJYbmloSXdxdUkybzFyc0tSckpOaG1rWXE5RExs
K29rRnVmbkpmeDlwcG5vVi92Yy91dG52YXhOY2I4VFFVL0lNT3RmaGxxOGNlSFcvemZEMGNERjda
N0k0SGZxcDAydlNwZzA2c2UyZ3pxcHhsR1RkeWVvcEZjYTRvY0wzSEpwL1ZIWlREaWs0bU96WTM0
TDMzYWIrN0VYd3ord3ZMTkQ3Y0VibzIwQmpLM2V4T0IzN0tkTnFNNllET29IMllZMVUrZGFicDRR
YVpKTGh6Wks5RjNxMlVrR3BDSkRVLzcwS3M3N1RjTXZsK0dXbnlKd1lqdnlWQkw0SjN0M2p6Z1Ri
RFRabFFITW95YWg5bG0vZE9LUGM3NHBmUGwwdlB4T1JtTGhYNmQwMzVUd1Y5WUVWOThzTVUvTlJE
bThnOTRWWGJhVTdVQmw4WDQ4RVNKNitrbjlVZCtIZ2g3RXVQdG9WZHoycmR0SnZRdkR2NWd4TGV3
dkg4Y2lIZzdobG9DbHUzZU5PQk5zdE50U3czNGp4YzliSDJuZW5hb3hUYzMzaDZhSDR1RjR1UHR3
Y1I0OG4vdS9STk8rODBHM3lkREVkLy9ESVI5OXdiQ3ZzYnQzaXpnVGJUemFxZ3kwUFB4dWZCSU5C
QWJidzg5R28rRlpzZGpvYm54OXREY2FDdzRQOW9XakkvRmdvbXhXQ0F4K2dwTysrRzF4dnhWd1Ir
TStHUXc3UDF4TU94N1BCajI5ZlpIdkZYYnZWSEFtMnJuNHByc3JLa2Q2d2lGUjl0RHNmSDJtdGhJ
TFBSb3JDMDRPOVlXbWh1TmhlWkcyd0x6STlGZ2ZMUXRrQmlOQmhMUGhmNFhuUGFMYXlEaWs0R3dU
d2JDM3Y4ZGFQWStISWo0UHVwdjlqTCtBNytDbmN2WGVIdE43V2dzR0I2TmhXS2pzVkJzSkJwOE5C
b056bzVFQTNNTGEzNjROUkFmYWZVbmhwUHI1VTc3bGNHWGdiRDM3d05oejUvN203MGpBMkhQbVcz
ZUUrRC9yWldGMEJhc0hXNExoa2VpZ2RoSUxCUWJiZzA4R200TnpBNjMrT2VHVy94elE2MysrYUVX
ZjN5b3haZElybVdoYjNrKzlJTkxvVjhLdnZRM2UrTUR6ZDRmK3BzOS85RWY5cllOUkh5T2JkNERB
QXRXRk1Kb1c3QjJ1RFVZSG9vR1lrUFJRR3lveGY5b3FNVTNPeFR4elExRmZITkRMYjc1b1lndlBo
anhKcFpXZU8zZ0o4UHZTZlEzZVg4YUNIdG4rNXU5TTMzTlhQNEJyN01WaFREY0dxZ2RidldIQjF2
OXNjRldmMnd3NG44MEdQSE5Eb2E5YzRNUjM5eGcyRHMzRVBiT0Q0Uzk4WUd3SnpFUTlpVDZtNzNT
Myt5VnZtYlBmSCt6Wjc2dnlmTzB2OW43cDc1bWIyOS9NNWQvd0cvSmM0VXcxT0lQOTBmOHNjR0lQ
OVlmOGNjR3dyNUhBMkh2N0VDemQyNmcyVHZYbHd4OXZLL1o4MjEvcytlLytwbzgzL1kzZVQ3cmEv
WTBjZmtIL0xidFhMMkdXbnkxQTJGZnVDL3NqZldIdmJIK1pzK2p2ckQzWm0rVFo2aTN5VFBXMSt5
WjdHdnlYTzlyOXZpMzkwOEg4TSt3b2hCNm03eGx0Njk1VHc2RWZlY0d3MTVmZjVQbm5iNW1UNkQz
Mm9VRDIveDNBdmdWN2R5eFk4Zk9nU2F2dTcvSms5VjN6YXZlN2o4SUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBSUNWL2c5dFBKRVF1MVh2bVFBQUFBQkpSVTVFcmtKZ2dnPT0iPgorPGltZyBpZD0iaTIiIHNy
Yz0iaHR0cDovL21hc2hhYmxlLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAwOC8wOC90aHVuZGVy
YmlyZC1sb2dvLTY0eDY0LnBuZyI+CisKKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9tb3Jl
L2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJEQmFkQXJncy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4
U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NmY1MzYxZDM1MmJkZGZjZmI5ZmZl
NDljYzJlZjA2MGYwMWI4NTU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbW9yZS9mdW5jdGlvbnMvdGV4
U3ViSW1hZ2UyREJhZEFyZ3MuaHRtbApAQCAtMCwwICsxLDExMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0
L2NzcyIgaHJlZj0iLi4vdW5pdC5jc3MiIC8+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gt
amF2YXNjcmlwdCIgc3JjPSIuLi91bml0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgorCitUZXN0cy5zdGFydFVuaXQgPSBm
dW5jdGlvbiAoKSB7CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdn
bCcpOworICAgIHZhciBnbCA9IHdyYXBHTENvbnRleHQoZ2V0R0xDb250ZXh0KGNhbnZhcykpOwor
ICAgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9uKGdsKSB7CisgICAg
dmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXgpOworICAgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0gZnVu
Y3Rpb24oZ2wsdGV4KSB7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7
CisgICAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9
IGZ1bmN0aW9uKGdsKSB7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5S
R0JBLCAyLDIsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSkpOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRhIiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLDAsIDAsIDIsMSxnbC5SR0JBLGds
LlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0pOworICAg
IGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAibm90IGVub3VnaCBkYXRh
IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAw
LDAsIDAsIDEsMixnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAs
MCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwg
ImJhZCB0YXJnZXQiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLkZM
T0FULCAwLCAwLDAsIDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5
KFswLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURf
VkFMVUUsICJ3aWR0aCBvdXQgb2YgcmFuZ2UiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhT
dWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsMCwgMCwgMywxLGdsLlJHQkEsZ2wuVU5TSUdORURf
QllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSkpOworICAgIH0p
OworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJoZWlnaHQgb3V0IG9m
IHJhbmdlIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLDAsIDAsIDEsMyxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5
KFswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRPaygiemVy
byBzaXplIiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLDAsIDAsIDAsMCxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5
KFswLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydFNvbWVHTEVycm9yKGdsLCAibmVnYXRp
dmUgd2lkdGgiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsMCwgMCwgLTEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFy
cmF5KFswLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydFNvbWVHTEVycm9yKGdsLCAibmVn
YXRpdmUgaGVpZ2h0IiwgZnVuY3Rpb24oKXsKKyAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLDAsIDAsIDEsLTEsZ2wuUkdCQSxnbC5VTlNJR05FRF9CWVRFLCBuZXcgVWlu
dDhBcnJheShbMCwwLDAsMF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5J
TlZBTElEX1ZBTFVFLCAibmVnYXRpdmUgeCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1
YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwtMSwxLDEsMSxnbC5SR0JBLGdsLlVOU0lHTkVEX0JZ
VEUsIG5ldyBVaW50OEFycmF5KFswLDAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJuZWdhdGl2ZSB5IiwgZnVuY3Rpb24oKXsKKyAgICAg
ICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLDEsLTEsMSwxLGdsLlJHQkEsZ2wu
VU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7CisgICAgfSk7CisgICAg
YXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIGZvcm1hdCIsIGZ1bmN0aW9u
KCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwwLCAxLDEs
Z2wuRkxPQVQsZ2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiYmFkIHR5cGUi
LCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IDAsMCwgMSwxLGdsLlJHQkEsZ2wuVEVYVFVSRV8yRCwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBd
KSk7CisgICAgfSk7CisgICAgYXNzZXJ0R0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04s
ICJub3QgZW5vdWdoIGRhdGEiLCBmdW5jdGlvbigpeworICAgICAgICBnbC50ZXhTdWJJbWFnZTJE
KGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMSwxLGdsLlJHQkEsZ2wuVU5TSUdORURfQllURSwgbmV3
IFVpbnQ4QXJyYXkoWzAsMCwwXSkpOworICAgIH0pOworICAgIGFzc2VydEdMRXJyb3IoZ2wsIGds
LklOVkFMSURfT1BFUkFUSU9OLCAiZm9ybWF0IGRvZXMgbm90IG1hdGNoIGludGVybmFsIGZvcm1h
dCIsIGZ1bmN0aW9uKCl7CisgICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgMCwwLCAxLDEsZ2wuUkdCLGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KFswLDAs
MF0pKTsKKyAgICB9KTsKKyAgICBhc3NlcnRHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElP
TiwgInR5cGUgZG9lcyBub3QgbWF0Y2ggb3JpZ2luYWwiLCBmdW5jdGlvbigpeworICAgICAgICBn
bC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgMSwxLGdsLlJHQkEsZ2wuVU5T
SUdORURfU0hPUlRfNF80XzRfNCwgbmV3IFVpbnQxNkFycmF5KFswXSkpOworICAgIH0pOworfQor
CisKK1Rlc3RzLmVuZFVuaXQgPSBmdW5jdGlvbihnbCkgeworfQorCis8L3NjcmlwdD4KKzxzdHls
ZT5jYW52YXN7IHBvc2l0aW9uOmFic29sdXRlOyB9PC9zdHlsZT4KKzwvaGVhZD48Ym9keT4KKzxj
YW52YXMgaWQ9ImdsIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjwvY2FudmFzPgorPC9ib2R5Pjwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21vcmUvZnVuY3Rpb25zL3RleFN1YkltYWdlMkRIVE1MLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9tb3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyODRm
ZDg0N2MyM2M0Yzc5MWFmYzEzYjg5NTRmOTUyZjE3YmM4NGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
b3JlL2Z1bmN0aW9ucy90ZXhTdWJJbWFnZTJESFRNTC5odG1sCkBAIC0wLDAgKzEsMTY0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgor
KioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRl
YWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdp
dGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBv
ZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1h
dGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFU
RVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E
LAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI
RSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xB
SU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD
T05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJ
TiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBE
RUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi91bml0LmNzcyIgLz4KKzxzY3JpcHQgdHlwZT0i
YXBwbGljYXRpb24veC1qYXZhc2NyaXB0IiBzcmM9Ii4uL3VuaXQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0iLi4vdXRpbC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+CisKK1Rlc3Rz
LnN0YXJ0VW5pdCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2dsJyk7CisgICAgdmFyIGdsID0gd3JhcEdMQ29udGV4dChnZXRHTENvbnRl
eHQoY2FudmFzKSk7CisgICAgZ2wudmlld3BvcnQoMCwwLGNhbnZhcy53aWR0aCxjYW52YXMuaGVp
Z2h0KTsKKyAgICBnbC5jbGVhckNvbG9yKDAsMCwxLDEpOworICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICBnbC5kaXNhYmxlKGdsLkRF
UFRIX1RFU1QpOworICAgIHJldHVybiBbZ2xdOworfQorCitUZXN0cy5zZXR1cCA9IGZ1bmN0aW9u
KGdsKSB7CisgICAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4
dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOworICAgIHZhciB0ZXhDdWJlTWFwID0gZ2wuY3JlYXRl
VGV4dHVyZSgpOworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VCRV9NQVAsIHRleEN1
YmVNYXApOworICAgIHJldHVybiBbZ2xdCit9CisKK1Rlc3RzLnRlYXJkb3duID0gZnVuY3Rpb24o
Z2wsIHRleCwgdGV4Q3ViZU1hcCkgeworICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQs
IG51bGwpOworICAgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKKyAgICBnbC5iaW5kVGV4dHVyZShn
bC5URVhUVVJFX0NVQkVfTUFQLCBudWxsKTsKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleEN1YmVN
YXApOworfQorCitUZXN0cy50ZXN0VGV4SW1hZ2UyRCA9IGZ1bmN0aW9uKGdsKSB7CisgICAgZ2wu
ZW5hYmxlKGdsLkJMRU5EKTsKKyAgICB2YXIgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2knKTsKKyAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyk7CisgICAgdmFy
IGN0eCA9IGMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjdHguZHJhd0ltYWdlKGltZywwLDApOwor
ICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgaW1nKTsKKyAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGltZyk7CisgICAgZ2wudGV4UGFy
YW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURH
RSk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBf
VCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJE
LCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLkxJTkVBUik7CisgICAgZ2wudGV4UGFyYW1ldGVy
aShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7CisgICAg
dmFyIGYgPSBuZXcgRmlsdGVyKGdsLCAnaWRlbnRpdHktZmxpcC12ZXJ0JywgJ2lkZW50aXR5LWZy
YWcnKTsKKyAgICBnbC5ibGVuZEZ1bmMoZ2wuT05FLCBnbC5aRVJPKTsKKyAgICBmLmFwcGx5KCk7
CisgICAgZi5kZXN0cm95KCk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTsKKyAgICBnbC50ZXhTdWJJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMp
OworICAgIGYgPSBuZXcgRmlsdGVyKGdsLCAnaWRlbnRpdHktaGZsaXAtdmVydCcsICdpZGVudGl0
eS1mcmFnJyk7CisgICAgZ2wuYmxlbmRGdW5jKGdsLlNSQ19BTFBIQSwgZ2wuT05FX01JTlVTX1NS
Q19BTFBIQSk7CisgICAgZi5hcHBseSgpOworICAgIGYuZGVzdHJveSgpOworICAgIHZhciB2YWxp
ZF90YXJnZXRzID0gWworICAgICAgICBnbC5URVhUVVJFXzJELAorICAgICAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJ
VkVfWCwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICAgICAgICBn
bC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWiwKKyAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aCisg
ICAgXTsKKyAgICB2YWxpZF90YXJnZXRzLmZvckVhY2goZnVuY3Rpb24odCkgeworICAgICAgICBh
c3NlcnRPayhmdW5jdGlvbigpeworICAgICAgICAgICAgICAgIGdsLnRleEltYWdlMkQodCwgMCwg
Z2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYyk7CisgICAgICAgICAgICAgICAg
Z2wudGV4U3ViSW1hZ2UyRCh0LCAwLCAwLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBj
KTsKKyAgICAgICAgfSk7CisgICAgICAgIGFzc2VydE9rKGZ1bmN0aW9uKCl7CisgICAgICAgICAg
ICAgICAgZ2wudGV4SW1hZ2UyRCh0LCAxLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLCBjKTsKKyAgICAgICAgICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKHQsIDEsIDAsIDAsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGMpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKwor
VGVzdHMudGVzdFRleEltYWdlMkROb25TT1AgPSBmdW5jdGlvbihnbCkgeworICAgIHZhciBpbWcg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaTInKTsKKyAgICB3aGlsZSAoIWltZy5jb21wbGV0
ZSkge30KKyAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyk7CisgICAgdmFy
IGN0eCA9IGMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjdHguZHJhd0ltYWdlKGltZywwLDApOwor
ICAgIGFzc2VydFRocm93Tm9HTEVycm9yKGdsLCAidGV4SW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdp
biBpbWFnZSBzaG91bGQgdGhyb3cgZXhjZXB0aW9uLiIsCisgICAgICBmdW5jdGlvbigpe2dsLnRl
eEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgaW1nKTt9KTsKKyAgICBhc3NlcnRUaHJvd05vR0xFcnJvcihnbCwgInRleFN1YkltYWdl
MkQgd2l0aCBjcm9zcy1vcmlnaW4gaW1hZ2Ugc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iLAorICAg
ICAgZnVuY3Rpb24oKXtnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIDAsMCwgZ2wu
UkdCQSwgZ2wuVU5TSUdORURfQllURSwgaW1nKTt9KTsKKyAgICBhc3NlcnRUaHJvd05vR0xFcnJv
cihnbCwgInRleEltYWdlMkQgd2l0aCBkaXJ0eSBvcmlnaW4gY2FudmFzIHNob3VsZCB0aHJvdyBl
eGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjKTt9KTsKKyAgICBhc3Nl
cnRUaHJvd05vR0xFcnJvcihnbCwgInRleFN1YkltYWdlMkQgd2l0aCBkaXJ0eSBvcmlnaW4gY2Fu
dmFzIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIiwKKyAgICAgIGZ1bmN0aW9uKCl7Z2wudGV4U3Vi
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUs
IGMpO30pOworfQorCitUZXN0cy5lbmRVbml0ID0gZnVuY3Rpb24oZ2wpIHsKK30KKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IGlkPSJpZGVudGl0eS1mbGlwLXZlcnQiIHR5cGU9Ingtc2hhZGVyL3gtdmVy
dGV4Ij4KK2F0dHJpYnV0ZSB2ZWMzIFZlcnRleDsKK2F0dHJpYnV0ZSB2ZWMyIFRleDsKKwordmFy
eWluZyB2ZWM0IHRleENvb3JkMDsKK3ZvaWQgbWFpbigpCit7CisgICAgdGV4Q29vcmQwID0gdmVj
NChUZXgucywgMS4wLVRleC50LCAwLjAsIDAuMCk7CisgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KFZl
cnRleCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iaWRlbnRpdHktaGZsaXAtdmVy
dCIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzMgVmVydGV4OworYXR0
cmlidXRlIHZlYzIgVGV4OworCit2YXJ5aW5nIHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkK
K3sKKyAgICB0ZXhDb29yZDAgPSB2ZWM0KDEuMC1UZXgucywgVGV4LnQsIDAuMCwgMC4wKTsKKyAg
ICBnbF9Qb3NpdGlvbiA9IHZlYzQoVmVydGV4LCAxLjApOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJpZGVudGl0eS1mcmFnIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lv
biBtZWRpdW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBsZXIyRCBUZXh0dXJlOworCit2YXJ5aW5n
IHZlYzQgdGV4Q29vcmQwOwordm9pZCBtYWluKCkKK3sKKyAgICB2ZWM0IGMgPSB0ZXh0dXJlMkQo
VGV4dHVyZSwgdGV4Q29vcmQwLnN0KTsKKyAgICBnbF9GcmFnQ29sb3IgPSBjOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+PGJvZHk+Cis8Y2FudmFzIGlkPSJnbCIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIy
NTYiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iYyIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiPjwv
Y2FudmFzPgorPGltZyBpZD0iaSIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiICBzcmM9ImRhdGE6
aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBUUFBQUFFQUNBWUFBQUJj
Y3FobUFBQVRWRWxFUVZSNG5PM2QrVlBVZDU3SGNmMmI5azlZK3o0NCtxSzdPWm9HRlZBNVZmQkd6
YWg5Y3hwTnpHRU9vUnVhNWxCRXVlL0RLNGZaN01hcG1TbTNNbHNodTh4T2RDcERKdDN2L2FFQkFV
SEFPTUc0ejBmVjUzZnFVL1Y2ZmQ3ZlQvZTMyYkVEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3T3ZC
a2FyN2wrMytHd0Jzazh4VXJUMHJUYjh2eDJRNDVqYW5sdTdZc1dQbnNnWGdUZVl3YWs4NVUzWHY1
WmlNMytYYlVoL2wyZElDQmM2MDgwV1oxdXI5MmJhU0hSUUI4R2F5R2RVV3UxSHpvU05GTytaTTFm
MmNiVExNNTFsVDV3b2M1cmtET2JiWi9WbTJTRW0yM1Z2c3lqaFY1bkpRQnNDYnhHWlFWdG1ONnA0
TW8vWVBkcU5HSEtsYXlVclhKOXpXbEVTaDB4SXZ6c21ZTDNIWjU0cHpNbTZWdVJ5Uk1wZlRXK3B5
VUFiQW04Qm1WTlZuR05UVGRxUDZ2ek9NR3JHbmFNU1pxcE5zazE3eWJLbFM2RFRML2l4Ym90Umxq
NWZsT3ViTDNJNjVNcGZqVnJuYkVhbFlLSU5TbDMzNXZRR0Ezd0tiVVcyeEdkV1JES1A2Nnd5aldo
WUx3SkdpRldlYVRySk5CbkZiVTJTUDNTVDdzNnhTbW11WGNyY3pVZTUyeHN0ekhmUGxic2RjdWR0
NXF5elgzbEtXbHhrc3pYR2VLOG14bnl6SnlTamVRUmtBcnplYlFWbGxNNnA3YlViMTQ5VUY0RWpW
U21hYVRyTFM5ZUt5cE1nZWU3b2N5TFpKbWRzaEZYbVpVcEhuWEZFR0IvT3pKc3JkanFFeXQvTm1X
YTQ5WEpidDlKYTZNazRWdTdoRUJGNUxOcjJxM21aUXo5Z002dTlYRkVCcXNnQ2NhVHJKWEpnRWNp
MHBzdGRoa3YzWk5pbk5UWmJBb2Z3c09aU2ZKUWZ6TXFVOHo1a29kenNTWmJtT2VJWGIrWFc1MnpG
YTVuTGNLblBaSTJVTGw0akZmS0lBdkI3TU9yWEZabEJIYkFiMTF6YWora21HVWJOdUFXU202NWRL
WUhkR21oUmxXcVE4enlGSENuTGsrTDVjT1Y2VUswY0tYVks1SjFzTzVtZEtoZHNwWmF2S29EVFgw
VlBpY2lUTElIdEZHVkFJd0svTllsQlcyZlRxWHB0Qi9kaG1TSjcrTHlxQXJIUzk1SmlUSlZEZ05F
bGxRWlo0S2d1bHJycFU2cXRMSlhCc3Y1d3QzeU1uOXJ2bGFJRkxEaTh2ZzF4SDRtQis1cCtXbDBG
cGpyMmxKTWNSTE02eW55dk96amh4SUl0N0ErQlhZOUdyNnEwTDQvOVNBYVJveEw3dy9MOVdBV1Ni
REpKclRaRmlkNFo0anhaSlUvMXh1ZkhoT2VtK2VrNmlsMC9MQjc0cWFUeFRKb0dqKytWczJSNDV2
ajlYamhUa3lPSGRDNDhKQzJWd2FIZm1ueXJjem4rdmNEc215bkx0UXlVNUdUZUxjekxDcFRrMlQz
R1c3Vmh4VnNhZTdkNGY0STFsMXFrdFZvTTZZak9vdnJZYTFEOHNGb0I5V1FFNDE1a0E4dTFwY3ZS
QWpud1VPaUxETFFHNTE5MG85MjQyeWxSSG5ReUcvWEx6Nm5tSlhxcVdEM3lWMG5DNlZQeEg5OG5a
c3QxeWZGK3VIQzEwU2RYZWJEbVVueXlEcW9Mczd3N2xaMzViN25iOHNjeHQvN2RTbDMya0pDZWpx
eVFuNDBwSlRrYlpEaVlDNE5XemFKVlZWcjJxMTJaUVBiWWExSDlmdXdCMFN3V1FsYTZYTEZPeUFB
b3lUZkxXNFQzU2Z1V00zTDNSSUEvN0w4dkQvc3Z5WmU4bCtlelcyM0t2dTFFbU8ycGxvTmtuM1Zm
UFNldmIxZksrdDFJYXo1Uko3Y2xpOFIwcGt0T2wrWEtzS0ZrR0J4ZktvSEp2MWw4UDVtZit1U0xQ
OGZ2eVhNZE1tZHNSS1hjNXFvdGRHUVhidlYvQUc4V2lWOVZiOWFvWnExNDFhek9veFdiY1hBSGtX
bE9rSkM5RGFrOFh5NjFQTDhpRG5vdExCYkJVQkgyWDVZdmJsK1JCejBXNWU2TkJKdHBycEwvWkp6
Yy9PaS9YUDNoTFdpNmVrdmM4aDZXdXVrUzhWYy9LWVBFQzhXaGh6cE9xZ3V6dkt2ZG1mWFY0ZDJi
M3dmek05dy9sWlRFTkFLK0NXYWV3V0hXcWlFMnYrdHFxVi8ydzJRTElOaGtrUDJOaC9LODlJbU50
SWZtaTk5S3o4UGNsMTVkTDY1SjgwWHRKUHIvMXR0eS8yU2gzdXh2a3p2VjZHWStGcE8rYVY2NS84
RHVKWER3cFZ6eUhwTzdVUWhtVTVNdlJJcGRVN2MyUlE3dXo1TVIrOXgrT0ZibnVIaTNNaVZRVnVL
b1A3ODR1MnU3OUEzN1RMRnBsbFZXbjZyWHFWWSt0ZXRXUEd4YkFzZ3ZBdlU2VHZIVm90OFN1bkpZ
N04rcmx5NzYxZy85bGIzSjlzV3g5ZnZ1U2ZINzdiWG5RYzFIdWRUZklURmVkakxXRnBQZWFSN28r
ZUV2Q2pTZmx5b1ZEVWxkZEtzSGpCK1RDNFVJNVZad25WUVU1aWJjcTlueDF1alMvNThRQjk5WHFZ
bmY1RHFZQjRPVllkTS9HZjZ0ZTlZL2s4Ly9HQmVDeUdLWEVuU0UxMVFlazU1UHpjdjltNDhyUXJ4
UDhMMjVma2k5dXZ5MmZyMXFmM2JxWW5BeHVOTWgwWjUyTVJJTnkrMU9QWFAvd2Q5Sis1WXcwMTUr
UWQ4NGZsSnFUeFhMaGNJR2NMTTc3K1VoQnp0OHVWQmEybnF2Y2UvWnN4WjZ5N2Q1TDREZGxjZnkz
NkZWZlcvU3FINndHbGF3dWdNV3ZBVHZUbGhXQXlTQjVHYWx5ZEgrT2ZGUnpSRWFqUWZuODF0dnJo
LzZGd1Y5Y0YrV3pXeGZsd2EyTGNyL25vdHpyYnBTWjYvVXkxVlVua3gyMU10d1NrSjVQTGtqSGUy
ZWxxZjY0WEQ1M1VFSW5EaVF1SEM2WXJ5N09tejFXNUhyWStGYkY0UjFNQThEbVdMVEtLc3V5OGQ5
cVVMK3dBSlovQzNDUE0xM09IdHd0YmUrZWx1bnI5ZkxGdXNGL1B2U2YzMW83K0E5Nm5xMzdQUmZs
ZmsrajNMK1ovRmp4N28wR21lNnFrNG4yR2hscThVdlB4K2VsL2NvWnVWWjNYQzZmcS9pNTdsVHgz
MnBPSG5nVU9sVWMvalI0bEV0Q1lDTVduYXJlb2xmTldQU3FXYXRCOWRPYUJiREdsNEJjRnFNVXUy
MFNPblZBYm41OFR1NTJOMjdxdFA5OGc5QS9XQXo5UXZBWDE3M0ZFdWh1a0x2ZERjbkpvTE5XeG1N
MU1oanh5ODJQemtubisyY1NzWGRQejRjYlQ4eCtHS2g4K0ZId1NPME9TZ0JZbTFtbnNKaDFxb2hG
cjF3WS81WHhad1d3L3RlQXM5S1R2d3R3WkgrMlhBMVZ5WEJyVUI3MFhGei90Rjluek45SzhPOTFO
OGk5aGZBdnJqczNHdVRPalhxWlhuaEVHRyt2a2RGb1VBYkQvcDk3UGo3L3Q1NnI1Ny9wdStiNXBP
WGQ2cVBidmRmQWE4ZWkzVlZsMGFsNkxYcmxZNHRPK2FORnIwcHN0Z0QyT05MbHpNSGRFbjJuV3FZ
NjYrU3pseHp6SHl3Yjg1OEwvVHJCdjN2aldmZ1gxOHoxNUpydXFwT3B6bHFaYUE4bHhtS2h2NDlH
ZzMvb0QvcyszdTY5Qmw0N0ZwMmkzcUpWelZoMHlsbXJUdm1UVlorOEFGejVIc0R6QlpCak5rcHhy
azJDcHc1STkwZm41TTZOaGhlZTlsc09mdmZtZzMvbityUHd6MXl2azVtdU9wbGVXSk1kdGZISmpw
cnZKanRxS0FCZ3VlVDRyNGlZZGNxdnpicGRQMWoweXZqcUFyQ3Y5U0pRdWw3Y3RsU3AycGN0SHdZ
clphZ2xJUGR2TnE1LzJyL2dZbTlUd2IreDllQlBkOVhKVkhJU21KL3FyUDFtdXJPR1J3QmdPWk4y
VjVWRnAreTFhQmZHZjUweXNWUUFhM3dIWUxFQXN0TDFzdHVSTHFjcjhxWDE4aW1aN0tpVkJ6MFhY
eGo2alovdk54bjg2eHNIUC9rSVVDZFRuWFh4NmM3YXYweDExUFJzOTE0RHJ4MlRUbEZ2MGlwbXpE
cmxyRVduL01taVY4bG1DaURiYkpBRHVUWUpudHd2TjY3K1RtYXUxeWREdm1ib3QzNng5eXo0OVM4
Wi9OckZOVC9kVmZ2N3FjNjZrOXU5MThCcnhheGVQZjRyNGhzVmdIUGg5d0J6clNsU1ZaUXRId1Fx
WlREaWw3dmRqVnM3N2JjWS9KbXRCMSttT21zVGt4MjFUNmE2YWtlMmU2K0IxNDVKdTZ2S3BGUDJt
clRLeDJidHMvRi84VnVBTHlxQTNmWTBPVjJlTHkyWFRzcEVlNDNjZjhHei9UWUVYeVk3YW1XeW95
WSsxVkh6L1ZSblhmTjI3elh3MmxrYS83WEtXWXRXK1pORnA1VE5GRUMyeVNEN1hWWUpuTmduWFIr
K0pkTmRkWnMrN1grZDROZktaRWVOVEhiVXpFOTIxRHlhNVBJUFdDbE5yYkNZdGNueDM2VGQ5WU5a
cDRoYmRLcU5DMkJoL0s4c3pKTDMvWWRsSU95VE96Y2F0dnd4M3NZMytyOG8rRExaRVVwTXROYzht
ZWhnL0FlZVkxTHZxakpwbGIwbWplS3hXYXY0MGF4VkpsWVh3RnB2QW1hbTZTVGZuaWJWWlhrU2Vm
dWtqTVZDY3JkN0V5UCtlcWY5bG9KZnUySHdKenBxWktLOVJzYmJRL0hKOXREM2s1MDFqUC9BYWlh
Tm90NmtTWTcvWnEzaUo3Tk9LWXNYZ0M4cWdDeVRRZmJsV01WL2ZKOTBmbkJXSmp0clY0ejNXem50
bjd2UnYvNTg2TGNhL0djck5EL1JIbm8wMmM3NEQ2eVFwbFpZVEZwRnhLUlZMSTMvS3d2ZytSZUI3
Q25KM3dGd1dWTGtjR0dXdk9jL0xQM05YcG01WHYvTFQvdE5Cbjl5RThFZlQ0WS9NUjRMUFJsdkR6
SCtBNnVaTllwS2szWlhiL3JDK0cvU0toS2JMWUM4akRRNVZaWW40WXNuWkxRdEtIZHViQzcwbXgz
emYwbnd4OXRETWg0THlWZ3NGQitQQmI4ZmIyZjhCNTZUcmxIVXAyc1YweWFOWW1uODMwd0JaS1hy
WlYrMlJYekg5MG5IKzJkbG9xTW1XUUN2NExSLytlQ0hsb0svRUg0Wmp3WG54MlBCUjJQdFFjWi9Z
RG1UUnBtYXJsWTBtVFM3dmtyVEtQNXEwaXArTnV1VVl0bWdBQnlwV25GWmpIS29JRk91ZUE5Slg1
TkhwcnZxTmgzNnpaNzJ2eVQ0QytGUGpMWUZuNHpIZ296L3dHb216YTdkNlpwZE1aTkc4WTFKbzNo
aTFpNDgvMitpQVBJeVV1VmtxVnVhR2svSVNEUW9NOWRmM1dtL012ZzFXdzcrV0N3a1kyMUJHVzBM
eGtmYmd0K1B4VUtNLzhCcWFacGR1OVBVaWlhVFJ2R1ZTYXY0eTlJbkFCc1VRR2E2WG9xeUxlSTlW
aVR0NzUyUjhmYlFxc0MvNHROK2k4RWZhd3ZLYURRb0k5SEEvR2hiOEp1eEtPTS84QnlUNWw5VDA5
U0tRTHBHTVdUU0t2N1RyRlU4TmV1VWllVUZZRnYxWXlDT1ZLM2ttSlBqLzd2ZWc5Sjd6U05UbmJX
djZMUi9CY0ZmV0NQUlFId2tHdmpMU0RUQW0zL0FldExWeWp5VFJ2bU9TYXVZTk9zVTM1cDF5bjlz
VkFCdVc2cWNMTTJWYXczSFpiZzFJTk5kcithMFgvc3ovSzBGZnpRYWxORm9JSG42UndPL0gya0w4
dVlmOENJbXphNUNrMjdYZTJhdGNzcWlVOGJYTFlBVWpXU202NlF3eXl6ZVk0VVN1M0pheG1LaHRV
UC9pMC83bWhXaFh4SDh0dldDSDVTUmFFQkdvNEhFU0t2L3lXaHJnTXMvWURQU2Rjb2lzMWJ4dmtX
bmZHclJLK05yRllBOVJTdlpab01jM091VWR6d0g1ZmExQ3pMUlVmTlBQZTNIMXpqdDF3dis0aHB1
RGNSSG9vSHZSNklCTHYrQXpUTHJsRVZtbmZLaFJhZDhhbDN6NThDMDRyYWx5SW1TWExuV2NFeUdX
djB5MlZrclUxM1BoLzZsVHZzTmdqKzZRZkJIV2dNeTNCcVE0VmIvL0hCcjRORkkxTS9sSDdBVkZy
MHFZTkdySGxyMXFxYzJneXErL0UxQVo1cE9Dck5NNGpsYUlHMVhUc3RvVy9DZmQ5cS9WUEFETXR6
cVR3eTMrSjhNTS80REwyWG5paEl3cXVJMm8xcnNLUnJKTmhta1lxOURMbCtva0Z1Zm5KZng5cHBu
b1YvdmMvdXRudmF4TmNiOFRRVS9JTU90ZmhscThjZUhXL3pmRDBjREY3WjdJNEhmcXAwMnZTcGcw
NnNlMmd6cXB4bEdUZHllb3BGY2E0b2NMM0hKcC9WSFpURGlrNG1PelkzNEwzM2FiKzdFWHd6K3d2
TE5EN2NFYm8yMEJqSzNleE9CMzdLZE5xTTZZRE9vSDJZWTFVK2RhYnA0UWFaSkxoelpLOUYzcTJV
a0dwQ0pEVS83MEtzNzdUY012bCtHV255SndZanZ5VkJMNEozdDNqemdUYkRUWmxRSE1veWFoOWxt
L2RPS1BjNzRwZlBsMHZQeE9SbUxoWDZkMDM1VHdWOVlFVjk4c01VL05SRG04Zzk0VlhiYVU3VUJs
OFg0OEVTSjYra245VWQrSGdoN0V1UHRvVmR6MnJkdEp2UXZEdjVneExld3ZIOGNpSGc3aGxvQ2x1
M2VOT0JOc3ROdFN3MzRqeGM5YkgybmVuYW94VGMzM2g2YUg0dUY0dVB0d2NSNDhuL3UvUk5PKzgw
RzN5ZERFZC8vRElSOTl3YkN2c2J0M2l6Z1RiVHphcWd5MFBQeHVmQklOQkFiYnc4OUdvK0Zac2Rq
b2JueDl0RGNhQ3c0UDlvV2pJL0Znb214V0NBeCtncE8rK0cxeHZ4VndSK00rR1F3N1AxeE1PeDdQ
QmoyOWZaSHZGWGJ2VkhBbTJybjRwcnNyS2tkNndpRlI5dERzZkgybXRoSUxQUm9yQzA0TzlZV21o
dU5oZVpHMndMekk5RmdmTFF0a0JpTkJoTFBoZjRYblBhTGF5RGlrNEd3VHdiQzN2OGRhUFkrSElq
NFB1cHY5akwrQTcrQ25jdlhlSHRON1dnc0dCNk5oV0tqc1ZCc0pCcDhOQm9Oem81RUEzTUxhMzY0
TlJBZmFmVW5ocFByNVU3N2xjR1hnYkQzN3dOaHo1LzdtNzBqQTJIUG1XM2VFK0QvclpXRjBCYXNI
VzRMaGtlaWdkaElMQlFiYmcwOEdtNE56QTYzK09lR1cveHpRNjMrK2FFV2YzeW94WmRJcm1XaGIz
ays5SU5Mb1Y4S3Z2UTNlK01EemQ0ZitwczkvOUVmOXJZTlJIeU9iZDREQUF0V0ZNSm9XN0IydURV
WUhvb0dZa1BSUUd5b3hmOW9xTVUzT3hUeHpRMUZmSE5ETGI3NW9ZZ3ZQaGp4SnBaV2VPM2dKOFB2
U2ZRM2VYOGFDSHRuKzV1OU0zM05YUDRCcjdNVmhURGNHcWdkYnZXSEIxdjlzY0ZXZjJ3dzRuODBH
UEhORG9hOWM0TVIzOXhnMkRzM0VQYk9ENFM5OFlHd0p6RVE5aVQ2bTczUzMreVZ2bWJQZkgrelo3
NnZ5Zk8wdjluN3A3NW1iMjkvTTVkL3dHL0pjNFV3MU9JUDkwZjhzY0dJUDlZZjhjY0d3cjVIQTJI
djdFQ3pkMjZnMlR2WGx3eDl2Sy9aODIxL3MrZS8rcG84My9ZM2VUN3JhL1kwY2ZrSC9MYnRYTDJH
V255MUEyRmZ1Qy9zamZXSHZiSCtacytqdnJEM1ptK1RaNmkzeVRQVzEreVo3R3Z5WE85cjl2aTM5
MDhIOE0rd29oQjZtN3hsdDY5NVR3NkVmZWNHdzE1ZmY1UG5uYjVtVDZEMzJvVUQyL3gzQXZnVjdk
eXhZOGZPZ1NhdnU3L0prOVYzemF2ZTdqOElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlDVi9nOXRQSkVR
dTFYdm1RQUFBQUJKUlU1RXJrSmdnZz09Ij4KKzxpbWcgaWQ9ImkyIiBzcmM9Imh0dHA6Ly9tYXNo
YWJsZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMDgvMDgvdGh1bmRlcmJpcmQtbG9nby02NHg2
NC5wbmciPgorCis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYWNvcy9hY29z
XzAwMV90b18wMDYuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGUzYzU2M2RlNjUzNmFlODI0YWQ4MWRiYzM1NzAyMDQxMjU2ZjAwMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML2Fjb3MvYWNvc18wMDFfdG9fMDA2Lmh0bWwKQEAgLTAsMCAr
MSwxMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQuIERPIE5PVCBFRElULgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIGNvbmZv
cm1hbmNlIHRlc3Q6IGFjb3NfMDAxX3RvXzAwNi5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAv
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMt
dGVzdHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGls
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdp
ZHRoPSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsi
PjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0
UnVubmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYWNvc19mbG9hdF9mcmFnX3h2YXJ5X3JlZi5m
cmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYWNvc19mbG9hdF9mcmFnX3h2YXJ5LmZyYWci
CisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFjb3NfZmxvYXRfZnJhZ194dmFyeS50ZXN0Lmh0
bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAg
InJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImFjb3NfdmVjMl9m
cmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAg
ICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0
L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYWNvc192ZWMyX2Zy
YWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYWNvc192ZWMyX2ZyYWdf
eHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICJhY29zX3ZlYzNfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVs
IjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIi
OiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
ImFjb3NfdmVjM19mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFj
b3NfdmVjM19mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFy
ZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICJhY29zX2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogImFjb3NfZmxvYXRfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAiYWNvc19mbG9hdF92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAg
InBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhY29zX3ZlYzJfdmVydF94dmFyeV9y
ZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc192ZWMyX3ZlcnRfeHZhcnku
dmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZy
YWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFjb3NfdmVjMl92ZXJ0X3h2YXJ5LnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhY29zX3Zl
YzNfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwg
CisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYWNvc192
ZWMzX3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVm
YXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFjb3NfdmVjM192
ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9
CisgIF0KK30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2FzaW4vYXNpbl8wMDFfdG9fMDA2Lmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjZjc1N2U5ZjBh
MTgwYzE3YzZmZmE0ZTE2MmE0NjY0NDM1Nzc4OTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9H
TC9hc2luL2FzaW5fMDAxX3RvXzAwNi5odG1sCkBAIC0wLDAgKzEsMTMwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKwor
LyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiog
UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz
b24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0
aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo
LAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBN
YXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxz
IGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJz
dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMg
QVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBF
WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFN
QUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F
Q1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT
IElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBhc2luXzAw
MV90b18wMDYuaHRtbDwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUw
MCIgc3R5bGU9IndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5Pgor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVz
dHMiOiBbCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogImFzaW5fZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogImFzaW5fZmxvYXRfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAi
bmFtZSI6ICJhc2luX2Zsb2F0X2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVy
biI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjog
eworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhc2luX3ZlYzJfZnJhZ194dmFyeV9yZWYuZnJhZyIK
KyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7
CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAg
ICAgICAgImZyYWdtZW50U2hhZGVyIjogImFzaW5fdmVjMl9mcmFnX3h2YXJ5LmZyYWciCisgICAg
ICB9LCAKKyAgICAgICJuYW1lIjogImFzaW5fdmVjMl9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAor
ICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJl
bmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiYXNpbl92ZWMzX2ZyYWdfeHZh
cnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRl
c3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhc2luX3ZlYzNfZnJhZ194dmFy
eS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhc2luX3ZlYzNfZnJhZ194dmFyeS50
ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgewor
ICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXNp
bl9mbG9hdF92ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdy
aWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJh
c2luX2Zsb2F0X3ZlcnRfeHZhcnkudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
Li4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImFzaW5f
ZmxvYXRfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUi
CisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2
ZXJ0ZXhTaGFkZXIiOiAiYXNpbl92ZWMyX3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAi
dmVydGV4U2hhZGVyIjogImFzaW5fdmVjMl92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAg
ICAibmFtZSI6ICJhc2luX3ZlYzJfdmVydF94dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiYXNpbl92ZWMzX3ZlcnRfeHZhcnlfcmVmLnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFn
IgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFt
IjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImFzaW5fdmVjM192ZXJ0X3h2YXJ5LnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgor
ICAgICAgfSwgCisgICAgICAibmFtZSI6ICJhc2luX3ZlYzNfdmVydF94dmFyeS50ZXN0Lmh0bWwi
LCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9v
Z2xlcy9HTC9hdGFuL2F0YW5fMDAxX3RvXzAwOC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAw
MV90b18wMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZmUzYTRhOGQ1NzE3MmVlMzRlNzA1NzBkZDgxMWY2
NjAwM2ZjODJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvYXRhbi9hdGFuXzAwMV90b18w
MDguaHRtbApAQCAtMCwwICsxLDE1NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tIHRoaXMgZmls
ZSBpcyBhdXRvLWdlbmVyYXRlZC4gRE8gTk9UIEVESVQuCisKKy8qCisqKiBDb3B5cmlnaHQgKGMp
IDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5
IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBj
b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl
cyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0
IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRz
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1
YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoq
IHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRv
IHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg
YmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg
dGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMi
LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJ
TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFO
VEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H
RU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M
REVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklM
SVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJX
SVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBN
QVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgor
Ki8KKworLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIEdMU0wgY29uZm9ybWFuY2UgdGVzdDogYXRhbl8wMDFfdG9fMDA4Lmh0bWw8L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4u
L3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZh
cyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3aWR0aDogMTZw
eDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisidXNlIHN0cmlj
dCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAgIHsKKyAgICAg
ICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX2Zsb2F0
X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAor
ICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX2Zsb2F0
X2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiYXRhbl9mbG9hdF9m
cmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9
LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAiYXRhbl92ZWMyX2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJhdGFuX3ZlYzJfZnJhZ194dmFyeS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6
ICJhdGFuX3ZlYzJfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNv
bXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAg
ICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAg
ImZyYWdtZW50U2hhZGVyIjogImF0YW5fdmVjM19mcmFnX3h2YXJ5X3JlZi5mcmFnIgorICAgICAg
fSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiYXRhbl92ZWMzX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAiYXRhbl92ZWMzX2ZyYWdfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAi
cGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX2Zsb2F0X2ZyYWdfeHZhcnl5dmFy
eV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVz
dFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fZmxvYXRfZnJhZ194dmFy
eXl2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fZmxvYXRfZnJhZ194
dmFyeXl2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9
LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNo
YWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFk
ZXIiOiAiYXRhbl92ZWMyX2ZyYWdfeHZhcnl5dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogImF0YW5fdmVjMl9mcmFnX3h2YXJ5eXZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm5hbWUiOiAiYXRhbl92ZWMyX2ZyYWdfeHZhcnl5dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAg
ICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImF0YW5fdmVjM19mcmFnX3h2YXJ5eXZh
cnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRl
c3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJhdGFuX3ZlYzNfZnJhZ194dmFy
eXl2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImF0YW5fdmVjM19mcmFnX3h2
YXJ5eXZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0s
IAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogImF0YW5fZmxvYXRfdmVydF94dmFyeV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiYXRhbl9mbG9hdF92ZXJ0X3h2YXJ5LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFt
ZSI6ICJhdGFuX2Zsb2F0X3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogImF0YW5fdmVjMl92ZXJ0X3h2YXJ5X3JlZi52ZXJ0Iiwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsK
KyAgICAgICAgInZlcnRleFNoYWRlciI6ICJhdGFuX3ZlYzJfdmVydF94dmFyeS52ZXJ0IiwgCisg
ICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm5hbWUiOiAiYXRhbl92ZWMyX3ZlcnRfeHZhcnkudGVzdC5odG1sIiwgCisg
ICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMv
R0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9vZ2xlcy9HTC9j
b250cm9sX2Zsb3cvY29udHJvbF9mbG93XzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NTdi
ZmExNTExYTZjZmM0NGUzMDNkZDM2YzM1MzdhZTMzMGFiZDI4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
b2dsZXMvR0wvY29udHJvbF9mbG93L2NvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWwKQEAgLTAs
MCArMSwyNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1nZW5l
cmF0ZWQuIERPIE5PVCBFRElULgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIGNv
bmZvcm1hbmNlIHRlc3Q6IGNvbnRyb2xfZmxvd18wMDFfdG9fMDA4Lmh0bWw8L3RpdGxlPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiIC8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291
cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L29nbGVzLXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0i
ZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIHN0eWxlPSJ3aWR0aDogMTZweDsgaGVp
Z2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitP
cGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsKKyAgInRlc3RzIjogWworICAgIHsKKyAgICAgICJyZWZl
cmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVm
YXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAgICAgICAgICAicmVzdWx0Ijog
eworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3Jt
NGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAgICAgICAgIDEuMCwgCisgICAg
ICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMAor
ICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwgCisgICAgICAgICJmcmFnbWVu
dFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRl
ciI6ICJmb3JfYnJlYWtfZnJhZy5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJmb3Jf
YnJlYWtfZnJhZy50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAg
fSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjog
eworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAgICAgICAgICAiY291bnQiOiAxLCAKKyAgICAg
ICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAg
ICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4w
LCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAgICAgICBdCisgICAgICAgICAgfQorICAgICAg
ICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiZm9yX2JyZWFrX3ZlcnQudmVydCIsIAorICAg
ICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9
LCAKKyAgICAgICJuYW1lIjogImZvcl9icmVha192ZXJ0LnRlc3QuaHRtbCIsIAorICAgICAgInBh
dHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIs
IAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJlc3VsdCI6IHsKKyAgICAgICAg
ICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAidW5pZm9ybTRmdiIsIAorICAg
ICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAx
LjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAKKyAgICAgICAgICAg
IF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAi
Li4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxs
LCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9k
ZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiZm9yX2Nv
bnRpbnVlX2ZyYWcuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX2NvbnRpbnVl
X2ZyYWcudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3JtcyI6IHsKKyAg
ICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50IjogMSwgCisgICAgICAgICAg
ICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBbCisgICAgICAg
ICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisg
ICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAgICAgICAgfSwg
CisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVkLmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogewor
ICAgICAgICAidmVydGV4U2hhZGVyIjogImZvcl9jb250aW51ZV92ZXJ0LnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwg
CisgICAgICAibmFtZSI6ICJmb3JfY29udGludWVfdmVydC50ZXN0Lmh0bWwiLCAKKyAgICAgICJw
YXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQi
LCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAgICAg
ICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAKKyAg
ICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAg
MS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAgICAg
ICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjog
Ii4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVs
bCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4v
ZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImZvcl9u
ZXN0ZWRfYnJlYWtfZnJhZy5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJmb3JfbmVz
dGVkX2JyZWFrX2ZyYWcudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgor
ICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVy
dGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJ1bmlmb3Jt
cyI6IHsKKyAgICAgICAgICAicmVzdWx0IjogeworICAgICAgICAgICAgImNvdW50IjogMSwgCisg
ICAgICAgICAgICAidHlwZSI6ICJ1bmlmb3JtNGZ2IiwgCisgICAgICAgICAgICAidmFsdWUiOiBb
CisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAgIDEuMCwgCisgICAgICAgICAgICAg
IDEuMCwgCisgICAgICAgICAgICAgIDEuMAorICAgICAgICAgICAgXQorICAgICAgICAgIH0KKyAg
ICAgICAgfSwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2V4cGVjdGVk
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAorICAgICAgInRlc3RQcm9n
cmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImZvcl9uZXN0ZWRfYnJlYWtfdmVydC52
ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAiZm9yX25lc3RlZF9icmVha192ZXJ0LnRlc3Qu
aHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAg
ICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAidW5pZm9ybXMiOiB7CisgICAgICAgICAgInJl
c3VsdCI6IHsKKyAgICAgICAgICAgICJjb3VudCI6IDEsIAorICAgICAgICAgICAgInR5cGUiOiAi
dW5pZm9ybTRmdiIsIAorICAgICAgICAgICAgInZhbHVlIjogWworICAgICAgICAgICAgICAxLjAs
IAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAgICAxLjAsIAorICAgICAgICAgICAg
ICAxLjAKKyAgICAgICAgICAgIF0KKyAgICAgICAgICB9CisgICAgICAgIH0sIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9leHBlY3RlZC5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAiZm9yX25lc3RlZF9jb250aW51ZV9mcmFnLmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJuYW1lIjogImZvcl9uZXN0ZWRfY29udGludWVfZnJhZy50ZXN0Lmh0bWwiLCAKKyAgICAg
ICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZl
cnQiLCAKKyAgICAgICAgInVuaWZvcm1zIjogeworICAgICAgICAgICJyZXN1bHQiOiB7CisgICAg
ICAgICAgICAiY291bnQiOiAxLCAKKyAgICAgICAgICAgICJ0eXBlIjogInVuaWZvcm00ZnYiLCAK
KyAgICAgICAgICAgICJ2YWx1ZSI6IFsKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAg
ICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wLCAKKyAgICAgICAgICAgICAgMS4wCisgICAgICAg
ICAgICBdCisgICAgICAgICAgfQorICAgICAgICB9LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVy
IjogIi4uL2RlZmF1bHQvZXhwZWN0ZWQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjog
bnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAi
Zm9yX25lc3RlZF9jb250aW51ZV92ZXJ0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJm
b3JfbmVzdGVkX2NvbnRpbnVlX3ZlcnQudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJj
b21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9f
MDA4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9sb2cvbG9nXzAwMV90b18wMDguaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
NDQ5OWM5YzlmNzZkYzYwYTBmZTg3MDIxY2FiMGMxMThhNjBmNzEzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2Uvb2dsZXMvR0wvbG9nL2xvZ18wMDFfdG9fMDA4Lmh0bWwKQEAgLTAsMCArMSwxNTYgQEAKKzwh
RE9DVFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQuIERPIE5PVCBF
RElULgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIGNvbmZvcm1hbmNlIHRlc3Q6
IGxvZ18wMDFfdG9fMDA4Lmh0bWw8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiIC8+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL3Jlc291cmNlcy9vZ2xlcy10ZXN0cy5jc3MiIC8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL29nbGVzLXV0aWxzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjUwMCIgaGVp
Z2h0PSI1MDAiIHN0eWxlPSJ3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyI+PC9jYW52YXM+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwv
Ym9keT4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitPcGVuR0xFU1Rlc3RSdW5uZXIucnVuKHsK
KyAgInRlc3RzIjogWworICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICJsb2dfZmxvYXRfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImxvZ19mbG9hdF9mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAg
ICAgICJuYW1lIjogImxvZ19mbG9hdF9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBh
dHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3Jh
bSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIs
IAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nX2Zsb2F0X2ZyYWdfeHZhcnkwMV9yZWYu
ZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dy
YW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQi
LCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ19mbG9hdF9mcmFnX3h2YXJ5MDEuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nX2Zsb2F0X2ZyYWdfeHZhcnkwMS50ZXN0
Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAg
ICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVm
YXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ192ZWMy
X2ZyYWdfeHZhcnlfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6IG51bGwsIAor
ICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1
bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2dfdmVjMl9m
cmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZ192ZWMyX2ZyYWdf
eHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICJsb2dfdmVjMl9mcmFnX3h2YXJ5MDFfcmVmLmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2Rl
bCI6IG51bGwsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICJsb2dfdmVjMl9mcmFnX3h2YXJ5MDEuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAi
bG9nX3ZlYzJfZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29t
cGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAg
ICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAi
ZnJhZ21lbnRTaGFkZXIiOiAibG9nX3ZlYzNfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0s
IAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAg
ICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZy
YWdtZW50U2hhZGVyIjogImxvZ192ZWMzX2ZyYWdfeHZhcnkuZnJhZyIKKyAgICAgIH0sIAorICAg
ICAgIm5hbWUiOiAibG9nX3ZlYzNfZnJhZ194dmFyeS50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0
ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ192ZWMzX2ZyYWdfeHZhcnkwMV9yZWYuZnJh
ZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0i
OiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAK
KyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZ192ZWMzX2ZyYWdfeHZhcnkwMS5mcmFnIgor
ICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2dfdmVjM19mcmFnX3h2YXJ5MDEudGVzdC5odG1s
IiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJy
ZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogImxvZ19mbG9hdF92
ZXJ0X3h2YXJ5X3JlZi52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZh
dWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm1vZGVsIjogImdyaWQiLCAKKyAg
ICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2dfZmxvYXRf
dmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0
L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nX2Zsb2F0X3ZlcnRf
eHZhcnkudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAor
ICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVy
IjogImxvZ19mbG9hdF92ZXJ0X3h2YXJ5MDFfcmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9k
ZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hh
ZGVyIjogImxvZ19mbG9hdF92ZXJ0X3h2YXJ5MDEudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImxvZ19mbG9hdF92ZXJ0X3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6
ICJjb21wYXJlIgorICAgIH0KKyAgXQorfSk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvb2dsZXMvR0wvbG9nMi9sb2cyXzAw
MV90b18wMDguaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWFhYTE3OGYyOGNhZjI4NTk1YTcxZGQ2ZGM1YTczMjA0MDYwODk2YgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL29nbGVzL0dML2xvZzIvbG9nMl8wMDFfdG9fMDA4Lmh0bWwKQEAgLTAsMCArMSwx
NTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLSB0aGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQu
IERPIE5PVCBFRElULgorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBHTFNMIGNvbmZvcm1h
bmNlIHRlc3Q6IGxvZzJfMDAxX3RvXzAwOC5odG1sPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIiAvPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvb2dsZXMtdGVz
dHMuY3NzIiAvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJnbC10
ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9vZ2xlcy11dGlscy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRo
PSI1MDAiIGhlaWdodD0iNTAwIiBzdHlsZT0id2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsiPjwv
Y2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworT3BlbkdMRVNUZXN0UnVu
bmVyLnJ1bih7CisgICJ0ZXN0cyI6IFsKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl9mbG9hdF9mcmFnX3h2YXJ5X3JlZi5mcmFn
IgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6
IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAor
ICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl9mbG9hdF9mcmFnX3h2YXJ5LmZyYWciCisg
ICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfZmxvYXRfZnJhZ194dmFyeS50ZXN0Lmh0bWwi
LCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJl
ZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9k
ZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfZmxvYXRfZnJh
Z194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAg
ICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0
L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl9mbG9hdF9m
cmFnX3h2YXJ5MDEuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nMl9mbG9hdF9m
cmFnX3h2YXJ5MDEudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAg
IH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4
U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNo
YWRlciI6ICJsb2cyX3ZlYzJfZnJhZ194dmFyeV9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1l
IjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAi
Y29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAg
ICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAg
ICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMyX2ZyYWdfeHZhcnkwMV9yZWYuZnJhZyIKKyAg
ICAgIH0sIAorICAgICAgIm1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7Cisg
ICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjMl9mcmFnX3h2YXJ5MDEuZnJhZyIKKyAgICAg
IH0sIAorICAgICAgIm5hbWUiOiAibG9nMl92ZWMyX2ZyYWdfeHZhcnkwMS50ZXN0Lmh0bWwiLCAK
KyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVy
ZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogImxvZzJfdmVjM19mcmFnX3h2
YXJ5X3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0
ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9nMl92ZWMzX2ZyYWdfeHZh
cnkuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAibG9nMl92ZWMzX2ZyYWdfeHZhcnku
dGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21wYXJlIgorICAgIH0sIAorICAgIHsK
KyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogIi4u
L2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICJsb2cy
X3ZlYzNfZnJhZ194dmFyeTAxX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBu
dWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIu
Li9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAibG9n
Ml92ZWMzX2ZyYWdfeHZhcnkwMS5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJsb2cy
X3ZlYzNfZnJhZ194dmFyeTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFy
ZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAg
InZlcnRleFNoYWRlciI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnlfcmVmLnZlcnQiLCAKKyAgICAg
ICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwg
CisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogImxvZzJfZmxvYXRfdmVydF94dmFyeS52ZXJ0IiwgCisgICAgICAg
ICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAor
ICAgICAgIm5hbWUiOiAibG9nMl9mbG9hdF92ZXJ0X3h2YXJ5LnRlc3QuaHRtbCIsIAorICAgICAg
InBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVmZXJlbmNlUHJv
Z3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICJsb2cyX2Zsb2F0X3ZlcnRfeHZhcnkw
MV9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVz
dFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAibG9nMl9mbG9hdF92ZXJ0X3h2
YXJ5MDEudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZh
dWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJuYW1lIjogImxvZzJfZmxvYXRfdmVydF94dmFy
eTAxLnRlc3QuaHRtbCIsIAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9CisgIF0K
K30pOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL29nbGVzL0dML3Ntb290aHN0ZXAvc21vb3Roc3RlcF8wMDFfdG9fMDA2Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk1ZWU5Nzk1NDhjYWY3Y2I2ZTUyM2YzODEyZjViMDllNGQ4NDYzNjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9vZ2xlcy9HTC9zbW9vdGhzdGVwL3Ntb290aHN0ZXBfMDAxX3RvXzAwNi5odG1s
CkBAIC0wLDAgKzEsMTMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0gdGhpcyBmaWxlIGlzIGF1
dG8tZ2VuZXJhdGVkLiBETyBOT1QgRURJVC4KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wg
R0xTTCBjb25mb3JtYW5jZSB0ZXN0OiBzbW9vdGhzdGVwXzAwMV90b18wMDYuaHRtbDwvdGl0bGU+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyIgLz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4v
cmVzb3VyY2VzL29nbGVzLXRlc3RzLmNzcyIgLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vb2dsZXMtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFz
IGlkPSJleGFtcGxlIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgc3R5bGU9IndpZHRoOiAxNnB4
OyBoZWlnaHQ6IDE2cHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0
IjsKK09wZW5HTEVTVGVzdFJ1bm5lci5ydW4oeworICAidGVzdHMiOiBbCisgICAgeworICAgICAg
InJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAiLi4vZGVmYXVs
dC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogInNtb290aHN0ZXBf
ZmxvYXRfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyX3JlZi5mcmFnIgorICAgICAgfSwgCisg
ICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZl
cnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAic21vb3Roc3RlcF9mbG9hdF9mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIu
ZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAic21vb3Roc3RlcF9mbG9hdF9mcmFnX3h2
YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIudGVzdC5odG1sIiwgCisgICAgICAicGF0dGVybiI6ICJjb21w
YXJlIgorICAgIH0sIAorICAgIHsKKyAgICAgICJyZWZlcmVuY2VQcm9ncmFtIjogeworICAgICAg
ICAidmVydGV4U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVsdC52ZXJ0IiwgCisgICAgICAgICJm
cmFnbWVudFNoYWRlciI6ICJzbW9vdGhzdGVwX3ZlYzJfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFy
dGVyX3JlZi5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiBudWxsLCAKKyAgICAgICJ0
ZXN0UHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1
bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAic21vb3Roc3RlcF92ZWMyX2Zy
YWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6
ICJzbW9vdGhzdGVwX3ZlYzJfZnJhZ194dmFyeV9lZGdlY29uc3RxdWFydGVyLnRlc3QuaHRtbCIs
IAorICAgICAgInBhdHRlcm4iOiAiY29tcGFyZSIKKyAgICB9LCAKKyAgICB7CisgICAgICAicmVm
ZXJlbmNlUHJvZ3JhbSI6IHsKKyAgICAgICAgInZlcnRleFNoYWRlciI6ICIuLi9kZWZhdWx0L2Rl
ZmF1bHQudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAic21vb3Roc3RlcF92ZWMz
X2ZyYWdfeHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9yZWYuZnJhZyIKKyAgICAgIH0sIAorICAgICAg
Im1vZGVsIjogbnVsbCwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hh
ZGVyIjogInNtb290aHN0ZXBfdmVjM19mcmFnX3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXIuZnJhZyIK
KyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAic21vb3Roc3RlcF92ZWMzX2ZyYWdfeHZhcnlfZWRn
ZWNvbnN0cXVhcnRlci50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisg
ICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAic21vb3Roc3RlcF9mbG9hdF92ZXJ0X3h2YXJ5X2VkZ2Vjb25zdHF1YXJ0ZXJf
cmVmLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVyIjogIi4uL2RlZmF1bHQvZGVmYXVs
dC5mcmFnIgorICAgICAgfSwgCisgICAgICAibW9kZWwiOiAiZ3JpZCIsIAorICAgICAgInRlc3RQ
cm9ncmFtIjogeworICAgICAgICAidmVydGV4U2hhZGVyIjogInNtb290aHN0ZXBfZmxvYXRfdmVy
dF94dmFyeV9lZGdlY29uc3RxdWFydGVyLnZlcnQiLCAKKyAgICAgICAgImZyYWdtZW50U2hhZGVy
IjogIi4uL2RlZmF1bHQvZGVmYXVsdC5mcmFnIgorICAgICAgfSwgCisgICAgICAibmFtZSI6ICJz
bW9vdGhzdGVwX2Zsb2F0X3ZlcnRfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci50ZXN0Lmh0bWwiLCAK
KyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfSwgCisgICAgeworICAgICAgInJlZmVy
ZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAic21vb3Roc3RlcF92ZWMy
X3ZlcnRfeHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9yZWYudmVydCIsIAorICAgICAgICAiZnJhZ21l
bnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0LmZyYWciCisgICAgICB9LCAKKyAgICAgICJt
b2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhT
aGFkZXIiOiAic21vb3Roc3RlcF92ZWMyX3ZlcnRfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci52ZXJ0
IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIK
KyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAic21vb3Roc3RlcF92ZWMyX3ZlcnRfeHZhcnlfZWRn
ZWNvbnN0cXVhcnRlci50ZXN0Lmh0bWwiLCAKKyAgICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisg
ICAgfSwgCisgICAgeworICAgICAgInJlZmVyZW5jZVByb2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0
ZXhTaGFkZXIiOiAic21vb3Roc3RlcF92ZWMzX3ZlcnRfeHZhcnlfZWRnZWNvbnN0cXVhcnRlcl9y
ZWYudmVydCIsIAorICAgICAgICAiZnJhZ21lbnRTaGFkZXIiOiAiLi4vZGVmYXVsdC9kZWZhdWx0
LmZyYWciCisgICAgICB9LCAKKyAgICAgICJtb2RlbCI6ICJncmlkIiwgCisgICAgICAidGVzdFBy
b2dyYW0iOiB7CisgICAgICAgICJ2ZXJ0ZXhTaGFkZXIiOiAic21vb3Roc3RlcF92ZWMzX3ZlcnRf
eHZhcnlfZWRnZWNvbnN0cXVhcnRlci52ZXJ0IiwgCisgICAgICAgICJmcmFnbWVudFNoYWRlciI6
ICIuLi9kZWZhdWx0L2RlZmF1bHQuZnJhZyIKKyAgICAgIH0sIAorICAgICAgIm5hbWUiOiAic21v
b3Roc3RlcF92ZWMzX3ZlcnRfeHZhcnlfZWRnZWNvbnN0cXVhcnRlci50ZXN0Lmh0bWwiLCAKKyAg
ICAgICJwYXR0ZXJuIjogImNvbXBhcmUiCisgICAgfQorICBdCit9KTsKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFt
cy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Byb2dyYW1z
L2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLWxvbmctbmFtZXMtdGVzdC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEwMWE4NGY3MDNiNzFhZGJmNTQyNzMxODJiYTY1MjIwYTIyNmE2MzYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9wcm9ncmFtcy9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi1sb25nLW5hbWVzLXRlc3QuaHRt
bApAQCAtMCwwICsxLDE4NyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+V2ViR0wgQmluZEF0dHJpYkxvY2F0aW9uIExvbmcgTmFtZXMgQ29uZm9ybWFu
Y2UgVGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyBzdHlsZT0iYm9y
ZGVyOiAxcHggc29saWQgYmxhY2s7IiBpZD0iY2FudmFzIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAi
PjwvY2FudmFzPgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0idGV4dC9zb21ldGhpbmctbm90
LWphdmFzY3JpcHQiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uJChzdWZmaXgpOworYXR0cmli
dXRlIHZlYzQgdkNvbG9yJChzdWZmaXgpOwordmFyeWluZyB2ZWM0IGNvbG9yOwordm9pZCBtYWlu
KCkKK3sKKyAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb24kKHN1ZmZpeCk7CisgIGNvbG9yID0gdkNv
bG9yJChzdWZmaXgpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ0
ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
KwordmFyeWluZyB2ZWM0IGNvbG9yOwordm9pZCBtYWluKCkKK3sKKyAgZ2xfRnJhZ0NvbG9yID0g
Y29sb3I7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGNoZWNrcyB1c2luZyBsb25nIG5hbWVzIHdpdGggYmluZEF0dHJpYkxvY2F0
aW9uIHdvcmsuIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOwor
Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0
KCJjYW52YXMiKTsKK3Nob3VsZEJlTm9uTnVsbCgiZ2wiKTsKKworZnVuY3Rpb24gZmFpbCh4LHks
IGJ1Ziwgc2hvdWxkQmUpCit7CisgIHZhciBpID0gKHkqNTAreCkgKiA0OworICB2YXIgcmVhc29u
ID0gInBpeGVsIGF0ICgiK3grIiwiK3krIikgaXMgKCIrYnVmW2ldKyIsIitidWZbaSsxXSsiLCIr
YnVmW2krMl0rIiwiK2J1ZltpKzNdKyIpLCBzaG91bGQgYmUgIitzaG91bGRCZTsKKyAgdGVzdEZh
aWxlZChyZWFzb24pOworfQorCitmdW5jdGlvbiBwYXNzKCkKK3sKKyAgdGVzdFBhc3NlZCgiZHJh
d2luZyBpcyBjb3JyZWN0Iik7Cit9CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVja2luZyBnbC5i
aW5kQXR0cmliTG9jYXRpb24gd2l0aCBsb25nIG5hbWVzLiIpOworCit2YXIgcHJvZ3JhbSA9IGds
LmNyZWF0ZVByb2dyYW0oKTsKKwordmFyIHN1ZmZpeCA9ICJsb25nIjsKK2ZvciAodmFyIGlpID0g
MDsgaWkgPCA1OyArK2lpKSB7CisgIHN1ZmZpeCA9IHN1ZmZpeCArIHN1ZmZpeDsKK30KK3ZhciBy
ZXBsYWNlbWVudHMgPSB7CisgIHN1ZmZpeDogc3VmZml4Cit9OworCit2YXIgdnNyYyA9IHd0dS5y
ZXBsYWNlUGFyYW1zKHd0dS5nZXRTY3JpcHQoInZzaGFkZXIiKSwgcmVwbGFjZW1lbnRzKTsKK3Zh
ciBmc3JjID0gd3R1LnJlcGxhY2VQYXJhbXMod3R1LmdldFNjcmlwdCgiZnNoYWRlciIpLCByZXBs
YWNlbWVudHMpOworCit2YXIgdnMgPSB3dHUubG9hZFNoYWRlcihnbCwgdnNyYywgZ2wuVkVSVEVY
X1NIQURFUik7Cit2YXIgZnMgPSB3dHUubG9hZFNoYWRlcihnbCwgZnNyYywgZ2wuRlJBR01FTlRf
U0hBREVSKTsKKwordmFyIGF0dHJpYnMgPSB7CisgIHZQb3NpdGlvbjogInZQb3NpdGlvbiIgKyBz
dWZmaXgsCisgIHZDb2xvcjogInZDb2xvciIgKyBzdWZmaXgKK307CisKK2dsLmF0dGFjaFNoYWRl
cihwcm9ncmFtLCB2cyk7CitnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgZnMpOworCit2YXIgcG9z
aXRpb25zID0gZ2wuY3JlYXRlQnVmZmVyKCk7CitnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZF
UiwgcG9zaXRpb25zKTsKK2dsLmJ1ZmZlckRhdGEoCisgIGdsLkFSUkFZX0JVRkZFUiwKKyAgbmV3
IEZsb2F0MzJBcnJheSgKKyAgICAgIFsgMS4wLCAgMS4wLCAwLjAsCisgICAgICAgLTEuMCwgIDEu
MCwgMC4wLAorICAgICAgIC0xLjAsIC0xLjAsIDAuMCwKKyAgICAgICAgMS4wLCAgMS4wLCAwLjAs
CisgICAgICAgLTEuMCwgLTEuMCwgMC4wLAorICAgICAgICAxLjAsIC0xLjAsIDAuMF0pLAorICBn
bC5TVEFUSUNfRFJBVyk7CisKK3ZhciBjb2xvcnMgPSBnbC5jcmVhdGVCdWZmZXIoKTsKK2dsLmJp
bmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBjb2xvcnMpOworZ2wuYnVmZmVyRGF0YSgKKyAgZ2wu
QVJSQVlfQlVGRkVSLAorICBuZXcgRmxvYXQzMkFycmF5KAorICAgICAgWyAwLDEsMCwxLAorICAg
ICAgICAwLDEsMCwxLAorICAgICAgICAwLDEsMCwxLAorICAgICAgICAwLDEsMCwxLAorICAgICAg
ICAwLDEsMCwxLAorICAgICAgICAwLDEsMCwxXSksCisgIGdsLlNUQVRJQ19EUkFXKTsKKworZnVu
Y3Rpb24gc2V0QmluZExvY2F0aW9ucyhjb2xvckxvY2F0aW9uLCBwb3NpdGlvbkxvY2F0aW9uKSB7
CisgIGdsLmJpbmRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCBwb3NpdGlvbkxvY2F0aW9uLCBhdHRy
aWJzLnZQb3NpdGlvbik7CisgIGdsLmJpbmRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCBjb2xvckxv
Y2F0aW9uLCBhdHRyaWJzLnZDb2xvcik7CisgIGdsLmxpbmtQcm9ncmFtKHByb2dyYW0pOworICBn
bC51c2VQcm9ncmFtKHByb2dyYW0pOworICB2YXIgbGlua2VkID0gKGdsLmdldFByb2dyYW1QYXJh
bWV0ZXIocHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpICE9IDApOworICBhc3NlcnRNc2cobGlua2Vk
LCAicHJvZ3JhbSBsaW5rZWQgc3VjY2Vzc2Z1bGx5Iik7CisKKyAgZGVidWcoInZQb3NpdGlvbjoi
ICsgZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgYXR0cmlicy52UG9zaXRpb24pKQorICBk
ZWJ1ZygidkNvbG9yICAgOiIgKyBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCBhdHRyaWJz
LnZDb2xvcikpCisgIGFzc2VydE1zZyhnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCBhdHRy
aWJzLnZQb3NpdGlvbikgPT0gcG9zaXRpb25Mb2NhdGlvbiwKKyAgICAgICAgICAgICJsb2NhdGlv
biBvZiB2UG9zaXRpb24gc2hvdWxkIGJlICIgKyBwb3NpdGlvbkxvY2F0aW9uKTsKKyAgYXNzZXJ0
TXNnKGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sIGF0dHJpYnMudkNvbG9yKSA9PSBjb2xv
ckxvY2F0aW9uLAorICAgICAgICAgICAgImxvY2F0aW9uIG9mIHZDb2xvciBzaG91bGQgYmUgIiAr
IGNvbG9yTG9jYXRpb24pOworCisgIHZhciBwbG9jID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJv
Z3JhbSwgYXR0cmlicy52UG9zaXRpb24pOworICB2YXIgY2xvYyA9IGdsLmdldEF0dHJpYkxvY2F0
aW9uKHByb2dyYW0sIGF0dHJpYnMudkNvbG9yKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9C
VUZGRVIsIHBvc2l0aW9ucyk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHBvc2l0aW9u
TG9jYXRpb24pOworICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHBvc2l0aW9uTG9jYXRpb24sIDMs
IGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCBjb2xvcnMpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShjb2xvckxvY2F0aW9uKTsK
KyAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihjb2xvckxvY2F0aW9uLCA0LCBnbC5GTE9BVCwgZmFs
c2UsIDAsIDApOworfQorCitmdW5jdGlvbiBjaGVja0RyYXcoY29sb3JMb2NhdGlvbiwgcG9zaXRp
b25Mb2NhdGlvbiwgciwgZywgYiwgYSkgeworICB3dHUuZHJhd1F1YWQoZ2wpOworICB3dHUuY2hl
Y2tDYW52YXMoZ2wsIFtyLCBnLCBiLCBhXSwgInNob3VsZCBiZSBncmVlbiIpOworCisgIGdsLmRp
c2FibGVWZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uKTsKKyAgZ2wuZGlzYWJsZVZl
cnRleEF0dHJpYkFycmF5KGNvbG9yTG9jYXRpb24pOworfQorCitzZXRCaW5kTG9jYXRpb25zKDIs
IDMpOworY2hlY2tEcmF3KDIsIDMsIDAsIDI1NSwgMCwgMjU1KTsKKworc2V0QmluZExvY2F0aW9u
cygwLCAzKTsKK2dsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKK2dsLnZlcnRleEF0dHJp
YjRmKDAsIDEsIDAsIDAsIDEpOworY2hlY2tEcmF3KDAsIDMsIDI1NSwgMCwgMCwgMjU1KTsKKwor
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKK2RlYnVnKCIiKTsKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9wcm9ncmFtcy9wcm9ncmFt
LXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGMyYWVjYjQ0YWYzNzc1Yjg1ZDRlZjJhY2Y5ZGM3ZTU3
M2UxYjVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcHJvZ3JhbXMvcHJvZ3JhbS10ZXN0Lmh0bWwKQEAg
LTAsMCArMSw0MjIgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hy
b25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBz
b2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJN
YXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24s
IGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5
LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5k
L29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3Qg
dG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAor
KiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxz
LgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS
UkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM
RSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg
RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBU
SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5XZWJHTCBQcm9ncmFtIENvbXBpbGluZy9MaW5raW5nIENvbmZvcm1hbmNlIFRlc3Q8L3Rp
dGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIiB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LXV0aWxzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRl
eCI+CisgICAgYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKKyAgICB2b2lkIG1haW4oKQorICAg
IHsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOworICAgIH0KKzwvc2NyaXB0Pgor
PHNjcmlwdCBpZD0iZnNoYWRlci1yZWQiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorICAg
IHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KDEsIDAsIDAs
IDEpOworICAgIH0KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0iZnNoYWRlci1ncmVlbiIgdHlwZT0i
eC1zaGFkZXIveC1mcmFnbWVudCI+CisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGds
X0ZyYWdDb2xvciA9IHZlYzQoMCwgMSwgMCwgMSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0
IGlkPSJmc2hhZGVyLXNldHRhYmxlIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICB1bmlmb3JtIHZlYzQgdV9jb2xvcjsKKyAgICB2
b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdV9jb2xvcjsKKyAgICB9
Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9j
YW52YXM+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cit2YXIgd3R1ID0gV2ViR0xU
ZXN0VXRpbHM7CitmdW5jdGlvbiBnbygpIHsKKyAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBw
cm9ncmFtIGNvbXBpbGluZy9saW5raW5nL3VzaW5nIHdvcmtzIGNvcnJlY3RseS4iKTsKKworICAg
IGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKKworICAgIHZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOworICAgIGlmICghZ2wpIHsKKyAgICAg
ICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgdGVzdFBhc3NlZCgiY29udGV4dCBleGlzdHMiKTsKKworICAgIGdsLmNs
ZWFyQ29sb3IoMC4wLCAwLjAsIDAuMCwgMC4wKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZG
RVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisKKyAgICBmdW5jdGlvbiBkb0FycmF5c0hh
dmVTYW1lQ29udGVudHMoYSwgYikgeworICAgICAgICB2YXIgZmxhZ3MgPSBbXTsKKyAgICAgICAg
ZnVuY3Rpb24gaGFzVW51c2VkVmFsdWUoYSwgdmFsdWUpIHsKKyAgICAgICAgICAgIGZvciAodmFy
IGlpID0gMDsgaWkgPCBhLmxlbmd0aDsgKytpaSkgeworICAgICAgICAgICAgICAgIGlmIChhW2lp
XSA9PT0gdmFsdWUgJiYgIWZsYWdzW2lpXSkgeworICAgICAgICAgICAgICAgICAgICBmbGFnc1tp
aV0gPSB0cnVlOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IH0KKworICAgICAgICB0cnkgeworICAgICAgICAgICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0
aCkgeworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCBhLmxlbmd0aDsgaWkrKykgeworICAgICAgICAg
ICAgICAgIGlmICghaGFzVW51c2VkVmFsdWUoYiwgYVtpaV0pKSB7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg
ICAgIH0gY2F0Y2ggKGV4KSB7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisvLy8vLy8vIENoZWNrIGNvbXBpbGVTaGFk
ZXIoKSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgdmFyIHZzID0gZ2wuY3Jl
YXRlU2hhZGVyKGdsLlZFUlRFWF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZSh2cywgImF0
dHJpYnV0ZSB2ZWM0IGFWZXJ0ZXg7IGF0dHJpYnV0ZSB2ZWM0IGFDb2xvcjsgdmFyeWluZyB2ZWM0
IHZDb2xvcjsgdm9pZCBtYWluKCkgeyB2Q29sb3IgPSBhQ29sb3I7IGdsX1Bvc2l0aW9uID0gYVZl
cnRleDsgfSIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIodnMpOworCisgICAgYXNzZXJ0TXNnKGds
LmdldFNoYWRlclBhcmFtZXRlcih2cywgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRydWUsCisgICAg
ICAgICAgICAgICJnb29kIHZlcnRleCBzaGFkZXIgc2hvdWxkIGNvbXBpbGUiKTsKKworICAgIC8v
IFZlcmlmeSB0aGF0IGNvbnN0YW50cyByZW1vdmVkIGZyb20gdGhlIFdlYkdMIHNwZWMgZ2VuZXJh
dGUgSU5WQUxJRF9FTlVNIGVycm9ycworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIGF0IHRoaXMgcG9pbnQiKTsKKyAgICBhc3NlcnRNc2co
Z2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHZzLCBkZXNrdG9wR0xbJ0lORk9fTE9HX0xFTkdUSCddKSA9
PT0gbnVsbCwgImludmFsaWQgY2FsbCB0byBnZXRTaGFkZXJQYXJhbWV0ZXIgc2hvdWxkIHJldHVy
biBudWxsIik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJJTkZP
X0xPR19MRU5HVEggaXMgbm90IGEgdmFsaWQgYXJndW1lbnQgdG8gZ2V0U2hhZGVyUGFyYW1ldGVy
IGluIFdlYkdMIik7CisgICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcih2cywgZGVz
a3RvcEdMWydTSEFERVJfU09VUkNFX0xFTkdUSCddKSA9PT0gbnVsbCwgImludmFsaWQgY2FsbCB0
byBnZXRTaGFkZXJQYXJhbWV0ZXIgc2hvdWxkIHJldHVybiBudWxsIik7CisgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5JTlZBTElEX0VOVU0sICJTSEFERVJfU09VUkNFX0xFTkdUSCBpcyBub3Qg
YSB2YWxpZCBhcmd1bWVudCB0byBnZXRTaGFkZXJQYXJhbWV0ZXIgaW4gV2ViR0wiKTsKKworICAg
IHZhciB2czIgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuVkVSVEVYX1NIQURFUik7CisgICAgZ2wuc2hh
ZGVyU291cmNlKHZzMiwgImF0dHJpYnV0ZSB2ZWM0IGFWZXJ0ZXg7IGF0dHJpYnV0ZSB2ZWM0IGFD
b2xvcjsgdmFyeWluZyB2ZWM0IHZDb2xvcjsgdm9pZCBtYWluKCkgeyB2Q29sb3IgPSBhQ29sb3I7
IGdsX1Bvc2l0aW9uID0gYVZlcnRleCAqIDAuNTsgfSIpOworICAgIGdsLmNvbXBpbGVTaGFkZXIo
dnMyKTsKKworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIodnMyLCBnbC5DT01Q
SUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImdvb2QgdmVydGV4IHNoYWRlciAj
MiBzaG91bGQgY29tcGlsZSIpOworCisgICAgdmFyIHZzQmFkID0gZ2wuY3JlYXRlU2hhZGVyKGds
LlZFUlRFWF9TSEFERVIpOworICAgIGdsLnNoYWRlclNvdXJjZSh2c0JhZCwgIldJTEwgTk9UIENP
TVBJTEU7Iik7CisgICAgZ2wuY29tcGlsZVNoYWRlcih2c0JhZCk7CisKKyAgICAvLyBHTFNMIDEu
MC4xNyBzZWN0aW9uIDEwLjI3LiBjb21waWxlIHNoYWRlciBkb2VzIG5vdCBoYXZlIHRvIHJldHVy
biBmYWlsdXJlLgorICAgIC8vYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcih2c0JhZCwg
Z2wuQ09NUElMRV9TVEFUVVMpID09IGZhbHNlLAorICAgIC8vICAgICAgICAgICJiYWQgdmVydGV4
IHNoYWRlciBzaG91bGQgZmFpbCB0byBjb21waWxlIik7CisKKyAgICB2YXIgZnMgPSBnbC5jcmVh
dGVTaGFkZXIoZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UoZnMsICJw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgdmFyeWluZyB2ZWM0IHZDb2xvcjsgdm9pZCBtYWluKCkg
eyBnbF9GcmFnQ29sb3IgPSB2Q29sb3I7IH0iKTsKKyAgICBnbC5jb21waWxlU2hhZGVyKGZzKTsK
KworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnMsIGdsLkNPTVBJTEVfU1RB
VFVTKSA9PSB0cnVlLAorICAgICAgICAgICAgICAiZ29vZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxk
IGNvbXBpbGUiKTsKKworICAgIHZhciBmczIgPSBnbC5jcmVhdGVTaGFkZXIoZ2wuRlJBR01FTlRf
U0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UoZnMyLCAicHJlY2lzaW9uIG1lZGl1bXAgZmxv
YXQ7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgZ2xfRnJhZ0NvbG9yID0gdkNv
bG9yICogMC41OyB9Iik7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmczIpOworCisgICAgYXNzZXJ0
TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcihmczIsIGdsLkNPTVBJTEVfU1RBVFVTKSA9PSB0cnVl
LAorICAgICAgICAgICAgICAiZ29vZCBmcmFnbWVudCBzaGFkZXIgIzIgc2hvdWxkIGNvbXBpbGUi
KTsKKworICAgIHZhciBmc0JhZCA9IGdsLmNyZWF0ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIp
OworICAgIGdsLnNoYWRlclNvdXJjZShmc0JhZCwgIldJTEwgTk9UIENPTVBJTEU7Iik7CisgICAg
Z2wuY29tcGlsZVNoYWRlcihmc0JhZCk7CisKKyAgICAvLyBHTFNMIDEuMC4xNyBzZWN0aW9uIDEw
LjI3LiBjb21waWxlIHNoYWRlciBkb2VzIG5vdCBoYXZlIHRvIHJldHVybiBmYWlsdXJlLgorICAg
IC8vYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcihmc0JhZCwgZ2wuQ09NUElMRV9TVEFU
VVMpID09IGZhbHNlLAorICAgIC8vICAgICAgICAgICJiYWQgZnJhZ21lbnQgc2hhZGVyIHNob3Vs
ZCBmYWlsIHRvIGNvbXBpbGUiKTsKKworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIGF0IHRoaXMgcG9pbnQiKTsKKworLy8vLy8vLyBDaGVj
ayBhdHRhY2hTaGFkZXIoKSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgZnVu
Y3Rpb24gY2hlY2tBdHRhY2hTaGFkZXIoYWxyZWFkeV9hdHRhY2hlZF9zaGFkZXJzLCBzaGFkZXIs
IGV4cGVjdGVkX2Vycm9yX2NvZGUsIGVycm1zZykgeworICAgICAgICB2YXIgcHJvZyA9IGdsLmNy
ZWF0ZVByb2dyYW0oKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbHJlYWR5X2F0dGFj
aGVkX3NoYWRlcnMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBnbC5hdHRhY2hTaGFkZXIocHJv
ZywgYWxyZWFkeV9hdHRhY2hlZF9zaGFkZXJzW2ldKTsKKyAgICAgICAgaWYoZ2wuZ2V0RXJyb3Io
KSAhPSBnbC5OT19FUlJPUikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0
ZWQgZXJyb3IgaW4gYXR0YWNoU2hhZGVyKCkiKTsKKyAgICAgICAgZ2wuYXR0YWNoU2hhZGVyKHBy
b2csIHNoYWRlcik7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZXhwZWN0ZWRfZXJyb3Jf
Y29kZSwgZXJybXNnKTsKKyAgICB9CisKKyAgICBjaGVja0F0dGFjaFNoYWRlcihbXSwgdnMsIGds
Lk5PX0VSUk9SLCAiYXR0YWNoaW5nIGEgdmVydGV4IHNoYWRlciBzaG91bGQgc3VjY2VlZCIpOwor
ICAgIGNoZWNrQXR0YWNoU2hhZGVyKFt2c10sIHZzLCBnbC5JTlZBTElEX09QRVJBVElPTiwKKyAg
ICAgICAgICAgICAgICAgICAgICAiYXR0YWNoaW5nIGFuIGFscmVhZHkgYXR0YWNoZWQgdmVydGV4
IHNoYWRlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKyAgICBjaGVja0F0
dGFjaFNoYWRlcihbXSwgZnMsIGdsLk5PX0VSUk9SLCAiYXR0YWNoaW5nIGEgZnJhZ21lbnQgc2hh
ZGVyIHNob3VsZCBzdWNjZWVkIik7CisgICAgY2hlY2tBdHRhY2hTaGFkZXIoW2ZzXSwgZnMsIGds
LklOVkFMSURfT1BFUkFUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICJhdHRhY2hpbmcgYW4g
YWxyZWFkeSBhdHRhY2hlZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGdlbmVyYXRlIElOVkFMSURf
T1BFUkFUSU9OIik7CisgICAgY2hlY2tBdHRhY2hTaGFkZXIoW3ZzXSwgdnMyLCBnbC5JTlZBTElE
X09QRVJBVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAiYXR0YWNoaW5nIHNoYWRlcnMgb2Yg
dGhlIHNhbWUgdHlwZSB0byBhIHByb2dyYW0gc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFU
SU9OIik7CisgICAgY2hlY2tBdHRhY2hTaGFkZXIoW2ZzXSwgZnMyLCBnbC5JTlZBTElEX09QRVJB
VElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAiYXR0YWNoaW5nIHNoYWRlcnMgb2YgdGhlIHNh
bWUgdHlwZSB0byBhIHByb2dyYW0gc2hvdWxkIGdlbmVyYXRlIElOVkFMSURfT1BFUkFUSU9OIik7
CisKKy8vLy8vLy8gQ2hlY2sgZGV0YWNoU2hhZGVyKCkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KKworICAgIGZ1bmN0aW9uIGNoZWNrRGV0YWNoU2hhZGVyKGFscmVhZHlfYXR0YWNoZWRf
c2hhZGVycywgc2hhZGVyLCBleHBlY3RlZF9lcnJvcl9jb2RlLCBlcnJtc2cpIHsKKyAgICAgICAg
dmFyIHByb2cgPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgYWxyZWFkeV9hdHRhY2hlZF9zaGFkZXJzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgZ2wu
YXR0YWNoU2hhZGVyKHByb2csIGFscmVhZHlfYXR0YWNoZWRfc2hhZGVyc1tpXSk7CisgICAgICAg
IGlmKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAgICAgICAgICBhc3NlcnRNc2co
ZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGluIGF0dGFjaFNoYWRlcigpIik7CisgICAgICAgIGds
LmRldGFjaFNoYWRlcihwcm9nLCBzaGFkZXIpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGV4cGVjdGVkX2Vycm9yX2NvZGUsIGVycm1zZyk7CisgICAgfQorCisgICAgY2hlY2tEZXRhY2hT
aGFkZXIoW3ZzXSwgdnMsIGdsLk5PX0VSUk9SLCAiZGV0YWNoaW5nIGEgdmVydGV4IHNoYWRlciBz
aG91bGQgc3VjY2VlZCIpOworICAgIGNoZWNrRGV0YWNoU2hhZGVyKFtmc10sIHZzLCBnbC5JTlZB
TElEX09QRVJBVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAiZGV0YWNoaW5nIGEgbm90IGFs
cmVhZHkgYXR0YWNoZWQgdmVydGV4IHNoYWRlciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVS
QVRJT04iKTsKKyAgICBjaGVja0RldGFjaFNoYWRlcihbZnNdLCBmcywgZ2wuTk9fRVJST1IsICJk
ZXRhY2hpbmcgYSBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIHN1Y2NlZWQiKTsKKyAgICBjaGVja0Rl
dGFjaFNoYWRlcihbdnNdLCBmcywgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAg
ICAgICAgICAgImRldGFjaGluZyBhIG5vdCBhbHJlYWR5IGF0dGFjaGVkIGZyYWdtZW50IHNoYWRl
ciBzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKworLy8vLy8vLyBDaGVjayBn
ZXRBdHRhY2hlZFNoYWRlcnMoKSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAg
ZnVuY3Rpb24gY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoc2hhZGVyc190b19hdHRhY2gsIHNoYWRl
cnNfdG9fZGV0YWNoLCBleHBlY3RlZF9zaGFkZXJzLCBlcnJtc2cpIHsKKyAgICAgICAgdmFyIHBy
b2cgPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2hh
ZGVyc190b19hdHRhY2gubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBnbC5hdHRhY2hTaGFkZXIo
cHJvZywgc2hhZGVyc190b19hdHRhY2hbaV0pOworICAgICAgICBpZihnbC5nZXRFcnJvcigpICE9
IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNzZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBl
cnJvciBpbiBhdHRhY2hTaGFkZXIoKSIpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNo
YWRlcnNfdG9fZGV0YWNoLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgZ2wuZGV0YWNoU2hhZGVy
KHByb2csIHNoYWRlcnNfdG9fZGV0YWNoW2ldKTsKKyAgICAgICAgaWYoZ2wuZ2V0RXJyb3IoKSAh
PSBnbC5OT19FUlJPUikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgInVuZXhwZWN0ZWQg
ZXJyb3IgaW4gZGV0YWNoU2hhZGVyKCkiKTsKKyAgICAgICAgYXNzZXJ0TXNnKGRvQXJyYXlzSGF2
ZVNhbWVDb250ZW50cyhnbC5nZXRBdHRhY2hlZFNoYWRlcnMocHJvZyksIGV4cGVjdGVkX3NoYWRl
cnMpLCBlcnJtc2cpOworICAgIH0KKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbXSwgW10s
IFtdLCAiZ2V0QXR0YWNoZWRTaGFkZXJzIHNob3VsZCByZXR1cm4gYW4gZW1wdHkgbGlzdCBieSBk
ZWZhdWx0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzXSwgW10sIFtmc10sICJh
dHRhY2hpbmcgYSBzaW5nbGUgc2hhZGVyIHNob3VsZCBnaXZlIHRoZSBleHBlY3RlZCBsaXN0Iik7
CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzLCB2c10sIFtdLCBbZnMsIHZzXSwKKyAg
ICAgICAgImF0dGFjaGluZyBzb21lIHNoYWRlcnMgc2hvdWxkIGdpdmUgdGhlIGV4cGVjdGVkIGxp
c3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbZnNdLCBbZnNdLCBbXSwgImF0dGFj
aGluZyBhIHNoYWRlciBhbmQgZGV0YWNoaW5nIGl0IHNob3VkIGxlYXZlIGFuIGVtcHR5IGxpc3Qi
KTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbZnMsIHZzXSwgW2ZzLCB2c10sIFtdLAor
ICAgICAgICAiYXR0YWNoaW5nIHNvbWUgc2hhZGVycyBhbmQgZGV0YWNoaW5nIHRoZW0gaW4gc2Ft
ZSBvcmRlciBzaG91ZCBsZWF2ZSBhbiBlbXB0eSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hl
ZFNoYWRlcnMoW2ZzLCB2c10sIFt2cywgZnNdLCBbXSwKKyAgICAgICAgImF0dGFjaGluZyBzb21l
IHNoYWRlcnMgYW5kIGRldGFjaGluZyB0aGVtIGluIHJhbmRvbSBvcmRlciBzaG91ZCBsZWF2ZSBh
biBlbXB0eSBsaXN0Iik7CisgICAgY2hlY2tHZXRBdHRhY2hlZFNoYWRlcnMoW2ZzLCB2c10sIFt2
c10sIFtmc10sCisgICAgICAgICJhdHRhY2hpbmcgYW5kIGRldGFjaGluZyBzb21lIHNoYWRlcnMg
c2hvdWxkIGxlYXZlIHRoZSBkaWZmZXJlbmNlIGxpc3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVk
U2hhZGVycyhbZnMsIHZzXSwgW2ZzXSwgW3ZzXSwKKyAgICAgICAgImF0dGFjaGluZyBhbmQgZGV0
YWNoaW5nIHNvbWUgc2hhZGVycyBzaG91bGQgbGVhdmUgdGhlIGRpZmZlcmVuY2UgbGlzdCIpOwor
ICAgIGNoZWNrR2V0QXR0YWNoZWRTaGFkZXJzKFtmc0JhZF0sIFtdLCBbZnNCYWRdLAorICAgICAg
ICAiYXR0YWNoaW5nIGEgc2hhZGVyIHRoYXQgZmFpbGVkIHRvIGNvbXBpbGUgc2hvdWxkIHN0aWxs
IHNob3cgaXQgaW4gdGhlIGxpc3QiKTsKKyAgICBjaGVja0dldEF0dGFjaGVkU2hhZGVycyhbZnMs
IHZzQmFkXSwgW10sIFtmcywgdnNCYWRdLAorICAgICAgICAiYXR0YWNoaW5nIHNoYWRlcnMsIGlu
Y2x1ZGluZyBvbmUgdGhhdCBmYWlsZWQgdG8gY29tcGlsZSwgc2hvdWxkIHN0aWxsIHNob3cgdGhl
IGl0IGluIHRoZSBsaXN0Iik7CisKKy8vLy8vLy8gQ2hlY2sgbGlua1Byb2dyYW0oKSBhbmQgdXNl
UHJvZ3JhbSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisgICAgZnVuY3Rpb24gY2hl
Y2tMaW5rQW5kVXNlKHNoYWRlcnMsIGRlbGV0ZVNoYWRlckFmdGVyQXR0YWNoLCBleHBlY3RlZF9z
dGF0dXMsIHRlc3RJbnZhbGlkRW51bXMsIGVycm1zZykgeworICAgICAgICB2YXIgcHJvZyA9IGds
LmNyZWF0ZVByb2dyYW0oKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaGFkZXJzLmxl
bmd0aDsgKytpKSB7CisgICAgICAgICAgICBnbC5hdHRhY2hTaGFkZXIocHJvZywgc2hhZGVyc1tp
XSk7CisgICAgICAgICAgICBpZiAoZGVsZXRlU2hhZGVyQWZ0ZXJBdHRhY2gpCisgICAgICAgICAg
ICAgICAgZ2wuZGVsZXRlU2hhZGVyKHNoYWRlcnNbaV0pOworICAgICAgICB9CisgICAgICAgIGds
LmJpbmRBdHRyaWJMb2NhdGlvbihwcm9nLCAwLCAiYVZlcnRleCIpOworICAgICAgICBnbC5iaW5k
QXR0cmliTG9jYXRpb24ocHJvZywgMSwgImFDb2xvciIpOworICAgICAgICBnbC5saW5rUHJvZ3Jh
bShwcm9nKTsKKyAgICAgICAgaWYgKGdsLmdldEVycm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAg
ICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4cGVjdGVkIGVycm9yIGluIGxpbmtQcm9ncmFt
KCkiKTsKKyAgICAgICAgYXNzZXJ0TXNnKGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZywgZ2wu
TElOS19TVEFUVVMpID09IGV4cGVjdGVkX3N0YXR1cywgZXJybXNnKTsKKyAgICAgICAgdmFyIGlu
Zm9sb2cgPSBnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9nKTsKKyAgICAgICAgaWYgKGdsLmdldEVy
cm9yKCkgIT0gZ2wuTk9fRVJST1IpCisgICAgICAgICAgICBhc3NlcnRNc2coZmFsc2UsICJ1bmV4
cGVjdGVkIGVycm9yIGluIGdldFByb2dyYW1JbmZvTG9nKCkiKTsKKyAgICAgICAgaWYgKHR5cGVv
ZihpbmZvbG9nKSAhPSAic3RyaW5nIikKKyAgICAgICAgICAgIGFzc2VydE1zZyhmYWxzZSwgImdl
dFByb2dyYW1JbmZvTG9nKCkgZGlkIG5vdCByZXR1cm4gYSBzdHJpbmciKTsKKyAgICAgICAgaWYg
KGV4cGVjdGVkX3N0YXR1cyA9PSB0cnVlICYmIGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZywg
Z2wuTElOS19TVEFUVVMpID09IGZhbHNlKQorICAgICAgICAgICAgZGVidWcoaW5mb2xvZyk7Cisg
ICAgICAgIGlmIChnbC5nZXRFcnJvcigpICE9IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgYXNz
ZXJ0TXNnKGZhbHNlLCAidW5leHBlY3RlZCBlcnJvciBpbiBnZXRQcm9ncmFtUGFyYW1ldGVyKCki
KTsKKyAgICAgICAgCisgICAgICAgIGlmICh0ZXN0SW52YWxpZEVudW1zKSB7CisgICAgICAgICAg
ICAvLyBWZXJpZnkgdGhhdCBjb25zdGFudHMgcmVtb3ZlZCBmcm9tIHRoZSBXZWJHTCBzcGVjIGdl
bmVyYXRlIElOVkFMSURfRU5VTSBlcnJvcnMKKyAgICAgICAgICAgIGFzc2VydE1zZyhnbC5nZXRQ
cm9ncmFtUGFyYW1ldGVyKHByb2csIGRlc2t0b3BHTFsnSU5GT19MT0dfTEVOR1RIJ10pID09PSBu
dWxsLCAiaW52YWxpZCBjYWxsIHRvIGdldFByb2dyYW1QYXJhbWV0ZXIgc2hvdWxkIHJldHVybiBu
dWxsIik7CisgICAgICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRU5VTSwg
IklORk9fTE9HX0xFTkdUSCBpcyBub3QgYSB2YWxpZCBhcmd1bWVudCB0byBnZXRQcm9ncmFtUGFy
YW1ldGVyIGluIFdlYkdMIik7CisgICAgICAgICAgICBhc3NlcnRNc2coZ2wuZ2V0UHJvZ3JhbVBh
cmFtZXRlcihwcm9nLCBkZXNrdG9wR0xbJ0FDVElWRV9BVFRSSUJVVEVfTUFYX0xFTkdUSCddKSA9
PT0gbnVsbCwgImludmFsaWQgY2FsbCB0byBnZXRQcm9ncmFtUGFyYW1ldGVyIHNob3VsZCByZXR1
cm4gbnVsbCIpOworICAgICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX0VO
VU0sICJBQ1RJVkVfQVRUUklCVVRFX01BWF9MRU5HVEggaXMgbm90IGEgdmFsaWQgYXJndW1lbnQg
dG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBpbiBXZWJHTCIpOworICAgICAgICAgICAgYXNzZXJ0TXNn
KGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZywgZGVza3RvcEdMWydBQ1RJVkVfVU5JRk9STV9N
QVhfTEVOR1RIJ10pID09PSBudWxsLCAiaW52YWxpZCBjYWxsIHRvIGdldFByb2dyYW1QYXJhbWV0
ZXIgc2hvdWxkIHJldHVybiBudWxsIik7CisgICAgICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2ws
IGdsLklOVkFMSURfRU5VTSwgIkFDVElWRV9VTklGT1JNX01BWF9MRU5HVEggaXMgbm90IGEgdmFs
aWQgYXJndW1lbnQgdG8gZ2V0UHJvZ3JhbVBhcmFtZXRlciBpbiBXZWJHTCIpOworICAgICAgICB9
CisKKyAgICAgICAgZ2wudXNlUHJvZ3JhbShwcm9nKTsKKyAgICAgICAgaWYgKGV4cGVjdGVkX3N0
YXR1cyA9PSB0cnVlKQorICAgICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJP
UiwgInVzaW5nIGEgdmFsaWQgcHJvZ3JhbSBzaG91bGQgc3VjY2VlZCIpOworICAgICAgICBpZiAo
ZXhwZWN0ZWRfc3RhdHVzID09IGZhbHNlKQorICAgICAgICAgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgInVzaW5nIGFuIGludmFsaWQgcHJvZ3JhbSBzaG91bGQg
Z2VuZXJhdGUgSU5WQUxJRF9PUEVSQVRJT04iKTsKKyAgICAgICAgcmV0dXJuIHByb2c7CisgICAg
fQorCisgICAgdmFyIHByb2dHb29kMSA9IGNoZWNrTGlua0FuZFVzZShbdnMsIGZzXSwgZmFsc2Us
IHRydWUsIHRydWUsICJ2YWxpZCBwcm9ncmFtIHNob3VsZCBsaW5rIik7CisgICAgdmFyIHByb2dH
b29kMiA9IGNoZWNrTGlua0FuZFVzZShbdnMsIGZzMl0sIGZhbHNlLCB0cnVlLCBmYWxzZSwgInZh
bGlkIHByb2dyYW0gIzIgc2hvdWxkIGxpbmsiKTsKKyAgICB2YXIgcHJvZ0JhZDEgPSBjaGVja0xp
bmtBbmRVc2UoW3ZzXSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgInByb2dyYW0gd2l0aCBubyBmcmFn
bWVudCBzaGFkZXIgc2hvdWxkIGZhaWwgdG8gbGluayIpOworICAgIHZhciBwcm9nQmFkMiA9IGNo
ZWNrTGlua0FuZFVzZShbZnNdLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAicHJvZ3JhbSB3aXRoIG5v
IHZlcnRleCBzaGFkZXIgc2hvdWxkIGZhaWwgdG8gbGluayIpOworICAgIHZhciBwcm9nQmFkMyA9
IGNoZWNrTGlua0FuZFVzZShbdnNCYWQsIGZzXSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgInByb2dy
YW0gd2l0aCBiYWQgdmVydGV4IHNoYWRlciBzaG91bGQgZmFpbCB0byBsaW5rIik7CisgICAgdmFy
IHByb2dCYWQ0ID0gY2hlY2tMaW5rQW5kVXNlKFt2cywgZnNCYWRdLCBmYWxzZSwgZmFsc2UsIGZh
bHNlLCAicHJvZ3JhbSB3aXRoIGJhZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGZhaWwgdG8gbGlu
ayIpOworICAgIHZhciBwcm9nQmFkNSA9IGNoZWNrTGlua0FuZFVzZShbdnNCYWQsIGZzQmFkXSwg
ZmFsc2UsIGZhbHNlLCBmYWxzZSwgInByb2dyYW0gd2l0aCBiYWQgc2hhZGVycyBzaG91bGQgZmFp
bCB0byBsaW5rIik7CisKKyAgICBnbC51c2VQcm9ncmFtKHByb2dHb29kMSk7CisgICAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInVzaW5nIGEgdmFsaWQgcHJvZ3JhbSBzaG91bGRu
J3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworCisgICAgdmFyIHZidWYgPSBnbC5jcmVhdGVCdWZm
ZXIoKTsKKyAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJ1Zik7CisgICAgZ2wu
YnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsCisgICAgICAgICAgICAgICAgICBuZXcgRmxvYXQz
MkFycmF5KFsKKyAgICAgICAgICAgICAgICAgICAgICAwLjAsIDAuMCwgMC4wLCAxLjAsCisgICAg
ICAgICAgICAgICAgICAgICAgMS4wLCAwLjAsIDAuMCwgMS4wLAorICAgICAgICAgICAgICAgICAg
ICAgIDEuMCwgMS4wLCAwLjAsIDEuMCwKKyAgICAgICAgICAgICAgICAgICAgICAwLjAsIDEuMCwg
MC4wLCAxLjBdKSwKKyAgICAgICAgICAgICAgICAgIGdsLlNUQVRJQ19EUkFXKTsKKyAgICBnbC52
ZXJ0ZXhBdHRyaWJQb2ludGVyKDAsIDQsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisgICAgZ2wu
ZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisgICAgZ2wudmVydGV4QXR0cmliM2YoMSwgMS4w
LCAwLjAsIDAuMCk7CisKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hv
dWxkIGJlIG5vIGVycm9ycyBhdCB0aGlzIHBvaW50ICMyIik7CisKKyAgICBnbC51c2VQcm9ncmFt
KHByb2dHb29kMSk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMpOworICAg
IGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJkcmF3aW5nIHdpdGggYSB2YWxpZCBw
cm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9yIik7CisKKyAgICBnbC51c2VQcm9n
cmFtKHByb2dCYWQxKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFU
SU9OLCAidXNpbmcgYW4gaW52YWxpZCBwcm9ncmFtIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX09Q
RVJBVElPTiIpOworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKKyAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiVHJ5IHRvIHVzZSBhbiBpbnZhbGlkIHBy
b2dyYW0gc2hvdWxkIG5vdCBjaGFuZ2UgdGhlIGN1cnJlbnQgcmVuZGVyaW5nIHN0YXRlIik7CisK
KyAgICBnbC51c2VQcm9ncmFtKHByb2dHb29kMik7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklB
TkdMRVMsIDAsIDMpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJkcmF3
aW5nIHdpdGggYSB2YWxpZCBwcm9ncmFtIHNob3VsZG4ndCBnZW5lcmF0ZSBhIEdMIGVycm9yIik7
CisgICAgZ2wuZGV0YWNoU2hhZGVyKHByb2dHb29kMiwgZnMyKTsKKyAgICBnbC5hdHRhY2hTaGFk
ZXIocHJvZ0dvb2QyLCBmc0JhZCk7CisgICAgZ2wubGlua1Byb2dyYW0ocHJvZ0dvb2QyKTsKKyAg
ICBhc3NlcnRNc2coZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9nR29vZDIsIGdsLkxJTktfU1RB
VFVTKSA9PSBmYWxzZSwKKyAgICAgICAgICAgICAgImxpbmtpbmcgc2hvdWxkIGZhaWwgd2l0aCBp
bi11c2UgZm9ybWVybHkgZ29vZCBwcm9ncmFtLCB3aXRoIG5ldyBiYWQgc2hhZGVyIGF0dGFjaGVk
Iik7CisKKyAgICAvLyBJbnZhbGlkIGxpbmsgbGVhdmVzIHByZXZpb3VzIHZhbGlkIHByb2dyYW0g
aW50YWN0LgorICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKKyAgICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiZHJhd2luZyB3aXRoIGEgdmFsaWQgcHJvZ3Jh
bSBzaG91bGRuJ3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworCisgICAgZ2wudXNlUHJvZ3JhbShw
cm9nR29vZDEpOworICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA0KTsKKyAgICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiZHJhd2luZyB3aXRoIGEgdmFsaWQgd2hl
biBsYXN0IHVzZWQgcHJvZ3JhbSBzaG91bGRuJ3QgZ2VuZXJhdGUgYSBHTCBlcnJvciIpOworCisg
ICAgdmFyIHByb2dHb29kMSA9IGNoZWNrTGlua0FuZFVzZShbdnMsIGZzXSwgdHJ1ZSwgdHJ1ZSwg
ZmFsc2UsICJkZWxldGUgc2hhZGVycyBhZnRlciBhdHRhY2hpbmcgdGhlbSBhbmQgYmVmb3JlIGxp
bmtpbmcgcHJvZ3JhbSBzaG91bGQgbm90IGFmZmVjdCBsaW5rUHJvZ3JhbSIpOworICAgIGdsLnVz
ZVByb2dyYW0ocHJvZ0dvb2QxKTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwg
NCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImRyYXdpbmcgd2l0aCBh
IHZhbGlkIHdoZW4gbGFzdCB1c2VkIHByb2dyYW0gc2hvdWxkbid0IGdlbmVyYXRlIGEgR0wgZXJy
b3IiKTsKKworLy8vLy8vLyBDaGVjayBkZWxldGVQcm9ncmFtKCkgYW5kIGRlbGV0ZVNoYWRlcigp
IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKKyAgICBnbC51c2VQcm9ncmFtKHByb2dH
b29kMSk7CisgICAgZ2wuZGVsZXRlUHJvZ3JhbShwcm9nR29vZDEpOworICAgIGdsLmRyYXdBcnJh
eXMoZ2wuVFJJQU5HTEVTLCAwLCA0KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SLCAiZGVsZXRlIHRoZSBjdXJyZW50IHByb2dyYW0gc2hvdWxkbid0IGNoYW5nZSB0aGUgY3Vy
cmVudCByZW5kZXJpbmcgc3RhdGUiKTsKKworICAgIGdsLmxpbmtQcm9ncmFtKHByb2dHb29kMSk7
CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlRoZSBjdXJyZW50IHByb2dy
YW0gc2hvdWxkbid0IGJlIGRlbGV0ZWQiKTsKKworICAgIHZhciBmczMgPSBnbC5jcmVhdGVTaGFk
ZXIoZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICBnbC5zaGFkZXJTb3VyY2UoZnMzLCAicHJlY2lz
aW9uIG1lZGl1bXAgZmxvYXQ7IHZhcnlpbmcgdmVjNCB2Q29sb3I7IHZvaWQgbWFpbigpIHsgZ2xf
RnJhZ0NvbG9yID0gdkNvbG9yOyB9Iik7CisgICAgZ2wuY29tcGlsZVNoYWRlcihmczMpOworCisg
ICAgYXNzZXJ0TXNnKGdsLmdldFNoYWRlclBhcmFtZXRlcihmczMsIGdsLkNPTVBJTEVfU1RBVFVT
KSA9PSB0cnVlLAorICAgICAgICAgICAgICAiZ29vZCBmcmFnbWVudCBzaGFkZXIgc2hvdWxkIGNv
bXBpbGUiKTsKKworICAgIGdsLmRlbGV0ZVNoYWRlcihmczMpOworICAgIGdsLmNvbXBpbGVTaGFk
ZXIoZnMzKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJhbiB1
bmF0dGFjaGVkIHNoYWRlciBzaG91bGQgYmUgZGVsZXRlZCBpbW1lZGlhdGVseSIpOworCisgICAg
ZnMzID0gZ2wuY3JlYXRlU2hhZGVyKGdsLkZSQUdNRU5UX1NIQURFUik7CisgICAgZ2wuc2hhZGVy
U291cmNlKGZzMywgInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyB2YXJ5aW5nIHZlYzQgdkNvbG9y
OyB2b2lkIG1haW4oKSB7IGdsX0ZyYWdDb2xvciA9IHZDb2xvcjsgfSIpOworICAgIGdsLmNvbXBp
bGVTaGFkZXIoZnMzKTsKKworICAgIGFzc2VydE1zZyhnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoZnMz
LCBnbC5DT01QSUxFX1NUQVRVUykgPT0gdHJ1ZSwKKyAgICAgICAgICAgICAgImdvb2QgZnJhZ21l
bnQgc2hhZGVyIHNob3VsZCBjb21waWxlIik7CisKKyAgICBnbC5kZXRhY2hTaGFkZXIocHJvZ0dv
b2QxLCBmcyk7CisgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2dHb29kMSwgZnMzKTsKKworICAgIGds
LmRlbGV0ZVNoYWRlcihmczMpOworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMzKTsKKyAgICBhc3Nl
cnRNc2coZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZzMywgZ2wuQ09NUElMRV9TVEFUVVMpID09IHRy
dWUsCisgICAgICAgICAgICAgICJhbiBhdHRhY2hlZCBzaGFkZXIgc2hvdWxkbid0IGJlIGRlbGV0
ZWQiKTsKKworICAgIGdsLnVzZVByb2dyYW0obnVsbCk7CisgICAgZ2wubGlua1Byb2dyYW0ocHJv
Z0dvb2QxKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJhIGRl
bGV0ZS1tYXJrZWQgcHJvZ3JhbSBzaG91bGQgYmUgZGVsZXRlZCBvbmNlIGl0J3Mgbm8gbG9uZ2Vy
IHRoZSBjdXJyZW50IHByb2dyYW0iKTsKKworICAgIGdsLmNvbXBpbGVTaGFkZXIoZnMzKTsKKyAg
ICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsICJhIGRlbGV0ZS1tYXJrZWQg
c2hhZGVyIHNob3VsZCBiZSBkZWxldGVkIG9uY2UgYWxsIGl0cyBhdHRhY2htZW50cyBhcmUgcmVt
b3ZlZCIpOworCisvLy8vLy8vLyBDaGVjayBsaW5rUHJvZ3JhbSgpIHdpdGggcmVsaW5rZWQgcHJv
Z3JhbSAvLy8vLy8vLy8vCisgICAgdmFyIHZzID0gd3R1LmxvYWRTaGFkZXJGcm9tU2NyaXB0KGds
LCAidnNoYWRlciIpOworICAgIHZhciBmcyA9IHd0dS5sb2FkU2hhZGVyRnJvbVNjcmlwdChnbCwg
ImZzaGFkZXItcmVkIik7CisgICAgdmFyIHByZyA9IHd0dS5jcmVhdGVQcm9ncmFtKGdsLCB2cywg
ZnMpOworICAgIGdsLnVzZVByb2dyYW0ocHJnKTsKKyAgICB2YXIgcG9zTG9jID0gZ2wuZ2V0QXR0
cmliTG9jYXRpb24ocHJnLCAiYV9wb3NpdGlvbiIpOworICAgIHd0dS5zZXR1cFVuaXRRdWFkKGds
LCBwb3NMb2MpOworICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGds
LCBbMjU1LCAwLCAwLCAyNTVdLCAic2hvdWxkIGJlIHJlZCIpOworICAgIGdsLnNoYWRlclNvdXJj
ZShmcywgd3R1LmdldFNjcmlwdCgiZnNoYWRlci1ncmVlbiIpKTsKKyAgICBnbC5jb21waWxlU2hh
ZGVyKGZzKTsKKyAgICBnbC5saW5rUHJvZ3JhbShwcmcpOworICAgIC8vIFByb2dyYW0gc2hvdWxk
IGJlIG5ldyBwcm9ncmFtIGF0IHRoaXMgcG9pbnQgd2l0aG91dCBjYWxsaW5nIHVzZVByb2dyYW0K
KyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDI1NSwg
MCwgMjU1XSwgInNob3VsZCBiZSBncmVlbiIpOworICAgIHZhciBwcmcgPSB3dHUuc2V0dXBQcm9n
cmFtKGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlci1zZXR0YWJsZSJdLCBbImFfcG9zaXRpb24iXSk7
CisgICAgdmFyIGNvbG9yTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByZywgInVfY29sb3Ii
KTsKKyAgICBnbC51bmlmb3JtNGYoY29sb3JMb2MsIDEsIDAsIDAsIDEpOworICAgIHd0dS5kcmF3
UXVhZChnbCk7CisgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMjU1LCAwLCAwLCAyNTVdLCAic2hv
dWxkIGJlIHJlZCIpOworICAgIGdsLmxpbmtQcm9ncmFtKHByZyk7CisgICAgLy8gUHJvZ3JhbSdz
IHVuaWZvcm1zIHNob3VsZCBiZSBjbGVhcmVkIGF0IHRoaXMgcG9pbnQgd2l0aG91dCBjYWxsaW5n
IHVzZVByb2dyYW0KKyAgICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAyNTUsIDAsIDI1NV0pOworICAg
IHd0dS5jaGVja0NhbnZhcyhnbCwgWzAsIDAsIDAsIDBdLCAic2hvdWxkIGJlIHRyYW5wYXJlbnQg
YmxhY2siKTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAic2hvdWxkIGJl
IG5vIGVycm9ycyIpOworfQorCitkZWJ1ZygiIik7CitnbygpOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVz
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM2ZDg5ZDk2ODljYTVkOGJkYzI4Y2VlNGZjNmQyMGQwNjYzZmZl
MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZWFkaW5nL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbApAQCAt
MCwwICsxLDI0NiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+V2ViR0wgUmVhZFBpeGVscyBjb25mb3JtYW5jZSB0ZXN0LjwvdGl0bGU+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMjAwIiBoZWlnaHQ9
IjIwMCIgc3R5bGU9IndpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHgiPjwvY2FudmFzPgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IFJlYWRQaXhlbHMgd29y
a3MgYXMgZXhwZWN0ZWQuIik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBjYW52
YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOwordmFyIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dChjYW52YXMpOworCitpbml0VGVzdGluZ0hhcm5lc3NXYWl0VW50aWxEb25l
KCk7CisKK3ZhciBhY3R1YWw7Cit2YXIgZXhwZWN0ZWQ7Cit2YXIgd2lkdGggPSAyOwordmFyIGhl
aWdodCA9IDI7Cit2YXIgY29udGludWVUZXN0RnVuYyA9IGNvbnRpbnVlVGVzdFBhcnQxOworCitn
bC5jbGVhckNvbG9yKDEsIDEsIDEsIDEpOworZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7
CisKKy8vIFJlc2l6ZSB0aGUgY2FudmFzIHRvIDJ4Mi4gVGhpcyBpcyBhbiBhdHRlbXB0IHRvIGdl
dCBzdHVmZiBpbiB0aGUgYmFja2J1ZmZlci4KKy8vIHRoYXQgc2hvdWxkbid0IGJlIHRoZXJlLgor
Y2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLCBmdW5jdGlvbihlKSB7
IGUucHJldmVudERlZmF1bHQoKTsgfSwgZmFsc2UpOworY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIo
IndlYmdsY29udGV4dHJlc3RvcmVkIiwgY29udGludWVUZXN0QWZ0ZXJDb250ZXh0UmVzdG9yZWQs
IGZhbHNlKTsKK2NhbnZhcy53aWR0aCA9IHdpZHRoOworY2FudmFzLmhlaWdodCA9IGhlaWdodDsK
K2lmIChnbC5nZXRFcnJvcigpICE9IGdsLkNPTlRFWFRfTE9TVF9XRUJHTCkgeworICBjb250aW51
ZVRlc3RQYXJ0MSgpOworfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3RBZnRlckNvbnRleHRSZXN0
b3JlZCgpIHsKKyAgd2luZG93LmdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworICB2
YXIgZnVuYyA9IGNvbnRpbnVlVGVzdEZ1bmM7CisgIHdpbmRvdy5jb250aW51ZVRlc3RGdW5jID0g
ZnVuY3Rpb24oKSB7IHRlc3RGYWlsZWQoInNob3VsZCBub3QgYmUgaGVyZSIpOyB9OworICBmdW5j
KCk7Cit9CisKK2Z1bmN0aW9uIGNvbnRpbnVlVGVzdFBhcnQxKCkgeworICBnbC5jbGVhckNvbG9y
KDAuNSwgMC43LCAxLjAsIDEpOworICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKwor
ICB2YXIgaW5uZXJDb2xvciA9IFswLjUsIDAuNywgMS4wLCAxXTsKKyAgdmFyIG91dGVyQ29sb3Ig
PSBbMCwgMCwgMCwgMF07CisKKyAgdmFyIHRlc3RzID0gWworICAgIHsgbXNnOiAnaW4gcmFuZ2Un
LCBjaGVja0NvbG9yOiBpbm5lckNvbG9yLCB4OiAgMCwgeTogIDAsCisgICAgICBvbmVDb2xvcjog
aW5uZXJDb2xvciwgb25lWDogMCwgb25lWTogMH0sCisgICAgeyBtc2c6ICdvZmYgdG9wIGxlZnQn
LCBjaGVja0NvbG9yOiBvdXRlckNvbG9yLCB4OiAtMSwgeTogLTEsCisgICAgICBvbmVDb2xvcjog
aW5uZXJDb2xvciwgb25lWDogMSwgb25lWTogMX0sCisgICAgeyBtc2c6ICdvZmYgYm90dG9tIHJp
Z2h0JywgY2hlY2tDb2xvcjogb3V0ZXJDb2xvciwgeDogIDEsIHk6ICAxLAorICAgICAgb25lQ29s
b3I6IGlubmVyQ29sb3IsIG9uZVg6IDAsIG9uZVk6IDB9LAorICAgIHsgbXNnOiAnY29tcGxldGVs
eSBvZmYgdG9wICcsIGNoZWNrQ29sb3I6IG91dGVyQ29sb3IsIHg6ICAwLCB5OiAtMiwKKyAgICAg
IG9uZUNvbG9yOiBvdXRlckNvbG9yLCBvbmVYOiAwLCBvbmVZOiAwfSwKKyAgICB7IG1zZzogJ2Nv
bXBsZXRlbHkgb2ZmIGJvdHRvbScsIGNoZWNrQ29sb3I6IG91dGVyQ29sb3IsIHg6ICAwLCB5OiAg
MiwKKyAgICAgIG9uZUNvbG9yOiBvdXRlckNvbG9yLCBvbmVYOiAwLCBvbmVZOiAwfSwKKyAgICB7
IG1zZzogJ2NvbXBsZXRlbHkgb2ZmIGxlZnQnLCBjaGVja0NvbG9yOiBvdXRlckNvbG9yLCB4OiAt
MiwgeTogIDAsCisgICAgICBvbmVDb2xvcjogb3V0ZXJDb2xvciwgb25lWDogMCwgb25lWTogMH0s
CisgICAgeyBtc2c6ICdjb21wbGV0ZWxleSBvZmYgcmlnaHQnLCBjaGVja0NvbG9yOiBvdXRlckNv
bG9yLCB4OiAgMiwgeTogIDAsCisgICAgICBvbmVDb2xvcjogb3V0ZXJDb2xvciwgb25lWDogMCwg
b25lWTogMH0KKyAgXTsKKworICBmb3IgKHZhciB0dCA9IDA7IHR0IDwgdGVzdHMubGVuZ3RoOyAr
K3R0KSB7CisgICAgdmFyIHRlc3QgPSB0ZXN0c1t0dF07CisgICAgZGVidWcoIiIpOworICAgIGRl
YnVnKCJjaGVja2luZzogIiArIHRlc3QubXNnKTsKKyAgICBjaGVja0J1ZmZlcih0ZXN0LmNoZWNr
Q29sb3IsIHRlc3QueCwgdGVzdC55LAorICAgICAgICAgICAgICAgIHRlc3Qub25lQ29sb3IsIHRl
c3Qub25lWCwgdGVzdC5vbmVZKTsKKyAgfQorCisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsICJ0aGVyZSBzaG91bGQgYmUgbm8gR0wgZXJyb3JzIik7CisKKyAgZnVuY3Rpb24gY2hl
Y2tCdWZmZXIoY2hlY2tDb2xvciwgeCwgeSwgb25lQ29sb3IsIG9uZVgsIG9uZVkpIHsKKyAgICB2
YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkod2lkdGggKiBoZWlnaHQgKiA0KTsKKyAgICBnbC5yZWFk
UGl4ZWxzKHgsIHksIHdpZHRoLCBoZWlnaHQsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGJ1
Zik7CisgICAgZm9yICh2YXIgeXkgPSAwOyB5eSA8IGhlaWdodDsgKyt5eSkgeworICAgICAgZm9y
ICh2YXIgeHggPSAwOyB4eCA8IHdpZHRoOyArK3h4KSB7CisgICAgICAgIHZhciBvZmZzZXQgPSAo
eXkgKiB3aWR0aCArIHh4KSAqIDQ7CisgICAgICAgIHZhciBleHBlY3RlZENvbG9ycyA9IChvbmVY
ID09IHh4ICYmIG9uZVkgPT0geXkpID8gb25lQ29sb3IgOiBjaGVja0NvbG9yOworICAgICAgICBm
b3IgKHZhciBjYyA9IDA7IGNjIDwgNDsgKytjYykgeworICAgICAgICAgIHZhciBleHBlY3RlZENv
bG9yID0gZXhwZWN0ZWRDb2xvcnNbY2NdICogMjU1OworICAgICAgICAgIHZhciBjb2xvciA9IGJ1
ZltvZmZzZXQgKyBjY107CisgICAgICAgICAgdmFyIGRpZmYgPSBNYXRoLmFicyhleHBlY3RlZENv
bG9yIC0gY29sb3IpOworICAgICAgICAgIGFzc2VydE1zZyhkaWZmIDwgMywKKyAgICAgICAgICAg
ICAgICAgICAgImNvbG9yIHBpeGVsIGF0ICIgKyB4eCArICIsICIgKyB5eSArICIgc2hvdWxkIGJl
IGFib3V0ICIgKyBleHBlY3RlZENvbG9yKTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAg
fQorCisgIHZhciBiYWRGb3JtYXRzID0gWworICAgIHsKKyAgICAgIGZvcm1hdDogZ2wuUkdCLAor
ICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50OEFycmF5
KDMpLAorICAgICAgZXJyb3I6IGdsLklOVkFMSURfT1BFUkFUSU9OCisgICAgfSwKKyAgICB7Cisg
ICAgICBmb3JtYXQ6IGdsLlJHQiwKKyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzVfNl81
LAorICAgICAgZGVzdDogbmV3IFVpbnQ4QXJyYXkoMyksCisgICAgICBlcnJvcjogZ2wuSU5WQUxJ
RF9PUEVSQVRJT04KKyAgICB9LAorICAgIHsKKyAgICAgIGZvcm1hdDogZ2wuUkdCQSwKKyAgICAg
IHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JUXzVfNV81XzEsCisgICAgICBkZXN0OiBuZXcgVWludDE2
QXJyYXkoMSksCisgICAgICBlcnJvcjogZ2wuSU5WQUxJRF9PUEVSQVRJT04KKyAgICB9LAorICAg
IHsKKyAgICAgIGZvcm1hdDogZ2wuUkdCQSwKKyAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX1NIT1JU
XzRfNF80XzQsCisgICAgICBkZXN0OiBuZXcgVWludDE2QXJyYXkoMSksCisgICAgICBlcnJvcjog
Z2wuSU5WQUxJRF9PUEVSQVRJT04KKyAgICB9LAorICAgIHsKKyAgICAgIGZvcm1hdDogZ2wuQUxQ
SEEsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgZGVzdDogbmV3IFVpbnQ4
QXJyYXkoMSksCisgICAgICBlcnJvcjogZ2wuSU5WQUxJRF9PUEVSQVRJT04KKyAgICB9LAorICAg
IHsKKyAgICAgIGZvcm1hdDogZ2wuTFVNSU5BTkNFLAorICAgICAgdHlwZTogZ2wuVU5TSUdORURf
QllURSwKKyAgICAgIGRlc3Q6IG5ldyBVaW50OEFycmF5KDEpLAorICAgICAgZXJyb3I6IGdsLklO
VkFMSURfRU5VTQorICAgIH0sCisgICAgeworICAgICAgZm9ybWF0OiBnbC5MVU1JTkFOQ0VfQUxQ
SEEsCisgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgZGVzdDogbmV3IFVpbnQ4
QXJyYXkoMiksCisgICAgICBlcnJvcjogZ2wuSU5WQUxJRF9FTlVNCisgICAgfQorICBdOworICBk
ZWJ1ZygiIik7CisgIGRlYnVnKCJjaGVjayBkaXNhbGxvd2VkIGZvcm1hdHMiKTsKKyAgZm9yICh2
YXIgdHQgPSAwOyB0dCA8IGJhZEZvcm1hdHMubGVuZ3RoOyArKyB0dCkgeworICAgIHZhciBpbmZv
ID0gYmFkRm9ybWF0c1t0dF0KKyAgICB2YXIgZm9ybWF0ID0gaW5mby5mb3JtYXQ7CisgICAgdmFy
IHR5cGUgPSBpbmZvLnR5cGU7CisgICAgdmFyIGRlc3QgPSBpbmZvLmRlc3Q7CisgICAgdmFyIGVy
cm9yID0gaW5mby5lcnJvcjsKKyAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIDEsIDEsIGZvcm1hdCwg
dHlwZSwgZGVzdCk7CisgICAgLy8gbm90ZSB0aGF0IHRoZSBHTCBlcnJvciBpcyBJTlZBTElEX09Q
RVJBVElPTiBpZiBib3RoIGZvcm1hdCBhbmQgdHlwZSBhcmUgaW52YWxpZCwgYnV0CisgICAgLy8g
SU5WQUxJRF9FTlVNIGlmIG9ubHkgb25lIGlzLgorICAgIGdsRXJyb3JTaG91bGRCZSgKKyAgICAg
ICAgZ2wsIGVycm9yLAorICAgICAgICAiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlYWQgYXMgIiAr
IHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgZm9ybWF0KSArCisgICAgICAgICIgLyAiICsgd3R1Lmds
RW51bVRvU3RyaW5nKGdsLCB0eXBlKSk7CisgIH0KKworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJj
aGVjayByZWFkaW5nIHdpdGggbG90cyBvZiBkcmF3aW5nIik7CisgIGNvbnRpbnVlVGVzdEZ1bmMg
PSBjb250aW51ZVRlc3RQYXJ0MjsKKyAgd2lkdGggPSAxMDI0OworICBoZWlnaHQgPSAxMDI0Owor
ICBjYW52YXMud2lkdGggPSB3aWR0aDsKKyAgY2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgaWYg
KGdsLmdldEVycm9yKCkgIT0gZ2wuQ09OVEVYVF9MT1NUX1dFQkdMKSB7CisgICAgY29udGludWVU
ZXN0UGFydDIoKTsKKyAgfQorfQorCitmdW5jdGlvbiBjb250aW51ZVRlc3RQYXJ0MigpIHsKKyAg
Z2wudmlld3BvcnQoMCwgMCwgMTAyNCwgMTAyNCk7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVw
VGV4dHVyZWRRdWFkKGdsKTsKKyAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9n
cmFtLCAidGV4Iik7CisgIGdsLmRpc2FibGUoZ2wuQkxFTkQpOworICBnbC5kaXNhYmxlKGdsLkRF
UFRIX1RFU1QpOworICB2YXIgY29sb3JzID0gW1syNTUsIDAsIDAsIDI1NV0sIFswLCAyNTUsIDAs
IDI1NV0sIFswLCAwLCAyNTUsIDI1NV1dOworICB2YXIgdGV4dHVyZXMgPSBbXTsKKyAgdmFyIHJl
c3VsdHMgPSBbXTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGNvbG9ycy5sZW5ndGg7ICsraWkp
IHsKKyAgICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUwICsgaWkpOworICAgIHZhciB0ZXgg
PSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgd3R1LmZpbGxUZXh0dXJlKGdsLCB0ZXgsIDEsIDEs
IGNvbG9yc1tpaV0pOworICAgIHRleHR1cmVzLnB1c2godGV4KTsKKyAgfQorICBmb3IgKHZhciBp
aSA9IDA7IGlpIDwgY29sb3JzLmxlbmd0aDsgKytpaSkgeworICAgIGZvciAodmFyIGpqID0gMDsg
amogPCAzMDAgKyBpaSArIDE7ICsramopIHsKKyAgICAgIGdsLnVuaWZvcm0xaShsb2MsIGpqICUg
Myk7CisgICAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7CisgICAgfQorICAg
IHZhciBidWYgPSBuZXcgVWludDhBcnJheSg0KTsKKyAgICBnbC5yZWFkUGl4ZWxzKDUxMiwgNTEy
LCAxLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBidWYpOworICAgIHJlc3VsdHMucHVz
aChidWYpOworICAgIGZvciAodmFyIGtrID0gMDsga2sgPCA5OTsgKytraykgeworICAgICAgZ2wu
dW5pZm9ybTFpKGxvYywgKGpqICsga2spICUgMyk7CisgICAgICBnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgMCwgNik7CisgICAgfQorICB9CisgIGZvciAodmFyIGlpID0gMDsgaWkgPCBjb2xv
cnMubGVuZ3RoOyArK2lpKSB7CisgICAgdmFyIGJ1ZiA9IHJlc3VsdHNbaWldOworICAgIHZhciBj
b2xvciA9IGNvbG9yc1tpaV07CisgICAgYWN0dWFsID0gW2J1ZlswXSwgYnVmWzFdLCBidWZbMl0s
IGJ1ZlszXV07CisgICAgZXhwZWN0ZWQgPSBbY29sb3JbMF0sIGNvbG9yWzFdLCBjb2xvclsyXSwg
Y29sb3JbM11dOworICAgIHNob3VsZEJlKCJhY3R1YWwiLCAiZXhwZWN0ZWQiKTsKKyAgfQorICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIEdMIGVy
cm9ycyIpOworCisgIGRlYnVnKCIiKTsKKyAgZmluaXNoVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXIt
b2JqZWN0LWF0dGFjaG1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmJ1ZmZlcnMvZnJhbWVidWZmZXItb2JqZWN0
LWF0dGFjaG1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjc3ZjUxM2M4MjJmY2Y5NmY0YjIxMDlkNzE0
ZDlkZDZmNjVmMTM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyYnVmZmVycy9mcmFtZWJ1ZmZl
ci1vYmplY3QtYXR0YWNobWVudC5odG1sCkBAIC0wLDAgKzEsNTU5IEBACis8IS0tCisKKy8qCisq
KiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9j
dW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1h
dGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRh
dGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoq
IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJp
YWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUg
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQ
Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP
UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMg
T1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoq
IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O
IFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU
SEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlw
dD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbDsKK3Zh
ciBmYm87Cit2YXIgZGVwdGhCdWZmZXI7Cit2YXIgc3RlbmNpbEJ1ZmZlcjsKK3ZhciBkZXB0aFN0
ZW5jaWxCdWZmZXI7Cit2YXIgY29sb3JCdWZmZXI7Cit2YXIgd2lkdGg7Cit2YXIgaGVpZ2h0Owor
Cit2YXIgQUxMT1dfQ09NUExFVEUgICAgICAgICAgICAgID0gMHgwMTsKK3ZhciBBTExPV19VTlNV
UFBPUlRFRCAgICAgICAgICAgPSAweDAyOwordmFyIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVO
VCA9IDB4MDQ7CisKK2Z1bmN0aW9uIGNoZWNrRnJhbWVidWZmZXJGb3JBbGxvd2VkU3RhdHVzZXMo
YWxsb3dlZFN0YXR1c2VzKQoreworICAgIC8vIElmIHRoZSBmcmFtZWJ1ZmZlciBpcyBpbiBhbiBl
cnJvciBzdGF0ZSBmb3IgbXVsdGlwbGUgcmVhc29ucywKKyAgICAvLyB3ZSBjYW4ndCBndWFyYW50
ZWUgd2hpY2ggb25lIHdpbGwgYmUgcmVwb3J0ZWQuCisgICAgdmFyIHN0YXR1cyA9IGdsLmNoZWNr
RnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpOworICAgIHZhciBzdGF0dXNBbGxvd2Vk
ID0gKChhbGxvd2VkU3RhdHVzZXMgJiBBTExPV19DT01QTEVURSkgJiYgKHN0YXR1cyA9PSBnbC5G
UkFNRUJVRkZFUl9DT01QTEVURSkpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAoKGFsbG93
ZWRTdGF0dXNlcyAmIEFMTE9XX1VOU1VQUE9SVEVEKSAmJiAoc3RhdHVzID09IGdsLkZSQU1FQlVG
RkVSX1VOU1VQUE9SVEVEKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgoYWxsb3dlZFN0
YXR1c2VzICYgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UKSAmJiAoc3RhdHVzID09IGdsLkZS
QU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCkpOworICAgIHZhciBtc2cgPSAiZ2wuY2hl
Y2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikgcmV0dXJuZWQgIiArIHN0YXR1czsK
KyAgICBpZiAoc3RhdHVzQWxsb3dlZCkKKyAgICAgICAgdGVzdFBhc3NlZChtc2cpOworICAgIGVs
c2UKKyAgICAgICAgdGVzdEZhaWxlZChtc2cpOworfQorCitmdW5jdGlvbiBjaGVja0J1ZmZlckJp
dHMoYXR0YWNobWVudDAsIGF0dGFjaG1lbnQxKQoreworICAgIGlmIChnbC5jaGVja0ZyYW1lYnVm
ZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSAhPSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkKKyAg
ICAgIHJldHVybjsKKworICAgIHZhciBoYXZlRGVwdGhCdWZmZXIgPSBhdHRhY2htZW50MCA9PSBn
bC5ERVBUSF9BVFRBQ0hNRU5UIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaG1l
bnQwID09IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCB8fAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBhdHRhY2htZW50MSA9PSBnbC5ERVBUSF9BVFRBQ0hNRU5UIHx8CisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQxID09IGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVO
VDsKKyAgICB2YXIgaGF2ZVN0ZW5jaWxCdWZmZXIgPSBhdHRhY2htZW50MCA9PSBnbC5TVEVOQ0lM
X0FUVEFDSE1FTlQgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50MCA9
PSBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQgfHwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhdHRhY2htZW50MSA9PSBnbC5TVEVOQ0lMX0FUVEFDSE1FTlQgfHwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhdHRhY2htZW50MSA9PSBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1F
TlQ7CisKKyAgICBzaG91bGRCZVRydWUoImdsLmdldFBhcmFtZXRlcihnbC5SRURfQklUUykgKyBn
bC5nZXRQYXJhbWV0ZXIoZ2wuR1JFRU5fQklUUykgKyBnbC5nZXRQYXJhbWV0ZXIoZ2wuQkxVRV9C
SVRTKSArIGdsLmdldFBhcmFtZXRlcihnbC5BTFBIQV9CSVRTKSA+PSAxNiIpOworCisgICAgaWYg
KGhhdmVEZXB0aEJ1ZmZlcikKKyAgICAgIHNob3VsZEJlVHJ1ZSgiZ2wuZ2V0UGFyYW1ldGVyKGds
LkRFUFRIX0JJVFMpID49IDE2Iik7CisgICAgZWxzZQorICAgICAgc2hvdWxkQmVUcnVlKCJnbC5n
ZXRQYXJhbWV0ZXIoZ2wuREVQVEhfQklUUykgPT0gMCIpOworCisgICAgaWYgKGhhdmVTdGVuY2ls
QnVmZmVyKQorICAgICAgc2hvdWxkQmVUcnVlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuU1RFTkNJTF9C
SVRTKSA+PSA4Iik7CisgICAgZWxzZQorICAgICAgc2hvdWxkQmVUcnVlKCJnbC5nZXRQYXJhbWV0
ZXIoZ2wuU1RFTkNJTF9CSVRTKSA9PSAwIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RBdHRhY2htZW50
KGF0dGFjaG1lbnQsIGJ1ZmZlciwgYWxsb3dlZFN0YXR1c2VzKQoreworICAgIHNob3VsZEJlTm9u
TnVsbCgiZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1
ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZl
cihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwg
Y29sb3JCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGdsLkZSQU1FQlVG
RkVSLCBhdHRhY2htZW50LCBnbC5SRU5ERVJCVUZGRVIsIGJ1ZmZlcik7CisgICAgZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlckZvckFsbG93ZWRT
dGF0dXNlcyhhbGxvd2VkU3RhdHVzZXMpOworICAgIGlmICgoYWxsb3dlZFN0YXR1c2VzICYgQUxM
T1dfQ09NUExFVEUpID09IDApIHsKKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9GUkFNRUJVRkZFUl9P
UEVSQVRJT04pOworICAgICAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIHdpZHRoLCBoZWlnaHQsIGds
LlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0ICog
NCkpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRlJBTUVCVUZGRVJf
T1BFUkFUSU9OKTsKKyAgICB9CisgICAgY2hlY2tCdWZmZXJCaXRzKGF0dGFjaG1lbnQpOworICAg
IGdsLmRlbGV0ZUZyYW1lYnVmZmVyKGZibyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RBdHRhY2htZW50
cyhhdHRhY2htZW50MCwgYnVmZmVyMCwgYXR0YWNobWVudDEsIGJ1ZmZlcjEsIGFsbG93ZWRTdGF0
dXNlcykKK3sKKyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVy
KCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisgICAg
Z2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFD
SE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZl
clJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgYXR0YWNobWVudDAsIGdsLlJFTkRFUkJVRkZF
UiwgYnVmZmVyMCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAg
Z2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGF0dGFjaG1lbnQxLCBn
bC5SRU5ERVJCVUZGRVIsIGJ1ZmZlcjEpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IpOworICAgIGNoZWNrRnJhbWVidWZmZXJGb3JBbGxvd2VkU3RhdHVzZXMoYWxsb3dlZFN0
YXR1c2VzKTsKKyAgICBjaGVja0J1ZmZlckJpdHMoYXR0YWNobWVudDAsIGF0dGFjaG1lbnQxKTsK
KyAgICBnbC5kZWxldGVGcmFtZWJ1ZmZlcihmYm8pOworfQorCitmdW5jdGlvbiB0ZXN0Q29sb3JS
ZW5kZXJidWZmZXIoaW50ZXJuYWxmb3JtYXQsIGFsbG93ZWRTdGF0dXNlcykKK3sKKyAgICBzaG91
bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAg
ICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAg
IGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBpbnRlcm5hbGZvcm1hdCwg
d2lkdGgsIGhlaWdodCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7Cisg
ICAgdGVzdEF0dGFjaG1lbnQoZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGNvbG9yQnVmZmVyLCBhbGxv
d2VkU3RhdHVzZXMpOworfQorCitmdW5jdGlvbiB0ZXN0RGVwdGhTdGVuY2lsUmVuZGVyYnVmZmVy
KGFsbG93ZWRTdGF0dXNlcykKK3sKKyAgICBzaG91bGRCZU5vbk51bGwoImRlcHRoU3RlbmNpbEJ1
ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZl
cihnbC5SRU5ERVJCVUZGRVIsIGRlcHRoU3RlbmNpbEJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVm
ZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLkRFUFRIX1NURU5DSUwsIHdpZHRoLCBoZWln
aHQpOworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgICAgLy8gT3Bl
bkdMIGl0c2VsZiBkb2Vzbid0IHNlZW0gdG8gZ3VhcmFudGVlIHRoYXQgZS5nLiBhIDIgeCAwCisg
ICAgLy8gcmVuZGVyYnVmZmVyIHdpbGwgcmVwb3J0IDIgZm9yIGl0cyB3aWR0aCB3aGVuIHF1ZXJp
ZWQuCisgICAgaWYgKCEoaGVpZ2h0ID09IDAgJiYgd2lkdGggPiAwKSkKKyAgICAgICAgc2hvdWxk
QmUoImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRF
UkJVRkZFUl9XSURUSCkiLCAid2lkdGgiKTsKKyAgICBpZiAoISh3aWR0aCA9PSAwICYmIGhlaWdo
dCA+IDApKQorICAgICAgICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGds
LlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0hFSUdIVCkiLCAiaGVpZ2h0Iik7CisgICAg
c2hvdWxkQmUoImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGds
LlJFTkRFUkJVRkZFUl9JTlRFUk5BTF9GT1JNQVQpIiwgImdsLkRFUFRIX1NURU5DSUwiKTsKKyAg
ICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwg
Z2wuUkVOREVSQlVGRkVSX1JFRF9TSVpFKSIsICIwIik7CisgICAgc2hvdWxkQmUoImdsLmdldFJl
bmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9HUkVF
Tl9TSVpFKSIsICIwIik7CisgICAgc2hvdWxkQmUoImdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRl
cihnbC5SRU5ERVJCVUZGRVIsIGdsLlJFTkRFUkJVRkZFUl9CTFVFX1NJWkUpIiwgIjAiKTsKKyAg
ICBzaG91bGRCZSgiZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwg
Z2wuUkVOREVSQlVGRkVSX0FMUEhBX1NJWkUpIiwgIjAiKTsKKyAgICAvLyBBdm9pZCB2ZXJpZnlp
bmcgdGhlc2UgZm9yIHplcm8tc2l6ZWQgcmVuZGVyYnVmZmVycyBmb3IgdGhlIHRpbWUKKyAgICAv
LyBiZWluZyBzaW5jZSBpdCBhcHBlYXJzIHRoYXQgZXZlbiBPcGVuR0wgZG9lc24ndCBndWFyYW50
ZWUgdGhlbS4KKyAgICBpZiAod2lkdGggPiAwICYmIGhlaWdodCA+IDApIHsKKyAgICAgICAgc2hv
dWxkQmVUcnVlKCJnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBn
bC5SRU5ERVJCVUZGRVJfREVQVEhfU0laRSkgPiAwIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgi
Z2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVG
RkVSX1NURU5DSUxfU0laRSkgPiAwIik7CisgICAgfQorICAgIGdsRXJyb3JTaG91bGRCZShnbCwg
Z2wuTk9fRVJST1IpOworICAgIHRlc3RBdHRhY2htZW50KGdsLkRFUFRIX1NURU5DSUxfQVRUQUNI
TUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBhbGxvd2VkU3RhdHVzZXMpOworICAgIHRlc3REZXB0
aFN0ZW5jaWxEZXB0aFN0ZW5jaWwoKTsKK30KKworZnVuY3Rpb24gdGVzdERlcHRoU3RlbmNpbERl
cHRoU3RlbmNpbCgpCit7CisgICAgaWYgKCF3aWR0aCB8fCAhaGVpZ2h0KSB7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICB2YXIgdGVzdHMgPSBbCisgICAgICAgIHsgICBmaXJzdEZvcm1h
dDogZ2wuREVQVEhfQ09NUE9ORU5UMTYsCisgICAgICAgICAgICBmaXJzdEF0dGFjaDogZ2wuREVQ
VEhfQVRUQUNITUVOVCwKKyAgICAgICAgICAgIHNlY29uZEZvcm1hdDogZ2wuREVQVEhfU1RFTkNJ
TCwKKyAgICAgICAgICAgIHNlY29uZEF0dGFjaDogZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5U
CisgICAgICAgIH0sCisgICAgICAgIHsgICBmaXJzdEZvcm1hdDogZ2wuREVQVEhfU1RFTkNJTCwK
KyAgICAgICAgICAgIGZpcnN0QXR0YWNoOiBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsCisg
ICAgICAgICAgICBzZWNvbmRGb3JtYXQ6IGdsLkRFUFRIX0NPTVBPTkVOVDE2LAorICAgICAgICAg
ICAgc2Vjb25kQXR0YWNoOiBnbC5ERVBUSF9BVFRBQ0hNRU5UCisgICAgICAgIH0KKyAgICBdOwor
ICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0cy5sZW5ndGg7ICsraWkpIHsKKyAgICAgICAg
dmFyIHRlc3QgPSB0ZXN0c1tpaV07CisgICAgICAgIGZvciAodmFyIGpqID0gMDsgamogPCAyOyAr
K2pqKSB7CisgICAgICAgICAgICB2YXIgZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKTsKKyAg
ICAgICAgICAgIHZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgICAgICAgICB2YXIg
Zmlyc3RSYiA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpOworCisgICAgICAgICAgICBkZWJ1Zygi
Iik7CisgICAgICAgICAgICBkZWJ1ZygidGVzdDogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwg
dGVzdC5maXJzdEZvcm1hdCkgKyAiIHZzICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRlc3Qu
c2Vjb25kRm9ybWF0KSArICIgd2l0aCAiICsgKGpqID8gInVuYmluZCIgOiAiZGVsZXRlIikpOwor
CisgICAgICAgICAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7Cisg
ICAgICAgICAgICAvLyBhdHRhY2ggdGV4dHVyZSBhcyBjb2xvcgorICAgICAgICAgICAgZ2wuYmlu
ZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KTsKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgd2lkdGgsIGhlaWdodCwgMCwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgbnVsbCk7CisgICAgICAgICAgICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUy
RChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRl
eCwgMCk7CisKKyAgICAgICAgICAgIC8vIGF0dGFjaCBmaXJzdAorICAgICAgICAgICAgZ2wuYmlu
ZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGZpcnN0UmIpOworICAgICAgICAgICAgZ2wu
cmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIHRlc3QuZmlyc3RGb3JtYXQsIHdp
ZHRoLCBoZWlnaHQpOworICAgICAgICAgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wu
RlJBTUVCVUZGRVIsIHRlc3QuZmlyc3RBdHRhY2gsIGdsLlJFTkRFUkJVRkZFUiwgZmlyc3RSYik7
CisKKyAgICAgICAgICAgIHNob3VsZEJlKCdnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZS
QU1FQlVGRkVSKScsICdnbC5GUkFNRUJVRkZFUl9DT01QTEVURScpOworICAgICAgICAgICAgZ2wu
ZW5hYmxlKGdsLkRFUFRIX1RFU1QpOworICAgICAgICAgICAgdmFyIHByb2dyYW0gPSB3dHUuc2V0
dXBDb2xvclF1YWQoZ2wpOworICAgICAgICAgICAgLy8gVGVzdCBpdCB3b3JrcworICAgICAgICAg
ICAgd3R1LmRyYXdVQnl0ZUNvbG9yUXVhZChnbCwgWzAsIDI1NSwgMCwgMjU1XSk7CisgICAgICAg
ICAgICB3dHUuZHJhd1VCeXRlQ29sb3JRdWFkKGdsLCBbMjU1LCAwLCAwLCAyNTVdKTsgIC8vIHNo
b3VsZCBub3QgZHJhdyBzaW5jZSBERVBUSF9GVU5DID09IExFU1MKKyAgICAgICAgICAgIHd0dS5j
aGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIHdpZHRoLCBoZWlnaHQsIFswLCAyNTUsIDAsIDI1NV0s
ICJzaG91bGQgYmUgZ3JlZW4iKTsKKworICAgICAgICAgICAgdmFyIHNlY29uZFJiID0gZ2wuY3Jl
YXRlUmVuZGVyYnVmZmVyKCk7CisKKyAgICAgICAgICAgIC8vIGF0dGFjaCBzZWNvbmQKKyAgICAg
ICAgICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBzZWNvbmRSYik7Cisg
ICAgICAgICAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgdGVzdC5z
ZWNvbmRGb3JtYXQsIHdpZHRoLCBoZWlnaHQpOworICAgICAgICAgICAgZ2wuZnJhbWVidWZmZXJS
ZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIHRlc3Quc2Vjb25kQXR0YWNoLCBnbC5SRU5ERVJC
VUZGRVIsIHNlY29uZFJiKTsKKworICAgICAgICAgICAgaWYgKGpqID09IDApIHsKKyAgICAgICAg
ICAgICAgLy8gbm93IGRlbGV0ZSBpdAorICAgICAgICAgICAgICBkZWJ1ZygidGVzdCBkZWxldGlu
ZyBzZWNvbmQgcmVuZGVyYnVmZmVyIik7CisgICAgICAgICAgICAgIGdsLmRlbGV0ZVJlbmRlcmJ1
ZmZlcihzZWNvbmRSYik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAvLyB1
bmJpbmQgaXQKKyAgICAgICAgICAgICAgZGVidWcoInRlc3QgdW5iaW5kaW5nIHNlY29uZCByZW5k
ZXJidWZmZXIiKTsKKyAgICAgICAgICAgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wu
RlJBTUVCVUZGRVIsIHRlc3Quc2Vjb25kQXR0YWNoLCBnbC5SRU5ERVJCVUZGRVIsIG51bGwpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBJZiB0aGUgZmlyc3QgYXR0YWNobWVudCBp
cyBub3QgcmVzdG9yZWQgdGhpcyBtYXkgZmFpbAorICAgICAgICAgICAgc2hvdWxkQmUoJ2dsLmNo
ZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpJywgJ2dsLkZSQU1FQlVGRkVSX0NP
TVBMRVRFJyk7CisgICAgICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsK
KworICAgICAgICAgICAgLy8gSWYgdGhlIGZpcnN0IGF0dGFjaG1lbnQgaXMgbm90IHJlc3RvcmVk
IHRoaXMgbWF5IGZhaWwuCisgICAgICAgICAgICBnbC5jbGVhcihnbC5ERVBUSF9CVUZGRVJfQklU
KTsKKyAgICAgICAgICAgIHd0dS5kcmF3VUJ5dGVDb2xvclF1YWQoZ2wsIFswLCAyNTUsIDAsIDI1
NV0pOworICAgICAgICAgICAgd3R1LmRyYXdVQnl0ZUNvbG9yUXVhZChnbCwgWzI1NSwgMCwgMCwg
MjU1XSk7ICAvLyBzaG91bGQgbm90IGRyYXcgc2luY2UgREVQVEhfRlVOQyA9PSBMRVNTCisgICAg
ICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCB3aWR0aCwgaGVpZ2h0LCBbMCwg
MjU1LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7CisgICAgICAgICAgICBnbC5kaXNhYmxl
KGdsLkRFUFRIX1RFU1QpOworCisgICAgICAgICAgICBpZiAoamogPT0gMSkgeworICAgICAgICAg
ICAgICBnbC5kZWxldGVSZW5kZXJidWZmZXIoc2Vjb25kUmIpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBnbC5kZWxldGVSZW5kZXJidWZmZXIoc2Vjb25kUmIpOworICAgICAgICAgICAg
Z2wuZGVsZXRlRnJhbWVidWZmZXIoZmJvKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBnbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3QgZnJhbWVi
dWZmZXIgb2JqZWN0IGF0dGFjaG1lbnQgYmVoYXZpb3JzIik7CisKK2ZvciAod2lkdGggPSAwOyB3
aWR0aCA8PSAyOyB3aWR0aCArPSAyKQoreworICAgIGZvciAoaGVpZ2h0ID0gMDsgaGVpZ2h0IDw9
IDI7IGhlaWdodCArPSAyKQorICAgIHsKKyAgICAgICAgZGVidWcoIiIpOworICAgICAgICBkZWJ1
ZygiRGltZW5zaW9ucyAiICsgd2lkdGggKyAiIHggIiArIGhlaWdodCk7CisKKyAgICAgICAgZGVi
dWcoIkNyZWF0ZSByZW5kZXJidWZmZXJzIik7CisgICAgICAgIHNob3VsZEJlTm9uTnVsbCgiZ2wg
PSB3dHUuY3JlYXRlM0RDb250ZXh0KCkiKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xv
ckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgICAgIGdsLmJpbmRSZW5k
ZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgICAgIGdsLnJlbmRl
cmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgd2lkdGgsIGhlaWdodCk7
CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworICAgICAgICBzaG91
bGRCZU5vbk51bGwoImRlcHRoQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAg
ICAgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsK
KyAgICAgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLkRFUFRI
X0NPTVBPTkVOVDE2LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUik7CisgICAgICAgIHNob3VsZEJlTm9uTnVsbCgic3RlbmNpbEJ1ZmZlciA9
IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgICAgIGdsLmJpbmRSZW5kZXJidWZmZXIo
Z2wuUkVOREVSQlVGRkVSLCBzdGVuY2lsQnVmZmVyKTsKKyAgICAgICAgZ2wucmVuZGVyYnVmZmVy
U3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlNURU5DSUxfSU5ERVg4LCB3aWR0aCwgaGVpZ2h0
KTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisgICAgICAgIHNo
b3VsZEJlTm9uTnVsbCgiZGVwdGhTdGVuY2lsQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVy
KCkiKTsKKyAgICAgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGRlcHRo
U3RlbmNpbEJ1ZmZlcik7CisgICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVS
QlVGRkVSLCBnbC5ERVBUSF9TVEVOQ0lMLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKKyAgICAgICAgdmFyIGFsbG93ZWRTdGF0dXNG
b3JHb29kQ2FzZQorICAgICAgICAgICAgPSAod2lkdGggPT0gMCB8fCBoZWlnaHQgPT0gMCkgPyBB
TExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQgOiBBTExPV19DT01QTEVURTsKKworICAgICAgICAv
LyBzb21lIGNhc2VzIGludm9sdmluZyBzdGVuY2lsIHNlZW0gdG8gYmUgaW1wbGVtZW50YXRpb24t
ZGVwZW5kZW50CisgICAgICAgIHZhciBhbGxvd2VkU3RhdHVzRm9ySW1wbERlcGVuZGVudENhc2Ug
PSBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UgfCBBTExPV19VTlNVUFBPUlRFRDsKKworICAgICAg
ICBkZWJ1ZygiQXR0YWNoIGRlcHRoIHVzaW5nIERFUFRIX0FUVEFDSE1FTlQiKTsKKyAgICAgICAg
dGVzdEF0dGFjaG1lbnQoZ2wuREVQVEhfQVRUQUNITUVOVCwgZGVwdGhCdWZmZXIsIGFsbG93ZWRT
dGF0dXNGb3JHb29kQ2FzZSk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGggdXNpbmcgU1RF
TkNJTF9BVFRBQ0hNRU5UIik7CisgICAgICAgIHRlc3RBdHRhY2htZW50KGdsLlNURU5DSUxfQVRU
QUNITUVOVCwgZGVwdGhCdWZmZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisgICAg
ICAgIGRlYnVnKCJBdHRhY2ggZGVwdGggdXNpbmcgREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UIik7
CisgICAgICAgIHRlc3RBdHRhY2htZW50KGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCwgZGVw
dGhCdWZmZXIsIEFMTE9XX0lOQ09NUExFVEVfQVRUQUNITUVOVCk7CisgICAgICAgIGRlYnVnKCJB
dHRhY2ggc3RlbmNpbCB1c2luZyBTVEVOQ0lMX0FUVEFDSE1FTlQiKTsKKyAgICAgICAgdGVzdEF0
dGFjaG1lbnQoZ2wuU1RFTkNJTF9BVFRBQ0hNRU5ULCBzdGVuY2lsQnVmZmVyLCBhbGxvd2VkU3Rh
dHVzRm9ySW1wbERlcGVuZGVudENhc2UpOworICAgICAgICBkZWJ1ZygiQXR0YWNoIHN0ZW5jaWwg
dXNpbmcgREVQVEhfQVRUQUNITUVOVCIpOworICAgICAgICB0ZXN0QXR0YWNobWVudChnbC5ERVBU
SF9BVFRBQ0hNRU5ULCBzdGVuY2lsQnVmZmVyLCBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQp
OworICAgICAgICBkZWJ1ZygiQXR0YWNoIHN0ZW5jaWwgdXNpbmcgREVQVEhfU1RFTkNJTF9BVFRB
Q0hNRU5UIik7CisgICAgICAgIHRlc3RBdHRhY2htZW50KGdsLkRFUFRIX1NURU5DSUxfQVRUQUNI
TUVOVCwgc3RlbmNpbEJ1ZmZlciwgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKyAgICAg
ICAgZGVidWcoIkF0dGFjaCBkZXB0aFN0ZW5jaWwgdXNpbmcgREVQVEhfU1RFTkNJTF9BVFRBQ0hN
RU5UIik7CisgICAgICAgIHRlc3RBdHRhY2htZW50KGdsLkRFUFRIX1NURU5DSUxfQVRUQUNITUVO
VCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBhbGxvd2VkU3RhdHVzRm9yR29vZENhc2UpOworICAgICAg
ICBkZWJ1ZygiQXR0YWNoIGRlcHRoU3RlbmNpbCB1c2luZyBERVBUSF9BVFRBQ0hNRU5UIik7Cisg
ICAgICAgIHRlc3RBdHRhY2htZW50KGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1
ZmZlciwgQUxMT1dfSU5DT01QTEVURV9BVFRBQ0hNRU5UKTsKKyAgICAgICAgZGVidWcoIkF0dGFj
aCBkZXB0aFN0ZW5jaWwgdXNpbmcgU1RFTkNJTF9BVFRBQ0hNRU5UIik7CisgICAgICAgIHRlc3RB
dHRhY2htZW50KGdsLlNURU5DSUxfQVRUQUNITUVOVCwgZGVwdGhTdGVuY2lsQnVmZmVyLCBBTExP
V19JTkNPTVBMRVRFX0FUVEFDSE1FTlQpOworCisgICAgICAgIHZhciBhbGxvd2VkU3RhdHVzRm9y
Q29uZmxpY3RlZEF0dGFjaG1lbnQKKyAgICAgICAgICAgID0gKHdpZHRoID09IDAgfHwgaGVpZ2h0
ID09IDApID8gQUxMT1dfVU5TVVBQT1JURUQgfCBBTExPV19JTkNPTVBMRVRFX0FUVEFDSE1FTlQK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogQUxMT1dfVU5TVVBQ
T1JURUQ7CisKKyAgICAgICAgZGVidWcoIkF0dGFjaCBkZXB0aCwgdGhlbiBzdGVuY2lsLCBjYXVz
aW5nIGNvbmZsaWN0Iik7CisgICAgICAgIHRlc3RBdHRhY2htZW50cyhnbC5ERVBUSF9BVFRBQ0hN
RU5ULCBkZXB0aEJ1ZmZlciwgZ2wuU1RFTkNJTF9BVFRBQ0hNRU5ULCBzdGVuY2lsQnVmZmVyLCBh
bGxvd2VkU3RhdHVzRm9yQ29uZmxpY3RlZEF0dGFjaG1lbnQpOworICAgICAgICBkZWJ1ZygiQXR0
YWNoIHN0ZW5jaWwsIHRoZW4gZGVwdGgsIGNhdXNpbmcgY29uZmxpY3QiKTsKKyAgICAgICAgdGVz
dEF0dGFjaG1lbnRzKGdsLlNURU5DSUxfQVRUQUNITUVOVCwgc3RlbmNpbEJ1ZmZlciwgZ2wuREVQ
VEhfQVRUQUNITUVOVCwgZGVwdGhCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0
YWNobWVudCk7CisgICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGgsIHRoZW4gZGVwdGhTdGVuY2ls
LCBjYXVzaW5nIGNvbmZsaWN0Iik7CisgICAgICAgIHRlc3RBdHRhY2htZW50cyhnbC5ERVBUSF9B
VFRBQ0hNRU5ULCBkZXB0aEJ1ZmZlciwgZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0
aFN0ZW5jaWxCdWZmZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0YWNobWVudCk7Cisg
ICAgICAgIGRlYnVnKCJBdHRhY2ggZGVwdGhTdGVuY2lsLCB0aGVuIGRlcHRoLCBjYXVzaW5nIGNv
bmZsaWN0Iik7CisgICAgICAgIHRlc3RBdHRhY2htZW50cyhnbC5ERVBUSF9TVEVOQ0lMX0FUVEFD
SE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgZ2wuREVQVEhfQVRUQUNITUVOVCwgZGVwdGhCdWZm
ZXIsIGFsbG93ZWRTdGF0dXNGb3JDb25mbGljdGVkQXR0YWNobWVudCk7CisgICAgICAgIGRlYnVn
KCJBdHRhY2ggc3RlbmNpbCwgdGhlbiBkZXB0aFN0ZW5jaWwsIGNhdXNpbmcgY29uZmxpY3QiKTsK
KyAgICAgICAgdGVzdEF0dGFjaG1lbnRzKGdsLkRFUFRIX0FUVEFDSE1FTlQsIGRlcHRoQnVmZmVy
LCBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQsIGRlcHRoU3RlbmNpbEJ1ZmZlciwgYWxsb3dl
ZFN0YXR1c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50KTsKKyAgICAgICAgZGVidWcoIkF0dGFjaCBk
ZXB0aFN0ZW5jaWwsIHRoZW4gc3RlbmNpbCwgY2F1c2luZyBjb25mbGljdCIpOworICAgICAgICB0
ZXN0QXR0YWNobWVudHMoZ2wuREVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCBkZXB0aFN0ZW5jaWxC
dWZmZXIsIGdsLlNURU5DSUxfQVRUQUNITUVOVCwgc3RlbmNpbEJ1ZmZlciwgYWxsb3dlZFN0YXR1
c0ZvckNvbmZsaWN0ZWRBdHRhY2htZW50KTsKKworICAgICAgICBkZWJ1ZygiQXR0YWNoIGNvbG9y
IHJlbmRlcmJ1ZmZlciB3aXRoIGludGVybmFsZm9ybWF0ID09IFJHQkE0Iik7CisgICAgICAgIHRl
c3RDb2xvclJlbmRlcmJ1ZmZlcihnbC5SR0JBNCwgYWxsb3dlZFN0YXR1c0Zvckdvb2RDYXNlKTsK
KworICAgICAgICBkZWJ1ZygiQXR0YWNoIGNvbG9yIHJlbmRlcmJ1ZmZlciB3aXRoIGludGVybmFs
Zm9ybWF0ID09IFJHQjVfQTEiKTsKKyAgICAgICAgdGVzdENvbG9yUmVuZGVyYnVmZmVyKGdsLlJH
QjVfQTEsIGFsbG93ZWRTdGF0dXNGb3JHb29kQ2FzZSk7CisKKyAgICAgICAgZGVidWcoIkF0dGFj
aCBjb2xvciByZW5kZXJidWZmZXIgd2l0aCBpbnRlcm5hbGZvcm1hdCA9PSBSR0I1NjUiKTsKKyAg
ICAgICAgdGVzdENvbG9yUmVuZGVyYnVmZmVyKGdsLlJHQjU2NSwgYWxsb3dlZFN0YXR1c0Zvckdv
b2RDYXNlKTsKKworICAgICAgICBkZWJ1ZygiQ3JlYXRlIGFuZCBhdHRhY2ggZGVwdGhTdGVuY2ls
IHJlbmRlcmJ1ZmZlciIpOworICAgICAgICB0ZXN0RGVwdGhTdGVuY2lsUmVuZGVyYnVmZmVyKGFs
bG93ZWRTdGF0dXNGb3JHb29kQ2FzZSk7CisgICAgfQorfQorCisvLyBEZXRlcm1pbmUgaWYgd2Ug
Y2FuIGF0dGFjaCBib3RoIGNvbG9yIGFuZCBkZXB0aCBvciBjb2xvciBhbmQgZGVwdGhfc3RlbmNp
bAordmFyIGRlcHRoRm9ybWF0OwordmFyIGRlcHRoQXR0YWNobWVudDsKKworZnVuY3Rpb24gY2hl
Y2tWYWxpZENvbG9yRGVwdGhDb21iaW5hdGlvbigpIHsKKyAgICBzaG91bGRCZU5vbk51bGwoImZi
byA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wu
RlJBTUVCVUZGRVIsIGZibyk7CisgICAgc2hvdWxkQmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGds
LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5E
RVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigK
KyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJC
VUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRF
UkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImRlcHRo
QnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVm
ZmVyKGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIpOworCisgICAgcmV0dXJuIHRyeURlcHRo
KGdsLkRFUFRIX0NPTVBPTkVOVDE2LCBnbC5ERVBUSF9BVFRBQ0hNRU5UKSB8fCB0cnlEZXB0aChn
bC5ERVBUSF9TVEVOQ0lMLCBnbC5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQpOworCisgICAgZnVu
Y3Rpb24gdHJ5RGVwdGgodHJ5X2Zvcm1hdCwgdHJ5X2F0dGFjaG1lbnQpIHsKKyAgICAgICAgaWYg
KGRlcHRoQXR0YWNobWVudCkgeworICAgICAgICAgICAgLy8gSWYgd2UndmUgdHJpZWQgb25jZSB1
bmF0dGFjaCB0aGUgb2xkIG9uZS4KKyAgICAgICAgICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVm
ZmVyKAorICAgICAgICAgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBkZXB0aEF0dGFjaG1lbnQsIGds
LlJFTkRFUkJVRkZFUiwgbnVsbCk7CisgICAgICAgIH0KKyAgICAgICAgZGVwdGhGb3JtYXQgPSB0
cnlfZm9ybWF0OworICAgICAgICBkZXB0aEF0dGFjaG1lbnQgPSB0cnlfYXR0YWNobWVudDsKKyAg
ICAgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgICAgICBnbC5GUkFNRUJV
RkZFUiwgZGVwdGhBdHRhY2htZW50LCBnbC5SRU5ERVJCVUZGRVIsIGRlcHRoQnVmZmVyKTsKKyAg
ICAgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0
LCAxNiwgMTYpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAg
ICAgICAgcmV0dXJuIGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpID09
IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFOworICAgIH0KK30KKworaWYgKGNoZWNrVmFsaWRDb2xv
ckRlcHRoQ29tYmluYXRpb24oKSkgeworICAgIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxldGVEaW1l
bnNpb25zKCk7CisgICAgdGVzdEZyYW1lYnVmZmVySW5jb21wbGV0ZUF0dGFjaG1lbnQoKTsKKyAg
ICB0ZXN0RnJhbWVidWZmZXJJbmNvbXBsZXRlTWlzc2luZ0F0dGFjaG1lbnQoKTsKKyAgICB0ZXN0
VXNpbmdJbmNvbXBsZXRlRnJhbWVidWZmZXIoKTsKK30KKworZnVuY3Rpb24gY2hlY2tGcmFtZWJ1
ZmZlcihleHBlY3RlZCkgeworICAgIHZhciBhY3R1YWwgPSBnbC5jaGVja0ZyYW1lYnVmZmVyU3Rh
dHVzKGdsLkZSQU1FQlVGRkVSKTsKKyAgICB2YXIgbXNnID0gImdsLmNoZWNrRnJhbWVidWZmZXJT
dGF0dXMoZ2wuRlJBTUVCVUZGRVIpIHNob3VsZCBiZSAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGds
LCBleHBlY3RlZCkgKyAiIHdhcyAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBhY3R1YWwpOwor
ICAgIGlmIChleHBlY3RlZCAhPSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkgeworICAgICAgICBt
c2cgKz0gIiBvciBGUkFNRUJVRkZFUl9VTlNVUFBPUlRFRCI7CisgICAgfQorICAgIGlmIChhY3R1
YWwgPT0gZXhwZWN0ZWQgfHwKKyAgICAgICAgKGV4cGVjdGVkICE9IGdsLkZSQU1FQlVGRkVSX0NP
TVBMRVRFICYmCisgICAgICAgICBhY3R1YWwgPT0gZ2wuRlJBTUJVRkZFUl9VTlNVUFBPUlRFRCkp
IHsKKyAgICAgICAgdGVzdFBhc3NlZChtc2cpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RG
YWlsZWQobXNnKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RVc2luZ0luY29tcGxldGVGcmFt
ZWJ1ZmZlcigpIHsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIlRlc3QgZHJhd2luZyBvciBy
ZWFkaW5nIGZyb20gYW4gaW5jb21wbGV0ZSBmcmFtZWJ1ZmZlciIpOworICAgIHZhciBwcm9ncmFt
ID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4
dHVyZSgpOworICAgIHd0dS5maWxsVGV4dHVyZShnbCwgdGV4LCAxLCAxLCBbMCwyNTUsMCwyNTVd
KTsKKworICAgIHNob3VsZEJlTm9uTnVsbCgiZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIp
OworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKTsKKyAgICBzaG91
bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAg
ICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAg
IGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wu
Q09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGds
LnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDE2KTsK
KworICAgIHNob3VsZEJlTm9uTnVsbCgiZGVwdGhCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZm
ZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1
ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1F
QlVGRkVSLCBkZXB0aEF0dGFjaG1lbnQsIGdsLlJFTkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIpOwor
ICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEZvcm1hdCwg
MTYsIDE2KTsKKyAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICBjaGVj
a0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKKworICAgIC8vIFdlIHBpY2sg
dGhpcyBjb21iaW5hdGlvbiBiZWNhdXNlIGl0IHdvcmtzIG9uIGRlc2t0b3AgT3BlbkdMIGJ1dCBz
aG91bGQgbm90IHdvcmsgb24gT3BlbkdMIEVTIDIuMAorICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3Jh
Z2UoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEZvcm1hdCwgMzIsIDE2KTsKKyAgICBjaGVja0ZyYW1l
YnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5TSU9OUyk7CisgICAgZGVidWco
IiIpOworICAgIGRlYnVnKCJEcmF3aW5nIG9yIHJlYWRpbmcgZnJvbSBhbiBpbmNvbXBsZXRlIGZy
YW1lYnVmZmVyIHNob3VsZCBnZW5lcmF0ZSBJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiIp
OworICAgIHRlc3RSZW5kZXJpbmdBbmRSZWFkaW5nKCk7CisKKyAgICBzaG91bGRCZU5vbk51bGwo
ImZibzIgPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpIik7CisgICAgZ2wuYmluZEZyYW1lYnVmZmVy
KGdsLkZSQU1FQlVGRkVSLCBmYm8yKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVG
RkVSX0lOQ09NUExFVEVfTUlTU0lOR19BVFRBQ0hNRU5UKTsKKyAgICBkZWJ1ZygiIik7CisgICAg
ZGVidWcoIkRyYXdpbmcgb3IgcmVhZGluZyBmcm9tIGFuIGluY29tcGxldGUgZnJhbWVidWZmZXIg
c2hvdWxkIGdlbmVyYXRlIElOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIik7CisgICAgdGVz
dFJlbmRlcmluZ0FuZFJlYWRpbmcoKTsKKworICAgIHNob3VsZEJlTm9uTnVsbCgiY29sb3JCdWZm
ZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIo
Z2wuUkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJi
dWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wu
UkVOREVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShn
bC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAwLCAwKTsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVi
dWcoIkRyYXdpbmcgb3IgcmVhZGluZyBmcm9tIGFuIGluY29tcGxldGUgZnJhbWVidWZmZXIgc2hv
dWxkIGdlbmVyYXRlIElOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIik7CisgICAgdGVzdFJl
bmRlcmluZ0FuZFJlYWRpbmcoKTsKKworICAgIGZ1bmN0aW9uIHRlc3RSZW5kZXJpbmdBbmRSZWFk
aW5nKCkgeworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICAg
ICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZB
TElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgImRyYXdBcnJheXMgd2l0aCBpbmNvbXBsZXRlIGZy
YW1lYnVmZmVyIik7CisgICAgICAgIGdsLnJlYWRQaXhlbHMoMCwgMCwgMSwgMSwgZ2wuUkdCQSwg
Z2wuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoNCkpOworICAgICAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OLCAicmVhZFBpeGVscyBm
cm9tIGluY29tcGxldGUgZnJhbWVidWZmZXIiKTsKKyAgICAgICAgLy8gY29weVRleEltYWdlIGFu
ZCBjb3B5VGV4U3ViSW1hZ2UgY2FuIGJlIGVpdGhlciBJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJB
VElPTiBiZWNhdXNlCisgICAgICAgIC8vIHRoZSBmcmFtZWJ1ZmZlciBpcyBpbnZhbGlkIE9SIElO
VkFMSURfT1BFUkFUSU9OIGJlY2F1c2UgaW4gdGhlIGNhc2Ugb2Ygbm8gYXR0YWNobWVudHMKKyAg
ICAgICAgLy8gdGhlIGZyYW1lYnVmZmVyIGlzIG5vdCBvZiBhIGNvbXBhdGlibGUgdHlwZS4KKyAg
ICAgICAgZ2wuY29weVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMCwgMCwg
MSwgMSk7CisgICAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgW2dsLklOVkFMSURfRlJBTUVCVUZG
RVJfT1BFUkFUSU9OLCBnbC5JTlZBTElEX09QRVJBVElPTl0sICJjb3B5VGV4SW1hZ2UyRCBmcm9t
IGluY29tcGxldGUgZnJhbWVidWZmZXIiKTsKKyAgICAgICAgZ2wuY29weVRleEltYWdlMkQoZ2wu
VEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMCwgMCwgMSwgMSwgMCk7CisgICAgICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgW2dsLklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OLCBnbC5JTlZBTElE
X09QRVJBVElPTl0sICJjb3B5VGV4U3ViSW1hZ2UyRCBmcm9tIGluY29tcGxldGUgZnJhbWVidWZm
ZXIiKTsKKyAgICAgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JV
RkZFUl9CSVQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfRlJBTUVC
VUZGRVJfT1BFUkFUSU9OLCAiY2xlYXIgd2l0aCBpbmNvbXBsZXRlIGZyYW1lYnVmZmVyIik7Cisg
ICAgfQorfQorCitmdW5jdGlvbiB0ZXN0RnJhbWVidWZmZXJJbmNvbXBsZXRlQXR0YWNobWVudCgp
IHsKKyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsK
KyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyk7CisgICAgc2hvdWxk
QmVOb25OdWxsKCJjb2xvckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CisgICAg
Z2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBn
bC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcigKKyAgICAgICAgZ2wuRlJBTUVCVUZGRVIsIGdsLkNP
TE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIGNvbG9yQnVmZmVyKTsKKyAgICBnbC5y
ZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7Cisg
ICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisKKyAgICBkZWJ1
ZygiIik7CisgICAgZGVidWcoIldyb25nIHN0b3JhZ2UgdHlwZSBmb3IgdHlwZSBvZiBhdHRhY2ht
ZW50IGJlIEZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCAoT3BlbkdMIEVTIDIuMCA0
LjQuNSkiKTsKKyAgICBnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZGVw
dGhGb3JtYXQsIDE2LCAxNik7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9J
TkNPTVBMRVRFX0FUVEFDSE1FTlQpOworCisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5S
RU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wu
RlJBTUVCVUZGRVJfQ09NUExFVEUpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCIwIHNp
emUgYXR0YWNobWVudCBzaG91bGQgYmUgRlJBTUVCVUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5U
IChPcGVuR0wgRVMgMi4wIDQuNC41KSIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wu
UkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMCwgMCk7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5G
UkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQpOworCisgICAgZ2xFcnJvclNob3VsZEJl
KGdsLCBnbC5OT19FUlJPUik7Cit9CisKK2Z1bmN0aW9uIHRlc3RGcmFtZWJ1ZmZlckluY29tcGxl
dGVNaXNzaW5nQXR0YWNobWVudCgpIHsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIk5vIGF0
dGFjaG1lbnRzIHNob3VsZCBiZSBJTkNPTVBMRVRFX0ZSQU1FQlVGRkVSX01JU1NJTkdfQVRUQUNI
TUVOVCAoT3BlbkdMIEVTIDIuMCA0LjQuNSkiKTsKKyAgICBzaG91bGRCZU5vbk51bGwoImZibyA9
IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJB
TUVCVUZGRVIsIGZibyk7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9JTkNP
TVBMRVRFX01JU1NJTkdfQVRUQUNITUVOVCk7CisKKyAgICBzaG91bGRCZU5vbk51bGwoImNvbG9y
QnVmZmVyID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVm
ZmVyKGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVu
ZGVyYnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAs
IGdsLlJFTkRFUkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3Jh
Z2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5SR0JBNCwgMTYsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVm
ZmVyKGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKKworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVy
YnVmZmVyKAorICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGds
LlJFTkRFUkJVRkZFUiwgbnVsbCk7CisgICAgY2hlY2tGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZF
Ul9JTkNPTVBMRVRFX01JU1NJTkdfQVRUQUNITUVOVCk7CisKKyAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SKTsKK30KKworZnVuY3Rpb24gdGVzdEZyYW1lYnVmZmVySW5jb21wbGV0
ZURpbWVuc2lvbnMoKSB7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJBdHRhY2htZW50cyBv
ZiBkaWZmZXJlbnQgc2l6ZXMgc2hvdWxkIGJlIEZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5T
SU9OUyAoT3BlbkdMIEVTIDIuMCA0LjQuNSkiKTsKKworICAgIHNob3VsZEJlTm9uTnVsbCgiZmJv
ID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSIpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5G
UkFNRUJVRkZFUiwgZmJvKTsKKyAgICBzaG91bGRCZU5vbk51bGwoImNvbG9yQnVmZmVyID0gZ2wu
Y3JlYXRlUmVuZGVyYnVmZmVyKCkiKTsKKyAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRF
UkJVRkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKAor
ICAgICAgICBnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJV
RkZFUiwgY29sb3JCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVS
QlVGRkVSLCBnbC5SR0JBNCwgMTYsIDE2KTsKKworICAgIHNob3VsZEJlTm9uTnVsbCgiZGVwdGhC
dWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKSIpOworICAgIGdsLmJpbmRSZW5kZXJidWZm
ZXIoZ2wuUkVOREVSQlVGRkVSLCBkZXB0aEJ1ZmZlcik7CisgICAgZ2wuZnJhbWVidWZmZXJSZW5k
ZXJidWZmZXIoCisgICAgICAgIGdsLkZSQU1FQlVGRkVSLCBkZXB0aEF0dGFjaG1lbnQsIGdsLlJF
TkRFUkJVRkZFUiwgZGVwdGhCdWZmZXIpOworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wu
UkVOREVSQlVGRkVSLCBkZXB0aEZvcm1hdCwgMTYsIDE2KTsKKyAgICBnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SKTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0NP
TVBMRVRFKTsKKworICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBk
ZXB0aEZvcm1hdCwgMzIsIDE2KTsKKyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVS
X0lOQ09NUExFVEVfRElNRU5TSU9OUyk7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5S
RU5ERVJCVUZGRVIsIGRlcHRoRm9ybWF0LCAxNiwgMTYpOworICAgIGNoZWNrRnJhbWVidWZmZXIo
Z2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOworICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVO
REVSQlVGRkVSLCBjb2xvckJ1ZmZlcik7CisgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5S
RU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwgMzIpOworICAgIGNoZWNrRnJhbWVidWZmZXIoZ2wu
RlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TKTsKKyAgICBnbC5yZW5kZXJidWZmZXJT
dG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkdCQTQsIDE2LCAxNik7CisgICAgY2hlY2tGcmFt
ZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUl9DT01QTEVURSk7CisgICAgZ2xFcnJvclNob3VsZEJlKGds
LCBnbC5OT19FUlJPUik7CisKKyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAg
IGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCk7CisgICAgZ2wudGV4SW1hZ2UyRChn
bC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxNiwgMTYsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIG51bGwpOworICAgIGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVS
LCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4LCAwKTsKKyAgICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKyAgICBpZiAoZ2wuY2hlY2tGcmFtZWJ1ZmZl
clN0YXR1cyhnbC5GUkFNRUJVRkZFUikgIT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpIHsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwg
MCwgZ2wuUkdCQSwgMzIsIDE2LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsK
KyAgICBjaGVja0ZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5TSU9O
Uyk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxNiwgMTYs
IDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOworICAgIGNoZWNrRnJhbWVidWZm
ZXIoZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpOworCisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUik7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29y
LXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1zY2lzc29yLXRlc3QuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
ZThiNTNkN2VkMmIwYzhkMGE1MDgxYTRiOTQ1ODMwMWEyYzY2OWI1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvcmVuZGVyaW5nL2dsLXNjaXNzb3ItdGVzdC5odG1sCkBAIC0wLDAgKzEsMTE2IEBACis8IS0t
CisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioK
KyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwg
aW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhv
dXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi
bGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0
aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVy
aWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Ig
c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJ
QUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAor
KiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX
QVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U
UkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBD
T05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM
SU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBTY2lzc29y
IFRlc3Q8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVz
a3RvcC1nbC1jb25zdGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vZGVidWcvd2ViZ2wtZGVidWcuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8Y2FudmFzIGlkPSJjYW52YXMxIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHN0eWxlPSJ3
aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+IDwvY2FudmFzPgorPGNhbnZhcyBpZD0iY2FudmFz
MiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzdHlsZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBw
eDsiPiA8L2NhbnZhcz4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiQ2hl
Y2sgaWYgZ2xTY2lzc29yIHNldHRpbmcgd29ya3MuIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJD
YW52YXMuZ2V0Q29udGV4dCIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisKK2Z1bmN0
aW9uIHRlc3QoY2FudmFzLCBhdHRyaWJzKSB7CisgIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoY2FudmFzLCBhdHRyaWJzKTsKKworICBmdW5jdGlvbiB0ZXN0KGZ1bmMpIHsKKyAgICBnbC5k
aXNhYmxlKGdsLlNDSVNTT1JfVEVTVCk7CisgICAgZ2wuY2xlYXJDb2xvcigwLDAsMCwwKTsKKyAg
ICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICBnbC5lbmFibGUoZ2wuU0NJU1NP
Ul9URVNUKTsKKworICAgIHZhciBzaXplID0gMTY7CisgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8
IHNpemU7ICsraWkpIHsKKyAgICAgIC8vIGNsZWFyIGEgcG9ydGlvbiBvZiBvdXIgRkJPCisgICAg
ICBnbC5zY2lzc29yKGlpLCBpaSwgMSwgMSk7CisgICAgICBmdW5jKCk7CisgICAgfQorCisgICAg
Zm9yICh2YXIgaWkgPSAwOyBpaSA8IHNpemU7ICsraWkpIHsKKyAgICAgIHd0dS5jaGVja0NhbnZh
c1JlY3QoZ2wsIDAsIGlpLCBpaSwgMSwgWzAsIDAsIDAsIDBdLCAic2hvdWxkIGJlIGJsYWNrIik7
CisgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCBpaSwgaWksIDEsIDEsIFswLCAyNTUsIDAs
IDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iKTsKKyAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2ws
IGlpICsgMSwgaWksIHNpemUgLSBpaSAtIDEsIDEsIFswLCAwLCAwLCAwXSwgInNob3VsZCBiZSBi
bGFjayIpOworICAgIH0KKyAgfQorCisgIGlmICghZ2wpIHsKKyAgICB0ZXN0RmFpbGVkKCJjb250
ZXh0IGRvZXMgbm90IGV4aXN0Iik7CisgIH0gZWxzZSB7CisgICAgdGVzdFBhc3NlZCgiY29udGV4
dCBleGlzdHMiKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygidGVzdCB3aXRoIGNsZWFy
Iik7CisgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgIGdsLmNsZWFyQ29sb3IoMCwgMSwgMCwg
MSk7CisgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICB9KTsKKworICAg
IHd0dS5zZXR1cENvbG9yUXVhZChnbCk7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoInRl
c3Qgd2l0aCBkcmF3Iik7CisgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgIHd0dS5kcmF3Rmxv
YXRDb2xvclF1YWQoZ2wsIFswLCAxLCAwLCAxXSk7CisgICAgfSk7CisKKyAgICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAidGhlcmUgc2hvdWxkIGJlIG5vIGVycm9ycyIpOworICB9
Cit9CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJ0ZXN0IGFudGlhbGlhczogZmFsc2UiKTsKK3Rlc3Qo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczEiKSwge2FudGlhbGlhczogZmFsc2V9KTsK
KworZGVidWcoIiIpOworZGVidWcoInRlc3QgYW50aWFsaWFzOiB0cnVlIik7Cit0ZXN0KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMyIiksIHthbnRpYWxpYXM6IHRydWV9KTsKKworZGVi
dWcoIiIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWlu
ZGljZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3JlbmRlcmluZy9tb3JlLXRoYW4tNjU1MzYtaW5kaWNlcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYxZjU5OWI4MjYxZTZjYzQ3YTY5NjA4YmZjOTM1ZjYyZTZkODQ1N2QKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9yZW5kZXJpbmcvbW9yZS10aGFuLTY1NTM2LWluZGljZXMuaHRtbApAQCAtMCww
ICsxLDE0NSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+V2ViR0wgTW9yZSB0aGFuIDY1NTM2IGluZGljZXMuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHN0eWxl
PSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZzIiB0
eXBlPSJ0ZXh0L3NvbWV0aGluZy1ub3QtamF2YXNjcmlwdCI+CithdHRyaWJ1dGUgdmVjNCB2UG9z
aXRpb247CithdHRyaWJ1dGUgdmVjNCB2Q29sb3I7Cit2YXJ5aW5nIHZlYzQgY29sb3I7Cit2b2lk
IG1haW4oKSB7CisgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgY29sb3IgPSB2Q29s
b3I7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzIiB0eXBlPSJ0ZXh0L3NvbWV0aGluZy1u
b3QtamF2YXNjcmlwdCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3ZhcnlpbmcgdmVjNCBj
b2xvcjsKK3ZvaWQgbWFpbigpIHsKKyAgICBnbF9GcmFnQ29sb3IgPSBjb2xvcjsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJjaGVja3MgdGhhdCBy
ZW5kZXJpbmcgd2l0aCBtb3JlIHRoYW4gNjU1MzYgaW5kaWNlcyB3b3Jrcy4iKTsKK3ZhciB3dHUg
PSBXZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUi
KTsKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgWyJ2cyIsICJmcyJdLCBbInZQ
b3NpdGlvbiIsICJ2Q29sb3IiXSk7Cit2YXIgYnVmZmVyT2JqZWN0cyA9IHd0dS5zZXR1cFVuaXRR
dWFkKGdsLCAwLCAxKTsKKworZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlck9i
amVjdHNbMF0pOworZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIG5ldyBGbG9hdDMyQXJy
YXkoWworICAgICAgLTEsICAxLAorICAgICAgIDEsICAxLAorICAgICAgLTEsIC0xLAorICAgICAg
IDEsIC0xLAorICAgICAgLTEsICAxLAorICAgICAgIDEsICAxLAorICAgICAgLTEsIC0xLAorICAg
ICAgIDEsIC0xXSksIGdsLlNUQVRJQ19EUkFXKTsKK2dsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwg
MiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKK2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVS
LCBidWZmZXJPYmplY3RzWzFdKTsKK2dsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBuZXcg
VWludDhBcnJheShbCisgICAgICAyNTUsIDAsIDAsIDI1NSwKKyAgICAgIDI1NSwgMCwgMCwgMjU1
LAorICAgICAgMjU1LCAwLCAwLCAyNTUsCisgICAgICAyNTUsIDAsIDAsIDI1NSwKKyAgICAgIDAs
IDI1NSwgMCwgMjU1LAorICAgICAgMCwgMjU1LCAwLCAyNTUsCisgICAgICAwLCAyNTUsIDAsIDI1
NSwKKyAgICAgIDAsIDI1NSwgMCwgMjU1XSksIGdsLlNUQVRJQ19EUkFXKTsKK2dsLnZlcnRleEF0
dHJpYlBvaW50ZXIoMSwgNCwgZ2wuVU5TSUdORURfQllURSwgdHJ1ZSwgMCwgMCk7Cit3dHUuZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgImFmdGVyIHByb2dyYW0gc2V0dXAiKTsKKwor
d3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJhZnRlciBjcmVhdGluZyB0ZXh0
dXJlIik7Cit2YXIgbnVtUXVhZHMgPSBNYXRoLmZsb29yKDY1NTM2IC8gNikgKyA0OwordmFyIG51
bVBvaW50cyA9IG51bVF1YWRzICogNjsKK2RlYnVnKCJudW1RdWFkczogIiArIG51bVF1YWRzKTsK
K2RlYnVnKCJudW1Qb2ludHM6ICIgKyBudW1Qb2ludHMpOwordmFyIGluZGV4QnVmID0gbmV3IEFy
cmF5QnVmZmVyKG51bVBvaW50cyk7Cit2YXIgaW5kaWNlcyA9IG5ldyBVaW50OEFycmF5KGluZGV4
QnVmKTsKK3ZhciBpbmRleEJ1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworZ2wuYmluZEJ1ZmZl
cihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiwgaW5kZXhCdWZmZXIpOword3R1LmdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IsICJhZnRlciBzZXR0aW5nIHVwIGluZGljZXMiKTsKKwordmFy
IG1vZGVzID0gWworICB7bW9kZTogJ1BPSU5UUycsICAgICAgICAgb2Zmc2V0czogWzAsIDEsIDIs
IDMsIDIsIDFdLCBza2lwOiAwfSwKKyAge21vZGU6ICdMSU5FUycsICAgICAgICAgIG9mZnNldHM6
IFswLCAxLCAyLCAzLCAyLCAxXSwgc2tpcDogMH0sCisgIHttb2RlOiAnTElORV9MT09QJywgICAg
ICBvZmZzZXRzOiBbMCwgMSwgMiwgMywgMiwgMV0sIHNraXA6IDF9LAorICB7bW9kZTogJ0xJTkVf
U1RSSVAnLCAgICAgb2Zmc2V0czogWzAsIDEsIDIsIDMsIDIsIDFdLCBza2lwOiAwfSwKKyAge21v
ZGU6ICdUUklBTkdMRVMnLCAgICAgIG9mZnNldHM6IFswLCAxLCAyLCAzLCAyLCAxXSwgc2tpcDog
MH0sCisgIHttb2RlOiAnVFJJQU5HTEVfU1RSSVAnLCBvZmZzZXRzOiBbMCwgMSwgMiwgMywgMiwg
MV0sIHNraXA6IDB9LAorICB7bW9kZTogJ1RSSUFOR0xFX0ZBTicsICAgb2Zmc2V0czogWzAsIDEs
IDMsIDIsIDIsIDFdLCBza2lwOiAxfQorXTsKKworZm9yICh2YXIgbW0gPSAwOyBtbSA8IG1vZGVz
Lmxlbmd0aDsgKyttbSkgeworICB2YXIgbW9kZUluZm8gPSBtb2Rlc1ttbV07CisgIHZhciBtb2Rl
ID0gbW9kZUluZm8ubW9kZTsKKyAgdmFyIG9mZnNldHMgPSBtb2RlSW5mby5vZmZzZXRzOworICB2
YXIgc2tpcCA9IG1vZGVJbmZvLnNraXA7CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IG51bVF1
YWRzOyArK2lpKSB7CisgICAgdmFyIG9mZnNldCA9IGlpICogNjsKKyAgICB2YXIgcXVhZCA9IChp
aSA9PSAwIHx8IGlpID09IChudW1RdWFkcyAtIDEpKSA/IDQgOiAwOworICAgIGZvciAodmFyIGpq
ID0gMDsgamogPCA2OyArK2pqKSB7CisgICAgICBpbmRpY2VzW29mZnNldCArIGpqXSA9IHF1YWQg
KyBvZmZzZXRzW2pqXTsKKyAgICB9CisgIH0KKyAgZ2wuYnVmZmVyRGF0YShnbC5FTEVNRU5UX0FS
UkFZX0JVRkZFUiwgaW5kaWNlcywgZ2wuU1RBVElDX0RSQVcpOworCisgIGRlYnVnKCIiKTsKKyAg
ZGVidWcoInRlc3Rpbmc6ICIgKyBtb2RlKTsKKyAgLy8gRHJhdyB3aXRob3V0IGxhc3QgNiBwb2lu
dHMuCisgIGdsLmRyYXdFbGVtZW50cyhnbFttb2RlXSwgbnVtUG9pbnRzIC0gKHNraXAgKyAxKSAq
IDYsIGdsLlVOU0lHTkVEX0JZVEUsIHNraXAgKiA2KTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBb
MjU1LCAwLCAwLCAyNTVdLCAiU2hvdWxkIGJlIHJlZC4iKTsKKyAgLy8gRHJhdyB3aXRoIGxhc3Qg
NiBwb2ludHMuCisgIGdsLmRyYXdFbGVtZW50cyhnbFttb2RlXSwgbnVtUG9pbnRzLCBnbC5VTlNJ
R05FRF9CWVRFLCAwKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAi
U2hvdWxkIGJlIGdyZWVuLiIpOworfQord3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJS
T1IsICJhZnRlciBkcmF3aW5nIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmlu
Zy9tdWx0aXNhbXBsZS1jb3JydXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29y
cnVwdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1ZTgxOTFhZmY2NjkzYWQ2NDc2Y2I5NDM4YjViNzdl
MmQxNmM2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvbXVsdGlzYW1wbGUtY29ycnVw
dGlvbi5odG1sCkBAIC0wLDAgKzEsMTI1IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMp
IDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5
IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBj
b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl
cyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0
IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRz
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1
YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoq
IHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRv
IHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwg
YmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg
dGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMi
LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJ
TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFO
VEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H
RU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M
REVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklM
SVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJX
SVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBN
QVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgor
Ki8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorICAgIDx0aXRsZT5XZWJHTCBNdWx0aXNhbXBsZSBSZW5kZXJidWZmZXIg
Q29ycnVwdGlvbiBUZXN0PC90aXRsZT4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+IDwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMjA0OCIgaGVpZ2h0PSIyMDQ4IiBz
dHlsZT0id2lkdGg6IDEyOHB4OyBoZWlnaHQ6IDEyOHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8c2NyaXB0
IGlkPSJ2c2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CisgICAgICAgIGF0dHJpYnV0
ZSB2ZWM0IHZQb3NpdGlvbjsKKyAgICAgICAgdm9pZCBtYWluKCkKKyAgICAgICAgeworICAgICAg
ICAgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4K
KworICAgIDxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgor
ICAgICAgICB2b2lkIG1haW4oKQorICAgICAgICB7CisgICAgICAgICAgICBnbF9GcmFnQ29sb3Ig
PSB2ZWM0KDAuMCwwLjAsMC4wLDAuMCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKworICAg
IDxzY3JpcHQ+CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgZnVuY3Rpb24gaW5pdCgp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKGRvY3VtZW50LnRpdGxlKTsKKwor
ICAgICAgICAgICAgdmFyIGxhc3RDb250ZXh0ID0gbnVsbDsKKyAgICAgICAgICAgIHZhciBjeWNs
ZUNvdW50ID0gMDsKKyAgICAgICAgICAgIHZhciBtYXhDeWNsZXMgPSAxMDA7CisgICAgICAgICAg
ICB2YXIgZmFpbGVkID0gZmFsc2U7CisgICAgICAgICAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CisgICAgICAgICAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIiwg
e2FudGlhbGlhczogdHJ1ZSwgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlfSk7CisKKyAgICAg
ICAgICAgIGdsLmNsZWFyQ29sb3IoMS4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICAgICAgICAgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCisgICAgICAgICAgICB2YXIgcHJvZ3JhbSA9
IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsidnNoYWRlciIsICJmc2hhZGVyIl0sIFsidlBvc2l0aW9u
Il0pOworICAgICAgICAgICAgdmFyIHZlcnRleE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOwor
ICAgICAgICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRleE9iamVjdCk7
CisgICAgICAgICAgICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgbmV3IEZsb2F0MzJB
cnJheShbIDAsMi41LDAsIDEuNSwxLjUsMCwgMi41LDEuNSwwIF0pLCBnbC5TVEFUSUNfRFJBVyk7
CisgICAgICAgICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAgICAgICAgICAg
IGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKwor
ICAgICAgICAgICAgZnVuY3Rpb24gY3ljbGVBbmRUZXN0KCkgeworICAgICAgICAgICAgICAgIHZh
ciBnbDIgPSB3dHUuY3JlYXRlM0RDb250ZXh0KG51bGwsIHthbnRpYWxpYXM6IHRydWV9KTsKKwor
ICAgICAgICAgICAgICAgIGdsMi5jYW52YXMud2lkdGggPSBnbDIuY2FudmFzLmhlaWdodCA9IDEw
MjQ7CisgICAgICAgICAgICAgICAgZ2wyLmNhbnZhcy5zdHlsZS53aWR0aCA9IGdsMi5jYW52YXMu
c3R5bGUuaGVpZ2h0ID0gIjFweCI7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChnbDIuY2FudmFzKTsKKworICAgICAgICAgICAgICAgIGdsMi5jbGVhckNvbG9yKDEu
MCwgMC4wLCAwLjAsIDEuMCk7CisgICAgICAgICAgICAgICAgZ2wyLmNsZWFyKGdsMi5DT0xPUl9C
VUZGRVJfQklUKTsKKworICAgICAgICAgICAgICAgIGlmKGxhc3RDb250ZXh0KSB7CisgICAgICAg
ICAgICAgICAgICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAzKTsKKyAgICAgICAg
ICAgICAgICAgICAgdmFyIG1zZyA9ICJTaG91bGQgYmUgcmVkIGFmdGVyIGxvb3AgIiArIGN5Y2xl
Q291bnQ7CisgICAgICAgICAgICAgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3RDb2xvcihnbCwK
KyAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIGdsLmNhbnZhcy53aWR0aCwgZ2wuY2FudmFz
LmhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsyNTUsIDAsIDAsIDI1NV0sIG51bGws
CisgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0UGFzc2VkKG1zZyk7CisgICAgICAgICAgICAgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChtc2cpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZh
aWxlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAg
ICAgICBkZWJ1Zyk7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQobGFzdENvbnRleHQuY2FudmFzKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICBsYXN0Q29udGV4dCA9IGdsMjsKKyAgICAgICAgICAgICAgICBjeWNsZUNvdW50Kys7CisK
KyAgICAgICAgICAgICAgICBpZihjeWNsZUNvdW50IDw9IG1heEN5Y2xlcyAmJiAhZmFpbGVkKSB7
CisgICAgICAgICAgICAgICAgICAgIHd0dS53YWl0Rm9yQ29tcG9zaXRlKGdsMiwgY3ljbGVBbmRU
ZXN0KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBmaW5p
c2hUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBjeWNsZUFuZFRlc3QoKTsKKyAgICAgICB9CisKKyAgICAgICBpbml0KCk7CisgICAgICAgdmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9wb2ludC1zaXplLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcv
cG9pbnQtc2l6ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0ZWJlMzUyZDRlNWVmZDdhMWM1YTQ2M2NlNjRi
NzQzYzFlZDgwY2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvcG9pbnQtc2l6ZS5odG1s
CkBAIC0wLDAgKzEsMTUxIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhl
IEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs
IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRo
aXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisq
KiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJq
ZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVk
ZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVy
aWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisq
KiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVU
SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT
SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMg
T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+
CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgor
ICAgIGF0dHJpYnV0ZSB2ZWMzIHBvczsKKyAgICBhdHRyaWJ1dGUgdmVjNCBjb2xvckluOworICAg
IHVuaWZvcm0gZmxvYXQgcG9pbnRTaXplOworICAgIHZhcnlpbmcgdmVjNCBjb2xvcjsKKworICAg
IHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9Qb2ludFNpemUgPSBwb2ludFNpemU7Cisg
ICAgICAgIGNvbG9yID0gY29sb3JJbjsKKyAgICAgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KHBvcywg
MS4wKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRlciIgdHlwZT0ieC1z
aGFkZXIveC1mcmFnbWVudCI+CisgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CisgICAgdmFy
eWluZyB2ZWM0IGNvbG9yOworCisgICAgdm9pZCBtYWluKCkKKyAgICB7CisgICAgICAgIGdsX0Zy
YWdDb2xvciA9IGNvbG9yOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2Fu
dmFzIGlkPSJ0ZXN0YmVkIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KyAgICAidXNlIHN0cmljdCI7CisgICAgZGVzY3JpcHRpb24oJ1ZlcmlmeSBHTF9WRVJURVhfUFJP
R1JBTV9QT0lOVF9TSVpFIGlzIGVuYWJsZWQgaW4gV2ViR0wnKTsKKworICAgIHZhciB3dHUgPSBX
ZWJHTFRlc3RVdGlsczsKKyAgICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCd0ZXN0YmVk
JywgeyBhbnRpYWxpYXM6IGZhbHNlIH0pOworICAgIHNob3VsZEJlTm9uTnVsbCgiZ2wiKTsKKwor
ICAgIGdsLmRpc2FibGUoZ2wuQkxFTkQpOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9C
SVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKworICAgIC8vIFRoZSBjaG9pY2Ugb2YgKDAuNCwg
MC40KSBlbnN1cmVzIHRoYXQgdGhlIGNlbnRlcnMgb2YgdGhlIHN1cnJvdW5kaW5nCisgICAgLy8g
cGl4ZWxzIGFyZSBub3QgY29udGFpbmVkIHdpdGhpbiB0aGUgcG9pbnQgd2hlbiBpdCBpcyBvZiBz
aXplIDEsIGJ1dAorICAgIC8vIHRoYXQgdGhleSBkZWZpbml0ZWx5IGFyZSB3aGVuIGl0IGlzIG9m
IHNpemUgMi4KKyAgICB2YXIgdmVydGljZXMgPSBuZXcgRmxvYXQzMkFycmF5KFsKKyAgICAgICAg
MC40LCAwLjQsIDAuMF0pOworICAgIHZhciBjb2xvcnMgPSBuZXcgVWludDhBcnJheShbCisgICAg
ICAgIDI1NSwgMCwgMCwgMjU1XSk7CisKKyAgICB2YXIgY29sb3JPZmZzZXQgPSB2ZXJ0aWNlcy5i
eXRlTGVuZ3RoOworCisgICAgdmFyIGJ1ZiA9IG5ldyBVaW50OEFycmF5KDIgKiAyICogNCk7Cisg
ICAgdmFyIGluZGV4ID0gMDsKKworICAgIHZhciB2Ym8gPSBnbC5jcmVhdGVCdWZmZXIoKTsKKyAg
ICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgdmJvKTsKKyAgICBnbC5idWZmZXJEYXRh
KGdsLkFSUkFZX0JVRkZFUiwgY29sb3JPZmZzZXQgKyBjb2xvcnMuYnl0ZUxlbmd0aCwgZ2wuU1RB
VElDX0RSQVcpOworICAgIGdsLmJ1ZmZlclN1YkRhdGEoZ2wuQVJSQVlfQlVGRkVSLCAwLCB2ZXJ0
aWNlcyk7CisgICAgZ2wuYnVmZmVyU3ViRGF0YShnbC5BUlJBWV9CVUZGRVIsIGNvbG9yT2Zmc2V0
LCBjb2xvcnMpOworCisgICAgZnVuY3Rpb24gdGVzdChwcm9ncmFtKSB7CisgICAgICAgIGdsLnZl
cnRleEF0dHJpYlBvaW50ZXIoMCwgMywgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKyAgICAgICAg
Z2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMCk7CisgICAgICAgIGdsLnZlcnRleEF0dHJpYlBv
aW50ZXIoMSwgNCwgZ2wuVU5TSUdORURfQllURSwgdHJ1ZSwgMCwgY29sb3JPZmZzZXQpOworICAg
ICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgxKTsKKworICAgICAgICB2YXIgbG9jUG9p
bnRTaXplID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICdwb2ludFNpemUnKTsKKwor
ICAgICAgICBzaG91bGRCZSgnZ2wuZ2V0RXJyb3IoKScsICdnbC5OT19FUlJPUicpOworCisgICAg
ICAgIGRlYnVnKCdEcmF3IGEgcG9pbnQgb2Ygc2l6ZSAxIGFuZCB2ZXJpZnkgaXQgZG9lcyBub3Qg
dG91Y2ggYW55IG90aGVyIHBpeGVscy4nKTsKKworICAgICAgICBnbC51bmlmb3JtMWYobG9jUG9p
bnRTaXplLCAxLjApOworICAgICAgICBnbC5kcmF3QXJyYXlzKGdsLlBPSU5UUywgMCwgdmVydGlj
ZXMubGVuZ3RoIC8gMyk7CisgICAgICAgIAorICAgICAgICBzaG91bGRCZSgnZ2wuZ2V0RXJyb3Io
KScsICdnbC5OT19FUlJPUicpOworCisgICAgICAgIGZvciAodmFyIHkgPSAwOyB5IDwgMjsgKyt5
KSB7CisgICAgICAgICAgICBmb3IgKHZhciB4ID0gMDsgeCA8IDI7ICsreCkgeworICAgICAgICAg
ICAgICAgIHZhciBjb3JyZWN0Q29sb3IgPSAoeCA9PSAxICYmIHkgPT0gMSkgPyBbMjU1LCAwLCAw
XSA6IFswLCAwLCAwXTsKKyAgICAgICAgICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCB4
LCB5LCAxLCAxLCBjb3JyZWN0Q29sb3IpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
ICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsK
KworICAgICAgICBkZWJ1ZygnRHJhdyBhIHBvaW50IG9mIHNpemUgMiBhbmQgdmVyaWZ5IGl0IGZp
bGxzIHRoZSBhcHByb3ByaWF0ZSByZWdpb24uJyk7CisKKyAgICAgICAgdmFyIHBvaW50U2l6ZVJh
bmdlID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLkFMSUFTRURfUE9JTlRfU0laRV9SQU5HRSk7CisgICAg
ICAgIGlmIChwb2ludFNpemVSYW5nZVsxXSA+PSAyLjApIHsKKyAgICAgICAgICAgIGdsLnVuaWZv
cm0xZihsb2NQb2ludFNpemUsIDIuMCk7CisgICAgICAgICAgICBnbC5kcmF3QXJyYXlzKGdsLlBP
SU5UUywgMCwgdmVydGljZXMubGVuZ3RoIC8gMyk7CisgICAgICAgICAgICBzaG91bGRCZSgnZ2wu
Z2V0RXJyb3IoKScsICdnbC5OT19FUlJPUicpOworICAgICAgICAgICAgd3R1LmNoZWNrQ2FudmFz
UmVjdChnbCwgMCwgMCwgMiwgMiwgWzI1NSwgMCwgMF0pOworICAgICAgICB9CisgICAgfQorCisg
ICAgZGVidWcoJycpOworICAgIGRlYnVnKCdQYXNzIDEnKTsKKyAgICB2YXIgcHJvZ3JhbTEgPSB3
dHUuc2V0dXBQcm9ncmFtKGdsLCBbJ3ZzaGFkZXInLCAnZnNoYWRlciddLCBbJ3BvcycsICdjb2xv
ckluJ10pOworICAgIHNob3VsZEJlKCdnbC5nZXRFcnJvcigpJywgJ2dsLk5PX0VSUk9SJyk7Cisg
ICAgdGVzdChwcm9ncmFtMSk7CisKKyAgICAvLyBVbmRlciBzb21lIHZlcnNpb25zIG9mIEFOR0xF
IHBvaW50IHNwcml0ZSBzaGFkZXIgcHJvZ3JhbXMgd2VyZSAKKyAgICAvLyBpbmNvcnJlY3RseSBy
ZWxvYWRlZCBmcm9tIGNhY2hlLiBSZWJ1aWxkaW5nIHRoZSBzaGFkZXIgcHJvZ3JhbSBhbmQKKyAg
ICAvLyByZXBlYXRpbmcgdGhlIHRlc3Qgc2ltdWxhdGVzIHRoZSBjb25kaXRpb25zIHRoYXQgY2F1
c2VkIGl0IHRvIGZhaWwKKyAgICBkZWJ1ZygnJyk7CisgICAgZGVidWcoJ1Bhc3MgMicpOworICAg
IHZhciBwcm9ncmFtMiA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFsndnNoYWRlcicsICdmc2hhZGVy
J10sIFsncG9zJywgJ2NvbG9ySW4nXSk7CisgICAgc2hvdWxkQmUoJ2dsLmdldEVycm9yKCknLCAn
Z2wuTk9fRVJST1InKTsKKyAgICB0ZXN0KHByb2dyYW0yKTsKKworICAgIHZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uvc3RhdGUvZ2wtb2JqZWN0LWdl
dC1jYWxscy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjMDc0MTY0ZjMzZmJjMDQ5OGZiMzEyMmY1MzFhZTQz
OWFhNWRjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0
bWwKQEAgLTAsMCArMSw0NjMgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOworZGVzY3JpcHRpb24oIlRlc3Qgb2YgZ2V0IGNhbGxzIGFn
YWluc3QgR0wgb2JqZWN0cyBsaWtlIGdldEJ1ZmZlclBhcmFtZXRlciwgZXRjLiIpOworCitmdW5j
dGlvbiBzaXplSW5CeXRlcyh0eXBlKSB7CisgIHN3aXRjaCAodHlwZSkgeworICBjYXNlIGdsLkJZ
VEU6CisgIGNhc2UgZ2wuVU5TSUdORURfQllURToKKyAgICByZXR1cm4gMTsKKyAgY2FzZSBnbC5T
SE9SVDoKKyAgY2FzZSBnbC5VTlNJR05FRF9TSE9SVDoKKyAgICByZXR1cm4gMjsKKyAgY2FzZSBn
bC5JTlQ6CisgIGNhc2UgZ2wuVU5TSUdORURfSU5UOgorICBjYXNlIGdsLkZMT0FUOgorICAgIHJl
dHVybiA0OworICBkZWZhdWx0OgorICAgIHRocm93ICJ1bmtub3duIHR5cGUiOworICB9Cit9CisK
K3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKKworZGVidWcoInRlc3QgZ2V0QXR0YWNo
ZWRTaGFkZXJzIik7Cit2YXIgc3RhbmRhcmRWZXJ0ID0gd3R1LmxvYWRTdGFuZGFyZFZlcnRleFNo
YWRlcihnbCk7Cit2YXIgc3RhbmRhcmRGcmFnID0gd3R1LmxvYWRTdGFuZGFyZEZyYWdtZW50U2hh
ZGVyKGdsKTsKK3ZhciBzdGFuZGFyZFByb2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7CitnbC5h
dHRhY2hTaGFkZXIoc3RhbmRhcmRQcm9ncmFtLCBzdGFuZGFyZFZlcnQpOworZ2wuYXR0YWNoU2hh
ZGVyKHN0YW5kYXJkUHJvZ3JhbSwgc3RhbmRhcmRGcmFnKTsKK2dsLmxpbmtQcm9ncmFtKHN0YW5k
YXJkUHJvZ3JhbSk7Cit2YXIgc2hhZGVycyA9IGdsLmdldEF0dGFjaGVkU2hhZGVycyhzdGFuZGFy
ZFByb2dyYW0pOworc2hvdWxkQmUoJ3NoYWRlcnMubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlVHJ1
ZSgnc2hhZGVyc1swXSA9PSBzdGFuZGFyZFZlcnQgJiYgc2hhZGVyc1sxXSA9PSBzdGFuZGFyZEZy
YWcgfHwgc2hhZGVyc1sxXSA9PSBzdGFuZGFyZFZlcnQgJiYgc2hhZGVyc1swXSA9PSBzdGFuZGFy
ZEZyYWcnKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworc2hvdWxkQmVOdWxs
KCdnbC5nZXRBdHRhY2hlZFNoYWRlcnMobnVsbCknKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wu
SU5WQUxJRF9WQUxVRSk7CitzaG91bGRUaHJvdygnZ2wuZ2V0QXR0YWNoZWRTaGFkZXJzKHN0YW5k
YXJkVmVydCknKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCitmdW5jdGlv
biB0ZXN0SW52YWxpZEFyZ3VtZW50KGZ1bmNOYW1lLCBhcmd1bWVudE5hbWUsIHZhbGlkQXJndW1l
bnRBcnJheSwgZnVuYykgeworICB2YXIgdmFsaWRBcmd1bWVudHMgPSB7fTsKKyAgZm9yICh2YXIg
aWkgPSAwOyBpaSA8IHZhbGlkQXJndW1lbnRBcnJheS5sZW5ndGg7ICsraWkpIHsKKyAgICB2YWxp
ZEFyZ3VtZW50c1t2YWxpZEFyZ3VtZW50QXJyYXlbaWldXSA9IHRydWU7CisgIH0KKyAgdmFyIHN1
Y2Nlc3MgPSB0cnVlOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgMHgxMDAwMDsgKytpaSkgewor
ICAgIGlmICghdmFsaWRBcmd1bWVudHNbaWldKSB7CisgICAgICB2YXIgcmVzdWx0ID0gZnVuYyhp
aSk7CisgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7CisgICAgICAgIHN1Y2Nlc3MgPSBmYWxz
ZTsKKyAgICAgICAgdGVzdEZhaWxlZChmdW5jTmFtZSArICIgcmV0dXJuZWQgIiArIHJlc3VsdCAr
ICIgaW5zdGVhZCBvZiBudWxsIGZvciBpbnZhbGlkICIgKyBhcmd1bWVudE5hbWUgKyAiIGVudW06
ICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGlpKSk7CisgICAgICAgIGJyZWFrOworICAgICAg
fQorICAgICAgdmFyIGVyciA9IGdsLmdldEVycm9yKCk7CisgICAgICBpZiAoZXJyICE9IGdsLklO
VkFMSURfRU5VTSkgeworICAgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgICAgIHRlc3RGYWls
ZWQoZnVuY05hbWUgKyAiIGRpZCBub3QgZ2VuZXJhdGUgSU5WQUxJRF9FTlVNIGZvciBpbnZhbGlk
ICIgKyBhcmd1bWVudE5hbWUgKyAiIGVudW06ICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGlp
KSk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfQorICBpZiAoc3VjY2Vzcykg
eworICAgIHRlc3RQYXNzZWQoZnVuY05hbWUgKyAiIGNvcnJlY3RseSBoYW5kbGVkIGludmFsaWQg
IiArIGFyZ3VtZW50TmFtZSArICIgZW51bXMiKTsKKyAgfQorfQorCitkZWJ1ZygiIik7CitkZWJ1
ZygidGVzdCBnZXRCdWZmZXJQYXJhbWV0ZXIiKTsKKy8vIFRlc3QgZ2V0QnVmZmVyUGFyYW1ldGVy
Cit2YXIgYnVmZmVyVHlwZXMgPSBbZ2wuQVJSQVlfQlVGRkVSLCBnbC5FTEVNRU5UX0FSUkFZX0JV
RkZFUl07Citmb3IgKHZhciBiYiA9IDA7IGJiIDwgYnVmZmVyVHlwZXMubGVuZ3RoOyArK2JiKSB7
CisgIHZhciBidWZmZXJUeXBlID0gYnVmZmVyVHlwZXNbYmJdOworICB2YXIgYnVmZmVyID0gZ2wu
Y3JlYXRlQnVmZmVyKCk7CisgIGdsLmJpbmRCdWZmZXIoYnVmZmVyVHlwZSwgYnVmZmVyKTsKKyAg
Z2wuYnVmZmVyRGF0YShidWZmZXJUeXBlLCAxNiwgZ2wuRFlOQU1JQ19EUkFXKTsKKyAgdmFyIGV4
cHJlc3Npb24xID0gImdsLmdldEJ1ZmZlclBhcmFtZXRlcihnbC4iICsgd3R1LmdsRW51bVRvU3Ry
aW5nKGdsLCBidWZmZXJUeXBlKSArICIsIGdsLkJVRkZFUl9TSVpFKSI7CisgIHZhciBleHByZXNz
aW9uMiA9ICJnbC5nZXRCdWZmZXJQYXJhbWV0ZXIoZ2wuIiArIHd0dS5nbEVudW1Ub1N0cmluZyhn
bCwgYnVmZmVyVHlwZSkgKyAiLCBnbC5CVUZGRVJfVVNBR0UpIjsKKyAgc2hvdWxkQmUoZXhwcmVz
c2lvbjEsICcxNicpOworICBzaG91bGRCZShleHByZXNzaW9uMiwgJ2dsLkRZTkFNSUNfRFJBVycp
OworICB0ZXN0SW52YWxpZEFyZ3VtZW50KCJnZXRCdWZmZXJQYXJhbWV0ZXIiLCAicGFyYW1ldGVy
IiwgW2dsLkJVRkZFUl9TSVpFLCBnbC5CVUZGRVJfVVNBR0VdLCBmdW5jdGlvbihidWZmZXJUeXBl
KSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHBhcmFtZXRlcikgeworICAgICAgcmV0dXJuIGdsLmdl
dEJ1ZmZlclBhcmFtZXRlcihidWZmZXJUeXBlLCBwYXJhbWV0ZXIpOworICAgIH07CisgIH0oYnVm
ZmVyVHlwZSkpOworfQordGVzdEludmFsaWRBcmd1bWVudCgKKyAgICAiZ2V0QnVmZmVyUGFyYW1l
dGVyIiwKKyAgICAidGFyZ2V0IiwKKyAgICBidWZmZXJUeXBlcywKKyAgICBmdW5jdGlvbih0YXJn
ZXQpIHsKKyAgICAgIHJldHVybiBnbC5nZXRCdWZmZXJQYXJhbWV0ZXIodGFyZ2V0LCBnbC5CVUZG
RVJfU0laRSk7CisgICAgfQorKTsKKworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBnZXRGcmFt
ZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIiKTsKK3ZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4
dHVyZSgpOworZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7CitnbC50ZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDIsIDIsIDAsIGdsLlJHQkEsIGdsLlVO
U0lHTkVEX0JZVEUsCisgICAgICAgICAgICAgIG5ldyBVaW50OEFycmF5KFsKKyAgICAgICAgICAg
ICAgICAgIDAsIDAsIDAsIDI1NSwKKyAgICAgICAgICAgICAgICAgIDI1NSwgMjU1LCAyNTUsIDI1
NSwKKyAgICAgICAgICAgICAgICAgIDI1NSwgMjU1LCAyNTUsIDI1NSwKKyAgICAgICAgICAgICAg
ICAgIDAsIDAsIDAsIDI1NV0pKTsKK2dsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wu
VEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIpOworZ2wudGV4UGFyYW1ldGVyaShnbC5URVhU
VVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLkxJTkVBUik7CitnbC5iaW5kVGV4dHVy
ZShnbC5URVhUVVJFXzJELCBudWxsKTsKK3ZhciBmcmFtZWJ1ZmZlciA9IGdsLmNyZWF0ZUZyYW1l
YnVmZmVyKCk7CitnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZyYW1lYnVmZmVy
KTsKK2dsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRB
Q0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSwgMCk7Cit2YXIgcmVuZGVyYnVmZmVyID0g
Z2wuY3JlYXRlUmVuZGVyYnVmZmVyKCk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
KTsKK2dsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJidWZmZXIpOwor
Z2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitnbC5yZW5kZXJidWZmZXJTdG9yYWdl
KGdsLlJFTkRFUkJVRkZFUiwgZ2wuREVQVEhfQ09NUE9ORU5UMTYsIDIsIDIpOworZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5G
UkFNRUJVRkZFUiwgZ2wuREVQVEhfQVRUQUNITUVOVCwgZ2wuUkVOREVSQlVGRkVSLCByZW5kZXJi
dWZmZXIpOworLy8gRklYTUU6IG9uIHNvbWUgbWFjaGluZXMgKGluIHBhcnRpY3VsYXIgdGhlIFdl
YktpdCBjb21taXQgYm90cykgdGhlCisvLyBmcmFtZWJ1ZmZlciBzdGF0dXMgaXMgRlJBTUVCVUZG
RVJfVU5TVVBQT1JURUQ7IG1vcmUgaW52ZXN0aWdhdGlvbgorLy8gaXMgbmVlZGVkIHdoeSB0aGlz
IGlzIHRoZSBjYXNlLCBiZWNhdXNlIHRoZSBGQk8gYWxsb2NhdGVkCisvLyBpbnRlcm5hbGx5IGJ5
IHRoZSBXZWJLaXQgaW1wbGVtZW50YXRpb24gaGFzIGFsbW9zdCBpZGVudGljYWwKKy8vIHBhcmFt
ZXRlcnMgdG8gdGhpcyBvbmUuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzE4NDMuCitzaG91bGRCZSgnZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFN
RUJVRkZFUiknLCAnZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUnKTsKK3Nob3VsZEJlKCdnbC5nZXRG
cmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FU
VEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKScsICdnbC5U
RVhUVVJFJyk7CitzaG91bGRCZSgnZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVy
KGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRU
QUNITUVOVF9PQkpFQ1RfTkFNRSknLCAndGV4dHVyZScpOworc2hvdWxkQmUoJ2dsLmdldEZyYW1l
YnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNI
TUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MRVZFTCknLCAnMCcpOwor
c2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJV
RkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVY
VFVSRV9DVUJFX01BUF9GQUNFKScsICcwJyk7CisKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZl
ckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkRFUFRIX0FUVEFDSE1FTlQs
IGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpJywgJ2dsLlJFTkRFUkJVRkZF
UicpOworc2hvdWxkQmUoJ2dsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5G
UkFNRUJVRkZFUiwgZ2wuREVQVEhfQVRUQUNITUVOVCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVO
VF9PQkpFQ1RfTkFNRSknLCAncmVuZGVyYnVmZmVyJyk7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAor
ICAgICJnZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIiLAorICAgICJwYXJhbWV0ZXIi
LAorICAgIFsgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSwKKyAgICAgIGds
LkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUsCisgICAgICBnbC5GUkFNRUJVRkZF
Ul9BVFRBQ0hNRU5UX1RFWFRVUkVfTEVWRUwsCisgICAgICBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hN
RU5UX1RFWFRVUkVfQ1VCRV9NQVBfRkFDRQorICAgIF0sCisgICAgZnVuY3Rpb24ocGFyYW1ldGVy
KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGds
LkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5ULCBwYXJhbWV0ZXIpOworICAgIH0KKyk7
Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJh
bWV0ZXIiLAorICAgICJ0YXJnZXQiLAorICAgIFsgZ2wuRlJBTUVCVUZGRVIgXSwKKyAgICBmdW5j
dGlvbih0YXJnZXQpIHsKKyAgICAgIHJldHVybiBnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQ
YXJhbWV0ZXIodGFyZ2V0LCBnbC5DT0xPUl9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJVRkZFUl9BVFRB
Q0hNRU5UX09CSkVDVF9UWVBFKTsKKyAgICB9CispOwordGVzdEludmFsaWRBcmd1bWVudCgKKyAg
ICAiZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyIiwKKyAgICAiYXR0YWNobWVudCIs
CisgICAgWyBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwKKyAgICAgIGdsLkRFUFRIX0FUVEFDSE1FTlQs
CisgICAgICBnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsCisgICAgICBnbC5ERVBUSF9TVEVOQ0lMX0FU
VEFDSE1FTlQKKyAgICBdLAorICAgIGZ1bmN0aW9uKGF0dGFjaG1lbnQpIHsKKyAgICAgIHJldHVy
biBnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGF0
dGFjaG1lbnQsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpOworICAgIH0K
Kyk7CisKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgZ2V0UHJvZ3JhbVBhcmFtZXRlciIpOwor
c2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoc3RhbmRhcmRQcm9ncmFtLCBnbC5ERUxF
VEVfU1RBVFVTKScsICdmYWxzZScpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIo
c3RhbmRhcmRQcm9ncmFtLCBnbC5MSU5LX1NUQVRVUyknLCAndHJ1ZScpOworc2hvdWxkQmUoJ3R5
cGVvZiBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJkUHJvZ3JhbSwgZ2wuVkFMSURBVEVf
U1RBVFVTKScsICciYm9vbGVhbiInKTsKK3Nob3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVy
KHN0YW5kYXJkUHJvZ3JhbSwgZ2wuQVRUQUNIRURfU0hBREVSUyknLCAnMicpOworc2hvdWxkQmUo
J2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoc3RhbmRhcmRQcm9ncmFtLCBnbC5BQ1RJVkVfQVRUUklC
VVRFUyknLCAnMicpOworc2hvdWxkQmUoJ2dsLmdldFByb2dyYW1QYXJhbWV0ZXIoc3RhbmRhcmRQ
cm9ncmFtLCBnbC5BQ1RJVkVfVU5JRk9STVMpJywgJzEnKTsKK3Rlc3RJbnZhbGlkQXJndW1lbnQo
CisgICAgImdldFByb2dyYW1QYXJhbWV0ZXIiLAorICAgICJwYXJhbWV0ZXIiLAorICAgIFsgZ2wu
REVMRVRFX1NUQVRVUywKKyAgICAgIGdsLkxJTktfU1RBVFVTLAorICAgICAgZ2wuVkFMSURBVEVf
U1RBVFVTLAorICAgICAgZ2wuQVRUQUNIRURfU0hBREVSUywKKyAgICAgIGdsLkFDVElWRV9BVFRS
SUJVVEVTLAorICAgICAgZ2wuQUNUSVZFX1VOSUZPUk1TCisgICAgXSwKKyAgICBmdW5jdGlvbihw
YXJhbWV0ZXIpIHsKKyAgICAgIHJldHVybiBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHN0YW5kYXJk
UHJvZ3JhbSwgcGFyYW1ldGVyKTsKKyAgICB9CispOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVz
dCBnZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIiKTsKK3Nob3VsZEJlKCdnbC5nZXRSZW5kZXJidWZm
ZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfV0lEVEgpJywgJzIn
KTsKK3Nob3VsZEJlKCdnbC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVS
LCBnbC5SRU5ERVJCVUZGRVJfSEVJR0hUKScsICcyJyk7CisvLyBOb3RlOiB3ZSBjYW4ndCB0ZXN0
IHRoZSBhY3R1YWwgdmFsdWUgb2YgdGhlIGludGVybmFsIGZvcm1hdCBzaW5jZQorLy8gdGhlIGlt
cGxlbWVudGF0aW9uIGlzIGFsbG93ZWQgdG8gY2hhbmdlIGl0Lgorc2hvdWxkQmVOb25aZXJvKCdn
bC5nZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZG
RVJfSU5URVJOQUxfRk9STUFUKScpOworc2hvdWxkQmVOb25aZXJvKCdnbC5nZXRSZW5kZXJidWZm
ZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJfREVQVEhfU0laRSkn
KTsKK3ZhciBjb2xvcmJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpOworZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJV
RkZFUiwgcmVuZGVyYnVmZmVyKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwor
Z2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAyLCAyKTsK
K3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJV
RkZFUiwgZ2wuUkVOREVSQlVGRkVSX1JFRF9TSVpFKScpOworc2hvdWxkQmVOb25aZXJvKCdnbC5n
ZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSLCBnbC5SRU5ERVJCVUZGRVJf
R1JFRU5fU0laRSknKTsKK3Nob3VsZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1l
dGVyKGdsLlJFTkRFUkJVRkZFUiwgZ2wuUkVOREVSQlVGRkVSX0JMVUVfU0laRSknKTsKK3Nob3Vs
ZEJlTm9uWmVybygnZ2wuZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZFUiwg
Z2wuUkVOREVSQlVGRkVSX0FMUEhBX1NJWkUpJyk7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAg
ICJnZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIiLAorICAgICJwYXJhbWV0ZXIiLAorICAgIFsgZ2wu
UkVOREVSQlVGRkVSX1dJRFRILAorICAgICAgZ2wuUkVOREVSQlVGRkVSX0hFSUdIVCwKKyAgICAg
IGdsLlJFTkRFUkJVRkZFUl9JTlRFUk5BTF9GT1JNQVQsCisgICAgICBnbC5SRU5ERVJCVUZGRVJf
UkVEX1NJWkUsCisgICAgICBnbC5SRU5ERVJCVUZGRVJfR1JFRU5fU0laRSwKKyAgICAgIGdsLlJF
TkRFUkJVRkZFUl9CTFVFX1NJWkUsCisgICAgICBnbC5SRU5ERVJCVUZGRVJfQUxQSEFfU0laRSwK
KyAgICAgIGdsLlJFTkRFUkJVRkZFUl9ERVBUSF9TSVpFLAorICAgICAgZ2wuUkVOREVSQlVGRkVS
X1NURU5DSUxfU0laRSwKKyAgICBdLAorICAgIGZ1bmN0aW9uKHBhcmFtZXRlcikgeworICAgICAg
cmV0dXJuIGdsLmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVIsIHBhcmFt
ZXRlcik7CisgICAgfSk7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRSZW5kZXJidWZm
ZXJQYXJhbWV0ZXIiLAorICAgICJ0YXJnZXQiLAorICAgIFsgZ2wuUkVOREVSQlVGRkVSIF0sCisg
ICAgZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgICByZXR1cm4gZ2wuZ2V0UmVuZGVyYnVmZmVyUGFy
YW1ldGVyKHRhcmdldCwgZ2wuUkVOREVSQlVGRkVSX1dJRFRIKTsKKyAgICB9KTsKKworZGVidWco
IiIpOworZGVidWcoIlRlc3QgZ2V0U2hhZGVyUGFyYW1ldGVyIik7CitzaG91bGRCZSgnZ2wuZ2V0
U2hhZGVyUGFyYW1ldGVyKHN0YW5kYXJkVmVydCwgZ2wuU0hBREVSX1RZUEUpJywgJ2dsLlZFUlRF
WF9TSEFERVInKTsKK3Nob3VsZEJlKCdnbC5nZXRTaGFkZXJQYXJhbWV0ZXIoc3RhbmRhcmRWZXJ0
LCBnbC5ERUxFVEVfU1RBVFVTKScsICdmYWxzZScpOworc2hvdWxkQmUoJ2dsLmdldFNoYWRlclBh
cmFtZXRlcihzdGFuZGFyZFZlcnQsIGdsLkNPTVBJTEVfU1RBVFVTKScsICd0cnVlJyk7Cit0ZXN0
SW52YWxpZEFyZ3VtZW50KAorICAgICJnZXRTaGFkZXJQYXJhbWV0ZXIiLAorICAgICJwYXJhbWV0
ZXIiLAorICAgIFsgZ2wuREVMRVRFX1NUQVRVUywKKyAgICAgIGdsLkNPTVBJTEVfU1RBVFVTLAor
ICAgICAgZ2wuU0hBREVSX1RZUEUKKyAgICBdLAorICAgIGZ1bmN0aW9uKHBhcmFtZXRlcikgewor
ICAgICAgcmV0dXJuIGdsLmdldFNoYWRlclBhcmFtZXRlcihzdGFuZGFyZFZlcnQsIHBhcmFtZXRl
cik7CisgICAgfQorKTsKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgZ2V0VGV4UGFyYW1ldGVy
Iik7CitnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZyYW1lYnVmZmVyKTsKK2ds
LmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOworZ2wudGV4UGFyYW1ldGVyaShn
bC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworZ2wudGV4
UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJF
U1QpOworZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywg
Z2wuQ0xBTVBfVE9fRURHRSk7CitnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRF
WFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdFKTsKK3Nob3VsZEJlKCdnbC5nZXRUZXhQYXJh
bWV0ZXIoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSKScsICdnbC5ORUFSRVNU
Jyk7CitzaG91bGRCZSgnZ2wuZ2V0VGV4UGFyYW1ldGVyKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUlOX0ZJTFRFUiknLCAnZ2wuTkVBUkVTVCcpOworc2hvdWxkQmUoJ2dsLmdldFRleFBhcmFt
ZXRlcihnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUyknLCAnZ2wuQ0xBTVBfVE9fRURH
RScpOworc2hvdWxkQmUoJ2dsLmdldFRleFBhcmFtZXRlcihnbC5URVhUVVJFXzJELCBnbC5URVhU
VVJFX1dSQVBfVCknLCAnZ2wuQ0xBTVBfVE9fRURHRScpOwordGVzdEludmFsaWRBcmd1bWVudCgK
KyAgICAiZ2V0VGV4UGFyYW1ldGVyIiwKKyAgICAicGFyYW1ldGVyIiwKKyAgICBbIGdsLlRFWFRV
UkVfTUFHX0ZJTFRFUiwKKyAgICAgIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwKKyAgICAgIGdsLlRF
WFRVUkVfV1JBUF9TLAorICAgICAgZ2wuVEVYVFVSRV9XUkFQX1QKKyAgICBdLAorICAgIGZ1bmN0
aW9uKHBhcmFtZXRlcikgeworICAgICAgcmV0dXJuIGdsLmdldFRleFBhcmFtZXRlcihnbC5URVhU
VVJFXzJELCBwYXJhbWV0ZXIpOworICAgIH0KKyk7Cit0ZXN0SW52YWxpZEFyZ3VtZW50KAorICAg
ICJnZXRUZXhQYXJhbWV0ZXIiLAorICAgICJ0YXJnZXQiLAorICAgIFsgZ2wuVEVYVFVSRV8yRCwK
KyAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVAKKyAgICBdLAorICAgIGZ1bmN0aW9uKHRhcmdldCkg
eworICAgICAgcmV0dXJuIGdsLmdldFRleFBhcmFtZXRlcih0YXJnZXQsIGdsLlRFWFRVUkVfTUFH
X0ZJTFRFUik7CisgICAgfQorKTsKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgZ2V0VW5pZm9y
bSB3aXRoIGFsbCB2YXJpYW50cyBvZiBkYXRhIHR5cGVzIik7CisvLyBCb29sZWFuIHVuaWZvcm0g
dmFyaWFibGVzCit2YXIgYm9vbFByb2dyYW0gPSB3dHUubG9hZFByb2dyYW1Gcm9tRmlsZShnbCwg
Ii4uL3Jlc291cmNlcy9ib29sVW5pZm9ybVNoYWRlci52ZXJ0IiwgIi4uL3Jlc291cmNlcy9ub29w
VW5pZm9ybVNoYWRlci5mcmFnIik7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihi
b29sUHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3ZhciBidmFsTG9jID0gZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKGJvb2xQcm9ncmFtLCAiYnZhbCIpOwordmFyIGJ2YWwyTG9jID0g
Z2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGJvb2xQcm9ncmFtLCAiYnZhbDIiKTsKK3ZhciBidmFsM0xv
YyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihib29sUHJvZ3JhbSwgImJ2YWwzIik7Cit2YXIgYnZh
bDRMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oYm9vbFByb2dyYW0sICJidmFsNCIpOworZ2wu
dXNlUHJvZ3JhbShib29sUHJvZ3JhbSk7CitnbC51bmlmb3JtMWkoYnZhbExvYywgMSk7CitnbC51
bmlmb3JtMmkoYnZhbDJMb2MsIDEsIDApOworZ2wudW5pZm9ybTNpKGJ2YWwzTG9jLCAxLCAwLCAx
KTsKK2dsLnVuaWZvcm00aShidmFsNExvYywgMSwgMCwgMSwgMCk7CitnbEVycm9yU2hvdWxkQmUo
Z2wsIGdsLk5PX0VSUk9SKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGJvb2xQcm9ncmFtLCBi
dmFsTG9jKScsICd0cnVlJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShib29sUHJvZ3JhbSwg
YnZhbDJMb2MpJywgJ1t0cnVlLCBmYWxzZV0nKTsKK3Nob3VsZEJlKCdnbC5nZXRVbmlmb3JtKGJv
b2xQcm9ncmFtLCBidmFsM0xvYyknLCAnW3RydWUsIGZhbHNlLCB0cnVlXScpOworc2hvdWxkQmUo
J2dsLmdldFVuaWZvcm0oYm9vbFByb2dyYW0sIGJ2YWw0TG9jKScsICdbdHJ1ZSwgZmFsc2UsIHRy
dWUsIGZhbHNlXScpOworLy8gSW50ZWdlciB1bmlmb3JtIHZhcmlhYmxlcwordmFyIGludFByb2dy
YW0gPSB3dHUubG9hZFByb2dyYW1Gcm9tRmlsZShnbCwgIi4uL3Jlc291cmNlcy9pbnRVbmlmb3Jt
U2hhZGVyLnZlcnQiLCAiLi4vcmVzb3VyY2VzL25vb3BVbmlmb3JtU2hhZGVyLmZyYWciKTsKK3No
b3VsZEJlKCdnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKGludFByb2dyYW0sIGdsLkxJTktfU1RBVFVT
KScsICd0cnVlJyk7Cit2YXIgaXZhbExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihpbnRQcm9n
cmFtLCAiaXZhbCIpOwordmFyIGl2YWwyTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGludFBy
b2dyYW0sICJpdmFsMiIpOwordmFyIGl2YWwzTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGlu
dFByb2dyYW0sICJpdmFsMyIpOwordmFyIGl2YWw0TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9u
KGludFByb2dyYW0sICJpdmFsNCIpOworZ2wudXNlUHJvZ3JhbShpbnRQcm9ncmFtKTsKK2dsLnVu
aWZvcm0xaShpdmFsTG9jLCAxKTsKK2dsLnVuaWZvcm0yaShpdmFsMkxvYywgMiwgMyk7CitnbC51
bmlmb3JtM2koaXZhbDNMb2MsIDQsIDUsIDYpOworZ2wudW5pZm9ybTRpKGl2YWw0TG9jLCA3LCA4
LCA5LCAxMCk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK3Nob3VsZEJlKCdn
bC5nZXRVbmlmb3JtKGludFByb2dyYW0sIGl2YWxMb2MpJywgJzEnKTsKK3Nob3VsZEJlKCdnbC5n
ZXRVbmlmb3JtKGludFByb2dyYW0sIGl2YWwyTG9jKScsICdbMiwgM10nKTsKK3Nob3VsZEJlKCdn
bC5nZXRVbmlmb3JtKGludFByb2dyYW0sIGl2YWwzTG9jKScsICdbNCwgNSwgNl0nKTsKK3Nob3Vs
ZEJlKCdnbC5nZXRVbmlmb3JtKGludFByb2dyYW0sIGl2YWw0TG9jKScsICdbNywgOCwgOSwgMTBd
Jyk7CisvLyBGbG9hdCB1bmlmb3JtIHZhcmlhYmxlcwordmFyIGZsb2F0UHJvZ3JhbSA9IHd0dS5s
b2FkUHJvZ3JhbUZyb21GaWxlKGdsLCAiLi4vcmVzb3VyY2VzL2Zsb2F0VW5pZm9ybVNoYWRlci52
ZXJ0IiwgIi4uL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci5mcmFnIik7CitzaG91bGRCZSgn
Z2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihmbG9hdFByb2dyYW0sIGdsLkxJTktfU1RBVFVTKScsICd0
cnVlJyk7Cit2YXIgZnZhbExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihmbG9hdFByb2dyYW0s
ICJmdmFsIik7Cit2YXIgZnZhbDJMb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oZmxvYXRQcm9n
cmFtLCAiZnZhbDIiKTsKK3ZhciBmdmFsM0xvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihmbG9h
dFByb2dyYW0sICJmdmFsMyIpOwordmFyIGZ2YWw0TG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9u
KGZsb2F0UHJvZ3JhbSwgImZ2YWw0Iik7CitnbC51c2VQcm9ncmFtKGZsb2F0UHJvZ3JhbSk7Citn
bC51bmlmb3JtMWYoZnZhbExvYywgMTEpOworZ2wudW5pZm9ybTJmKGZ2YWwyTG9jLCAxMiwgMTMp
OworZ2wudW5pZm9ybTNmKGZ2YWwzTG9jLCAxNCwgMTUsIDE2KTsKK2dsLnVuaWZvcm00ZihmdmFs
NExvYywgMTcsIDE4LCAxOSwgMjApOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7
CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShmbG9hdFByb2dyYW0sIGZ2YWxMb2MpJywgJzExJyk7
CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShmbG9hdFByb2dyYW0sIGZ2YWwyTG9jKScsICdbMTIs
IDEzXScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oZmxvYXRQcm9ncmFtLCBmdmFsM0xvYykn
LCAnWzE0LCAxNSwgMTZdJyk7CitzaG91bGRCZSgnZ2wuZ2V0VW5pZm9ybShmbG9hdFByb2dyYW0s
IGZ2YWw0TG9jKScsICdbMTcsIDE4LCAxOSwgMjBdJyk7CisvLyBTYW1wbGVyIHVuaWZvcm0gdmFy
aWFibGVzCit2YXIgc2FtcGxlclByb2dyYW0gPSB3dHUubG9hZFByb2dyYW1Gcm9tRmlsZShnbCwg
Ii4uL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci52ZXJ0IiwgIi4uL3Jlc291cmNlcy9zYW1w
bGVyVW5pZm9ybVNoYWRlci5mcmFnIik7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRl
cihzYW1wbGVyUHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpJywgJ3RydWUnKTsKK3ZhciBzMkRWYWxM
b2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24oc2FtcGxlclByb2dyYW0sICJzMkQiKTsKK3ZhciBz
Q3ViZVZhbExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihzYW1wbGVyUHJvZ3JhbSwgInNDdWJl
Iik7CitnbC51c2VQcm9ncmFtKHNhbXBsZXJQcm9ncmFtKTsKK2dsLnVuaWZvcm0xaShzMkRWYWxM
b2MsIDApOworZ2wudW5pZm9ybTFpKHNDdWJlVmFsTG9jLCAxKTsKK2dsRXJyb3JTaG91bGRCZShn
bCwgZ2wuTk9fRVJST1IpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oc2FtcGxlclByb2dyYW0s
IHMyRFZhbExvYyknLCAnMCcpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0oc2FtcGxlclByb2dy
YW0sIHNDdWJlVmFsTG9jKScsICcxJyk7CisvLyBNYXRyaXggdW5pZm9ybSB2YXJpYWJsZXMKK3Zh
ciBtYXRQcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoZ2wsICIuLi9yZXNvdXJjZXMv
bWF0VW5pZm9ybVNoYWRlci52ZXJ0IiwgIi4uL3Jlc291cmNlcy9ub29wVW5pZm9ybVNoYWRlci5m
cmFnIik7CitzaG91bGRCZSgnZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihtYXRQcm9ncmFtLCBnbC5M
SU5LX1NUQVRVUyknLCAndHJ1ZScpOwordmFyIG12YWwyTG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0
aW9uKG1hdFByb2dyYW0sICJtdmFsMiIpOwordmFyIG12YWwzTG9jID0gZ2wuZ2V0VW5pZm9ybUxv
Y2F0aW9uKG1hdFByb2dyYW0sICJtdmFsMyIpOwordmFyIG12YWw0TG9jID0gZ2wuZ2V0VW5pZm9y
bUxvY2F0aW9uKG1hdFByb2dyYW0sICJtdmFsNCIpOworZ2wudXNlUHJvZ3JhbShtYXRQcm9ncmFt
KTsKK2dsLnVuaWZvcm1NYXRyaXgyZnYobXZhbDJMb2MsIGZhbHNlLCBbMSwgMiwgMywgNF0pOwor
Z2wudW5pZm9ybU1hdHJpeDNmdihtdmFsM0xvYywgZmFsc2UsIFs1LCA2LCA3LCA4LCA5LCAxMCwg
MTEsIDEyLCAxM10pOworZ2wudW5pZm9ybU1hdHJpeDRmdihtdmFsNExvYywgZmFsc2UsIFsxNCwg
MTUsIDE2LCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcsIDI4LCAy
OV0pOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitzaG91bGRCZSgnZ2wuZ2V0
VW5pZm9ybShtYXRQcm9ncmFtLCBtdmFsMkxvYyknLCAnWzEsIDIsIDMsIDRdJyk7CitzaG91bGRC
ZSgnZ2wuZ2V0VW5pZm9ybShtYXRQcm9ncmFtLCBtdmFsM0xvYyknLCAnWzUsIDYsIDcsIDgsIDks
IDEwLCAxMSwgMTIsIDEzXScpOworc2hvdWxkQmUoJ2dsLmdldFVuaWZvcm0obWF0UHJvZ3JhbSwg
bXZhbDRMb2MpJywgJ1sxNCwgMTUsIDE2LCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQs
IDI1LCAyNiwgMjcsIDI4LCAyOV0nKTsKKworZGVidWcoIiIpOworZGVidWcoInRlc3QgZ2V0VmVy
dGV4QXR0cmliIik7Cit2YXIgYXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KFsxLCAyLCAzLCA0LCA1
LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNl0pOwordmFyIGJ1ZmZlciA9
IGdsLmNyZWF0ZUJ1ZmZlcigpOworZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZl
cik7CitnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgYXJyYXksIGdsLkRZTkFNSUNfRFJB
Vyk7CisvLyBWZXJ0ZXggYXR0cmlidXRlIDAgaXMgc3BlY2lhbCBpbiB0aGF0IGl0IGhhcyBubyBj
dXJyZW50IHN0YXRlLCBzbworLy8gZmV0Y2hpbmcgR0xfQ1VSUkVOVF9WRVJURVhfQVRUUklCIGdl
bmVyYXRlcyBhbiBlcnJvci4gVXNlIGF0dHJpYnV0ZQorLy8gMSBmb3IgdGhlc2UgdGVzdHMgaW5z
dGVhZC4KK2dsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDEpOworZ2wudmVydGV4QXR0cmliUG9p
bnRlcigxLCA0LCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworc2hvdWxkQmUoJ2dsLmdldFZlcnRl
eEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HKScsICdidWZm
ZXInKTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9B
UlJBWV9FTkFCTEVEKScsICd0cnVlJyk7CitzaG91bGRCZSgnZ2wuZ2V0VmVydGV4QXR0cmliKDEs
IGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfU0laRSknLCAnNCcpOworLy8gU3RyaWRlIE1VU1QgYmUg
dGhlIHZhbHVlIHRoZSB1c2VyIHB1dCBpbi4KK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIo
MSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9TVFJJREUpJywgJzAnKTsKK3Nob3VsZEJlKCdnbC5n
ZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9UWVBFKScsICdnbC5GTE9B
VCcpOworc2hvdWxkQmUoJ2dsLmdldFZlcnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FS
UkFZX05PUk1BTElaRUQpJywgJ2ZhbHNlJyk7CitnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKDEsIDQs
IGdsLkZMT0FULCBmYWxzZSwgMzYsIDEyKTsKK3Nob3VsZEJlKCdnbC5nZXRWZXJ0ZXhBdHRyaWIo
MSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9TVFJJREUpJywgJzM2Jyk7CitzaG91bGRCZSgnZ2wu
Z2V0VmVydGV4QXR0cmliT2Zmc2V0KDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUikn
LCAnMTInKTsKK2dsLmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSgxKTsKK3Nob3VsZEJlKCdnbC5n
ZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9FTkFCTEVEKScsICdmYWxz
ZScpOworZ2wudmVydGV4QXR0cmliNGYoMSwgNSwgNiwgNywgOCk7CitzaG91bGRCZSgnZ2wuZ2V0
VmVydGV4QXR0cmliKDEsIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQiknLCAnWzUsIDYsIDcsIDhd
Jyk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKK3Rlc3RJbnZhbGlkQXJndW1l
bnQoCisgICAgImdldFZlcnRleEF0dHJpYiIsCisgICAgInBhcmFtZXRlciIsCisgICAgWyBnbC5W
RVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HLAorICAgICAgZ2wuVkVSVEVYX0FUVFJJ
Ql9BUlJBWV9FTkFCTEVELAorICAgICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9TSVpFLAorICAg
ICAgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9TVFJJREUsCisgICAgICBnbC5WRVJURVhfQVRUUklC
X0FSUkFZX1RZUEUsCisgICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZX05PUk1BTElaRUQsCisg
ICAgICBnbC5WRVJURVhfQVRUUklCX0FSUkFZX1NUUklERSwKKyAgICAgIGdsLlZFUlRFWF9BVFRS
SUJfQVJSQVlfRU5BQkxFRCwKKyAgICAgIGdsLkNVUlJFTlRfVkVSVEVYX0FUVFJJQgorICAgIF0s
CisgICAgZnVuY3Rpb24ocGFyYW1ldGVyKSB7CisgICAgICByZXR1cm4gZ2wuZ2V0VmVydGV4QXR0
cmliKDEsIHBhcmFtZXRlcik7CisgICAgfQorKTsKK3ZhciBudW1WZXJ0ZXhBdHRyaWJzID0gZ2wu
Z2V0UGFyYW1ldGVyKGdsLk1BWF9WRVJURVhfQVRUUklCUyk7CitzaG91bGRHZW5lcmF0ZUdMRXJy
b3IoZ2wsIGdsLklOVkFMSURfVkFMVUUsICdnbC5nZXRWZXJ0ZXhBdHRyaWIoJyArIG51bVZlcnRl
eEF0dHJpYnMgKyAnLCBnbC5DVVJSRU5UX1ZFUlRFWF9BVFRSSUIpJyk7CisKK2RlYnVnKCIiKTsK
K2RlYnVnKCJUZXN0IGNhc2VzIHdoZXJlIG5hbWUgPT0gMCIpOworZ2wuZGVsZXRlVGV4dHVyZSh0
ZXh0dXJlKTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIo
Z2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRB
Q0hNRU5UX09CSkVDVF9UWVBFKScsICdnbC5OT05FJyk7CitnbC5kZWxldGVSZW5kZXJidWZmZXIo
cmVuZGVyYnVmZmVyKTsKK3Nob3VsZEJlKCdnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJh
bWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGdsLkZSQU1FQlVGRkVS
X0FUVEFDSE1FTlRfT0JKRUNUX1RZUEUpJywgJ2dsLk5PTkUnKTsKK2dsLmRlbGV0ZUJ1ZmZlcihi
dWZmZXIpOworc2hvdWxkQmVOdWxsKCdnbC5nZXRWZXJ0ZXhBdHRyaWIoMSwgZ2wuVkVSVEVYX0FU
VFJJQl9BUlJBWV9CVUZGRVJfQklORElORyknKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1m
b3JtYXRzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy9jb3B5LXRleC1pbWFnZS0yZC1mb3JtYXRzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGE3ZDBlM2JiOGRkNzEwNjQzMzA3MWVlNDM1M2NhOWE5YzY3N2E2NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL3RleHR1cmVzL2NvcHktdGV4LWltYWdlLTJkLWZvcm1hdHMuaHRtbApAQCAt
MCwwICsxLDE4MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1h
dGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwg
aW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv
b3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29u
cyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0
bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisq
KiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMu
CisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRI
RSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VmVyaWZ5IGNvcHlUZXhJbWFn
ZTJEIGZvbGxvd3MgZm9ybWF0IHJlc3RpY3Rpb25zPC90aXRsZT4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8Y2FudmFzIGlkPSJjYW52YXMiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPjwvY2FudmFzPgorPGNh
bnZhcyBpZD0iY2FudmFzTm9BbHBoYSIgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKK2Z1bmN0
aW9uIGdldENoYW5uZWxzRnJvbUZvcm1hdChmb3JtYXQpIHsKKyAgc3dpdGNoIChnbFtmb3JtYXRd
KSB7CisgIGNhc2UgZ2wuQUxQSEE6CisgICAgcmV0dXJuIDB4MDAwMTsKKyAgY2FzZSBnbC5MVU1J
TkFOQ0U6CisgIGNhc2UgZ2wuUkdCOgorICAgIHJldHVybiAweDExMTA7CisgIGNhc2UgZ2wuTFVN
SU5BTkNFX0FMUEhBOgorICBjYXNlIGdsLlJHQkE6CisgICAgcmV0dXJuIDB4MTExMTsKKyAgZGVm
YXVsdDoKKyAgICByZXR1cm4gMDsKKyAgfQorfQorCit2YXIgZm9ybWF0cyA9IFsKKyAgJ0FMUEhB
JywKKyAgJ0xVTUlOQU5DRScsCisgICdMVU1JTkFOQ0VfQUxQSEEnLAorICAnUkdCJywKKyAgJ1JH
QkEnCitdOworCit2YXIgZ2wgPSBudWxsOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworCitk
ZXNjcmlwdGlvbigpOworCit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNh
bnZhcyIpOwordmFyIGNhbnZhc05vQWxwaGEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2Fu
dmFzTm9BbHBoYSIpOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMsIHthbHBo
YTp0cnVlfSk7Cit2YXIgZ2xOb0FscGhhID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXNOb0Fs
cGhhLCB7YWxwaGE6ZmFsc2V9KTsKKworZGVidWcoInRlc3Qgd2l0aCBhbiBSR0JBIGJhY2tidWZm
ZXIiKTsKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKK2dsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJEdXJpbmcgSW5pdGlhbGl6YXRpb24iKTsKK3Rlc3RG
b3JtYXRzKCdSR0JBJyk7CisKK3Rlc3RCYWNrYnVmZmVyRm9ybWF0cygpOworCitkZWJ1ZygidGVz
dCB3aXRoIGFuIFJHQiBiYWNrYnVmZmVyIik7Cit2YXIgZ2wgPSBnbE5vQWxwaGE7Cit2YXIgcHJv
Z3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGds
Lk5PX0VSUk9SLCAiRHVyaW5nIEluaXRpYWxpemF0aW9uIik7Cit0ZXN0Rm9ybWF0cygnUkdCJyk7
CisKK2Z1bmN0aW9uIHRlc3RCYWNrYnVmZmVyRm9ybWF0cygpIHsKKyAgdmFyIGZibyA9IGdsLmNy
ZWF0ZUZyYW1lYnVmZmVyKCk7CisgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwg
ZmJvKTsKKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgZm9ybWF0cy5sZW5ndGg7ICsraWkpIHsK
KyAgICB2YXIgYmFja0Zvcm1hdCA9IGZvcm1hdHNbaWldOworCisgICAgdmFyIHRleCA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpOwor
ICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2xbYmFja0Zvcm1hdF0sIDIsIDIs
IDAsIGdsW2JhY2tGb3JtYXRdLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVT
VCk7CisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19G
SUxURVIsIGdsLk5FQVJFU1QpOworCisgICAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJB
TUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXgsIDApOwor
ICAgIHZhciBzdGF0dXMgPSBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVS
KTsKKworICAgIGRlYnVnKCcnKTsKKyAgICBpZiAoc3RhdHVzID09IGdsLkZSQU1FQlVGRkVSX0NP
TVBMRVRFKSB7CisgICAgICBkZWJ1ZygndGVzdCB3aXRoICcgKyBiYWNrRm9ybWF0ICsgJyBmYm8n
KTsKKyAgICAgIHRlc3RGb3JtYXRzKGJhY2tGb3JtYXQpOworICAgIH0gZWxzZSB7CisgICAgICBk
ZWJ1ZyhiYWNrRm9ybWF0ICsgJyBub3Qgc3VwcG9ydGVkIGFzIGEgcmVuZGVyYnVmZmVyIGF0dGFj
aG1lbnQnKTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gdGVzdEZvcm1hdHMoYmFja0Zvcm1h
dCkgeworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgZm9ybWF0cy5sZW5ndGg7ICsraWkpIHsKKyAg
ICB0ZXN0Q29weVRleEltYWdlMkQoYmFja0Zvcm1hdCwgZm9ybWF0c1tpaV0pOworICB9Cit9CisK
K2Z1bmN0aW9uIHRvQ2hhbm5lbHModmFsdWUpIHsKKyAgcmV0dXJuICgodmFsdWUgJiAweDEwMDAp
ID8gJ1InIDogJ18nKSArCisgICAgICAgICAoKHZhbHVlICYgMHgwMTAwKSA/ICdHJyA6ICdfJykg
KworICAgICAgICAgKCh2YWx1ZSAmIDB4MDAxMCkgPyAnQicgOiAnXycpICsKKyAgICAgICAgICgo
dmFsdWUgJiAweDAwMDEpID8gJ0EnIDogJ18nKTsKK30KKworZnVuY3Rpb24gdGVzdENvcHlUZXhJ
bWFnZTJEKGJhY2tGb3JtYXQsIHRleEZvcm1hdCkgeworICB2YXIgbmVlZCA9IGdldENoYW5uZWxz
RnJvbUZvcm1hdCh0ZXhGb3JtYXQpOworICB2YXIgaGF2ZSA9IGdldENoYW5uZWxzRnJvbUZvcm1h
dChiYWNrRm9ybWF0KTsKKyAgdmFyIHNob3VsZFBhc3MgPSAobmVlZCAmIGhhdmUpID09IG5lZWQK
KworICAvL2RlYnVnKCJuZWVkOiAiICsgdG9DaGFubmVscyhuZWVkKSk7CisgIC8vZGVidWcoImhh
dmU6ICIgKyB0b0NoYW5uZWxzKGhhdmUpKTsKKyAgLy9kZWJ1ZygiYm90aDogIiArIHRvQ2hhbm5l
bHMoaGF2ZSAmIG5lZWQpKTsKKworICAvLyBjbGVhciBiYWNrYnVmZmVyCisgIGdsLmNsZWFyQ29s
b3IoMC4yNSwgMSwgMC43NSwgMC41KTsKKyAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7
CisKKyAgdmFyIHRleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIC8vIEJpbmQgdGhlIHRl
eHR1cmUgdG8gdGV4dHVyZSB1bml0IDAKKyAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwg
dGV4dHVyZSk7CisgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9N
SU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJE
LCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworCisgIGdsLmNvcHlUZXhJbWFn
ZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsW3RleEZvcm1hdF0sIDAsIDAsIDIsIDIsIDApOworICBp
ZiAoIXNob3VsZFBhc3MpIHsKKyAgICBnbEVycm9yU2hvdWxkQmUoCisgICAgICAgIGdsLCBnbC5J
TlZBTElEX09QRVJBVElPTiwKKyAgICAgICAgInNob3VsZCBub3QgYmUgYWJsZSB0byBjb3B5VGV4
SW1hZ2UyRCAiICsgdGV4Rm9ybWF0ICsgIiBmcm9tICIgKyBiYWNrRm9ybWF0KTsKKyAgICByZXR1
cm47CisgIH0KKworICBnbEVycm9yU2hvdWxkQmUoCisgICAgICBnbCwgZ2wuTk9fRVJST1IsCisg
ICAgICAic2hvdWxkIGJlIGFibGUgdG8gY29weVRleEltYWdlMkQgIiArIHRleEZvcm1hdCArICIg
ZnJvbSAiICsgYmFja0Zvcm1hdCk7CisKKyAgLy8gRHJhdworICB3dHUuZHJhd1F1YWQoZ2wpOwor
CisgIHZhciBleHBlY3RlZENvbG9ycyA9IHsKKyAgICAnQUxQSEEnOiBbMCwgMCwgMCwgMTI3XSwK
KyAgICAnTFVNSU5BTkNFJzogWzY0LCA2NCwgNjQsIDI1NV0sCisgICAgJ0xVTUlOQU5DRV9BTFBI
QSc6IFs2NCwgNjQsIDY0LCAxMjddLAorICAgICdSR0InOiBbNjQsIDI1NSwgMTkxLCAyNTVdLAor
ICAgICdSR0JBJzogWzY0LCAyNTUsIDE5MSwgMTI3XQorICB9OworCisgIHZhciBjb2xvciA9IGV4
cGVjdGVkQ29sb3JzW3RleEZvcm1hdF07CisKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBjb2xvciwg
InNob3VsZCBiZSAiICsgY29sb3IsIDE2KTsKKworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5P
X0VSUk9SLCAic2hvdWxkIGJlIG5vIGVycm9ycyIpOworfQordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL2dsLXBpeGVsc3RvcmVpLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmRjMGM0NTE0ZjY5MWUwMjVjNTEyYWI1OGNlZmUwOTdkYjQzNzE5MjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy9nbC1waXhlbHN0b3JlaS5odG1sCkBAIC0wLDAgKzEsMTE5
IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAg
SW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k
L29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiks
IHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcK
KyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNv
cGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBU
SEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO
WSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE
IFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQor
KiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP
RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBP
VEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJH
TCBwaXhlbFN0b3JlaSBUZXN0PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2Rlc2t0b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iNTAi
IGhlaWdodD0iNTAiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iMmQwMCIgd2lkdGg9IjUwIiBoZWln
aHQ9IjUwIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9IjJkMDEiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1
MCI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSIyZDAyIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiPjwv
Y2FudmFzPgorPGNhbnZhcyBpZD0iMmQwMyIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIj48L2NhbnZh
cz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmli
dXRlIHZlYzQgdlBvc2l0aW9uOwordm9pZCBtYWluKCkgeworICBnbF9Qb3NpdGlvbiA9IHZQb3Np
dGlvbjsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRl
ci94LWZyYWdtZW50Ij4KK3ZvaWQgbWFpbigpIHsKKyAgZ2xfRnJhZ0NvbG9yID0gdmVjNCgxLjAs
MC4wLDAuMCwxLjApOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Citm
dW5jdGlvbiBpbml0KCkgeworICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGRy
YXdJbWFnZSBhbmQgcmVhZFBpeGVscyBhcmUgbm90IGVmZmVjdGVkIGJ5IGdsLlBpeGVsc3RvcmVp
KGdsLlBBQ0tfQUxJR05NRU5UKSBhbmQgdmlzYSB2ZXJzYSIpOworCisgIGRlYnVnKCJUaGVyZSBz
aG91bGQgYmUgNSByZWQgdHJpYW5nbGVzIG9uIDUgYmxhY2sgc3F1YXJlcyBhYm92ZSIpOworICBk
ZWJ1ZygiIik7CisKKyAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICB2YXIgY2FudmFzM2Qg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOworICB2YXIgZ2wgPSB3dHUuY3Jl
YXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3Jh
bShnbCwgWyJ2c2hhZGVyIiwgImZzaGFkZXIiXSwgWyJ2UG9zaXRpb24iXSk7CisKKyAgdmFyIHZl
cnRleE9iamVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZ
X0JVRkZFUiwgdmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIs
IG5ldyBGbG9hdDMyQXJyYXkoWyAwLDAuNSwwLCAtMC41LC0wLjUsMCwgMC41LC0wLjUsMCBdKSwg
Z2wuU1RBVElDX0RSQVcpOworICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKTsKKyAgZ2wu
dmVydGV4QXR0cmliUG9pbnRlcigwLCAzLCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOworCisgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgZ2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDMpOworCisgIGZ1bmN0aW9uIGNoZWNrRGF0YShj
dHgsIG5hbWUpIHsKKyAgICAvLyBUZXN0IHNldmVyYWwgbG9jYXRpb25zCisgICAgLy8gRmlyc3Qg
bGluZSBzaG91bGQgYmUgYWxsIGJsYWNrCisgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChjdHgsIDAs
IDAsIDUwLCAxLCBbMCwgMCwgMCwgMF0pOworCisgICAgLy8gTGluZSAyNSBzaG91bGQgYmUgcmVk
IGZvciBhdCBsZWFzdCA2IHJlZCBwaXhlbHMgc3RhcnRpbmcgMjIgcGl4ZWxzIGluCisgICAgd3R1
LmNoZWNrQ2FudmFzUmVjdChjdHgsIDIyLCAyNSwgNiwgMSwgWzI1NSwgMCwgMCwgMjU1XSk7CisK
KyAgICAvLyBMYXN0IGxpbmUgc2hvdWxkIGJlIGFsbCBibGFjaworICAgIHd0dS5jaGVja0NhbnZh
c1JlY3QoY3R4LCAwLCA0OSwgNTAsIDEsIFswLCAwLCAwLCAwXSk7CisgIH0KKworICB2YXIgY3R4
MmQ7CisKKyAgZnVuY3Rpb24gY2hlY2tDb2xvcnMoKSB7CisgICAgY2hlY2tEYXRhKGdsLCAiM2Qg
Y29udGV4dCIpOworICAgIGNoZWNrRGF0YShjdHgyZCwgIjJkIGNvbnRleHQiKTsKKyAgfQorCisg
IHZhciB0YWJsZSA9IFsxLCAyLCA0LCA4XTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRhYmxl
Lmxlbmd0aDsgKytpaSkgeworICAgIGdsLnBpeGVsU3RvcmVpKGdsLlBBQ0tfQUxJR05NRU5ULCB0
YWJsZVtpaV0pOworICAgIGN0eDJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIjJkMCIgKyBp
aSkuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICBjdHgyZC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24g
PSAnY29weSc7CisgICAgY3R4MmQuZHJhd0ltYWdlKGNhbnZhczNkLCAwLCAwKTsKKyAgICBjaGVj
a0NvbG9ycygpOworICAgIGFzc2VydE1zZyhnbC5nZXRQYXJhbWV0ZXIoZ2wuUEFDS19BTElHTk1F
TlQpID09IHRhYmxlW2lpXSwKKyAgICAgICAgIlBBQ0tfQUxJR05NRU5UIGlzICIgKyB0YWJsZVtp
aV0pOworICB9Cit9CisKK2luaXQoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdp
bi1jbGVhbi1jb25mb3JtYW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvb3JpZ2luLWNsZWFuLWNvbmZvcm1h
bmNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQxODViNWQyYjE1M2YxZDk0OWY1ZGY0N2NhMzZmZGFlNTYx
ZTU4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL29yaWdpbi1jbGVhbi1jb25mb3JtYW5j
ZS5odG1sCkBAIC0wLDAgKzEsMTU3IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBPcmlnaW4gUmVzdHJpY3Rpb25zIENvbmZvcm1hbmNlIFRl
c3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2Rlc2t0
b3AtZ2wtY29uc3RhbnRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CisvLyBUaGlzIGZ1bmN0
aW9uIHJldHVybnMgdGhlIGxhc3QgMiB3b3JkcyBvZiB0aGUgZG9tYWluIG9mIGEgVVJMCisvLyBU
aGlzIGlzIHByb2JhYmx5IG5vdCB0aGUgY29ycmVjdCBjaGVjayBidXQgaXQgd2lsbCBkbyBmb3Ig
bm93LgorZnVuY3Rpb24gZ2V0QmFzZURvbWFpbihzdHIpIHsKKyAgc3RyID0gc3RyLnJlcGxhY2Uo
IlxcIiwgIi8iKTsKKyAgdmFyIHBvcyA9IHN0ci5pbmRleE9mKCI6Ly8iKTsKKyAgaWYgKHBvcyA+
PSAwKSB7CisgICAgc3RyID0gc3RyLnN1YnN0cihwb3MgKyAzKTsKKyAgfQorICB2YXIgcGFydHMg
PSBzdHIuc3BsaXQoJy8nKTsKKyAgdmFyIGRvbWFpbiA9IHBhcnRzWzBdLm1hdGNoKC9cdytcLlx3
KyQvKTsKKyAgcmV0dXJuIGRvbWFpbiB8fCAnJzsKK30KKworLy8gQ2hlY2tzIGlmIGZ1bmN0aW9u
IHRocm93cyBhbiBleGNlcHRpb24uCitmdW5jdGlvbiBjYXVzZWRFeGNlcHRpb24oZnVuYykgewor
ICB2YXIgaGFkRXhjZXB0aW9uID0gZmFsc2U7CisgIHRyeSB7CisgICAgZnVuYygpOworICB9IGNh
dGNoKGUpIHsKKyAgICBoYWRFeGNlcHRpb24gPSB0cnVlOworICB9CisgIHJldHVybiBoYWRFeGNl
cHRpb247Cit9CisKK3ZhciBpbWdEb21haW47Cit2YXIgcGFnZURvbWFpbjsKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQ7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCBlbnN1cmVzIFdlYkdMIGltcGxlbWVudGF0aW9ucyBmb2xsb3cgcHJvcGVy
IHNhbWUtb3JpZ2luIHJlc3RyaWN0aW9ucy4iKTsKKyAgdmFyIGltZyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpbWciKTsKKyAgYXNzZXJ0TXNnKGltZy53aWR0aCA+IDAgJiYgaW1nLmhlaWdo
dCA+IDAsICJpbWcgd2FzIGxvYWRlZCIpOworICBpbWdEb21haW4gPSBnZXRCYXNlRG9tYWluKGlt
Zy5zcmMpOworICBwYWdlRG9tYWluID0gZ2V0QmFzZURvbWFpbih3aW5kb3cubG9jYXRpb24udG9T
dHJpbmcoKSk7CisgIGFzc2VydE1zZyhpbWdEb21haW4gIT0gcGFnZURvbWFpbiwKKyAgICAgICAg
ICAgICJpbWcgZG9tYWluICgiICsgaW1nRG9tYWluICsgIikgYW5kIHBhZ2UgZG9tYWluICgiICsg
cGFnZURvbWFpbiArICIpIGFyZSBub3QgdGhlIHNhbWUuIik7CisKKyAgZnVuY3Rpb24gbWFrZVRl
eEltYWdlMkQoZ2wsIHNyYykgeworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIGdsLnRl
eEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgc3JjKTsKKyAgICB9OworICB9CisKKyAgZnVuY3Rpb24gbWFrZVRleFN1YkltYWdlMkQo
Z2wsIHNyYykgeworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIGdsLnRleFN1YkltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgc3Jj
KTsKKyAgICB9OworICB9CisKKyAgZnVuY3Rpb24gbWFrZVJlYWRQaXhlbHMoZ2wpIHsKKyAgICBy
ZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoNCk7Cisg
ICAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIDEsIDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUs
IGJ1Zik7CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VUb0RhdGFVUkwoY2FudmFzKSB7
CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgdmFyIGRhdGEgPSBjYW52YXMudG9EYXRh
VVJMKCk7CisgICAgfQorICB9CisKKyAgdmFyIGNhbnZhczEgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY2FudmFzMSIpOworICB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhczEp
OworCisgIGRlYnVnKCIiKTsKKyAgZGVidWcoImNoZWNrIHRoYXQgYW4gYXR0ZW1wdCB0byB1cGxv
YWQgYW4gaW1hZ2UgZnJvbSBhbm90aGVyIG9yaWdpbiB0aHJvd3MgYW4gZXhjZXB0aW9uLiIpOwor
ICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhU
VVJFXzJELCB0ZXgpOworICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEs
IDI1NiwgMjU2LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAgYXNzZXJ0
TXNnKGNhdXNlZEV4Y2VwdGlvbihtYWtlVGV4SW1hZ2UyRChnbCwgaW1nKSksCisgICAgICAgICAg
ICAidGV4SW1hZ2UyRCB3aXRoIGNyb3NzLW9yaWdpbiBpbWFnZSBzaG91bGQgdGhyb3cgZXhjZXB0
aW9uLiIpOworICBhc3NlcnRNc2coY2F1c2VkRXhjZXB0aW9uKG1ha2VUZXhTdWJJbWFnZTJEKGds
LCBpbWcpKSwKKyAgICAgICAgICAgICJ0ZXhTdWJJbWFnZTJEIHdpdGggY3Jvc3Mtb3JpZ2luIGlt
YWdlIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIik7CisKKyAgZGVidWcoImNoZWNrIHRoYXQgcmVh
ZFBpeGVscyBhbmQgdG9EYXRhVVJMIGNvbnRpbnVlIHRvIHdvcmsgYWdhaW5zdCB0aGlzIGNhbnZh
cy4iKTsKKyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRpb24obWFrZVJlYWRQaXhlbHMoZ2wpKSwK
KyAgICAgICAgICAgICJyZWFkUGl4ZWxzIHNob3VsZCBuZXZlciB0aHJvdyBleGNlcHRpb24gLS0g
bm90IHBvc3NpYmxlIHRvIGRpcnR5IG9yaWdpbiBvZiBXZWJHTCBjYW52YXMuIik7CisgIGFzc2Vy
dE1zZyghY2F1c2VkRXhjZXB0aW9uKG1ha2VUb0RhdGFVUkwoY2FudmFzMSkpLAorICAgICAgICAg
ICAgInNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uIGJ5IHRvRGF0YVVSTCBmb3IgV2ViR0wgY2Fu
dmFzLCB3aGljaCBzaG91bGQgc3RheSBvcmlnaW4gY2xlYW4uIik7CisKKyAgZGVidWcoImNoZWNr
IHRoYXQgYW4gYXR0ZW1wdCB0byB1cGxvYWQgYSB0YWludGVkIGNhbnZhcyB0aHJvd3MgYW4gZXhj
ZXB0aW9uLiIpOworICB2YXIgY2FudmFzMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52
YXMyIik7CisgIHZhciBjdHgyZCA9IGNhbnZhczIuZ2V0Q29udGV4dCgiMmQiKTsKKyAgY3R4MmQu
ZHJhd0ltYWdlKGltZywgMCwgMCk7CisgIGFzc2VydE1zZyhjYXVzZWRFeGNlcHRpb24obWFrZVRv
RGF0YVVSTChjYW52YXMyKSksCisgICAgICAgICAgICAic2hvdWxkIHRocm93IGV4Y2VwdGlvbiBi
eSB0b0RhdGFVUkwgZm9yIE5PTiBvcmlnaW4gY2xlYW4gY2FudmFzLiIpOworICBhc3NlcnRNc2co
Y2F1c2VkRXhjZXB0aW9uKG1ha2VUZXhJbWFnZTJEKGdsLCBjYW52YXMyKSksCisgICAgICAgICAg
ICAidGV4SW1hZ2UyRCB3aXRoIE5PTiBvcmlnaW4gY2xlYW4gY2FudmFzIHNob3VsZCB0aHJvdyBl
eGNlcHRpb24uIik7CisgIGFzc2VydE1zZyhjYXVzZWRFeGNlcHRpb24obWFrZVRleFN1YkltYWdl
MkQoZ2wsIGNhbnZhczIpKSwKKyAgICAgICAgICAgICJ0ZXhTdWJJbWFnZTJEIHdpdGggTk9OIG9y
aWdpbiBjbGVhbiBjYW52YXMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbi4iKTsKKworICBkZWJ1Zygi
Y2hlY2sgdGhhdCByZWFkUGl4ZWxzIGFuZCB0b0RhdGFVUkwgY29udGludWUgdG8gd29yayBhZ2Fp
bnN0IHRoaXMgY2FudmFzLiIpOworICBhc3NlcnRNc2coIWNhdXNlZEV4Y2VwdGlvbihtYWtlUmVh
ZFBpeGVscyhnbCkpLAorICAgICAgICAgICAgInJlYWRQaXhlbHMgc2hvdWxkIG5ldmVyIHRocm93
IGV4Y2VwdGlvbiAtLSBub3QgcG9zc2libGUgdG8gZGlydHkgb3JpZ2luIG9mIFdlYkdMIGNhbnZh
cy4iKTsKKyAgYXNzZXJ0TXNnKCFjYXVzZWRFeGNlcHRpb24obWFrZVRvRGF0YVVSTChjYW52YXMx
KSksCisgICAgICAgICAgICAic2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24gYnkgdG9EYXRhVVJM
IGZvciBXZWJHTCBjYW52YXMsIHdoaWNoIHNob3VsZCBzdGF5IG9yaWdpbiBjbGVhbi4iKTsKKwor
ICAvLyBUT0RPOiBTaG91bGQgY2hlY2sgdmlkZW8uCisgIC8vIFRPRE86IFNob3VsZCBjaGVjayBD
T1JTIHN1cHBvcnQuCisKKyAgZGVidWcoIiIpOworICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworICBzaG91bGRCZVRydWUoInN1Y2Nlc3NmdWxseVBhcnNlZCIpOworICBkZWJ1ZygnPGJyIC8+
PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7CisgIG5vdGlmeUZpbmlz
aGVkVG9IYXJuZXNzKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8Y2FudmFzIGlk
PSJjYW52YXMxIj48L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImNhbnZhczIiPjwvY2FudmFzPgorPGlt
ZyBpZD0iaW1nIiBzcmM9Imh0dHA6Ly93d3cub3BlbmdsLm9yZy9pbWcvb3BlbmdsX2xvZ28uanBn
IiBzdHlsZT0iZGlzcGxheTpub25lOyI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90
ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ4OTA4ZDhkNzllOWYzZTBhNmY4YWVkNDMzODBlOWI5OTI1ZWQz
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0y
ZC13aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IS0tCisKKy8qCisq
KiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9j
dW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1h
dGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRh
dGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoq
IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJp
YWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUg
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQ
Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP
UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMg
T1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoq
IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O
IFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU
SEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAg
cmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJh
dGVUZXN0KCJSR0IiLCAiVU5TSUdORURfU0hPUlRfNV82XzUiLCB0ZXN0UHJvbG9ndWUpKCknPgor
PGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZkMzhl
ZDM1MDVjNzI3MGYyMDhhNjVlNDM4OGZkODhmZTRhYTQyZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0
bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRo
ZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk
LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0
aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQor
KiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQg
cGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRl
cmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V
VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZ
LCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgor
KiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ
U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxT
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0t
PgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1jYW52YXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
K2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05F
RF9TSE9SVF80XzRfNF80IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJn
YmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNh
bnZhcy1yZ2JhNTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5MGEzOGEwNjYwMDRhNGE0ZTMyMDE1YTUx
OWU3ZGQ4NzBjNjhhNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsNDkgQEAK
KzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMu
CisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3Ig
YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8g
ZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVz
IG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
TWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBN
QVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBD
TEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVS
IERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiB0ZXN0UHJvbG9n
dWUoZ2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSdnZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNV81XzVfMSIsIHRl
c3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMzIiIGhlaWdodD0i
MzIiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTIzMmIx
ZjMwN2RlOWFkMjRlNzAzZjEzNjY3MDllMjEyNTRmNjFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4
dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbApAQCAtMCww
ICsxLDQ5IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ii8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRo
LWNhbnZhcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24g
dGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX0JZVEUiLCB0
ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9
IjMyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVz
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODUwMjViMTg1ZDRhNDAyZGUxM2QxMTE3NGIyNTU2YTQ2ZTQzYTI1ZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
cmdiNTY1Lmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0
aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0IiLCAi
VU5TSUdORURfU0hPUlRfNV82XzUiLCAiLi4iLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBp
ZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1pbWFnZS1yZ2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjMzNiNDgyZDgzOTE0OGI4
ZTNmMzM5NGU4ZjcyMmRhNTk4ZmNhNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwKQEAgLTAsMCAr
MSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gdGVz
dFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzRfNF80
XzQiLCAiLi4iLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9
IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
dGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2Jh
NTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwNDA1NTRjNTE1MzA4YzYxYmZjNWQ4Y2ZiZDZkMzU5ODky
MzczODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLXJnYmE1NTUxLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7Cisg
ICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2Vu
ZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzVfNV81XzEiLCAiLi4iLCB0ZXN0UHJv
bG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48
L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0ZjJkNTVkMzQ5YjBi
MzJlN2NlYmI0MzNlOWY2ZGYzYzY1ZjgzZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwKQEAgLTAsMCArMSw0OSBA
QAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIElu
Yy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9v
ciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0
byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisq
KiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy
Z2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp
ZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhF
IE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg
S0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU
TyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoq
IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g
T0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0Yg
T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xv
Z3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX0JZVEUiLCAiLi4iLCB0ZXN0
UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMy
Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2I1NjUuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1cmVzL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdiNTY1Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmFjMTFlMjY5NmMyYjM0YTU5OWZjN2FkZWY2M2ZjOWNmZjk0MmZjMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL3RleHR1cmVzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8tcmdi
NTY1Lmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC12aWRlby5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJp
Y3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0IiLCAiVU5T
SUdORURfU0hPUlRfNV82XzUiLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBs
ZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1y
Z2JhNDQ0NC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhOTExYWEwMzc2Y2VmZDk1YmE3ZTYwNjdh
MTQ5ZDRjYmE2Nzg2ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXJnYmE0NDQ0Lmh0bWwKQEAgLTAsMCArMSw0OSBAQAor
PCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4K
KyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g
YW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBk
ZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us
IHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMg
b2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBN
YXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVz
IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1B
VEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIg
REVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3Vl
KGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzRfNF80XzQiLCB0ZXN0
UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMy
Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby1yZ2JhNTU1MS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI3ZWY2MmZmN2Q4ZmJjMWQ2YzdkOTJkOTJmMjZkNTY5Mjc3ZWFlNTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVv
LXJnYmE1NTUxLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVz
ZSBzdHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JB
IiwgIlVOU0lHTkVEX1NIT1JUXzVfNV81XzEiLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBp
ZD0iZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC12aWRlby5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12
aWRlby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1YzRhN2Y1MzRiNjliZmI5ZmQ4ZTI0YTczZDQwMzM1MDRm
NjkwOWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLXZpZGVvLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJn
bC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC12aWRlby5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJu
IHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0
KCJSR0JBIiwgIlVOU0lHTkVEX0JZVEUiLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0i
ZXhhbXBsZSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0
dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOTk2MjIxNWM4YWMy
NWY0YjY4M2FhODc0ZjNkZDE3MWM2NzNkYTAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMv
dGV4dHVyZS1hY3RpdmUtYmluZC0yLmh0bWwKQEAgLTAsMCArMSwxOTIgQEAKKzwhLS0KKworLyoK
KyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBk
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUg
TWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1p
dGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAor
KiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRl
cmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFy
ZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu
dGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJF
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBS
RVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ
RVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdF
UyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAor
KiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJ
T04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElO
IFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAg
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRpdGxlPldlYkdMIEFjdGl2ZVRl
eHR1cmUgQmluZFRleHR1cmUgY29uZm9ybWFuY2UgdGVzdCAjMjwvdGl0bGU+CisgICAgPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMi
PiA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9
IjIiIGhlaWdodD0iMiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48L2NhbnZh
cz4KKzxjYW52YXMgaWQ9ImNhbnZhczJkIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBzdHlsZT0id2lk
dGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hhZGVyIiB0
eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+Cit1bmlmb3JtIG1hdDQgd29ybGQ7CithdHRyaWJ1dGUg
dmVjMyB2UG9zaXRpb247CithdHRyaWJ1dGUgdmVjMiB0ZXhDb29yZDA7Cit2YXJ5aW5nIHZlYzIg
dGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICBnbF9Qb3NpdGlvbiA9IHdvcmxkICogdmVjNCh2
UG9zaXRpb24sIDEpOworICB0ZXhDb29yZCA9IHRleENvb3JkMDsKK30KKzwvc2NyaXB0PgorPHNj
cmlwdCBpZD0iZnNoYWRlcjJkIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNpc2lv
biBtZWRpdW1wIGZsb2F0OworCit1bmlmb3JtIHNhbXBsZXIyRCB0ZXgyZDsKK3ZhcnlpbmcgdmVj
MiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgIGdsX0ZyYWdDb2xvciA9IHRleHR1cmUyRCh0
ZXgyZCwgdGV4Q29vcmQpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyQ3ViZSIg
dHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKwor
dW5pZm9ybSBzYW1wbGVyQ3ViZSB0ZXhDdWJlOwordm9pZCBtYWluKCkKK3sKKyAgZ2xfRnJhZ0Nv
bG9yID0gdGV4dHVyZUN1YmUodGV4Q3ViZSwgdmVjMygwLDEsMCkpOworfQorPC9zY3JpcHQ+CisK
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5jdGlvbiBpbml0KCkKK3sKKyAgZGVzY3JpcHRp
b24oCisgICAgICAiVGVzdHMgdGhhdCBiaW5kaW5nIGJvdGggVEVYVFVSRV8yRCBhbmQgVEVYVFVS
RV9DVUJFX01BUCB0byB0aGUgc2FtZSIgKworICAgICAgImFjdGl2ZSB0ZXh0dXJlIHVuaXQgd29y
a3MgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgdXNlZCIgKworICAgICAgInNpbXVsdGFuZW91c2x5
IGluIHRoZSBzYW1lIHNoYWRlciBwcm9ncmFtLiIpOworCisgIHZhciBjYW52YXMyZCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMyZCIpOworICB2YXIgY3R4MmQgPSBjYW52YXMyZC5n
ZXRDb250ZXh0KCIyZCIpOworICBjdHgyZC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAiY29w
eSI7CisKKyAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICB2YXIgZ2wgPSB3dHUuY3JlYXRl
M0RDb250ZXh0KCJleGFtcGxlIik7CisgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbSgK
KyAgICAgIGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlcjJkIl0sIFsidlBvc2l0aW9uIiwgInRleENv
b3JkMCJdKTsKKworICB2YXIgcHJvZ3JhbTJkID0gcHJvZ3JhbTsKKyAgdmFyIHByb2dyYW1DdWJl
ID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICAgIGdsLCBbInZzaGFkZXIiLCAiZnNoYWRlckN1YmUi
XSwgWyJ2UG9zaXRpb24iLCAidGV4Q29vcmQwIl0pOworCisgIHZhciB2ZXJ0ZXhPYmplY3QgPSBn
bC5jcmVhdGVCdWZmZXIoKTsKKyAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIHZlcnRl
eE9iamVjdCk7CisgIGdsLmJ1ZmZlckRhdGEoCisgICAgICBnbC5BUlJBWV9CVUZGRVIsCisgICAg
ICBuZXcgRmxvYXQzMkFycmF5KFstMSwgMSwwLCAxLDEsMCwgLTEsLTEsMCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIC0xLC0xLDAsIDEsMSwwLCAgMSwtMSwwXSksCisgICAgICBnbC5TVEFUSUNf
RFJBVyk7CisgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KDApOworICBnbC52ZXJ0ZXhBdHRy
aWJQb2ludGVyKDAsIDMsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7CisKKyAgdmFyIHZlcnRleE9i
amVjdCA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZF
UiwgdmVydGV4T2JqZWN0KTsKKyAgZ2wuYnVmZmVyRGF0YSgKKyAgICAgIGdsLkFSUkFZX0JVRkZF
UiwKKyAgICAgIG5ldyBGbG9hdDMyQXJyYXkoWyAwLDAsIDEsMCwgMCwxLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIDAsMSwgMSwwLCAxLDFdKSwKKyAgICAgIGdsLlNUQVRJQ19EUkFXKTsKKyAg
Z2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMSk7CisgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIo
MSwgMiwgZ2wuRkxPQVQsIGZhbHNlLCAwLCAwKTsKKworICAvLyBNYWtlIHRleHR1cmUgdW5pdCAx
IGFjdGl2ZS4KKyAgZ2wuYWN0aXZlVGV4dHVyZShnbC5URVhUVVJFMSk7CisKKyAgLy8gTWFrZSBh
IDJkIHRleHR1cmUKKyAgdmFyIHRleDJkID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5k
VGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgyZCk7CisgIGN0eDJkLmZpbGxTdHlsZSA9ICJyZ2Jh
KDAsIDAsIDI1NSwgMjU1KSI7CisgIGN0eDJkLmZpbGxSZWN0KDAsIDAsIDEsIDEpOworICBnbC50
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVE
X0JZVEUsIGNhbnZhczJkKTsKKworICAvLyBtYWtlIGEgY3ViZSB0ZXh0dXJlCisgIHZhciB0ZXhD
dWJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NV
QkVfTUFQLCB0ZXhDdWJlKTsKKyAgY3R4MmQuZmlsbFN0eWxlID0gInJnYmEoMjU1LCAwLCAyNTUs
IDI1NSkiOworICBjdHgyZC5maWxsUmVjdCgwLCAwLCAxLCAxKTsKKyAgdmFyIHRhcmdldHMgPSBb
CisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VC
RV9NQVBfTkVHQVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ksCisg
ICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9N
QVBfUE9TSVRJVkVfWiwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1pdOworICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgdGFyZ2V0cy5sZW5ndGg7ICsraWkpIHsKKyAgICBnbC50ZXhJ
bWFnZTJEKHRhcmdldHNbaWldLCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRF
LCBjYW52YXMyZCk7CisgIH0KKworICAvLyBTZXR1cCBwcm9ncmFtMmQgYW5kIHByb2dyYW1DdWJl
CisgIHZhciB0ZXgyZExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtMmQsICJ0ZXgy
ZCIpOworICB2YXIgd29ybGQyZExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtMmQs
ICJ3b3JsZCIpOworICB2YXIgdGV4Q3ViZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9n
cmFtQ3ViZSwgInRleEN1YmUiKTsKKyAgdmFyIHdvcmxkQ3ViZUxvYyA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihwcm9ncmFtQ3ViZSwgIndvcmxkIik7CisKKyAgZ2wudXNlUHJvZ3JhbShwcm9ncmFt
MmQpOworICBnbC51bmlmb3JtMWkodGV4MmRMb2MsIDEpOworICBnbC51c2VQcm9ncmFtKHByb2dy
YW1DdWJlKTsKKyAgZ2wudW5pZm9ybTFpKHRleEN1YmVMb2MsIDEpOworCisgIGdsLmNsZWFyQ29s
b3IoMSwwLDAsMSk7CisgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9C
VUZGRVJfQklUKTsKKworICB2YXIgcHJvZ3JhbXMgPSBbcHJvZ3JhbTJkLCBwcm9ncmFtQ3ViZV07
CisgIHZhciB3b3JsZExvY3MgPSBbd29ybGQyZExvYywgd29ybGRDdWJlTG9jXTsKKyAgZm9yICh2
YXIgaWkgPSAwOyBpaSA8IDQ7ICsraWkpIHsKKyAgICB2YXIgeCA9IGlpICUgMjsKKyAgICB2YXIg
eSA9IE1hdGguZmxvb3IoaWkgLyAyKTsKKyAgICBnbC51c2VQcm9ncmFtKHByb2dyYW1zW3hdKTsK
KyAgICBnbC51bmlmb3JtTWF0cml4NGZ2KAorICAgICAgICB3b3JsZExvY3NbeF0sIGZhbHNlLAor
ICAgICAgICBbMC41LCAwLCAwLCAwLAorICAgICAgICAgMCwgMC41LCAwLCAwLAorICAgICAgICAg
MCwgMCwgMSwgMCwKKyAgICAgICAgIC0wLjUgKyB4LCAtMC41ICsgeSwgMCwgMV0pOworICAgIGds
LmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCA2KTsKKyAgfQorCisgIHZhciBjb2xvcnMgPSBb
CisgICAgICBbMCwwLDI1NSwyNTVdLAorICAgICAgWzI1NSwwLDI1NSwyNTVdLAorICAgICAgWzAs
MCwyNTUsMjU1XSwKKyAgICAgIFsyNTUsMCwyNTUsMjU1XV07CisKKyAgZm9yICh2YXIgaWkgPSAw
OyBpaSA8IGNvbG9ycy5sZW5ndGg7ICsraWkpIHsKKyAgICB2YXIgYyA9IGNvbG9yc1tpaV07Cisg
ICAgdmFyIHggPSBpaSAlIDI7CisgICAgdmFyIHkgPSBNYXRoLmZsb29yKGlpIC8gMik7CisgICAg
d3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgeCwgeSwgMSwgMSwgYyk7CisgIH0KK30KKworaW5pdCgp
OwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5Pgor
PC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS90ZXh0dXJlcy90ZXh0dXJlLWFjdGl2ZS1iaW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWI5YTc5MjE1
NDg0YTViOWQwOGVjODJkYmRjNWIxOTM2YjlmMjNjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3RleHR1
cmVzL3RleHR1cmUtYWN0aXZlLWJpbmQuaHRtbApAQCAtMCwwICsxLDE1NyBAQAorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQWN0aXZlVGV4dHVy
ZSBCaW5kVGV4dHVyZSBjb25mb3JtYW5jZSB0ZXN0LjwvdGl0bGU+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHN0eWxlPSJ3
aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXMy
ZCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7
Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgi
PgordW5pZm9ybSBtYXQ0IHdvcmxkOworYXR0cmlidXRlIHZlYzMgdlBvc2l0aW9uOworYXR0cmli
dXRlIHZlYzIgdGV4Q29vcmQwOwordmFyeWluZyB2ZWMyIHRleENvb3JkOwordm9pZCBtYWluKCkK
K3sKKyAgZ2xfUG9zaXRpb24gPSB3b3JsZCAqIHZlYzQodlBvc2l0aW9uLCAxKTsKKyAgdGV4Q29v
cmQgPSB0ZXhDb29yZDA7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2
YXIgZ2w7CisKK2Z1bmN0aW9uIGluaXQoKQoreworICBkZXNjcmlwdGlvbigKKyAgICAgICJUZXN0
cyB0aGF0IGdsQWN0aXZlVGV4dHVyZSBhbmQgZ2xCaW5kVGV4dHVyZSB3b3JrIGFzIGV4cGVjdGVk
IiArCisgICAgICAiU3BlY2lmaWNhbGx5IHRleHR1cmUgdGFyZ2V0cyBhcmUgcGVyIGFjdGl2ZSB0
ZXh0dXJlIHVuaXQuIik7CisKKyAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNhbnZhczJkIik7CisgIHZhciBjdHgyZCA9IGNhbnZhczJkLmdldENvbnRleHQoIjJkIik7
CisKKyAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoImV4YW1wbGUiKTsKKyAgdmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgICAg
Z2wsCisgICAgICBbInZzaGFkZXIiLCB3dHUuc2V0dXBTaW1wbGVUZXh0dXJlRnJhZ21lbnRTaGFk
ZXIoZ2wpXSwKKyAgICAgIFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCddKTsKKyAgd3R1LnNldHVw
VW5pdFF1YWQoZ2wpOworICBnbC5kaXNhYmxlKGdsLkRFUFRIX1RFU1QpOworICBnbC5kaXNhYmxl
KGdsLkJMRU5EKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKKyAgdmFy
IGNvbG9ycyA9IFsKKyAgICAgIFswLDE5MiwxMjgsMjU1XSwKKyAgICAgIFsxMjgsNjQsMjU1LDI1
NV0sCisgICAgICBbMTkyLDI1NSw2NCwyNTVdLAorICAgICAgWzIwMCwwLDI1NSwyNTVdXTsKKwor
ICAvLyBNYWtlIDQgdGV4dHVyZXMgYnkgdXNpbmcgNCBhY3RpdmUgdGV4dHVyZSB1bml0cyBpZiBh
dmFpbGFibGUuCisgIHZhciB0ZXh1bml0cyA9IE1hdGgubWluKGNvbG9ycy5sZW5ndGgsIGdsLmdl
dFBhcmFtZXRlcihnbC5NQVhfQ09NQklORURfVEVYVFVSRV9JTUFHRV9VTklUUykpCisgIHZhciB0
ZXh0dXJlcyA9IFtdOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgdGV4dW5pdHM7ICsraWkpIHsK
KyAgICB2YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIGdsLmFjdGl2ZVRleHR1cmUo
Z2wuVEVYVFVSRTAgKyBpaSk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4
KTsKKyAgICB0ZXh0dXJlc1tpaV0gPSB0ZXg7CisgIH0KKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBn
bC5OT19FUlJPUik7CisKKyAgLy8gbm93IHVzZSBlYWNoIHRleHR1cmUgdW5pdCB0byB3cml0ZSBp
bnRvIHRoZSB0ZXh0dXJlcywKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRleHVuaXRzOyArK2lp
KSB7CisgICAgdmFyIGMgPSBjb2xvcnNbaWldOworICAgIGN0eDJkLmZpbGxTdHlsZSA9CisgICAg
ICAgICJyZ2JhKCIgKyBjWzBdICsgIiwiICsgY1sxXSArICIsIiArIGNbMl0gKyAiLCIgKyBjWzNd
ICsgIikiOworICAgIGN0eDJkLmZpbGxSZWN0KDAsIDAsIDEsIDEpOworICAgIGdsLmFjdGl2ZVRl
eHR1cmUoZ2wuVEVYVFVSRTAgKyBpaSk7CisgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJE
LCAwLCBnbC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBjYW52YXMyZCk7CisgIH0K
KyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKKyAgdmFyIHRleHR1cmVMb2Mg
PSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOworICB2YXIgd29ybGRMb2Mg
PSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgIndvcmxkIik7CisgIGdsRXJyb3JTaG91
bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCisgIGdsLmNsZWFyQ29sb3IoMSwwLDAsMSk7CisgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKworICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgdGV4dW5pdHM7ICsraWkpIHsKKyAgICB2YXIgeCA9IGlpICUg
MjsKKyAgICB2YXIgeSA9IE1hdGguZmxvb3IoaWkgLyAyKTsKKyAgICBnbC51bmlmb3JtMWkodGV4
dHVyZUxvYywgaWkpOworICAgIGdsLnVuaWZvcm1NYXRyaXg0ZnYoCisgICAgICAgIHdvcmxkTG9j
LCBmYWxzZSwKKyAgICAgICAgWzAuNSwgMCwgMCwgMCwKKyAgICAgICAgIDAsIDAuNSwgMCwgMCwK
KyAgICAgICAgIDAsIDAsIDEsIDAsCisgICAgICAgICAtMC41ICsgeCwgLTAuNSArIHksIDAsIDFd
KTsKKyAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgNik7CisgIH0KKyAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRl
eHVuaXRzOyArK2lpKSB7CisgICAgdmFyIGMgPSBjb2xvcnNbaWldOworICAgIHZhciB4ID0gaWkg
JSAyOworICAgIHZhciB5ID0gTWF0aC5mbG9vcihpaSAvIDIpOworICAgIHZhciBidWYgPSBuZXcg
VWludDhBcnJheSg0KTsKKyAgICBnbC5yZWFkUGl4ZWxzKHgsIHksIDEsIDEsIGdsLlJHQkEsIGds
LlVOU0lHTkVEX0JZVEUsIGJ1Zik7CisgICAgdmFyIG1zZyA9ICdleHBlY3RlZDonICsKKyAgICAg
ICAgY1swXSArICcsICcgKyBjWzFdICsgJywgJyArIGNbMl0gKyAnLCAnICsgY1szXSArICcgZm91
bmQ6ICcgKworICAgICAgICBidWZbMF0gKyAnLCAnICsKKyAgICAgICAgYnVmWzFdICsgJywgJyAr
CisgICAgICAgIGJ1ZlsyXSArICcsICcgKworICAgICAgICBidWZbM107CisgICAgaWYgKGJ1Zlsw
XSAhPSBjWzBdIHx8CisgICAgICAgIGJ1ZlsxXSAhPSBjWzFdIHx8CisgICAgICAgIGJ1ZlsyXSAh
PSBjWzJdIHx8CisgICAgICAgIGJ1ZlszXSAhPSBjWzNdKQorICAgICAgdGVzdEZhaWxlZChtc2cp
OworICAgIGVsc2UKKyAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgfQorfQorCitpbml0KCk7Cit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwv
aHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJl
cy90ZXh0dXJlLW1pcHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YWQyZTZmYTk1ZTQ2NmVmNWE4YTIxYjU5
Zjg4MTMyMDUyNzVjZTQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1taXBz
Lmh0bWwKQEAgLTAsMCArMSwzMTkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAx
MiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkg
b2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVy
bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp
bmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
TWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJ
VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xV
RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT
IEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVS
SUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLwor
CistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPldlYkdMIHRleHR1cmUgbWlwcyBjb25mb3JtYW5jZSB0ZXN0LjwvdGl0
bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIy
IiBoZWlnaHQ9IjIiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK3VuaWZvcm0g
dmVjNCB1TXVsdDsKK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK2F0dHJpYnV0ZSB2ZWMyIHRl
eENvb3JkMDsKK3ZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xf
UG9zaXRpb24gPSB2UG9zaXRpb24gKiB1TXVsdDsKKyAgICB0ZXhDb29yZCA9IHRleENvb3JkMDsK
K30KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94LWZy
YWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSBzYW1wbGVyMkQgdGV4
OwordmFyeWluZyB2ZWMyIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29s
b3IgPSB0ZXh0dXJlMkQodGV4LCB0ZXhDb29yZCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7Cit2YXIgY2FudmFzOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworZnVu
Y3Rpb24gaW5pdCgpCit7CisgIGRlc2NyaXB0aW9uKCJDaGVja3MgbWlwIGlzc3VlcyIpOworCisg
IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFtcGxlIik7CisgIHNob3VsZEJl
KCJjYW52YXMud2lkdGgiLCAiMiIpOworICBzaG91bGRCZSgiY2FudmFzLmhlaWdodCIsICIyIik7
CisKKyAgdmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworCisgIHZhciB0ZXgg
PSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRl
eCk7CisgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpOworICBnbEVycm9yU2hvdWxk
QmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZm9yIGdlbmVyYXRlTWlwbWFwIHdpdGggbWlw
IDAgaXMgMHgwIik7CisgIGdsLnRleEltYWdlMkQoCisgICAgICBnbC5URVhUVVJFXzJELCAxLCBn
bC5SR0JBLCAxLCAxLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLAorICAgICAgbmV3IFVp
bnQ4QXJyYXkoNCkpOworICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKTsKKyAgZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImZvciBnZW5lcmF0ZU1pcG1h
cCB3aXRoIG1pcCAwIGlzIDB4MCIpOworCisgIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAg
Z2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4KTsKKyAgZ2wuZ2VuZXJhdGVN
aXBtYXAoZ2wuVEVYVFVSRV9DVUJFX01BUCk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5W
QUxJRF9PUEVSQVRJT04sICJmb3IgZ2VuZXJhdGVNaXBtYXAgd2l0aCBtaXAgMCBpcyAweDAiKTsK
KworICB2YXIgZmFjZXMgPSBbCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAor
ICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICBnbC5URVhUVVJFX0NVQkVf
TUFQX1BPU0lUSVZFX1ksCisgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICAg
IGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQ
X05FR0FUSVZFX1oKKyAgXTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IGZhY2VzLmxlbmd0aDsg
KytpaSkgeworICAgIGdsLnRleEltYWdlMkQoCisgICAgICAgIGZhY2VzW2lpXSwgMCwgZ2wuUkdC
QSwgMiwgMiwgMCwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwKKyAgICAgICAgbmV3IFVpbnQ4
QXJyYXkoNCAqIDIgKiAyKSk7CisgICAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV9DVUJF
X01BUCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBpaSA9PSA1ID8gZ2wuTk9fRVJST1IgOiBn
bC5JTlZBTElEX09QRVJBVElPTiwgImZvciBnZW5lcmF0ZU1pcG1hcCB3aXRoICIgKyAoaWkgKyAx
KSArICIgZmFjZXMiKTsKKyAgfQorCisgIHd0dS5zZXR1cFVuaXRRdWFkKGdsLCAwLCAxKTsKKyAg
dmFyIHByb2dyYW0gPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgICAgZ2wsIFsndnNoYWRlcicsICdm
c2hhZGVyJ10sIFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCddLCBbMCwgMV0pOworCisgIGdsLmRp
c2FibGUoZ2wuREVQVEhfVEVTVCk7CisgIGdsLmRpc2FibGUoZ2wuQkxFTkQpOworCisgIHZhciBj
b2xvcnMgPSB7CisgICAgYmx1ZTogWzAsIDAsIDI1NSwgMjU1XSwKKyAgICByZWQ6IFsyNTUsIDAs
IDAsIDI1NV0sCisgICAgZ3JlZW46ICBbMCwgMjU1LCAwLCAyNTVdLAorICAgIGN5YW46IFsxMjgs
IDI1NSwgMjU1LCAyNTVdLAorICAgIGJsYWNrOiBbMCwgMCwgMCwgMjU1XSwKKyAgICBibGFuazog
WzAsIDAsIDAsIDBdCisgIH07CisKKyAgdmFyIG1pcHMgPSBbCisgIF07CisKKyAgdmFyIHRleExv
YyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CisgIGdsLnVuaWZvcm0x
aSh0ZXhMb2MsIDApOworICB2YXIgbXVsdExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9n
cmFtLCAidU11bHQiKTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCisgIHZhciBjbGVhclRleCA9IGNyZWF0ZVRleHR1cmUoKTsKKyAg
Z2wudW5pZm9ybTRmKG11bHRMb2MsIDEsIDEsIDEsIDEpOworICBnbC5iaW5kVGV4dHVyZShnbC5U
RVhUVVJFXzJELCBjbGVhclRleCk7CisgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwg
Z2wuUkdCQSwgMTYsIDE2LCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKyAg
ZGVidWcoJ2dsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMTYsIDE2LCAw
LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsnKTsKKyAgc2V0TWlwRGF0YSgwLCAx
NiwgJ2JsYW5rJyk7CisgIG1ha2VEaXZNaXBDaGFpbigpOworICBnZW5lcmF0ZU1pcG1hcCgpOwor
ICBjaGVjaygnYmxhbmsnLCAidGV4dHVyZSBjcmVhdGVkIHdpdGggbnVsbCB0aGF0IGhhcyBhbGwg
bWlwcyIpOworCisgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKyAgdmFyIHRleCA9IGNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wudW5pZm9ybTRm
KG11bHRMb2MsIDEsIDEsIDEsIDEpOworCisgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQs
IHRleCk7CisgIC8vIDE2eDE2IHRleHR1cmUgbm8gbWlwcworICBmaWxsTGV2ZWwodGV4LCAwLCAx
NiwgJ2N5YW4nKTsKKworICBjaGVjaygnYmxhY2snLAorICAgICAgICAidGV4dHVyZSB0aGF0IGlz
IG1pc3NpbmcgbWlwcyB3aGVuIFRFWFRVUkVfTUlOX0ZJTFRFUiBub3QgTkVBUkVTVCBvciBMSU5F
QVIiKTsKKworICBnZW5lcmF0ZU1pcG1hcCgpOworCisgIGNoZWNrKCdjeWFuJywgInRleHR1cmUg
dGhhdCBoYXMgYWxsIG1pcHMiKTsKKworICAvLyBGaWxsIGluIHRoZSBib3R0b20gMiBtaXBzIHdp
dGggYSBkaWZmZXJlbnQgY29sb3IuCisgIGZpbGxMZXZlbCh0ZXgsIDQsIDEsICdncmVlbicpOwor
ICBmaWxsTGV2ZWwodGV4LCAzLCAyLCAnZ3JlZW4nKTsKKworICAvLyBDaG9vc2UgdGhlIG5lYXJl
c3QgbWlwCisgIHRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklM
VEVSLCBnbC5MSU5FQVJfTUlQTUFQX05FQVJFU1QpOworCisgIGNoZWNrKCdncmVlbicsICJ0ZXh0
dXJlIHRoYXQgaXMgb25seSB1c2luZyB0aGUgc21hbGxlc3QgMiBtaXBzIik7CisKKyAgZ2wudW5p
Zm9ybTRmKG11bHRMb2MsIDE2LCAxNiwgMSwgMSk7CisKKyAgY2hlY2soJ2N5YW4nLCAidGV4dHVy
ZSB0aGF0IGlzIHVzaW5nIG9ubHkgdGhlIGxhcmdlc3QgMiBtaXBzIik7CisKKyAgLy8gU2V0IHRo
ZSB0b3AgbGV2ZWwKKyAgZmlsbExldmVsKHRleCwgMCwgMSwgJ3JlZCcpOworICBjaGVjaygncmVk
JywKKyAgICAgICAgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRoZSB0b3AgbGV2ZWwgZXZl
biB0aG91Z2ggb3RoZXIgbGV2ZWxzIGFyZSBkZWZpbmVkIik7CisKKyAgLy8gU2V0IHRoZSB0b3Ag
MiBsZXZlbHMgdXNpbmcgZ2VuZXJhdGVNaXBtYXAKKyAgZmlsbExldmVsKHRleCwgMCwgMiwgJ2Js
dWUnKTsKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKworICBjaGVjaygnYmx1ZScsCisgICAgICAgICJ0
ZXh0dXJlIHRoYXQgaXMgb25seSB1c2luZyB0aGUgdG9wIDIgbGV2ZWxzIGV2ZW4gdGhvdWdoIG90
aGVyIGxldmVscyBhcmUgZGVmaW5lZCIpOworCisgIC8vIFNldCB0aGUgdG9wIDIgbGV2ZWxzIGJh
Y2sgdG8gc2l6ZXMgdGhhdCBlbmQgdXAgdXNpbmcgbGV2ZWxzIDIsIDMsIGFuZCA0IGFnYWluLgor
ICBmaWxsTGV2ZWwodGV4LCAwLCAxNiwgJ2JsdWUnKTsKKyAgZmlsbExldmVsKHRleCwgMSwgOCwg
J2JsdWUnKTsKKyAgY2hlY2soJ2JsdWUnLCAidGV4dHVyZSB0aGF0IGlzIG9ubHkgdXNpbmcgdGhl
IGxhcmdlc3QgMiBtaXBzIik7CisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAxLCAxLCAxLCAxKTsK
KyAgY2hlY2soJ2dyZWVuJywgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRoZSBzbWFsbGVz
dCAyIG1pcHMiKTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisgIHZhciB0ZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGdsLnVuaWZv
cm00ZihtdWx0TG9jLCAxLCAxLCAxLCAxKTsKKyAgZmlsbExldmVsKHRleCwgMCwgOCwgJ2N5YW4n
KTsKKyAgZ2VuZXJhdGVNaXBtYXAoKTsKKyAgY2hlY2soJ2N5YW4nLCAidGV4dHVyZSB0aGF0IGhh
cyAzIG1pcHMiKTsKKworICBmaWxsTGV2ZWwodGV4LCAwLCAxNiwgJ2JsdWUnKTsKKyAgdGV4UGFy
YW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUik7
CisgIGNoZWNrKCdibHVlJywgInRleHR1cmUgdGhhdCBpcyBvbmx5IHVzaW5nIHRvcCBtaXBzIik7
CisKKyAgZmlsbExldmVsKHRleCwgMCwgOCwgJ3JlZCcpOworICB0ZXhQYXJhbWV0ZXJpKGdsLlRF
WFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTElORUFSX01JUE1BUF9ORUFSRVNU
KTsKKyAgY2hlY2soJ2N5YW4nLCAidGV4dHVyZSB0aGF0IGlzIG9ubHkgdXNpbmcgc21hbGxlc3Qg
bWlwcyIpOworCisgIGdsLnVuaWZvcm00ZihtdWx0TG9jLCAxNiwgMTYsIDEsIDEpOworICBjaGVj
aygncmVkJywgInRleHR1cmUgdGhhdCBpcyB1c2luZyBvbmx5IHRoZSBsYXJnZXN0IG1pcCIpOwor
CisgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKyAgdmFyIHRleCA9IGNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wudW5pZm9ybTRmKG11bHRMb2Ms
IDEsIDEsIDEsIDEpOworICBmaWxsTGV2ZWwodGV4LCAyLCAxLCAnZ3JlZW4nKTsKKyAgZmlsbExl
dmVsKHRleCwgMSwgMiwgJ2dyZWVuJyk7CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDQsICdncmVlbicp
OworICBjaGVjaygnZ3JlZW4nLCAidGV4dHVyZSB0aGF0IHdhcyBidWlsdCBzbWFsbGVzdCBtaXAg
Zmlyc3QiKTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisgIHZhciB0ZXggPSBjcmVhdGVUZXh0dXJlKCk7CisgIGdsLnVuaWZvcm00
ZihtdWx0TG9jLCAxLCAxLCAxLCAxKTsKKyAgZmlsbExldmVsKHRleCwgMCwgMTYsICdyZWQnKTsK
KyAgZ2VuZXJhdGVNaXBtYXAoKTsKKyAgY2hlY2soJ3JlZCcsICJ0ZXh0dXJlIHdpdGggMSBnZW5t
aXBtYXBzIik7CisgIGZpbGxMZXZlbCh0ZXgsIDAsIDE2LCAnYmx1ZScpOworICBnZW5lcmF0ZU1p
cG1hcCgpOworICBmaWxsTGV2ZWwodGV4LCAwLCAxNiwgJ2dyZWVuJyk7CisgIGdlbmVyYXRlTWlw
bWFwKCk7CisgIGNoZWNrKCdncmVlbicsICJ0ZXh0dXJlIHdpdGggMiBnZW5taXBtYXBzIik7CisK
KyAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiU2hvdWxkIGJlIG5vIGVycm9y
cy4iKTsKKworICBmdW5jdGlvbiBjcmVhdGVUZXh0dXJlKCkgeworICAgIGRlYnVnKCI8aHIvPmds
LmNyZWF0ZVRleHR1cmUoKSIpOworICAgIG1pcHMgPSBbXTsKKyAgICBtYWtlRGl2TWlwQ2hhaW4o
KTsKKyAgICByZXR1cm4gZ2wuY3JlYXRlVGV4dHVyZSgpOworICB9CisKKyAgZnVuY3Rpb24gdGV4
UGFyYW1ldGVyaSh0YXJnZXQsIHBuYW1lLCB2YWx1ZSkgeworICAgIGRlYnVnKCJnbC50ZXhQYXJh
bWV0ZXJpKCIgKworICAgICAgICAgIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgdGFyZ2V0KSArICIs
ICIgKworICAgICAgICAgIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgcG5hbWUpICsgIiwgIiArCisg
ICAgICAgICAgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB2YWx1ZSkgKyAiKSIpCisgICAgZ2wudGV4
UGFyYW1ldGVyaSh0YXJnZXQsIHBuYW1lLCB2YWx1ZSk7CisgIH0KKworICBmdW5jdGlvbiBnZW5l
cmF0ZU1pcG1hcCgpIHsKKyAgICBkZWJ1ZygiZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8y
RCkiKTsKKyAgICBnbC5nZW5lcmF0ZU1pcG1hcChnbC5URVhUVVJFXzJEKTsKKyAgICB2YXIgbWlw
MCA9IG1pcHNbMF07CisgICAgdmFyIHNpemUgPSBtaXAwLnNpemU7CisgICAgdmFyIGxldmVsID0g
MTsKKyAgICBmb3IoOzspIHsKKyAgICAgIHNpemUgPSBNYXRoLmZsb29yKHNpemUgLyAyKTsKKyAg
ICAgIGlmICghc2l6ZSkgeworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIHNldE1pcERh
dGEobGV2ZWwsIHNpemUsIG1pcDAuY29sb3IpOworICAgICAgKytsZXZlbDsKKyAgICB9CisgICAg
bWFrZURpdk1pcENoYWluKCk7CisgIH0KKworICBmdW5jdGlvbiBjaGVjayhjb2xvciwgbXNnKSB7
CisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIGNvbG9yc1tj
b2xvcl0sIG1zZyArICIgc2hvdWxkIGRyYXcgd2l0aCAiICsgY29sb3IpOworICB9CisKKyAgZnVu
Y3Rpb24gZmlsbExldmVsKHRleCwgbGV2ZWwsIHNpemUsIGNvbG9yKSB7CisgICAgc2V0TWlwRGF0
YShsZXZlbCwgc2l6ZSwgY29sb3IpOworICAgIGRlYnVnKCJnbC50ZXhJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsICIgKyBsZXZlbCArICIsIGdsLlJHQkEsICIgKyBzaXplICsgIiwgIiArIHNpemUgKwor
ICAgICAgICAgICIsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsICIgKyBjb2xvciArICIp
OyIpOworICAgIHd0dS5maWxsVGV4dHVyZShnbCwgdGV4LCBzaXplLCBzaXplLCBjb2xvcnNbY29s
b3JdLCBsZXZlbCk7CisgICAgbWFrZURpdk1pcENoYWluKCk7CisgIH0KKworICBmdW5jdGlvbiBz
ZXRNaXBEYXRhKGxldmVsLCBzaXplLCBjb2xvcikgeworICAgIG1pcHNbbGV2ZWxdID0geworICAg
ICAgc2l6ZTogc2l6ZSwKKyAgICAgIGNvbG9yOiBjb2xvcgorICAgIH07CisgIH0KKworICBmdW5j
dGlvbiBtYWtlRGl2TWlwQ2hhaW4oY29sb3IpIHsKKyAgICB2YXIgaHRtbCA9IFsKKyAgICAgICc8
ZGl2IHN0eWxlPSJoZWlnaHQ6IDY4cHg7IG1hcmdpbi10b3A6IDVweCI+JywKKyAgICAgICc8ZGl2
IHN0eWxlPSJmbG9hdDpsZWZ0OyI+bWlwczogPC9kaXY+J107CisgICAgZm9yICh2YXIgaWkgPSAw
OyBpaSA8IDU7ICsraWkpIHsKKyAgICAgIHZhciBtaXAgPSBtaXBzW2lpXTsKKyAgICAgIGlmICht
aXApIHsKKyAgICAgICAgaHRtbC5wdXNoKG1ha2VEaXZTcXVhcmUobWlwLnNpemUsIG1pcC5jb2xv
cikpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgaHRtbC5wdXNoKG1ha2VEaXZTcXVhcmUoMTYs
IHVuZGVmaW5lZCkpOworICAgICAgfQorICAgIH0KKyAgICBodG1sLnB1c2goIjwvZGl2PiIpOwor
ICAgIGRlYnVnKGh0bWwuam9pbigiIikpOworICB9CisKKyAgZnVuY3Rpb24gbWFrZURpdlNxdWFy
ZShzaXplLCBjb2xvcikgeworICAgIHNpemUgKj0gNDsKKyAgICB2YXIgYyA9IGNvbG9yID8gY29s
b3JzW2NvbG9yXSA6IFsyNTUsMjU1LDI1NV07CisgICAgdmFyIGJvcmRlciA9IGNvbG9yID8gJ3Nv
bGlkJyA6ICdkYXNoZWQnOworICAgIHJldHVybiAnPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lk
dGg6ICcgKyBzaXplICsgJ3B4OyBoZWlnaHQ6ICcgKyBzaXplICsKKyAgICAgICAgICAgJ3B4OyBi
YWNrZ3JvdW5kLWNvbG9yOiAnICsgcmdiKGMpICsKKyAgICAgICAgICAgJzsgYm9yZGVyOiAxcHgg
JyArIGJvcmRlciArICcgYmxhY2s7IG1hcmdpbi1yaWdodDogM3B4OyI+PC9kaXY+JzsKKyAgfQor
CisgIGZ1bmN0aW9uIHJnYihjKSB7CisgICAgcmV0dXJuICdyZ2IoJyArIGNbMF0gKyAnLCcgKyBj
WzFdICsgJywnICsgY1syXSArJyknOworICB9Cit9CisKK2luaXQoKTsKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZpZGVvLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LW5wb3QtdmlkZW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZWY4M2I2ZmQ4NTFlM2M3MWIyODdjZTA4MGM1
YmRmM2VkYTI3NjM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1ucG90LXZp
ZGVvLmh0bWwKQEAgLTAsMCArMSwxNzkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3ZhciB3dHUgPSBXZWJHTFRl
c3RVdGlsczsKK3ZhciBnbCA9IG51bGw7Cit2YXIgdGV4dHVyZUxvYyA9IG51bGw7Cit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7CisKK2luaXRUZXN0aW5nSGFybmVzc1dhaXRVbnRpbERv
bmUoKTsKKworZnVuY3Rpb24gaW5pdCgpCit7CisgICAgZGVzY3JpcHRpb24oJ1ZlcmlmeSBucG90
IHZpZGVvJyk7CisKKyAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4
YW1wbGUiKTsKKyAgICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKKyAgICB2YXIg
cHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CisKKyAgICBnbC5jbGVhckNvbG9y
KDAsMCwwLDEpOworICAgIGdsLmNsZWFyRGVwdGgoMSk7CisKKyAgICB0ZXh0dXJlTG9jID0gZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKKworICAgIHZhciB2aWRlbyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2aWQiKTsKKyAgICB2aWRlby5hZGRFdmVudExpc3RlbmVy
KAorICAgICAgICAicGxheWluZyIsIGZ1bmN0aW9uKCkgeyBydW5UZXN0KHZpZGVvKTsgfSwgdHJ1
ZSk7CisgICAgdmlkZW8ubG9vcCA9IHRydWU7CisgICAgdmlkZW8ucGxheSgpOworfQorCisvLyBU
aGVzZSB0d28gZGVjbGFyYXRpb25zIG5lZWQgdG8gYmUgZ2xvYmFsIGZvciAic2hvdWxkQmUiIHRv
IHNlZSB0aGVtCit2YXIgYnVmID0gbnVsbDsKK3ZhciBpZHggPSAwOwordmFyIHBpeGVsID0gWzAs
IDAsIDBdOwordmFyIGNvcnJlY3RDb2xvciA9IG51bGw7Cit2YXIgdGV4dHVyZTsKKworZnVuY3Rp
b24gcnVuT25lSXRlcmF0aW9uKHZpZGVvRWxlbWVudCwgdXNlVGV4U3ViSW1hZ2UyRCwgZmxpcFks
IHRvcENvbG9yLCBib3R0b21Db2xvciwgYmFkTWluRmlsdGVyLCBiYWRDbGFtcCwgZ2VuTWlwcykK
K3sKKyAgICBkZWJ1ZygnVGVzdGluZyAnICsgKHVzZVRleFN1YkltYWdlMkQgPyAndGV4U3ViSW1h
Z2UyRCcgOiAndGV4SW1hZ2UyRCcpICsKKyAgICAgICAgICAnIHdpdGggZmxpcFk9JyArIGZsaXBZ
KTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJ
VCk7CisgICAgLy8gRGlzYWJsZSBhbnkgd3JpdGVzIHRvIHRoZSBhbHBoYSBjaGFubmVsCisgICAg
Z2wuY29sb3JNYXNrKDEsIDEsIDEsIDApOworICAgIGlmICghdGV4dHVyZSkgeworICAgICAgICB0
ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgIH0KKyAgICAvLyBCaW5kIHRoZSB0ZXh0
dXJlIHRvIHRleHR1cmUgdW5pdCAwCisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwg
dGV4dHVyZSk7CisgICAgLy8gU2V0IHVwIHBpeGVsIHN0b3JlIHBhcmFtZXRlcnMKKyAgICBnbC5w
aXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCBmbGlwWSk7CisgICAgLy8gVXBsb2Fk
IHRoZSB2aWRlb0VsZW1lbnQgaW50byB0aGUgdGV4dHVyZQorICAgIGRlYnVnKCJzaXplOiAiICsg
dmlkZW9FbGVtZW50LnZpZGVvV2lkdGggKyAieCIgKyB2aWRlb0VsZW1lbnQudmlkZW9IZWlnaHQp
OworICAgIGlmICh1c2VUZXhTdWJJbWFnZTJEKSB7CisgICAgICAgIC8vIEluaXRpYWxpemUgdGhl
IHRleHR1cmUgdG8gYmxhY2sgZmlyc3QKKyAgICAgICAgZGVidWcoInVzZSB0ZXhTdWJJbWFnZTJE
Iik7CisgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwKKyAg
ICAgICAgICAgICAgICAgICAgICB2aWRlb0VsZW1lbnQudmlkZW9XaWR0aCwgdmlkZW9FbGVtZW50
LnZpZGVvSGVpZ2h0LCAwLAorICAgICAgICAgICAgICAgICAgICAgIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIG51bGwpOworICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIDAsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHZpZGVvRWxlbWVudCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgZGVidWcoInVzZSB0ZXhJbWFnZTJEIik7CisgICAgICAgIGdsLnRl
eEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURf
QllURSwgdmlkZW9FbGVtZW50KTsKKyAgICB9CisKKyAgICAvLyBTZXQgdXAgdGV4dHVyZSBwYXJh
bWV0ZXJzCisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01B
R19GSUxURVIsIGdsLkxJTkVBUik7CisgICAgaWYgKGJhZE1pbkZpbHRlcikgeworICAgICAgICBk
ZWJ1ZygiYmFkIG1pbiBmaWx0ZXIiKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhU
VVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCk7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVidWcoImdvb2QgbWluIGZpbHRlciIpOworICAgICAg
ICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwg
Z2wuTElORUFSKTsKKyAgICB9CisgICAgaWYgKGJhZENsYW1wKSB7CisgICAgICAgIGRlYnVnKCJi
YWQgY2xhbXAiKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5U
RVhUVVJFX1dSQVBfUywgZ2wuUkVQRUFUKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5U
RVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wuUkVQRUFUKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBkZWJ1ZygiZ29vZCBjbGFtcCIpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGds
LlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICAg
ICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wu
Q0xBTVBfVE9fRURHRSk7CisgICAgfQorICAgIGlmIChnZW5NaXBzKSB7CisgICAgICAgIGRlYnVn
KCJnZW5lcmF0ZSBtaXBzIik7CisgICAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVf
MkQpOworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAi
c2hvdWxkIGJlIElOVkFMSURfT1BFUkFUSU9OIik7CisgICAgfQorCisgICAgZ2wuYmluZFRleHR1
cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8y
RCwgdGV4dHVyZSk7CisKKy8vICAgIHZhciBjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2Fu
dmFzIik7CisvLyAgICBjLndpZHRoID0gMTY7CisvLyAgICBjLmhlaWdodCA9IDE2OworLy8gICAg
Yy5zdHlsZS5ib3JkZXIgPSAiMXB4IHNvbGlkIGJsYWNrIjsKKy8vICAgIHZhciBjdHggPSBjLmdl
dENvbnRleHQoIjJkIik7CisvLyAgICBjdHguZHJhd0ltYWdlKHZpZGVvRWxlbWVudCwgMCwgMCwg
MTYsIDE2KTsKKy8vICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYyk7CisKKyAgICAvLyBQ
b2ludCB0aGUgdW5pZm9ybSBzYW1wbGVyIHRvIHRleHR1cmUgdW5pdCAwCisgICAgZ2wudW5pZm9y
bTFpKHRleHR1cmVMb2MsIDApOworICAgIC8vIERyYXcgdGhlIHRyaWFuZ2xlcworICAgIHd0dS5k
cmF3UXVhZChnbCwgWzAsIDAsIDAsIDI1NV0pOworICAgIC8vIENoZWNrIGEgZmV3IHBpeGVscyBu
ZWFyIHRoZSB0b3AgYW5kIGJvdHRvbSBhbmQgbWFrZSBzdXJlIHRoZXkgaGF2ZQorICAgIC8vIHRo
ZSByaWdodCBjb2xvci4KKyAgICBkZWJ1ZygiQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIiKTsK
KyAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCA0LCA0LCAyLCAyLCBib3R0b21Db2xvciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJzaG91bGRCZSAiICsgYm90dG9tQ29sb3IpOworICAgIGRl
YnVnKCJDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lciIpOworICAgIHd0dS5jaGVja0NhbnZhc1Jl
Y3QoZ2wsIDQsIGdsLmNhbnZhcy5oZWlnaHQgLSA4LCAyLCAyLCB0b3BDb2xvciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJzaG91bGRCZSAiICsgdG9wQ29sb3IpOworICAgIGRlYnVnKCIiKTsK
K30KKworZnVuY3Rpb24gcnVuVGVzdCh2aWRlb0VsZW1lbnQpCit7CisgICAgdmFyIHJlZCA9IFsy
NTUsIDAsIDBdOworICAgIHZhciBncmVlbiA9IFswLCAyNTUsIDBdOworICAgIHZhciBibGFjayA9
IFswLCAwLCAwXTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50LCBmYWxzZSwgdHJ1
ZSwgYmxhY2ssIGJsYWNrLCB0cnVlLCB0cnVlLCB0cnVlKTsKKyAgICBydW5PbmVJdGVyYXRpb24o
dmlkZW9FbGVtZW50LCBmYWxzZSwgdHJ1ZSwgYmxhY2ssIGJsYWNrLCB0cnVlLCBmYWxzZSwgZmFs
c2UpOworICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZhbHNlLCB0cnVlLCBibGFj
aywgYmxhY2ssIGZhbHNlLCB0cnVlLCBmYWxzZSk7CisgICAgcnVuT25lSXRlcmF0aW9uKHZpZGVv
RWxlbWVudCwgZmFsc2UsIHRydWUsIGJsYWNrLCBibGFjaywgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOwor
ICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIGZhbHNlLCB0cnVlLCBncmVlbiwgcmVk
LCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBydW5PbmVJdGVyYXRpb24odmlkZW9FbGVtZW50
LCBmYWxzZSwgZmFsc2UsIHJlZCwgZ3JlZW4sIGZhbHNlLCBmYWxzZSwgZmFsc2UpOworICAgIHJ1
bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIHRydWUsIHRydWUsIGdyZWVuLCByZWQsIGZhbHNl
LCBmYWxzZSwgZmFsc2UpOworICAgIHJ1bk9uZUl0ZXJhdGlvbih2aWRlb0VsZW1lbnQsIHRydWUs
IGZhbHNlLCByZWQsIGdyZWVuLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKKworICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91bGQgYmUgbm8gZXJyb3JzIik7CisgICAgdmlk
ZW9FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBsYXlpbmciLCBydW5UZXN0KTsKKyAgICBm
aW5pc2hUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0iaW5pdCgp
Ij4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSI2NCIgaGVpZ2h0PSI0OCI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
Kzx2aWRlbyBpZD0idmlkIiBzdHlsZT0iZGlzcGxheTpub25lOyI+CisgIDxzb3VyY2Ugc3JjPSIu
Li9yZXNvdXJjZXMvbnBvdC12aWRlby5tcDQiICB0eXBlPSd2aWRlby9tcDQ7IGNvZGVjcz0iYXZj
MS40MkUwMUUiJyAvPgorICA8c291cmNlIHNyYz0iLi4vcmVzb3VyY2VzL25wb3QtdmlkZW8ud2Vi
bXZwOC53ZWJtIiB0eXBlPSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOCInIC8+CisgIDxzb3VyY2Ug
c3JjPSIuLi9yZXNvdXJjZXMvbnBvdC12aWRlby50aGVvcmEub2d2IiAgdHlwZT0ndmlkZW8vb2dn
OyBjb2RlY3M9InRoZW9yYSInIC8+Cis8L3ZpZGVvPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJl
LXNpemUtbGltaXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40M2RhOWE2M2QzZTE3ODEzNGUyMDU5NzE1NWFj
Yzc5OGQ4MjNlNTY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLWxp
bWl0Lmh0bWwKQEAgLTAsMCArMSwxNTkgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykg
MjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkg
Z3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNv
cHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz
ICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3Vi
bGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiog
cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIs
IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElO
Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5U
QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF
TUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJ
U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1B
VEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisq
LworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHRleHR1cmUgc2l6ZSBsaW1pdCBjb25mb3JtYW5jZSB0
ZXN0LjwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7
Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJDaGVja3Mg
dGhhdCB2YXJpb3VzIHNpemVzIGxpbWl0cyBvZiB0ZXh0dXJlcyAiKQordmFyIGNhbnZhczsKKwor
ZnVuY3Rpb24gbnVtTGV2ZWxzRnJvbVNpemUoc2l6ZSkgeworICB2YXIgbGV2ZWxzID0gMDsKKyAg
d2hpbGUgKChzaXplID4+IGxldmVscykgPiAwKSB7CisgICAgKytsZXZlbHM7CisgIH0KKyAgcmV0
dXJuIGxldmVsczsKK30KKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1
LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOwordmFyIHRlc3RzID0gWworICB7IGZvcm1hdDog
Z2wuQUxQSEEsICAgICAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRFLCAgICAgICAgICBzaXpl
OiAxLCBkYXRhVHlwZTogVWludDhBcnJheSAgfSwKKyAgeyBmb3JtYXQ6IGdsLkxVTUlOQU5DRSwg
ICAgICAgdHlwZTogZ2wuVU5TSUdORURfQllURSwgICAgICAgICAgc2l6ZTogMSwgZGF0YVR5cGU6
IFVpbnQ4QXJyYXkgIH0sCisgIHsgZm9ybWF0OiBnbC5MVU1JTkFOQ0VfQUxQSEEsIHR5cGU6IGds
LlVOU0lHTkVEX0JZVEUsICAgICAgICAgIHNpemU6IDIsIGRhdGFUeXBlOiBVaW50OEFycmF5ICB9
LAorICB7IGZvcm1hdDogZ2wuUkdCLCAgICAgICAgICAgICB0eXBlOiBnbC5VTlNJR05FRF9CWVRF
LCAgICAgICAgICBzaXplOiAzLCBkYXRhVHlwZTogVWludDhBcnJheSAgfSwKKyAgeyBmb3JtYXQ6
IGdsLlJHQiwgICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfU0hPUlRfNV82XzUsICAgc2l6
ZTogMSwgZGF0YVR5cGU6IFVpbnQxNkFycmF5IH0sCisgIHsgZm9ybWF0OiBnbC5SR0JBLCAgICAg
ICAgICAgIHR5cGU6IGdsLlVOU0lHTkVEX0JZVEUsICAgICAgICAgIHNpemU6IDQsIGRhdGFUeXBl
OiBVaW50OEFycmF5ICB9LAorICB7IGZvcm1hdDogZ2wuUkdCQSwgICAgICAgICAgICB0eXBlOiBn
bC5VTlNJR05FRF9TSE9SVF80XzRfNF80LCBzaXplOiAxLCBkYXRhVHlwZTogVWludDE2QXJyYXkg
fSwKKyAgeyBmb3JtYXQ6IGdsLlJHQkEsICAgICAgICAgICAgdHlwZTogZ2wuVU5TSUdORURfU0hP
UlRfNV81XzVfMSwgc2l6ZTogMSwgZGF0YVR5cGU6IFVpbnQxNkFycmF5IH0KK107CisKKy8vIE5v
dGU6IFdlIGV4cHJlc3NseSBvbmx5IHVzZSAyIHRleHR1cmVzIGJlY2F1c2UgZmlyc3QgYSB0ZXh0
dXJlIHdpbGwgYmUgZGVmaW5lZAorLy8gYXMgdXNpbmcgYWxsIG1pcHMgb2YgMSBmb3JtYXQsIHRo
ZW4gZm9yIGEgbW9tZW50IGl0IHdpbGwgaGF2ZSBtaXhlZCBmb3JtYXRzIHdoaWNoCisvLyBtYXkg
dW5jb3ZlciBidWdzLgordmFyIHRhcmdldHMgPSBbCisgIHsgdGFyZ2V0OiBnbC5URVhUVVJFXzJE
LAorICAgIG1heFNpemU6IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfVEVYVFVSRV9TSVpFKSwKKyAg
ICBtYXhMZXZlbDogMTAwMCwKKyAgICB0ZXg6IGdsLmNyZWF0ZVRleHR1cmUoKSwKKyAgICB0YXJn
ZXRzOiBbZ2wuVEVYVFVSRV8yRF0KKyAgfSwKKyAgeyB0YXJnZXQ6IGdsLlRFWFRVUkVfQ1VCRV9N
QVAsCisgICAgbWF4U2l6ZTogZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9DVUJFX01BUF9URVhUVVJF
X1NJWkUpLAorICAgIG1heExldmVsOiA1LAorICAgIHRleDogZ2wuY3JlYXRlVGV4dHVyZSgpLAor
ICAgIHRhcmdldHM6IFsKKyAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCwKKyAg
ICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICAgIGdsLlRFWFRVUkVfQ1VC
RV9NQVBfUE9TSVRJVkVfWSwKKyAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSwK
KyAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAgICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfTkVHQVRJVkVfWgorICAgIF0KKyAgfQorXTsKKworZ2wucGl4ZWxTdG9yZWkoZ2wu
VU5QQUNLX0FMSUdOTUVOVCwgMSk7CisKK3ZhciB0cmcgPSAwOwordmFyIHR0ID0gMDsKK3J1bk5l
eHRUZXN0KCk7CisKK2Z1bmN0aW9uIHJ1bk5leHRUZXN0KCkgeworICB2YXIgdCA9IHRhcmdldHNb
dHJnXTsKKworICBpZiAodHQgPT0gMCkgeworICAgIHZhciB0ZXggPSB0LnRleDsKKyAgICBnbC5i
aW5kVGV4dHVyZSh0LnRhcmdldCwgdGV4KTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1Zygi
bWF4IHNpemUgZm9yICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHQudGFyZ2V0KSArICI6ICIg
KyB0Lm1heFNpemUpOworICAgIHZhciBudW1MZXZlbHMgPSBudW1MZXZlbHNGcm9tU2l6ZSh0Lm1h
eFNpemUpOworICAgIGRlYnVnKCJudW0gbGV2ZWxzICIgKyBudW1MZXZlbHMpOworICB9CisKKyAg
dmFyIHRlc3QgPSB0ZXN0c1t0dF07CisgIHRlc3RGb3JtYXRUeXBlKHQsIHRlc3QpOworICArK3R0
OworICBpZiAodHQgPT0gdGVzdHMubGVuZ3RoKSB7CisgICAgdHQgPSAwOworICAgICsrdHJnOwor
ICAgIGlmICh0cmcgPT0gdGFyZ2V0cy5sZW5ndGgpIHsKKyAgICAgIGZpbmlzaFRlc3QoKTsKKyAg
ICAgIHJldHVybjsKKyAgICB9CisgIH0KKyAgd3R1LndhaXRGb3JDb21wb3NpdGUoZ2wsIHJ1bk5l
eHRUZXN0KQorfQorCitmdW5jdGlvbiB0ZXN0Rm9ybWF0VHlwZSh0LCB0ZXN0KSB7CisgIGRlYnVn
KCIiKTsKKyAgZGVidWcoInRlc3Rpbmc6ICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRlc3Qu
Zm9ybWF0KSArICIsICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIHRlc3QudHlwZSkpOworICBm
b3IgKHZhciBqID0gMDsgaiA8IHQudGFyZ2V0cy5sZW5ndGg7ICsraikgeworICAgIHZhciB0YXJn
ZXQgPSB0LnRhcmdldHNbal07CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKHd0dS5nbEVudW1U
b1N0cmluZyhnbCwgdGFyZ2V0KSk7CisgICAgdmFyIG51bUxldmVscyA9IG51bUxldmVsc0Zyb21T
aXplKHQubWF4U2l6ZSk7CisgICAgdmFyIG51bVRlc3RMZXZlbHMgPSBNYXRoLm1pbihudW1MZXZl
bHMsIHQubWF4TGV2ZWwpOworICAgIGZvciAodmFyIGwgPSAwOyBsIDwgbnVtVGVzdExldmVsczsg
KytsKSB7CisgICAgICAvLyBEbyBib3R0b20gbGV2ZWxzIGZpcnN0OworICAgICAgdmFyIHNpemUg
PSAxIDw8IGw7CisgICAgICB2YXIgbGV2ZWwgPSBudW1MZXZlbHMgLSBsIC0gMTsKKyAgICAgIHZh
ciBvdGhlckRpbWVuc2lvbiA9IHQudGFyZ2V0ID09IGdsLlRFWFRVUkVfMkQgPyAxIDogc2l6ZTsK
KyAgICAgIHZhciBiYWRTaXplID0gc2l6ZSAqIDI7CisgICAgICB2YXIgYmFkT3RoZXJEaW1lbnNp
b24gPSB0LnRhcmdldCA9PSBnbC5URVhUVVJFXzJEID8gMSA6IGJhZFNpemU7CisgICAgICB2YXIg
cGl4ZWxzID0gbmV3IHRlc3QuZGF0YVR5cGUoYmFkU2l6ZSAqIGJhZE90aGVyRGltZW5zaW9uICog
dGVzdC5zaXplKTsKKyAgICAgIGdsLnRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgdGVzdC5mb3Jt
YXQsIHNpemUsIG90aGVyRGltZW5zaW9uLCAwLCB0ZXN0LmZvcm1hdCwgdGVzdC50eXBlLCBwaXhl
bHMpOworICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInRoZXJlIHNob3Vs
ZCBiZSBubyBlcnJvciBmb3IgbGV2ZWw6ICIgKyBsZXZlbCArICIgIiArIHNpemUgKyAieCIgKyBv
dGhlckRpbWVuc2lvbik7CisgICAgICBnbC50ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHRlc3Qu
Zm9ybWF0LCBvdGhlckRpbWVuc2lvbiwgc2l6ZSwgMCwgdGVzdC5mb3JtYXQsIHRlc3QudHlwZSwg
cGl4ZWxzKTsKKyAgICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJ0aGVyZSBz
aG91bGQgYmUgbm8gZXJyb3IgZm9yIGxldmVsOiAiICsgbGV2ZWwgKyAiICIgKyBvdGhlckRpbWVu
c2lvbiArICJ4IiArIHNpemUpOworICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB0
ZXN0LmZvcm1hdCwgYmFkU2l6ZSwgYmFkT3RoZXJEaW1lbnNpb24sIDAsIHRlc3QuZm9ybWF0LCB0
ZXN0LnR5cGUsIHBpeGVscyk7CisgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURf
VkFMVUUsICJzaG91bGQgZ2VuZXJhdGUgSU5WQUxJRF9WQUxVRSBmb3IgbGV2ZWw6ICIgKyBsZXZl
bCArICIgIiArIGJhZFNpemUgKyAieCIgKyBiYWRPdGhlckRpbWVuc2lvbik7CisgICAgICBnbC50
ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHRlc3QuZm9ybWF0LCBiYWRPdGhlckRpbWVuc2lvbiwg
YmFkU2l6ZSwgMCwgdGVzdC5mb3JtYXQsIHRlc3QudHlwZSwgcGl4ZWxzKTsKKyAgICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwgInNob3VsZCBnZW5lcmF0ZSBJTlZBTElE
X1ZBTFVFIGZvciBsZXZlbDogIiArIGxldmVsICsgIiAiICsgYmFkT3RoZXJEaW1lbnNpb24gKyAi
eCIgKyBiYWRTaXplKTsKKyAgICB9CisgIH0KK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdGV4dHVy
ZXMvdGV4dHVyZS1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS90ZXh0dXJlcy90ZXh0dXJlLXNpemUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YTg3NWQ4Yjk3YzMxYzRlZTk1MWYyNGMyNmRhM2QxZDEyZWQ1ZTVkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvdGV4dHVyZXMvdGV4dHVyZS1zaXplLmh0bWwKQEAgLTAsMCArMSwyMzggQEAKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHRleHR1
cmUgc2l6ZSBjb25mb3JtYW5jZSB0ZXN0LjwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPiA8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgc3R5bGU9IndpZHRo
OiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOworYXR0cmli
dXRlIHZlYzMgdGV4Q29vcmQwOwordmFyeWluZyB2ZWMzIHRleENvb3JkOwordm9pZCBtYWluKCkK
K3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsKKyAgICB0ZXhDb29yZCA9IHRleENvb3Jk
MDsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0IGlkPSJmc2hhZGVyIiB0eXBlPSJ4LXNoYWRlci94
LWZyYWdtZW50Ij4KK3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSBzYW1wbGVyQ3Vi
ZSB0ZXg7Cit2YXJ5aW5nIHZlYzMgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICAgIGdsX0Zy
YWdDb2xvciA9IHRleHR1cmVDdWJlKHRleCwgbm9ybWFsaXplKHRleENvb3JkKSk7Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiQ2hlY2tzIHRoYXQg
dmFyaW91cyBzaXplcyBvZiB0ZXh0dXJlcyByZW5kZXIiKQordmFyIGNhbnZhczsKKwordmFyIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBs
ZSIpOwordmFyIHByb2dyYW0yRCA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7Cit2YXIgcHJv
Z3JhbUN1YmVNYXAgPSB3dHUuc2V0dXBQcm9ncmFtKAorICAgIGdsLCBbJ3ZzaGFkZXInLCAnZnNo
YWRlciddLCBbJ3ZQb3NpdGlvbicsICd0ZXhDb29yZDAnXSwgWzAsIDFdKTsKK2dsLmRpc2FibGUo
Z2wuREVQVEhfVEVTVCk7CitnbC5kaXNhYmxlKGdsLkJMRU5EKTsKK3ZhciB0ZXggPSBnbC5jcmVh
dGVUZXh0dXJlKCk7Cit2YXIgbWF4MkRTaXplID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9URVhU
VVJFX1NJWkUpOwordmFyIG1heEN1YmVNYXBTaXplID0gZ2wuZ2V0UGFyYW1ldGVyKGdsLk1BWF9D
VUJFX01BUF9URVhUVVJFX1NJWkUpOworZGVidWcoIk1BWF9URVhUVVJFX1NJWkU6IiArIG1heDJE
U2l6ZSk7CitkZWJ1ZygiTUFYX0NVQkVfTUFQX1RFWFRVUkVfU0laRToiICsgbWF4Q3ViZU1hcFNp
emUpOworLy8gQXNzdW1pbmcgMjA0OHgyMDQ4eFJHQkEgKDIybWVnIHdpdGggbWlwcykgd2lsbCBy
dW4gb24gYWxsIFdlYkdMIHBsYXRmb3JtcwordmFyIG1heDJEU3F1YXJlU2l6ZSA9IE1hdGgubWlu
KG1heDJEU2l6ZSwgMjA0OCk7CisvLyBJJ2QgcHJlZmVyIHRoaXMgdG8gYmUgMjA0OCBidXQgdGhh
dCdzIDE2bWVnIHggNiBmYWNlcyBvciAxMjhtZWcgKHdpdGggbWlwcykKKy8vIDEwMjQgaXMgMzMu
NSBtZWcgKHdpdGggbWlwcykKK3ZhciBtYXhDdWJlTWFwU2l6ZSA9IE1hdGgubWluKG1heEN1YmVN
YXBTaXplLCAxMDI0KTsKKwordmFyIGNvbG9ycyA9IFsKKyAgeyBuYW1lOiAiZ3JlZW4iLCByZ2Jh
OiBbMCwgMCwgMjU1LCAyNTVdIH0sCisgIHsgbmFtZTogInJlZCIsIHJnYmE6IFsyNTUsIDAsIDAs
IDI1NV0gfSwKKyAgeyBuYW1lOiAiYmx1ZSIsIHJnYmE6IFswLCAyNTUsIDAsIDI1NV0gfSwKKyAg
eyBuYW1lOiAieWVsbG93IiwgcmdiYTogWzI1NSwgMjU1LCAwLCAyNTVdIH0sCisgIHsgbmFtZTog
Im1hZ2VudGEiLCByZ2JhOiBbMjU1LCAwLCAyNTUsIDI1NV0gfSwKKyAgeyBuYW1lOiAiY3lhbiIs
IHJnYmE6IFswLCAyNTUsIDI1NSwgMjU1XSB9CitdOworCit2YXIgY291bnQgPSAwOwordmFyIHBv
d2VyID0gMDsKK3J1blRlc3QoKTsKKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgZnVuY3Rpb24g
ZG9UZXN0KCkgeworICAgIHZhciBzaXplID0gTWF0aC5wb3coMiwgcG93ZXIpOworICAgIGlmIChz
aXplID4gbWF4MkRTaXplKSB7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIGdsLnVz
ZVByb2dyYW0ocHJvZ3JhbTJEKTsKKyAgICBpZiAoIWNoZWNrVGV4dHVyZShzaXplLCAxLCBmYWxz
ZSkpIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWNoZWNrVGV4dHVyZSgxLCBzaXplLCBmYWxzZSkp
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoc2l6ZSA8PSBtYXgyRFNxdWFyZVNpemUpIHsKKyAgICAg
IGlmICghY2hlY2tUZXh0dXJlKHNpemUsIHNpemUsIGZhbHNlKSkgeworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICB9CisgICAgfQorICAgIGlmIChzaXplIDw9IG1heEN1YmVNYXBTaXplKSB7
CisgICAgICBnbC51c2VQcm9ncmFtKHByb2dyYW1DdWJlTWFwKTsKKyAgICAgIGlmICghY2hlY2tU
ZXh0dXJlKHNpemUsIHNpemUsIHRydWUpKSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
IH0KKyAgICB9CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICBpZiAoZG9UZXN0KCkpIHsKKyAg
ICArK3Bvd2VyOworICAgIHNldFRpbWVvdXQocnVuVGVzdCwgMTAwKTsKKyAgfSBlbHNlIHsKKyAg
ICBmaW5pc2hUZXN0KCk7CisgIH0KK30KKworZnVuY3Rpb24gY2hlY2tUZXh0dXJlKHdpZHRoLCBo
ZWlnaHQsIGN1YmVNYXApIHsKKyAgZGVidWcoIiIpOworICBjb3VudCA9IChjb3VudCArIDEpICUg
Y29sb3JzLmxlbmd0aDsKKyAgdmFyIGNvbG9yID0gY29sb3JzW2NvdW50XTsKKyAgdmFyIHRleCA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgdmFyIHRhcmdldCA9IGN1YmVNYXAgPyBnbC5URVhUVVJF
X0NVQkVfTUFQIDogZ2wuVEVYVFVSRV8yRDsKKyAgdmFyIHR5cGUgPSBjdWJlTWFwID8gImN1YmUg
bWFwIiA6ICIyRCB0ZXh0dXJlIjsKKyAgZGVidWcoImNoZWNrICIgKyB3aWR0aCArICIsICIgKyBo
ZWlnaHQgKyAiICIgKyB0eXBlKTsKKyAgZ2wuYmluZFRleHR1cmUodGFyZ2V0LCB0ZXgpOworICBn
bC50ZXhQYXJhbWV0ZXJpKHRhcmdldCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5MSU5FQVIp
OworICBnbC50ZXhQYXJhbWV0ZXJpKHRhcmdldCwgZ2wuVEVYVFVSRV9XUkFQX1MsIGdsLkNMQU1Q
X1RPX0VER0UpOworICBnbC50ZXhQYXJhbWV0ZXJpKHRhcmdldCwgZ2wuVEVYVFVSRV9XUkFQX1Qs
IGdsLkNMQU1QX1RPX0VER0UpOworICBmaWxsTGV2ZWwoMCwgd2lkdGgsIGhlaWdodCwgY29sb3Iu
cmdiYSwgY3ViZU1hcCk7CisgIHZhciBlcnIgPSBnbC5nZXRFcnJvcigpOworICBpZiAoZXJyID09
IGdsLk9VVF9PRl9NRU1PUlkpIHsKKyAgICBkZWJ1Zygib3V0IG9mIG1lbW9yeSIpOworICAgIHJl
dHVybiBmYWxzZTsKKyAgfQorICBpZiAoZXJyICE9IGdsLk5PX0VSUk9SKSB7CisgICAgdGVzdEZh
aWxlZCgidW5leHBlY3RlZCBnbCBlcnJvcjogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgZXJy
KSk7CisgIH0KKyAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBjb2xv
ci5yZ2JhLAorICAgICAgdHlwZSArICIgb2Ygc2l6ZSAiICsgd2lkdGggKyAieCIgKyBoZWlnaHQg
KyAiIHdpdGggbm8gbWlwcyBzaG91bGQgZHJhdyB3aXRoICIgKyBjb2xvci5uYW1lKTsKKyAgY291
bnQgPSAoY291bnQgKyAxKSAlIGNvbG9ycy5sZW5ndGg7CisgIGNvbG9yID0gY29sb3JzW2NvdW50
XTsKKyAgZmlsbExldmVsKDAsIHdpZHRoLCBoZWlnaHQsIGNvbG9yLnJnYmEsIGN1YmVNYXApOwor
ICBnbC5nZW5lcmF0ZU1pcG1hcCh0YXJnZXQpOworICB2YXIgZXJyID0gZ2wuZ2V0RXJyb3IoKTsK
KyAgaWYgKGVyciA9PSBnbC5PVVRfT0ZfTUVNT1JZKSB7CisgICAgZGVidWcoIm91dCBvZiBtZW1v
cnkiKTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKyAgaWYgKGVyciAhPSBnbC5OT19FUlJPUikg
eworICAgIHRlc3RGYWlsZWQoInVuZXhwZWN0ZWQgZ2wgZXJyb3I6ICIgKyB3dHUuZ2xFbnVtVG9T
dHJpbmcoZ2wsIGVycikpOworICB9CisgIGdsLnRleFBhcmFtZXRlcmkodGFyZ2V0LCBnbC5URVhU
VVJFX01JTl9GSUxURVIsIGdsLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCk7CisgIHd0dS5kcmF3UXVh
ZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwgY29sb3IucmdiYSwKKyAgICAgIHR5cGUgKyAi
IG9mIHNpemUgIiArIHdpZHRoICsgIngiICsgaGVpZ2h0ICsgIiB3aXRoIG1pcHMgc2hvdWxkIGRy
YXcgd2l0aCAiICsgY29sb3IubmFtZSk7CisKKyAgY291bnQgPSAoY291bnQgKyAxKSAlIGNvbG9y
cy5sZW5ndGg7CisgIGNvbG9yID0gY29sb3JzW2NvdW50XTsKKyAgZmlsbExldmVsKDAsIHdpZHRo
LCBoZWlnaHQsIGNvbG9yLnJnYmEsIGN1YmVNYXAsIHRydWUpOworICBnbC5nZW5lcmF0ZU1pcG1h
cCh0YXJnZXQpOworCisgIHd0dS5kcmF3UXVhZChnbCk7CisgIHd0dS5jaGVja0NhbnZhcyhnbCwg
Y29sb3IucmdiYSwKKyAgICAgIHR5cGUgKyAiIG9mIHNpemUgIiArIHdpZHRoICsgIngiICsgaGVp
Z2h0ICsgIiB3aXRoIG1pcHMgc2hvdWxkIGRyYXcgd2l0aCAiICsgY29sb3IubmFtZSk7CisKKyAg
Z2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9S
LCAiU2hvdWxkIGJlIG5vIGVycm9ycy4iKTsKKyAgcmV0dXJuIHRydWU7Cit9CisKK2Z1bmN0aW9u
IGZpbGxMZXZlbChsZXZlbCwgd2lkdGgsIGhlaWdodCwgY29sb3IsIG9wdF9jdWJlbWFwLCBvcHRf
c3ViVGV4KSB7CisgIHZhciBudW1QaXhlbHMgPSB3aWR0aCAqIGhlaWdodDsKKyAgdmFyIHBpeGVs
cyA9IG51bGw7CisgIHZhciBsYXJnZURpbSA9IE1hdGgubWF4KHdpZHRoLCBoZWlnaHQpOworICB2
YXIgc21hbGxEaW0gPSBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KTsKKworICB2YXIgcGl4ZWxSb3cg
PSBuZXcgVWludDhBcnJheShsYXJnZURpbSAqIDQpOworICBmb3IgKHZhciBqaiA9IDA7IGpqIDwg
bGFyZ2VEaW07ICsramopIHsKKyAgICB2YXIgb2ZmID0gamogKiA0OworICAgIHBpeGVsUm93W29m
ZiArIDBdID0gY29sb3JbMF07CisgICAgcGl4ZWxSb3dbb2ZmICsgMV0gPSBjb2xvclsxXTsKKyAg
ICBwaXhlbFJvd1tvZmYgKyAyXSA9IGNvbG9yWzJdOworICAgIHBpeGVsUm93W29mZiArIDNdID0g
Y29sb3JbM107CisgIH0KKworICBpZiAobGFyZ2VEaW0gPT0gbnVtUGl4ZWxzKSB7CisgICAgcGl4
ZWxzID0gcGl4ZWxSb3c7CisgIH0gZWxzZSB7CisgICAgdmFyIHBpeGVscyA9IG5ldyBVaW50OEFy
cmF5KG51bVBpeGVscyAqIDQpOworICAgIGZvciAodmFyIGpqID0gMDsgamogPCBzbWFsbERpbTsg
KytqaikgeworICAgICAgdmFyIG9mZiA9IGpqICogbGFyZ2VEaW0gKiA0OworICAgICAgcGl4ZWxz
LnNldChwaXhlbFJvdywgb2ZmKTsKKyAgICB9CisgIH0KKyAKKyAgdmFyIHRhcmdldHMgPSBvcHRf
Y3ViZW1hcCA/IFsKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgZ2wu
VEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9T
SVRJVkVfWSwKKyAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgZ2wuVEVY
VFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJ
VkVfWl0gOgorICAgIFtnbC5URVhUVVJFXzJEXTsKKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwg
dGFyZ2V0cy5sZW5ndGg7ICsraWkpIHsKKyAgICAvLyBkZWJ1Zyh3dHUuZ2xFbnVtVG9TdHJpbmco
Z2wsIHRhcmdldHNbaWldKSk7CisgICAgdmFyIGluZGV4ID0gKGlpICsgcG93ZXIpICUgdGFyZ2V0
cy5sZW5ndGg7CisgICAgdmFyIHRhcmdldCA9IHRhcmdldHNbaW5kZXhdOworICAgIGlmIChvcHRf
c3ViVGV4KSB7CisgICAgICBnbC50ZXhTdWJJbWFnZTJEKAorICAgICAgICAgIHRhcmdldCwgbGV2
ZWwsIDAsIDAsIHdpZHRoLCBoZWlnaHQsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAg
ICAgICAgcGl4ZWxzKTsKKyAgICB9IGVsc2UgeworICAgICAgZ2wudGV4SW1hZ2UyRCgKKyAgICAg
ICAgICB0YXJnZXQsIGxldmVsLCBnbC5SR0JBLCB3aWR0aCwgaGVpZ2h0LCAwLCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLAorICAgICAgICAgIHBpeGVscyk7CisgICAgfQorICB9Cit9CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jt
cy9nbC11bmlmb3JtLWFycmF5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4OGExODM5MzhmNTM0Y2MyYmQ4
ZTIzMDkyMGJjYjlhZTgyNzU2NjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy9nbC11bmlm
b3JtLWFycmF5cy5odG1sCkBAIC0wLDAgKzEsNTAyIEBACis8IS0tCisKKy8qCisqKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
CisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv
biBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3
aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUg
cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQg
dG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVk
IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgor
KiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ug
c2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAi
QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBM
SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBN
RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J
TkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH
SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg
TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1Ig
T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
CisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJ
QUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB1bmlmb3JtIGFycmF5IENvbmZvcm1hbmNl
IFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3Qt
dXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImV4YW1wbGUi
IHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5
cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KKyAgICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOwor
ICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9Qb3NpdGlvbiA9IGFfcG9zaXRpb247
CisgICAgfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVy
L3gtZnJhZ21lbnQiPgorICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVuaWZvcm0g
JCh0eXBlKSBjb2xvclszXTsKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJh
Z0NvbG9yID0gdmVjNChjb2xvclswXSQoZWxlbSksIGNvbG9yWzFdJChlbGVtKSwgY29sb3JbMl0k
KGVsZW0pLCAxKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXItbWF4IiB0
eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
KyAgICB1bmlmb3JtIHZlYzQgY29sb3JhWyQobWF4VW5pZm9ybVZlY3RvcnMpXTsKKyAgICB2b2lk
IG1haW4oKQorICAgIHsKKyAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNChjb2xvcmFbJCh1c2Vk
VW5pZm9ybVZlY3RvcildKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImZzaGFkZXIt
bWF4LWFiLWFiIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KKyAgICBwcmVjaXNpb24gbWVk
aXVtcCBmbG9hdDsKKyAgICB1bmlmb3JtIHZlYzQgJChkZWNsMSk7CisgICAgdW5pZm9ybSB2ZWM0
ICQoZGVjbDIpOworICAgIHZvaWQgbWFpbigpCisgICAgeworICAgICAgICBnbF9GcmFnQ29sb3Ig
PSB2ZWM0KCQodXNhZ2UxKSArICQodXNhZ2UyKSk7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0
PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oKTsKK2RlYnVnKCIiKTsKK3ZhciB3dHUgPSBX
ZWJHTFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImV4YW1wbGUiKTsK
KwordmFyIHZTcmMgPSB3dHUuZ2V0U2NyaXB0KCJ2c2hhZGVyIik7Cit2YXIgZlRlbXBsYXRlID0g
d3R1LmdldFNjcmlwdCgiZnNoYWRlciIpOworCit2YXIgdHlwZUluZm9zID0gWworICB7IHR5cGU6
ICdmbG9hdCcsCisgICAganNUeXBlT2Y6ICdudW1iZXInLAorICAgIHNldHRlcjogJ3VuaWZvcm0x
ZnYnLAorICAgIGVsZW06ICcnLAorICAgIG51bVNyY1ZhbHVlczogMywKKyAgICBpbnZhbGlkU2V0
OiBmdW5jdGlvbihsb2MpIHsKKyAgICAgIGdsLnVuaWZvcm0yZnYobG9jLCBbMSwgMl0pOworICAg
IH0sCisgICAgc3JjVmFsdWVBc1N0cmluZzogZnVuY3Rpb24oaW5kZXgsIHNyY1ZhbHVlcykgewor
ICAgICAgcmV0dXJuIHNyY1ZhbHVlc1tpbmRleF0udG9TdHJpbmcoKTsKKyAgICB9LAorICAgIHJl
dHVyblZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUg
PT09IG51bGwgPyAnbnVsbCcgOiB2YWx1ZS50b1N0cmluZygpOworICAgIH0sCisgICAgY2hlY2tU
eXBlOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251
bWJlcic7CisgICAgfSwKKyAgICBjaGVja1ZhbHVlOiBmdW5jdGlvbih0eXBlSW5mbywgaW5kZXgs
IHZhbHVlKSB7CisgICAgICByZXR1cm4gdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4XSA9PSB2YWx1
ZTsKKyAgICB9LAorICAgIHNyY1ZhbHVlczogWzE2LCAxNSwgMTRdLAorICAgIHNyY1ZhbHVlc0xl
c3M6IFtdLAorICAgIHNyY1ZhbHVlc0xlc3NNdWx0aXBsZTogWzE2XSwKKyAgICBzcmNWYWx1ZXNN
b3JlTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxM10sCisgICAgc3JjVmFsdWVzTm9uTXVsdGlwbGU6
IG51bGwsCisgIH0sCisgIHsgdHlwZTogJ3ZlYzInLAorICAgIGpzVHlwZU9mOiAnRmxvYXQzMkFy
cmF5JywKKyAgICBzZXR0ZXI6ICd1bmlmb3JtMmZ2JywKKyAgICBlbGVtOiAnWzFdJywKKyAgICBu
dW1TcmNWYWx1ZXM6IDMsCisgICAgaW52YWxpZFNldDogZnVuY3Rpb24obG9jKSB7CisgICAgICBn
bC51bmlmb3JtMWZ2KGxvYywgWzJdKTsKKyAgICB9LAorICAgIGlsbGVnYWxTZXQ6IGZ1bmN0aW9u
KGxvYykgeworICAgICAgZ2wudW5pZm9ybTFmdihsb2MsIDIpOworICAgIH0sCisgICAgc3JjVmFs
dWVBc1N0cmluZzogZnVuY3Rpb24oaW5kZXgsIHNyY1ZhbHVlcykgeworICAgICAgcmV0dXJuICJb
IiArIHNyY1ZhbHVlc1tpbmRleCAqIDIgKyAwXS50b1N0cmluZygpICsgIiwgIiArCisgICAgICAg
ICAgICAgICAgICAgc3JjVmFsdWVzW2luZGV4ICogMiArIDFdLnRvU3RyaW5nKCkgKyAiXSI7Cisg
ICAgfSwKKyAgICByZXR1cm5WYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAg
cmV0dXJuIHZhbHVlID09PSBudWxsID8gJ251bGwnIDogKCJbIiArIHZhbHVlWzBdICsgIiwgIiAr
IHZhbHVlWzFdICsgIl0iKTsKKyAgICB9LAorICAgIGNoZWNrVHlwZTogZnVuY3Rpb24odmFsdWUp
IHsKKyAgICAgIHJldHVybiB2YWx1ZSAmJgorICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZS5sZW5n
dGggPT09ICdudW1iZXInICYmCisgICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09IDI7CisgICAg
fSwKKyAgICBjaGVja1ZhbHVlOiBmdW5jdGlvbih0eXBlSW5mbywgaW5kZXgsIHZhbHVlKSB7Cisg
ICAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYKKyAgICAgICAgICAgICB0eXBlSW5mby5zcmNW
YWx1ZXNbaW5kZXggKiAyICsgMF0gPT0gdmFsdWVbMF0gJiYKKyAgICAgICAgICAgICB0eXBlSW5m
by5zcmNWYWx1ZXNbaW5kZXggKiAyICsgMV0gPT0gdmFsdWVbMV07CisgICAgfSwKKyAgICBzcmNW
YWx1ZXM6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExXSwKKyAgICBzcmNWYWx1ZXNMZXNzOiBbMTZd
LAorICAgIHNyY1ZhbHVlc0xlc3NNdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzXSwKKyAgICBzcmNW
YWx1ZXNNb3JlTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOV0sCisgICAg
c3JjVmFsdWVzTm9uTXVsdGlwbGU6IFsxNiwgMTUsIDE0LCAxMywgMTIsIDExLCAxMF0sCisgIH0s
CisgIHsgdHlwZTogJ3ZlYzMnLAorICAgIGpzVHlwZU9mOiAnRmxvYXQzMkFycmF5JywKKyAgICBz
ZXR0ZXI6ICd1bmlmb3JtM2Z2JywKKyAgICBlbGVtOiAnWzJdJywKKyAgICBudW1TcmNWYWx1ZXM6
IDMsCisgICAgaW52YWxpZFNldDogZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlmb3JtMWZ2
KGxvYywgWzJdKTsKKyAgICB9LAorICAgIGlsbGVnYWxTZXQ6IGZ1bmN0aW9uKGxvYykgeworICAg
ICAgZ2wudW5pZm9ybTFmdihsb2MsIDIpOworICAgIH0sCisgICAgc3JjVmFsdWVBc1N0cmluZzog
ZnVuY3Rpb24oaW5kZXgsIHNyY1ZhbHVlcykgeworICAgICAgcmV0dXJuICJbIiArIHNyY1ZhbHVl
c1tpbmRleCAqIDMgKyAwXS50b1N0cmluZygpICsgIiwgIiArCisgICAgICAgICAgICAgICAgICAg
c3JjVmFsdWVzW2luZGV4ICogMyArIDFdLnRvU3RyaW5nKCkgKyAiLCAiICsKKyAgICAgICAgICAg
ICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiAzICsgMl0udG9TdHJpbmcoKSArICJdIjsKKyAgICB9
LAorICAgIHJldHVyblZhbHVlQXNTdHJpbmc6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1
cm4gdmFsdWUgPT09IG51bGwgPyAnbnVsbCcgOgorICAgICAgICAgICgiWyIgKyB2YWx1ZVswXSAr
ICIsICIgKyB2YWx1ZVsxXSArICIsICIgKyB2YWx1ZVsyXSArICJdIik7CisgICAgfSwKKyAgICBj
aGVja1R5cGU6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gdmFsdWUgJiYKKyAgICAg
ICAgICAgICB0eXBlb2YgdmFsdWUubGVuZ3RoID09PSAnbnVtYmVyJyAmJgorICAgICAgICAgICAg
IHZhbHVlLmxlbmd0aCA9PSAzOworICAgIH0sCisgICAgY2hlY2tWYWx1ZTogZnVuY3Rpb24odHlw
ZUluZm8sIGluZGV4LCB2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmCisg
ICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogMyArIDBdID09IHZhbHVlWzBd
ICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogMyArIDFdID09IHZh
bHVlWzFdICYmCisgICAgICAgICAgICAgdHlwZUluZm8uc3JjVmFsdWVzW2luZGV4ICogMyArIDJd
ID09IHZhbHVlWzJdOworICAgIH0sCisgICAgc3JjVmFsdWVzOiBbMTYsIDE1LCAxNCwgMTMsIDEy
LCAxMSwgMTAsIDksIDhdLAorICAgIHNyY1ZhbHVlc0xlc3M6IFsxNiwgMTVdLAorICAgIHNyY1Zh
bHVlc0xlc3NNdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTFdLAorICAgIHNyY1ZhbHVl
c01vcmVNdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5LCA4LCA3LCA2LCA1
LCA0LCAzLCAyXSwKKyAgICBzcmNWYWx1ZXNOb25NdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzLCAx
MiwgMTEsIDEwLCA5LCA4LCA3XSwKKyAgfSwKKyAgeyB0eXBlOiAndmVjNCcsCisgICAganNUeXBl
T2Y6ICdGbG9hdDMyQXJyYXknLAorICAgIHNldHRlcjogJ3VuaWZvcm00ZnYnLAorICAgIGVsZW06
ICdbM10nLAorICAgIG51bVNyY1ZhbHVlczogMywKKyAgICBpbnZhbGlkU2V0OiBmdW5jdGlvbihs
b2MpIHsKKyAgICAgIGdsLnVuaWZvcm0xZnYobG9jLCBbMl0pOworICAgIH0sCisgICAgaWxsZWdh
bFNldDogZnVuY3Rpb24obG9jKSB7CisgICAgICBnbC51bmlmb3JtMWZ2KGxvYywgMik7CisgICAg
fSwKKyAgICBzcmNWYWx1ZUFzU3RyaW5nOiBmdW5jdGlvbihpbmRleCwgc3JjVmFsdWVzKSB7Cisg
ICAgICByZXR1cm4gIlsiICsgc3JjVmFsdWVzW2luZGV4ICogNCArIDBdLnRvU3RyaW5nKCkgKyAi
LCAiICsKKyAgICAgICAgICAgICAgICAgICBzcmNWYWx1ZXNbaW5kZXggKiA0ICsgMV0udG9TdHJp
bmcoKSArICIsICIgKworICAgICAgICAgICAgICAgICAgIHNyY1ZhbHVlc1tpbmRleCAqIDQgKyAy
XS50b1N0cmluZygpICsgIiwgIiArCisgICAgICAgICAgICAgICAgICAgc3JjVmFsdWVzW2luZGV4
ICogNCArIDNdLnRvU3RyaW5nKCkgKyAiXSI7CisgICAgfSwKKyAgICByZXR1cm5WYWx1ZUFzU3Ry
aW5nOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gJ251
bGwnIDoKKyAgICAgICAgICAoIlsiICsgdmFsdWVbMF0gKyAiLCAiICsgdmFsdWVbMV0gKworICAg
ICAgICAgICAiLCAiICsgdmFsdWVbMl0gKyAiLCAiICsgdmFsdWVbM10gKyAiXSIpOworICAgIH0s
CisgICAgY2hlY2tUeXBlOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcmV0dXJuIHZhbHVlICYm
CisgICAgICAgICAgICAgdHlwZW9mIHZhbHVlLmxlbmd0aCA9PT0gJ251bWJlcicgJiYKKyAgICAg
ICAgICAgICB2YWx1ZS5sZW5ndGggPT0gNDsKKyAgICB9LAorICAgIGNoZWNrVmFsdWU6IGZ1bmN0
aW9uKHR5cGVJbmZvLCBpbmRleCwgdmFsdWUpIHsKKyAgICAgIHJldHVybiB2YWx1ZSAhPT0gbnVs
bCAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDQgKyAwXSA9PSB2
YWx1ZVswXSAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAqIDQgKyAx
XSA9PSB2YWx1ZVsxXSAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tpbmRleCAq
IDQgKyAyXSA9PSB2YWx1ZVsyXSAmJgorICAgICAgICAgICAgIHR5cGVJbmZvLnNyY1ZhbHVlc1tp
bmRleCAqIDQgKyAzXSA9PSB2YWx1ZVszXTsKKyAgICB9LAorICAgIHNyY1ZhbHVlczogWzE2LCAx
NSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5LCA4LCA3LCA2LCA1XSwKKyAgICBzcmNWYWx1ZXNMZXNz
OiBbMTYsIDE1LCAxNF0sCisgICAgc3JjVmFsdWVzTGVzc011bHRpcGxlOiBbMTYsIDE1LCAxNCwg
MTMsIDEyLCAxMSwgMTAsIDldLAorICAgIHNyY1ZhbHVlc01vcmVNdWx0aXBsZTogWzE2LCAxNSwg
MTQsIDEzLCAxMiwgMTEsIDEwLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyLCAxXSwKKyAgICBzcmNW
YWx1ZXNOb25NdWx0aXBsZTogWzE2LCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5LCA4LCA3LCA2
LCA1LCA0XSwKKyAgfQorXTsKKworZm9yICh2YXIgdHQgPSAwOyB0dCA8IHR5cGVJbmZvcy5sZW5n
dGg7ICsrdHQpIHsKKyAgdmFyIHR5cGVJbmZvID0gdHlwZUluZm9zW3R0XTsKKyAgZGVidWcoIiIp
OworICBkZWJ1ZygiY2hlY2sgIiArIHR5cGVJbmZvLnR5cGUpOworICB2YXIgZlNyYyA9IHd0dS5y
ZXBsYWNlUGFyYW1zKGZUZW1wbGF0ZSwgdHlwZUluZm8pOworICAvL2RlYnVnKCJmU3JjOiAiICsg
ZlNyYyk7CisgIHZhciBwcm9ncmFtID0gd3R1LmxvYWRQcm9ncmFtKGdsLCB2U3JjLCBmU3JjKTsK
KworICB2YXIgbnVtVW5pZm9ybXMgPSBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHByb2dyYW0sIGds
LkFDVElWRV9VTklGT1JNUyk7CisgIGFzc2VydE1zZyhudW1Vbmlmb3JtcyA9PSAxLCAiMSB1bmlm
b3JtIGZvdW5kIik7CisgIHZhciBpbmZvID0gZ2wuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAw
KTsKKyAgYXNzZXJ0TXNnKGluZm8ubmFtZSA9PSAiY29sb3JbMF0iLAorICAgICAgICAgICAgInVu
aWZvcm0gbmFtZSBpcyAnY29sb3JbMF0nIG5vdCAnY29sb3InIGFzIHBlciBPcGVuR0wgRVMgMi4w
LjI0IHNlY3Rpb24gMi4xMCIpOworICB2YXIgbG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHBy
b2dyYW0sICJjb2xvclswXSIpOworICB2YXIgc3JjVmFsdWVzID0gdHlwZUluZm8uc3JjVmFsdWVz
OworICB2YXIgc3JjVmFsdWVzTGVzcyA9IHR5cGVJbmZvLnNyY1ZhbHVlc0xlc3M7CisgIHZhciBz
cmNWYWx1ZXNMZXNzTXVsdGlwbGUgPSB0eXBlSW5mby5zcmNWYWx1ZXNMZXNzTXVsdGlwbGU7Cisg
IHZhciBzcmNWYWx1ZXNNb3JlTXVsdGlwbGUgPSB0eXBlSW5mby5zcmNWYWx1ZXNNb3JlTXVsdGlw
bGU7CisgIHZhciBzcmNWYWx1ZXNOb25NdWx0aXBsZSA9IHR5cGVJbmZvLnNyY1ZhbHVlc05vbk11
bHRpcGxlOworCisgIC8vIFRyeSBzZXR0aW5nIHRoZSB2YWx1ZSBiZWZvcmUgdXNpbmcgdGhlIHBy
b2dyYW0KKyAgZ2xbdHlwZUluZm8uc2V0dGVyXShsb2MsIHNyY1ZhbHVlcyk7CisgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sCisgICAgICAgICAgICAgICAgICAic2hv
dWxkIGZhaWwgaWYgdGhlcmUgaXMgbm8gY3VycmVudCBwcm9ncmFtIik7CisKKyAgZ2wudXNlUHJv
Z3JhbShwcm9ncmFtKTsKKyAgZ2xbdHlwZUluZm8uc2V0dGVyXShsb2MsIHNyY1ZhbHVlc0xlc3Mp
OworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLklOVkFMSURfVkFMVUUsCisgICAgICAgICAgICAg
ICAgICAic2hvdWxkIGZhaWwgd2l0aCBpbnN1ZmZpY2llbnQgYXJyYXkgc2l6ZSB3aXRoIGdsLiIg
KyB0eXBlSW5mby5zZXR0ZXIpOworICBpZiAoc3JjVmFsdWVzTm9uTXVsdGlwbGUpIHsKKyAgICBn
bFt0eXBlSW5mby5zZXR0ZXJdKGxvYywgc3JjVmFsdWVzTm9uTXVsdGlwbGUpOworICAgIGdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9WQUxVRSwKKyAgICAgICAgICAgICAgICAgICAgInNo
b3VsZCBmYWlsIHdpdGggbm9uLW11bHRpcGxlIGFycmF5IHNpemUgd2l0aCBnbC4iICsgdHlwZUlu
Zm8uc2V0dGVyKTsKKyAgfQorICBnbFt0eXBlSW5mby5zZXR0ZXJdKGxvYywgc3JjVmFsdWVzKTsK
KyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICJj
YW4gc2V0IGFuIGFycmF5IG9mIHVuaWZvcm1zIHdpdGggZ2wuIiArIHR5cGVJbmZvLnNldHRlcik7
CisgIGdsW3R5cGVJbmZvLnNldHRlcl0obG9jLCBzcmNWYWx1ZXNMZXNzTXVsdGlwbGUpOworICBn
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgICAgICAgImNhbiBw
YXJ0aWFsbHkgc2V0IGFuIGFycmF5IG9mIHVuaWZvcm1zIHdpdGggZ2wuIiArIHR5cGVJbmZvLnNl
dHRlciArICIgd2l0aCBhIHNtYWxsZXIgYXJyYXkiKTsKKyAgZ2xbdHlwZUluZm8uc2V0dGVyXShs
b2MsIHNyY1ZhbHVlc01vcmVNdWx0aXBsZSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsCisgICAgICAgICAgICAgICAgICAiY2FuIHNldCBhbiBhcnJheSBvZiB1bmlmb3JtcyB3
aXRoIGdsLiIgKyB0eXBlSW5mby5zZXR0ZXIgKyAiIHdpdGggYSBsYXJnZXIgYXJyYXkiKTsKKwor
ICB2YXIgdmFsdWVzID0gZ2wuZ2V0VW5pZm9ybShwcm9ncmFtLCBsb2MpOworICBnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgICAgICAgImNhbiBjYWxsIGdsLmdl
dFVuaWZvcm0iKTsKKyAgYXNzZXJ0TXNnKHR5cGVJbmZvLmNoZWNrVHlwZSh2YWx1ZXMpLAorICAg
ICAgICAgICAgImdsLmdldFVuaWZvcm0gcmV0dXJucyB0aGUgY29ycmVjdCB0eXBlLiIpOworICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgdHlwZUluZm8ubnVtU3JjVmFsdWVzOyArK2lpKSB7CisgICAg
dmFyIGVsZW1Mb2MgPSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgImNvbG9yWyIgKyBp
aSArICJdIik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAg
ICAgICAgICAgICAgImNhbiBnZXQgbG9jYXRpb24gb2YgZWxlbWVudCAiICsgaWkgKworICAgICAg
ICAgICAgICAgICAgICAiIG9mIGFycmF5IGZyb20gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uIik7Cisg
ICAgdmFyIHZhbHVlID0gZ2wuZ2V0VW5pZm9ybShwcm9ncmFtLCBlbGVtTG9jKTsKKyAgICBnbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAiY2FuIGdl
dCB2YWx1ZSBvZiBlbGVtZW50ICIgKyBpaSArICIgb2YgYXJyYXkgZnJvbSBnbC5nZXRVbmlmb3Jt
Iik7CisgICAgYXNzZXJ0TXNnKHR5cGVJbmZvLmNoZWNrVmFsdWUodHlwZUluZm8sIGlpLCB2YWx1
ZSksCisgICAgICAgICAgICAgICJ2YWx1ZSBwdXQgaW4gKCIgKyB0eXBlSW5mby5zcmNWYWx1ZUFz
U3RyaW5nKGlpLCBzcmNWYWx1ZXMpICsKKyAgICAgICAgICAgICAgIikgbWF0Y2hlcyB2YWx1ZSBw
dWxsZWQgb3V0ICgiICsKKyAgICAgICAgICAgICAgdHlwZUluZm8ucmV0dXJuVmFsdWVBc1N0cmlu
Zyh2YWx1ZSkgKyAiKSIpOworICB9CisgIHR5cGVJbmZvLmludmFsaWRTZXQobG9jKTsKKyAgZ2xF
cnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwKKyAgICAgICAgICAgICAgICAg
ICJ1c2luZyB0aGUgd3Jvbmcgc2l6ZSBvZiBnbC5Vbmlmb3JtIGZhaWxzIik7CisgIHZhciBleGNl
cHRpb25DYXVnaHQgPSBmYWxzZTsKKyAgaWYgKHR5cGVJbmZvLmlsbGVnYWxTZXQpIHsKKyAgICB0
cnkgeworICAgICAgdHlwZUluZm8uaWxsZWdhbFNldChsb2MpOworICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgIGV4Y2VwdGlvbkNhdWdodCA9IHRydWU7CisgICAgfQorICAgIGFzc2VydE1zZyhleGNl
cHRpb25DYXVnaHQsICJwYXNzaW5nIG5vbi1hcnJheSB0byBnbFVuaWZvcm0qZnYgc2hvdWxkIHRo
cm93IFR5cGVFcnJvciIpOworICB9CisKKyAgZ2wudXNlUHJvZ3JhbShudWxsKTsKKyAgZ2xFcnJv
clNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICJjYW4gY2FsbCBn
bC51c2VQcm9ncmFtKG51bGwpIik7Cit9CisKKy8vIFRoaXMgdGVzdCBpcyB0byB0ZXN0IGRyaXZl
cnMgdGhlIGhhdmUgYnVncyByZWxhdGVkIHRvIG9wdGltaXppbmcKKy8vIGFuIGFycmF5IG9mIHVu
aWZvcm1zIHdoZW4gb25seSAxIG9mIHRob3NlIHVuaWZvcm1zIGlzIHVzZWQuCitkZWJ1ZygiIik7
CitkZWJ1ZygiVGVzdCBkcml2ZXJzIGRvbid0IG92ZXIgb3B0aW1pemUgdW51c2VkIGFycmF5IGVs
ZW1lbnRzIik7Cit2YXIgbWF4VW5pZm9ybVZlY3RvcnMgPSBnbC5nZXRQYXJhbWV0ZXIoZ2wuTUFY
X0ZSQUdNRU5UX1VOSUZPUk1fVkVDVE9SUyk7Cit2YXIgdGVzdHMgPSBbCisgeyBkZXNjOiAidXNp
bmcgbGFzdCBlbGVtZW50IiwKKyAgIG1heFVuaWZvcm1WZWN0b3JzOiBtYXhVbmlmb3JtVmVjdG9y
cywKKyAgIHVzZWRVbmlmb3JtVmVjdG9yOiBtYXhVbmlmb3JtVmVjdG9ycyAtIDEsCisgICBzaGFk
ZXI6ICJmc2hhZGVyLW1heCIsCisgICBjb2xvcjogWzAsIDEsIDAsIDFdLAorICAgYXJyYXlOYW1l
OiAiY29sb3JhIiwKKyAgIGV4dHJhTmFtZTogImNvbG9yYiIsCisgfSwKKyB7IGRlc2M6ICJ1c2lu
ZyBmaXJzdCBlbGVtZW50IiwKKyAgIG1heFVuaWZvcm1WZWN0b3JzOiBtYXhVbmlmb3JtVmVjdG9y
cywKKyAgIHVzZWRVbmlmb3JtVmVjdG9yOiAwLAorICAgc2hhZGVyOiAiZnNoYWRlci1tYXgiLAor
ICAgY29sb3I6IFswLCAxLCAwLCAxXSwKKyAgIGFycmF5TmFtZTogImNvbG9yYSIsCisgICBleHRy
YU5hbWU6ICJjb2xvcmIiLAorIH0sCitdOworCisvLyBHZW5lcmF0ZSB0ZXN0IHNoYWRlcnMuIFdl
J3JlIHRyeWluZyB0byBmb3JjZSB0aGUgZHJpdmVyIHRvCisvLyBvdmVyZmxvdyBmcm9tIDEgYXJy
YXkgaW50byB0aGUgbmV4dCBpZiBpdCBvcHRpbWl6ZXMuIFNvIGZvciBleGFtcGxlIGlmIGl0IHdh
cyBDCisvLworLy8gICBpbnQgYmlnWzRdOworLy8gICBpbnQgbGl0dGxlWzFdOworLy8gICBiaWdb
NV0gPSAxMjQ7CisvLworLy8gV291bGQgZW5kIHVwIHNldHRpbmcgbGl0dGxlWzBdIGluc3RlYWQg
b2YgYmlnLiBTb21lIGRyaXZlcnMgb3B0aW1pemUKKy8vIHdoZXJlIGlmIHlvdSBvbmx5IHVzZSBz
YXkgJ2JpZ1szXScgaXQgd2lsbCBhY3R1YWxseSBvbmx5IGFsbG9jYXRlIGp1c3QgMSBlbGVtZW50
CisvLyBmb3IgYmlnLgorLy8KKy8vIEJ1dCwgc29tZSBkcml2ZXJzIGhhdmUgYSBidWcgd2hlcmUg
dGhlIGZhY3QgdGhhdCB0aGV5IG9wdGltaXplZCBiaWcgdG8gMSBlbGVtZW50CisvLyBkb2VzIG5v
dCBnZXQgcGFzc2VkIGRvd24gdG8gZ2xVbmlmb3JtIHNvIHdoZW4gc2V0dGluZyB0aGUgdW5pZm9y
bSAnYmlnWzNdJyB0aGV5CisvLyBvdmVyd3JpdGUgbWVtb3J5LgorLy8KKy8vIElmIHRoZSBkcml2
ZXIgY3Jhc2hlcywgeWVhLiBXZSBmb3VuZCBhIGJ1Zy4gV2UgY2FuIGJsYWNrbGlzdCB0aGUgZHJp
dmVyLgorLy8gT3RoZXJ3aXNlIHdlIHRyeSB2YXJpb3VzIGNvbWJpbmF0aW9ucyBzbyB0aGF0IHNl
dHRpbmcgJ2xpdHRsZVswXScgZmlyc3QKKy8vIGFuZCB0aGVuIHNldHRpbmcgYWxsIGVsZW1lbnRz
IG9mICdiaWcnIHdlIGhvcGUgaXQgd2lsbCBvdmVyd3JpdGUgJ2xpdHRsZVswXScKKy8vIHdoaWNo
IHdpbGwgc2hvdyB0aGUgYnVnIGFuZCBhZ2FpbiB3ZSBjYW4gYmxhY2tsaXN0IHRoZSBkcml2ZXIu
CisvLworLy8gV2UgZG9uJ3Qga25vdyBob3cgdGhlIGRyaXZlciB3aWxsIG9yZGVyLCBpbiBtZW1v
cnksIHRoZSB2YXJpb3VzIHVuaWZvcm1zCisvLyBvciBmb3IgdGhhdCBtYXR0ZXIgd2UgZG9uJ3Qg
ZXZlbiBrbm93IGlmIHRoZXkgd2lsbCBiZSBjb250aWd1b3VzIGluIG1lbW9yeQorLy8gYnV0IHRv
IGhvcGVmdWxseSBleHBvc2UgYW55IGJ1Z3Mgd2UgdHJ5IHZhcmlvdXMgY29tYmluYXRpb25zLgor
Ly8KKy8vICAgIEl0IGNvdWxkIGJlIHRoZSBjb21waWxlciBvcmRlcnMgdW5pZm9ybXMgYWxwaGFi
ZXRpY2FsbHkuCisvLyAgICBJdCBjb3VsZCBiZSBpdCBvcmRlcnMgdGhlbSBpbiBvcmRlciBvZiBk
ZWNsYXJhdGlvbi4KKy8vICAgIEl0IGNvdWxkIGJlIGl0IG9yZGVycyB0aGVtIGluIG9yZGVyIG9m
IHVzYWdlLgorLy8KKy8vIFdlIGFsc28gdGVzdCB1c2luZyBvbmx5IGZpcnN0IGVsZW1lbnQgb2Yg
YmlnIG9yIGp1c3QgdGhlIGxhc3QgZWxlbWVudCBvZiBiaWcuCisvLworZm9yICh2YXIgbmFtZU9y
ZGVyID0gMDsgbmFtZU9yZGVyIDwgMjsgKytuYW1lT3JkZXIpIHsKKyAgdmFyIG5hbWUxID0gbmFt
ZU9yZGVyID8gImNvbG9yYSIgOiAiY29sb3JiIjsKKyAgdmFyIG5hbWUyID0gbmFtZU9yZGVyID8g
ImNvbG9yYiIgOiAiY29sb3JhIjsKKyAgZm9yICh2YXIgbGFzdCA9IDA7IGxhc3QgPCAyOyArK2xh
c3QpIHsKKyAgICB2YXIgdXNlZFVuaWZvcm1WZWN0b3IgPSBsYXN0ID8gbWF4VW5pZm9ybVZlY3Rv
cnMgLSAyIDogMDsKKyAgICBmb3IgKHZhciBkZWNsT3JkZXIgPSAwOyBkZWNsT3JkZXIgPCAyOyAr
K2RlY2xPcmRlcikgeworICAgICAgdmFyIGJpZ05hbWUgICAgPSBkZWNsT3JkZXIgPyBuYW1lMSA6
IG5hbWUyOworICAgICAgdmFyIGxpdHRsZU5hbWUgPSBkZWNsT3JkZXIgPyBuYW1lMiA6IG5hbWUx
OworICAgICAgdmFyIGRlY2wxID0gYmlnTmFtZSArICJbIiArIChtYXhVbmlmb3JtVmVjdG9ycyAt
IDEpICsgIl0iOworICAgICAgdmFyIGRlY2wyID0gbGl0dGxlTmFtZSArICJbMV0iOworICAgICAg
aWYgKGRlY2xPcmRlcikgeworICAgICAgICB2YXIgdCA9IGRlY2wxOworICAgICAgICBkZWNsMSA9
IGRlY2wyOworICAgICAgICBkZWNsMiA9IHQ7CisgICAgICB9CisgICAgICBmb3IgKHZhciB1c2Fn
ZU9yZGVyID0gMDsgdXNhZ2VPcmRlciA8IDI7ICsrdXNhZ2VPcmRlcikgeworICAgICAgICB2YXIg
dXNhZ2UxID0gYmlnTmFtZSArICJbIiArIHVzZWRVbmlmb3JtVmVjdG9yICsgIl0iOworICAgICAg
ICB2YXIgdXNhZ2UyID0gbGl0dGxlTmFtZSArICJbMF0iOworICAgICAgICBpZiAodXNhZ2VPcmRl
cikgeworICAgICAgICAgIHZhciB0ID0gdXNhZ2UxOworICAgICAgICAgIHVzYWdlMSA9IHVzYWdl
MjsKKyAgICAgICAgICB1c2FnZTIgPSB0OworICAgICAgICB9CisgICAgICAgIHZhciBmU3JjID0g
d3R1LnJlcGxhY2VQYXJhbXMod3R1LmdldFNjcmlwdCgiZnNoYWRlci1tYXgtYWItYWIiKSwgewor
ICAgICAgICAgIGRlY2wxOiBkZWNsMSwKKyAgICAgICAgICBkZWNsMjogZGVjbDIsCisgICAgICAg
ICAgdXNhZ2UxOiB1c2FnZTEsCisgICAgICAgICAgdXNhZ2UyOiB1c2FnZTIsCisgICAgICAgIH0p
OworICAgICAgICB2YXIgZGVzYyA9ICJ0ZXN0aW5nOiAiICsgbmFtZTEgKyAiOiIgKyBuYW1lMiAr
ICIgdXNpbmcgIiArIChsYXN0ID8gImxhc3QiIDogImZpcnN0IikgKworICAgICAgICAgICAgIiBj
cmVhdGluZyB1bmlmb3JtcyAiICsgZGVjbDEgKyAiICIgKyBkZWNsMiArICIgYW5kIGFjY2Vzc2lu
ZyAiICsgdXNhZ2UxICsgIiAiICsgdXNhZ2UyOworICAgICAgICB0ZXN0cy5wdXNoKHsKKyAgICAg
ICAgICBkZXNjOiBkZXNjLAorICAgICAgICAgIG1heFVuaWZvcm1WZWN0b3JzOiBtYXhVbmlmb3Jt
VmVjdG9ycyAtIDEsCisgICAgICAgICAgdXNlZFVuaWZvcm1WZWN0b3I6IHVzZWRVbmlmb3JtVmVj
dG9yLAorICAgICAgICAgIHNvdXJjZTogZlNyYywKKyAgICAgICAgICBjb2xvcjogWzAsIDAsIDAs
IDFdLAorICAgICAgICAgIGFycmF5TmFtZTogYmlnTmFtZSwKKyAgICAgICAgICBleHRyYU5hbWU6
IGxpdHRsZU5hbWUsCisgICAgICAgIH0pOworICAgICAgfQorICAgIH0KKyAgfQorfQorCit2YXIg
YWxsUmVxdWlyZWRVbmlmb3JtTG9jYXRpb25zUXVlcnlhYmxlID0gdHJ1ZTsKK2Z1bmN0aW9uIHRl
c3RVbmlmb3JtT3B0aW1pemF0aW9uSXNzdWVzKHRlc3RJbmRleCkgeworICB2YXIgdGVzdCA9IHRl
c3RzW3Rlc3RJbmRleF07CisgIGRlYnVnKCIiKTsKKyAgZGVidWcodGVzdC5kZXNjKTsKKyAgdmFy
IGZTcmMgPSB0ZXN0LnNvdXJjZTsKKyAgaWYgKCFmU3JjKSB7CisgICAgZlNyYyA9IHd0dS5yZXBs
YWNlUGFyYW1zKHd0dS5nZXRTY3JpcHQodGVzdC5zaGFkZXIpLCB0ZXN0KTsKKyAgfQorCisgIHZh
ciBjb25zb2xlRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisgIHd0
dS5hZGRTaGFkZXJTb3VyY2UoCisgICAgICBjb25zb2xlRWxlbSwgInZlcnRleCBzaGFkZXIiLCB2
U3JjKTsKKyAgd3R1LmFkZFNoYWRlclNvdXJjZSgKKyAgICAgIGNvbnNvbGVFbGVtLCAiZnJhZ21l
bnQgc2hhZGVyIiwgZlNyYyk7CisKKyAgdmFyIHByb2dyYW0gPSB3dHUubG9hZFByb2dyYW0oZ2ws
IHZTcmMsIGZTcmMpOworICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworCisgIHZhciBjb2xvcmJM
b2NhdGlvbiA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCB0ZXN0LmV4dHJhTmFtZSAr
ICJbMF0iKTsKKyAgaWYgKGNvbG9yYkxvY2F0aW9uKSB7CisgICAgZ2wudW5pZm9ybTRmdihjb2xv
cmJMb2NhdGlvbiwgWzAsIDEsIDAsIDBdKTsKKyAgfQorCisgIC8vIFNldCBqdXN0IHRoZSB1c2Vk
IHVuaWZvcm0KKyAgdmFyIG5hbWUgPSB0ZXN0LmFycmF5TmFtZSArICJbIiArIHRlc3QudXNlZFVu
aWZvcm1WZWN0b3IgKyAiXSI7CisgIHZhciB1bmlmb3JtTG9jYXRpb24gPSBnbC5nZXRVbmlmb3Jt
TG9jYXRpb24ocHJvZ3JhbSwgbmFtZSk7CisgIGdsLnVuaWZvcm00ZnYodW5pZm9ybUxvY2F0aW9u
LCB0ZXN0LmNvbG9yKTsKKyAgd3R1LnNldHVwUXVhZChnbCwgMSwgcG9zaXRpb25Mb2MpOworICB3
dHUuZHJhd0luZGV4ZWRRdWFkKGdsLCAxKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1
LCAwLCAyNTVdLCAic2hvdWxkIGJlIGdyZWVuIik7CisKKyAgLy8gU2V0IGFsbCB0aGUgdW51c2Vk
IHVuaWZvcm1zCisgIHZhciBsb2NhdGlvbnMgPSBbXTsKKyAgYWxsUmVxdWlyZWRVbmlmb3JtTG9j
YXRpb25zUXVlcnlhYmxlID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IHRlc3QubWF4
VW5pZm9ybVZlY3RvcnM7ICsraWkpIHsKKyAgICB2YXIgbmFtZSA9IHRlc3QuYXJyYXlOYW1lICsg
IlsiICsgaWkgKyAiXSI7CisgICAgdmFyIHVuaWZvcm1Mb2NhdGlvbiA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihwcm9ncmFtLCBuYW1lKTsKKyAgICBsb2NhdGlvbnMucHVzaCh1bmlmb3JtTG9jYXRp
b24pOworICAgIGlmIChpaSA9PSB0ZXN0LnVzZWRVbmlmb3JtVmVjdG9yKSB7CisgICAgICBjb250
aW51ZTsKKyAgICB9CisgICAgLy8gTG9jYXRpb25zID4gdXNlZFVuZm9ybVZlY3RvciBtYXkgbm90
IGV4aXN0LgorICAgIC8vIExvY2F0aW9ucyA8PSB1c2VkVW5pZm9ybVZlY3RvciBNVVNUIGV4aXN0
LgorICAgIGlmIChpaSA8PSB0ZXN0LnVzZWRVbmlmb3JtVmVjdG9yICYmICh1bmlmb3JtTG9jYXRp
b24gPT09IHVuZGVmaW5lZCB8fCB1bmlmb3JtTG9jYXRpb24gPT09IG51bGwpKSB7CisgICAgICBh
bGxSZXF1aXJlZFVuaWZvcm1Mb2NhdGlvbnNRdWVyeWFibGUgPSBmYWxzZTsKKyAgICB9CisgICAg
Z2wudW5pZm9ybTRmdih1bmlmb3JtTG9jYXRpb24sIFsxLCAwLCAwLCAxXSk7CisgIH0KKyAgc2hv
dWxkQmVUcnVlKCJhbGxSZXF1aXJlZFVuaWZvcm1Mb2NhdGlvbnNRdWVyeWFibGUiKTsKKyAgdmFy
IHBvc2l0aW9uTG9jID0gZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgImFfcG9zaXRpb24i
KTsKKyAgd3R1LnNldHVwUXVhZChnbCwgMSwgcG9zaXRpb25Mb2MpOworICB3dHUuZHJhd0luZGV4
ZWRRdWFkKGdsLCAxKTsKKyAgd3R1LmNoZWNrQ2FudmFzKGdsLCBbMCwgMjU1LCAwLCAyNTVdLCAi
c2hvdWxkIGJlIGdyZWVuIik7CisKKyAgLy8gQ2hlY2sgd2UgY2FuIHJlYWQgJiB3cml0ZSBlYWNo
IHVuaWZvcm0uCisgIC8vIE5vdGU6IHVuaWZvcm1zIHBhc3QgdGVzdC51c2VkVW5pZm9ybVZlY3Rv
ciBtaWdodCBub3QgZXhpc3QuCisgIGZvciAodmFyIGlpID0gMDsgaWkgPCB0ZXN0Lm1heFVuaWZv
cm1WZWN0b3JzOyArK2lpKSB7CisgICAgZ2wudW5pZm9ybTRmdihsb2NhdGlvbnNbaWldLCBbaWkg
KyA0LCBpaSArIDIsIGlpICsgMywgaWkgKyAxXSk7CisgIH0KKworICB2YXIga0Vwc2lsb24gPSAw
LjAxOworICB2YXIgaXNTYW1lID0gZnVuY3Rpb24odjEsIHYyKSB7CisgICAgcmV0dXJuIE1hdGgu
YWJzKHYxIC0gdjIpIDwga0Vwc2lsb247CisgIH07CisKKyAgZm9yICh2YXIgaWkgPSAwOyBpaSA8
IHRlc3QubWF4VW5pZm9ybVZlY3RvcnM7ICsraWkpIHsKKyAgICB2YXIgbG9jYXRpb24gPSBsb2Nh
dGlvbnNbaWldOworICAgIGlmIChsb2NhdGlvbikgeworICAgICAgdmFyIHZhbHVlID0gZ2wuZ2V0
VW5pZm9ybShwcm9ncmFtLCBsb2NhdGlvbnNbaWldKTsKKyAgICAgIGlmICghaXNTYW1lKHZhbHVl
WzBdLCBpaSArIDQpIHx8CisgICAgICAgICAgIWlzU2FtZSh2YWx1ZVsxXSwgaWkgKyAyKSB8fAor
ICAgICAgICAgICFpc1NhbWUodmFsdWVbMl0sIGlpICsgMykgfHwKKyAgICAgICAgICAhaXNTYW1l
KHZhbHVlWzNdLCBpaSArIDEpKSB7CisgICAgICAgIHRlc3RGYWlsZWQoImxvY2F0aW9uOiAiICsg
aWkgKyAiIHdhcyBub3QgY29ycmVjdCB2YWx1ZSIpOworICAgICAgICBicmVhazsKKyAgICAgIH0K
KyAgICB9CisgIH0KK30KKwordmFyIHRlc3RJbmRleCA9IDA7CitmdW5jdGlvbiBydW5OZXh0VGVz
dCgpIHsKKyAgdGVzdFVuaWZvcm1PcHRpbWl6YXRpb25Jc3N1ZXModGVzdEluZGV4KyspOworICBp
ZiAodGVzdEluZGV4IDwgdGVzdHMubGVuZ3RoKSB7CisgICAgc2V0VGltZW91dChydW5OZXh0VGVz
dCwgMTApOworICB9IGVsc2UgeworICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1Is
ICJ0aGVyZSBzaG91bGQgYmUgbm8gZXJyb3JzIik7CisgICAgZGVidWcoIiIpOworICAgIGZpbmlz
aFRlc3QoKTsKKyAgfQorfQorcnVuTmV4dFRlc3QoKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5p
Zm9ybXMvdW5pZm9ybS1kZWZhdWx0LXZhbHVlcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVz
b3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1kZWZh
dWx0LXZhbHVlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxZWFlODBjMDBhNDI3MzE4NmZiMzRlNTA3OGQ4
YWJhMDI1NTllYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLWRlZmF1bHQt
dmFsdWVzLmh0bWwKQEAgLTAsMCArMSwzNjIgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAo
YykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJl
YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoq
IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhv
dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdo
dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwg
c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bwor
KiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8g
ZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBU
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs
bCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv
ZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJ
UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQs
IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNI
QU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ
TkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhF
UldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoq
IE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMu
CisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIHVuaWZvcm0gZGVmYXVsdCB2YWx1ZXM8L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZGVza3RvcC1nbC1jb25z
dGFudHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy90ZXN0LWV2YWwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52
YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPiA8L2NhbnZhcz4KKzxzY3JpcHQg
aWQ9InZzaGFkZXIwIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2
UG9zaXRpb247Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOwor
fQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMCIgdHlwZT0ieC1zaGFkZXIveC1mcmFn
bWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gJCh0eXBlKSB1X3VuaWZv
cm07CisKK2Jvb2wgaXNaZXJvKCQodHlwZSkgdmFsdWUpIHsKKyAkKGNoZWNrKTsKK30KKwordm9p
ZCBtYWluKCkKK3sKKyAgZ2xfRnJhZ0NvbG9yID0gaXNaZXJvKHVfdW5pZm9ybSkgPyB2ZWM0KDAs
MSwwLDEpIDogdmVjNCgxLDAsMCwxKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBpZD0idnNoYWRl
cjEiIHR5cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsK
K3ZhcnlpbmcgdmVjNCB2X2NvbG9yOwordW5pZm9ybSAkKHR5cGUpIHVfdW5pZm9ybTsKKworYm9v
bCBpc1plcm8oJCh0eXBlKSB2YWx1ZSkgeworICAgJChjaGVjayk7Cit9CisKK3ZvaWQgbWFpbigp
Cit7CisgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgdl9jb2xvciA9IGlzWmVybyh1
X3VuaWZvcm0pID8gdmVjNCgwLDEsMCwxKSA6IHZlYzQoMSwwLDAsMSk7Cit9Cis8L3NjcmlwdD4K
KzxzY3JpcHQgaWQ9ImZzaGFkZXIxIiB0eXBlPSJ4LXNoYWRlci94LWZyYWdtZW50Ij4KK3ByZWNp
c2lvbiBtZWRpdW1wIGZsb2F0OwordmFyeWluZyB2ZWM0IHZfY29sb3I7Cit2b2lkIG1haW4oKQor
eworICAgIGdsX0ZyYWdDb2xvciA9IHZfY29sb3I7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9
InZzaGFkZXIyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2UG9z
aXRpb247Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworfQor
PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMiIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVu
dCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gJCh0eXBlKSB1X3VuaWZvcm1b
Ml07CisKK2Jvb2wgaXNaZXJvKCQodHlwZSkgdmFsdWUpIHsKKyAgJChjaGVjayk7Cit9CisKK3Zv
aWQgbWFpbigpCit7CisgIGdsX0ZyYWdDb2xvciA9IGlzWmVybyh1X3VuaWZvcm1bMV0pID8gdmVj
NCgwLDEsMCwxKSA6IHZlYzQoMSwwLDAsMSk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9InZz
aGFkZXIzIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRp
b247Cit2YXJ5aW5nIHZlYzQgdl9jb2xvcjsKK3VuaWZvcm0gJCh0eXBlKSB1X3VuaWZvcm1bMl07
CisKK2Jvb2wgaXNaZXJvKCQodHlwZSkgdmFsdWUpIHsKKyAgICQoY2hlY2spOworfQorCit2b2lk
IG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOworICAgIHZfY29sb3IgPSBp
c1plcm8odV91bmlmb3JtWzFdKSA/IHZlYzQoMCwxLDAsMSkgOiB2ZWM0KDEsMCwwLDEpOworfQor
PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJmc2hhZGVyMyIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVu
dCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3ZhcnlpbmcgdmVjNCB2X2NvbG9yOwordm9p
ZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2X2NvbG9yOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oKTsKKwordmFyIHRlc3RzID0gWwor
eyB0eXBlOiAnZmxvYXQnLAorICBjaGVjazogInJldHVybiB2YWx1ZSA9PSAwLjAiLAorICBzZXRG
bjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMWYobG9jLCAzLjApOyB9Cit9LAoreyB0
eXBlOiAnaW50JywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWUgPT0gMCIsCisgIHNldEZuOiBmdW5j
dGlvbihnbCwgbG9jKSB7IGdsLnVuaWZvcm0xaShsb2MsIDMuMCk7IH0KK30sCit7IHR5cGU6ICdi
b29sJywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWUgPT0gZmFsc2UiLAorICBzZXRGbjogZnVuY3Rp
b24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMWkobG9jLCAxKTsgfQorfSwKK3sgdHlwZTogJ3ZlYzIn
LAorICBjaGVjazogInJldHVybiB2YWx1ZVswXSA9PSAwLjAgJiYgdmFsdWVbMV0gPT0gMC4wIiwK
KyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTJmKGxvYywgMy4wLCAzLjAp
OyB9Cit9LAoreyB0eXBlOiAndmVjMycsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IDAu
MCAmJiB2YWx1ZVsxXSA9PSAwLjAgJiYgdmFsdWVbMl0gPT0gMC4wIiwKKyAgc2V0Rm46IGZ1bmN0
aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTNmKGxvYywgMy4wLCAzLjAsIDMuMCk7IH0KK30sCit7
IHR5cGU6ICd2ZWM0JywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0gMC4wICYmIHZhbHVl
WzFdID09IDAuMCAmJiB2YWx1ZVsyXSA9PSAwLjAgJiYgdmFsdWVbM10gPT0gMC4wIiwKKyAgc2V0
Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTRmKGxvYywgMy4wLCAzLjAsIDMuMCwg
My4wKTsgfQorfSwKK3sgdHlwZTogJ2l2ZWMyJywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVbMF0g
PT0gMCAmJiB2YWx1ZVsxXSA9PSAwIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wu
dW5pZm9ybTJpKGxvYywgMywgMyk7IH0KK30sCit7IHR5cGU6ICdpdmVjMycsCisgIGNoZWNrOiAi
cmV0dXJuIHZhbHVlWzBdID09IDAgJiYgdmFsdWVbMV0gPT0gMCAmJiB2YWx1ZVsyXSA9PSAwIiwK
KyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5pZm9ybTNpKGxvYywgMywgMywgMyk7
IH0KK30sCit7IHR5cGU6ICdpdmVjNCcsCisgIGNoZWNrOiAicmV0dXJuIHZhbHVlWzBdID09IDAg
JiYgdmFsdWVbMV0gPT0gMCAmJiB2YWx1ZVsyXSA9PSAwICYmIHZhbHVlWzNdID09IDAiLAorICBz
ZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtNGkobG9jLCAzLCAzLCAzLCAzKTsg
fQorfSwKK3sgdHlwZTogJ2J2ZWMyJywKKyAgY2hlY2s6ICJyZXR1cm4gdmFsdWVbMF0gPT0gZmFs
c2UgJiYgdmFsdWVbMV0gPT0gZmFsc2UiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBn
bC51bmlmb3JtMmkobG9jLCAxLCAxKTsgfQorfSwKK3sgdHlwZTogJ2J2ZWMzJywKKyAgY2hlY2s6
ICJyZXR1cm4gdmFsdWVbMF0gPT0gZmFsc2UgJiYgdmFsdWVbMV0gPT0gZmFsc2UgJiYgdmFsdWVb
Ml0gPT0gZmFsc2UiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtM2ko
bG9jLCAxLCAxLCAxKTsgfQorfSwKK3sgdHlwZTogJ2J2ZWM0JywKKyAgY2hlY2s6ICJyZXR1cm4g
dmFsdWVbMF0gPT0gZmFsc2UgJiYgdmFsdWVbMV0gPT0gZmFsc2UgJiYgdmFsdWVbMl0gPT0gZmFs
c2UgJiYgdmFsdWVbM10gPT0gZmFsc2UiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBn
bC51bmlmb3JtNGkobG9jLCAxLCAxLCAxLCAxKTsgfQorfSwKK3sgdHlwZTogJ21hdDInLAorICBj
aGVjazoKKyAgICAicmV0dXJuICIgKworICAgICJ2YWx1ZVswXVswXSA9PSAwLjAgJiYgdmFsdWVb
MF1bMV0gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVsxXVswXSA9PSAwLjAgJiYgdmFsdWVbMV1b
MF0gPT0gMC4wIiwKKyAgdmFsdWVDaGVjazoKKyAgICAicmV0dXJuICIgKworICAgICJ2YWx1ZVsw
XSA9PSAwLjAgJiYgdmFsdWVbMV0gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVsyXSA9PSAwLjAg
JiYgdmFsdWVbM10gPT0gMC4wIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBsb2MpIHsgZ2wudW5p
Zm9ybU1hdHJpeDJmdihsb2MsIGZhbHNlLCBbMSwgMSwgMSwgMV0pOyB9Cit9LAoreyB0eXBlOiAn
bWF0MycsCisgIGNoZWNrOgorICAgICJyZXR1cm4gIiArCisgICAgInZhbHVlWzBdWzBdID09IDAu
MCAmJiB2YWx1ZVsxXVswXSA9PSAwLjAgJiYgdmFsdWVbMl1bMF0gPT0gMC4wICYmICIgKworICAg
ICJ2YWx1ZVswXVsxXSA9PSAwLjAgJiYgdmFsdWVbMV1bMV0gPT0gMC4wICYmIHZhbHVlWzJdWzFd
ID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbMF1bMl0gPT0gMC4wICYmIHZhbHVlWzFdWzJdID09
IDAuMCAmJiB2YWx1ZVsyXVsyXSA9PSAwLjAiLAorICB2YWx1ZUNoZWNrOgorICAgICJyZXR1cm4g
IiArCisgICAgInZhbHVlWzBdID09IDAuMCAmJiB2YWx1ZVsxXSA9PSAwLjAgJiYgdmFsdWVbMl0g
PT0gMC4wICYmICIgKworICAgICJ2YWx1ZVszXSA9PSAwLjAgJiYgdmFsdWVbNF0gPT0gMC4wICYm
IHZhbHVlWzVdID09IDAuMCAmJiAiICsKKyAgICAidmFsdWVbNl0gPT0gMC4wICYmIHZhbHVlWzdd
ID09IDAuMCAmJiB2YWx1ZVs4XSA9PSAwLjAiLAorICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykg
eyBnbC51bmlmb3JtTWF0cml4M2Z2KGxvYywgZmFsc2UsIFsxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LCAxXSk7IH0KK30sCit7IHR5cGU6ICdtYXQ0JywKKyAgY2hlY2s6CisgICAgInJldHVybiAiICsK
KyAgICAidmFsdWVbMF1bMF0gPT0gMC4wICYmIHZhbHVlWzFdWzBdID09IDAuMCAmJiB2YWx1ZVsy
XVswXSA9PSAwLjAgJiYgdmFsdWVbM11bMF0gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVswXVsx
XSA9PSAwLjAgJiYgdmFsdWVbMV1bMV0gPT0gMC4wICYmIHZhbHVlWzJdWzFdID09IDAuMCAmJiB2
YWx1ZVszXVsxXSA9PSAwLjAgJiYgIiArCisgICAgInZhbHVlWzBdWzJdID09IDAuMCAmJiB2YWx1
ZVsxXVsyXSA9PSAwLjAgJiYgdmFsdWVbMl1bMl0gPT0gMC4wICYmIHZhbHVlWzNdWzJdID09IDAu
MCAmJiAiICsKKyAgICAidmFsdWVbMF1bM10gPT0gMC4wICYmIHZhbHVlWzFdWzNdID09IDAuMCAm
JiB2YWx1ZVsyXVszXSA9PSAwLjAgJiYgdmFsdWVbM11bM10gPT0gMC4wIiwKKyAgdmFsdWVDaGVj
azoKKyAgICAicmV0dXJuICIgKworICAgICJ2YWx1ZVsgMF0gPT0gMC4wICYmIHZhbHVlWyAxXSA9
PSAwLjAgJiYgdmFsdWVbIDJdID09IDAuMCAmJiB2YWx1ZVsgM10gPT0gMC4wICYmICIgKworICAg
ICJ2YWx1ZVsgNF0gPT0gMC4wICYmIHZhbHVlWyA1XSA9PSAwLjAgJiYgdmFsdWVbIDZdID09IDAu
MCAmJiB2YWx1ZVsgN10gPT0gMC4wICYmICIgKworICAgICJ2YWx1ZVsgOF0gPT0gMC4wICYmIHZh
bHVlWyA5XSA9PSAwLjAgJiYgdmFsdWVbMTBdID09IDAuMCAmJiB2YWx1ZVsxMV0gPT0gMC4wICYm
ICIgKworICAgICJ2YWx1ZVsxMl0gPT0gMC4wICYmIHZhbHVlWzEzXSA9PSAwLjAgJiYgdmFsdWVb
MTRdID09IDAuMCAmJiB2YWx1ZVsxNV0gPT0gMC4wIiwKKyAgc2V0Rm46IGZ1bmN0aW9uKGdsLCBs
b2MpIHsgZ2wudW5pZm9ybU1hdHJpeDRmdihsb2MsIGZhbHNlLCBbMSwgMSwgMSwgMSwgMSwgMSwg
MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMV0pOyB9Cit9LAoreyB0eXBlOiAnc2FtcGxlcjJE
JywKKyAgY2hlY2s6CisgICAgInZlYzQgdiA9IHRleHR1cmUyRCh2YWx1ZSwgdmVjMigwLCAwKSk7
IiArCisgICAgInJldHVybiB2LnggPT0gMS4wICYmIHYueSA9PSAxLjAgJiYgdi56ID09IDEuMCAm
JiB2LncgPT0gMS4wIiwKKyAgdmFsdWVDaGVjazoKKyAgICAicmV0dXJuIHZhbHVlID09IDAiLAor
ICBzZXRGbjogZnVuY3Rpb24oZ2wsIGxvYykgeyBnbC51bmlmb3JtMWkobG9jLCAxKTsgfQorfSwK
K3sgdHlwZTogJ3NhbXBsZXJDdWJlJywKKyAgY2hlY2s6CisgICAgInZlYzQgdiA9IHRleHR1cmVD
dWJlKHZhbHVlLCB2ZWMzKDAsIDAsIDApKTsiICsKKyAgICAicmV0dXJuIHYueCA9PSAxLjAgJiYg
di55ID09IDEuMCAmJiB2LnogPT0gMS4wICYmIHYudyA9PSAxLjAiLAorICB2YWx1ZUNoZWNrOgor
ICAgICJyZXR1cm4gdmFsdWUgPT0gMCIsCisgIHNldEZuOiBmdW5jdGlvbihnbCwgbG9jKSB7IGds
LnVuaWZvcm0xaShsb2MsIDEpOyB9Cit9LAorXTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxz
OwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOwordmFyIGMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29uc29sZSIpOwordmFyIGNoZWNrRm47CisKK3d0dS5zZXR1cFVuaXRRdWFk
KGdsLCBbMCwgMV0pOworCisvLyBTZXQgdW5pdCAwIHRvIGEgbm9uLTAgdGV4dHVyZS4KK3ZhciBo
YXZlVmVydGV4VGV4dHVyZUltYWdlVW5pdHMgPQorICAgIGdsLmdldFBhcmFtZXRlcihnbC5NQVhf
VkVSVEVYX1RFWFRVUkVfSU1BR0VfVU5JVFMpID49IDI7Cit2YXIgdGV4MkQgPSBnbC5jcmVhdGVU
ZXh0dXJlKCk7Cit2YXIgdGV4Q3ViZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKK2dsLmJpbmRUZXh0
dXJlKGdsLlRFWFRVUkVfMkQsIHRleDJEKTsKK2dsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfQ1VC
RV9NQVAsIHRleEN1YmUpOworCit2YXIgcGl4ZWwgPSBuZXcgVWludDhBcnJheShbMjU1LCAyNTUs
IDI1NSwgMjU1XSk7Cit2YXIgdGFyZ2V0cyA9IFsKKyAgZ2wuVEVYVFVSRV8yRCwKKyAgZ2wuVEVY
VFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZF
X1gsCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgZ2wuVEVYVFVSRV9DVUJF
X01BUF9ORUdBVElWRV9ZLAorICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1osCisgIGds
LlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWgorXTsKK2ZvciAodmFyIGlpID0gMDsgaWkgPCB0
YXJnZXRzLmxlbmd0aDsgKytpaSkgeworICAgIGdsLnRleEltYWdlMkQoCisgICAgICAgIHRhcmdl
dHNbaWldLCAwLCBnbC5SR0JBLCAxLCAxLCAwLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBw
aXhlbCk7Cit9CisKK3ZhciBzaGFkZXJUZW1wbGF0ZXMgPSBbCit7IHZzOiAidnNoYWRlcjAiLCBm
czogImZzaGFkZXIwIiwgdHlwZTogJ2YnIH0sCit7IHZzOiAidnNoYWRlcjEiLCBmczogImZzaGFk
ZXIxIiwgdHlwZTogJ3YnIH0sCit7IHZzOiAidnNoYWRlcjIiLCBmczogImZzaGFkZXIyIiwgdHlw
ZTogJ2YnIH0sCit7IHZzOiAidnNoYWRlcjMiLCBmczogImZzaGFkZXIzIiwgdHlwZTogJ3YnIH0s
CitdOworCisvLyBHZXQgc2hhZGVyIHRlbXBsYXRlcworZm9yICh2YXIgaWkgPSAwOyBpaSA8IHNo
YWRlclRlbXBsYXRlcy5sZW5ndGg7ICsraWkpIHsKKyAgdmFyIHRlbXBsYXRlID0gc2hhZGVyVGVt
cGxhdGVzW2lpXTsKKyAgdGVtcGxhdGUudnMgPSB3dHUuZ2V0U2NyaXB0KHRlbXBsYXRlLnZzKTsK
KyAgdGVtcGxhdGUuZnMgPSB3dHUuZ2V0U2NyaXB0KHRlbXBsYXRlLmZzKTsKK30KKworZnVuY3Rp
b24gdGVzdFR5cGUodGVzdCkgeworICBkZWJ1ZygiIik7CisgIGRlYnVnKCJ0ZXN0aW5nOiAiICsg
dGVzdC50eXBlKTsKKworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgc2hhZGVyVGVtcGxhdGVzLmxl
bmd0aDsgKytpaSkgeworICAgIHZhciB0ZW1wbGF0ZSA9IHNoYWRlclRlbXBsYXRlc1tpaV07CisK
KyAgICBpZiAodGVzdC50eXBlLnN1YnN0cmluZygwLCA3KSA9PSAic2FtcGxlciIgJiYKKyAgICAg
ICAgdGVtcGxhdGUudHlwZSA9PSAndicgJiYKKyAgICAgICAgIWhhdmVWZXJ0ZXhUZXh0dXJlSW1h
Z2VVbml0cykgeworICAgICAgY29udGludWU7CisgICAgfQorCisgICAgdmFyIHZzID0gd3R1LnJl
cGxhY2VQYXJhbXModGVtcGxhdGUudnMsIHRlc3QpOworICAgIHZhciBmcyA9IHd0dS5yZXBsYWNl
UGFyYW1zKHRlbXBsYXRlLmZzLCB0ZXN0KTsKKworICAgIHd0dS5hZGRTaGFkZXJTb3VyY2UoYywg
InZlcnRleCBzaGFkZXIiLCB2cyk7CisgICAgd3R1LmFkZFNoYWRlclNvdXJjZShjLCAiZnJhZ21l
bnQgc2hhZGVyIiwgZnMpOworCisgICAgdmFyIHZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIHZzLCBn
bC5WRVJURVhfU0hBREVSKTsKKyAgICB2YXIgZnMgPSB3dHUubG9hZFNoYWRlcihnbCwgZnMsIGds
LkZSQUdNRU5UX1NIQURFUik7CisgICAgdmFyIHByb2dyYW0gPSB3dHUuY3JlYXRlUHJvZ3JhbShn
bCwgdnMsIGZzKTsKKworICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisKKyAgICB2YXIgbG9j
ID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ1X3VuaWZvcm1bMV0iKTsKKyAgICBp
ZiAoIWxvYykgeworICAgICAgICB2YXIgbG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dy
YW0sICJ1X3VuaWZvcm0iKTsKKyAgICB9CisKKyAgICB2YXIgdmFsdWUgPSBnbC5nZXRVbmlmb3Jt
KHByb2dyYW0sIGxvYyk7CisgICAgVGVzdEV2YWwoImNoZWNrRm4gPSBmdW5jdGlvbih2YWx1ZSkg
eyIgKyAodGVzdC52YWx1ZUNoZWNrID8gdGVzdC52YWx1ZUNoZWNrIDogdGVzdC5jaGVjaykgKyAi
O30iKTsKKyAgICBpZiAoY2hlY2tGbih2YWx1ZSkpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgidW5p
Zm9ybSBpcyB6ZXJvIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdEZhaWxlZCgidW5pZm9y
bSBpcyBub3QgemVybyIpOworICAgIH0KKworICAgIGRlYnVnKCJkZWZhdWx0IHZhbHVlIHNob3Vs
ZCBiZSB6ZXJvIik7CisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMo
Z2wsIFswLCAyNTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iLCAwKTsKKworICAgIGRlYnVn
KCJ0ZXN0IHRlc3QgYnkgc2V0dGluZyB2YWx1ZSIpOworICAgIHRlc3Quc2V0Rm4oZ2wsIGxvYyk7
CisKKyAgICB3dHUuZHJhd1F1YWQoZ2wpOworICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgWzI1NSwg
MCwgMCwgMjU1XSwgInNob3VsZCBiZSByZWQiLCAwKTsKKworICAgIGRlYnVnKCJyZS1saW5raW5n
IHNob3VsZCByZXNldCB0byBkZWZhdWx0cyIpOworICAgIGdsLmxpbmtQcm9ncmFtKHByb2dyYW0p
OworCisgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICB3dHUuY2hlY2tDYW52YXMoZ2wsIFswLCAy
NTUsIDAsIDI1NV0sICJzaG91bGQgYmUgZ3JlZW4iLCAwKTsKKworICAgIGdsLmRlbGV0ZVByb2dy
YW0ocHJvZ3JhbSk7CisgICAgZ2wuZGVsZXRlU2hhZGVyKHZzKTsKKyAgICBnbC5kZWxldGVTaGFk
ZXIoZnMpOworCisgICAgd3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJzaG91
bGQgYmUgbm8gR0wgZXJyb3JzIik7CisgIH0KK30KKwordmFyIHRlc3ROZHggPSAwOworZnVuY3Rp
b24gcnVuTmV4dFRlc3QoKSB7CisgICAgdGVzdFR5cGUodGVzdHNbdGVzdE5keCsrXSk7CisgICAg
aWYgKHRlc3ROZHggPj0gdGVzdHMubGVuZ3RoKSB7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICBzZXRUaW1lb3V0KHJ1bk5leHRUZXN0LCAxKTsKKyAgICB9Cit9
CisKK3J1bk5leHRUZXN0KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0t
bG9jYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL3VuaWZvcm1zL3VuaWZvcm0tbG9jYXRpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42MzVjNmQ3OTAxNzhlMzkyNjFiMjliYWZmZTU4NGViYTY0ZDMyNzc1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1sb2NhdGlvbi5odG1sCkBAIC0wLDAgKzEsMTE2IEBACis8
IS0tCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCistLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKwor
PHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGUgV2ViR0xVbmlm
b3JtTG9jYXRpb24gQVBJIik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK3ZhciBjb250
ZXh0QSA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKK3ZhciBjb250ZXh0QiA9IHd0dS5jcmVhdGUz
RENvbnRleHQoKTsKK3ZhciBwcm9ncmFtQTEgPSB3dHUubG9hZFN0YW5kYXJkUHJvZ3JhbShjb250
ZXh0QSk7Cit2YXIgcHJvZ3JhbUEyID0gd3R1LmxvYWRTdGFuZGFyZFByb2dyYW0oY29udGV4dEEp
OwordmFyIHByb2dyYW1CID0gd3R1LmxvYWRTdGFuZGFyZFByb2dyYW0oY29udGV4dEIpOwordmFy
IHByb2dyYW1TID0gd3R1LmxvYWRQcm9ncmFtRnJvbUZpbGUoY29udGV4dEEsICIuLi9yZXNvdXJj
ZXMvc3RydWN0VW5pZm9ybVNoYWRlci52ZXJ0IiwgIi4uL3Jlc291cmNlcy9mcmFnbWVudFNoYWRl
ci5mcmFnIik7Cit2YXIgcHJvZ3JhbVYgPSB3dHUubG9hZFByb2dyYW1Gcm9tRmlsZShjb250ZXh0
QSwgIi4uL3Jlc291cmNlcy9mbG9hdFVuaWZvcm1TaGFkZXIudmVydCIsICIuLi9yZXNvdXJjZXMv
bm9vcFVuaWZvcm1TaGFkZXIuZnJhZyIpOwordmFyIGxvY2F0aW9uQSA9IGNvbnRleHRBLmdldFVu
aWZvcm1Mb2NhdGlvbihwcm9ncmFtQTEsICd1X21vZGVsVmlld1Byb2pNYXRyaXgnKTsKK3ZhciBs
b2NhdGlvbkIgPSBjb250ZXh0Qi5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbUIsICd1X21vZGVs
Vmlld1Byb2pNYXRyaXgnKTsKK3ZhciBsb2NhdGlvblN4ID0gY29udGV4dEEuZ2V0VW5pZm9ybUxv
Y2F0aW9uKHByb2dyYW1TLCAidV9zdHJ1Y3QueCIpOwordmFyIGxvY2F0aW9uU3gyOwordmFyIGxv
Y2F0aW9uQXJyYXkwID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1TLCAidV9h
cnJheVswXSIpOwordmFyIGxvY2F0aW9uQXJyYXkxID0gY29udGV4dEEuZ2V0VW5pZm9ybUxvY2F0
aW9uKHByb2dyYW1TLCAidV9hcnJheVsxXSIpOwordmFyIGxvY2F0aW9uVmVjNCA9IGNvbnRleHRB
LmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtViwgImZ2YWw0Iik7CisKK3ZhciB2ZWMgPSBbMSwg
MiwgMywgNF07Cit2YXIgbWF0ID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwg
MTIsIDEzLCAxNCwgMTUsIDE2XTsKKworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBj
b250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVzZVByb2dyYW0ocHJvZ3JhbUEyKSIpOworc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5JTlZBTElEX09QRVJBVElPTiwg
ImNvbnRleHRBLnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb25BLCBmYWxzZSwgbWF0KSIpOworc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRB
LnVzZVByb2dyYW0ocHJvZ3JhbUExKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRB
LCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb25B
LCBmYWxzZSwgbWF0KSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0
QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm1NYXRyaXg0ZnYobnVsbCwgZmFsc2UsIG1hdCki
KTsKKworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwg
ImNvbnRleHRBLnVzZVByb2dyYW0ocHJvZ3JhbVMpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Y29udGV4dEEsIGNvbnRleHRBLk5PX0VSUk9SLCAiY29udGV4dEEudW5pZm9ybTFpKGxvY2F0aW9u
U3gsIDMzMykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9f
RVJST1IsICJjb250ZXh0QS51bmlmb3JtMWYobG9jYXRpb25BcnJheTAsIDQuMCkiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51
bmlmb3JtMWYobG9jYXRpb25BcnJheTEsIDUuMCkiKTsKKworc2hvdWxkQmUoImNvbnRleHRBLmdl
dFVuaWZvcm0ocHJvZ3JhbVMsIGxvY2F0aW9uU3gpIiwgIjMzMyIpOworc2hvdWxkQmUoImNvbnRl
eHRBLmdldFVuaWZvcm0ocHJvZ3JhbVMsIGxvY2F0aW9uQXJyYXkwKSIsICI0LjAiKTsKK3Nob3Vs
ZEJlKCJjb250ZXh0QS5nZXRVbmlmb3JtKHByb2dyYW1TLCBsb2NhdGlvbkFycmF5MSkiLCAiNS4w
Iik7CisKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1Is
ICJjb250ZXh0QS51c2VQcm9ncmFtKHByb2dyYW1WKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9y
KGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLnVuaWZvcm00ZnYobG9jYXRp
b25WZWM0LCB2ZWMpIik7CitzaG91bGRCZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtViwg
bG9jYXRpb25WZWM0KSIsICJ2ZWMiKTsKKworc2hvdWxkQmVOdWxsKCJjb250ZXh0QS5nZXRVbmlm
b3JtTG9jYXRpb24ocHJvZ3JhbVYsIFwiSURvbnRFeGlzdFwiKSIpOworc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHRBLCBjb250ZXh0QS5OT19FUlJPUiwgImNvbnRleHRBLmxpbmtQcm9ncmFt
KHByb2dyYW1BMSkiKTsKKy8vIEFmdGVyIGxpbmtpbmcgYWxsIGJveGVzIGFyZSBiYWQuCitzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dEEsIGNvbnRleHRBLklOVkFMSURfT1BFUkFUSU9OLCAi
Y29udGV4dEEudW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbkEsIGZhbHNlLCBtYXQpIik7CisKKy8v
IGFmdGVyIHJlLWxpbmtpbmcgdGhlIHNhbWUgcHJvZ3JhbSwgYWxsIHVuaWZvcm0gbG9jYXRpb25z
IGJlY29tZSBpbnZhbGlkLgorc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHRBLCBjb250ZXh0
QS5OT19FUlJPUiwgImNvbnRleHRBLnVzZVByb2dyYW0ocHJvZ3JhbVMpIik7Citjb250ZXh0QS5z
dGVuY2lsTWFzaygxKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEu
Tk9fRVJST1IsICJjb250ZXh0QS5saW5rUHJvZ3JhbShwcm9ncmFtUykiKTsKK3Nob3VsZEdlbmVy
YXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0
QS51bmlmb3JtMWkobG9jYXRpb25TeCwgMykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250
ZXh0QSwgY29udGV4dEEuSU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0QS5nZXRVbmlmb3JtKHBy
b2dyYW1TLCBsb2NhdGlvblN4KSIpOworCisvLyBSZXRyaWV2ZSB0aGUgbG9jYXRpb25zIGFnYWlu
LCBhbmQgdGhleSBzaG91bGQgYmUgZ29vZC4KK2xvY2F0aW9uU3ggPSBjb250ZXh0QS5nZXRVbmlm
b3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X3N0cnVjdC54Iik7Citsb2NhdGlvbkFycmF5MCA9IGNv
bnRleHRBLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtUywgInVfYXJyYXlbMF0iKTsKK2RlYnVn
KCJoZXJlIik7Citjb250ZXh0QS5zdGVuY2lsTWFzaygwKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihjb250ZXh0QSwgY29udGV4dEEuTk9fRVJST1IsICJjb250ZXh0QS51bmlmb3JtMWkobG9jYXRp
b25TeCwgMykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0QSwgY29udGV4dEEuTk9f
RVJST1IsICJjb250ZXh0QS51bmlmb3JtMWYobG9jYXRpb25BcnJheTAsIDEyMykiKTsKK3Nob3Vs
ZEJlKCJjb250ZXh0QS5nZXRVbmlmb3JtKHByb2dyYW1TLCBsb2NhdGlvblN4KSIsICIzIik7Citz
aG91bGRCZSgiY29udGV4dEEuZ2V0VW5pZm9ybShwcm9ncmFtUywgbG9jYXRpb25BcnJheTApIiwg
IjEyMyIpOworCisvLyBnZXRVbmlmb3JtTG9jYXRpb24gc2hvdWxkIHJldHVybiBhIGRpZmZlcmVu
dCBvYmplY3QgZXZlcnl0aW1lLCBzaG91bGQgbm90IGNhY2hlIGFuZCByZXR1cm4gdGhlIHNhbWUg
b2JqZWN0CitkZWJ1ZygiVGVzdGluZyB0aGF0IGdldFVuaWZvcm1Mb2NhdGlvbiByZXR1cm5zIGEg
ZGlmZmVyZW50IG9iamVjdCBldmVyeXRpbWUiKTsKK2xvY2F0aW9uU3ggID0gY29udGV4dEEuZ2V0
VW5pZm9ybUxvY2F0aW9uKHByb2dyYW1TLCAidV9zdHJ1Y3QueCIpOworbG9jYXRpb25TeDIgPSBj
b250ZXh0QS5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbVMsICJ1X3N0cnVjdC54Iik7CitzaG91
bGRCZUZhbHNlKCJsb2NhdGlvblN4ID09PSBsb2NhdGlvblN4MiIpOworbG9jYXRpb25TeC5mb28g
ID0ge307Citsb2NhdGlvblN4Mi5mb28gPSB7fTsKK3Nob3VsZEJlRmFsc2UoImxvY2F0aW9uU3gu
Zm9vID09PSBsb2NhdGlvblN4Mi5mb28iKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMv
dW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS91bmlmb3Jtcy91bmlmb3JtLXNhbXBsZXJzLXRl
c3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMGVkNTc3ZDE2MDM0MTFjNTdlMGQ5NjgzZTU5YzcwMDUxNDdj
OWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvdW5pZm9ybXMvdW5pZm9ybS1zYW1wbGVycy10ZXN0Lmh0
bWwKQEAgLTAsMCArMSwxMTAgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+CisgICAgPHRpdGxlPldlYkdMIHNhbXBsZXIgdW5pZm9ybXMgY29uZm9ybWFuY2UgdGVz
dC48L3RpdGxlPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZh
cyBpZD0iZXhhbXBsZSIgd2lkdGg9IjIiIGhlaWdodD0iMiIgc3R5bGU9IndpZHRoOiA0MHB4OyBo
ZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCisgIDxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitmdW5j
dGlvbiBpbml0KCkKK3sKKyAgZGVzY3JpcHRpb24oCisgICAgICAiVGVzdHMgdGhhdCBvbmx5IFVu
aWZvcm0xaSBhbmQgVW5pZm9ybTFpdiBjYW4gYmUgdXNlZCB0byBzZXQiICsKKyAgICAgICJzYW1w
bGVyIHVuaWZvcm1zLiIpOworCisgIHZhciBjYW52YXMyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjYW52YXMyZCIpOworCisgIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgdmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiZXhhbXBsZSIpOworICB2YXIgcHJvZ3JhbSA9IHd0dS5z
ZXR1cFRleHR1cmVkUXVhZChnbCk7CisKKyAgdmFyIHRleHR1cmVMb2MgPSBnbC5nZXRVbmlmb3Jt
TG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOworCisgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCAx
KTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwKKyAgICAgICAgICAgICJ1bmlm
b3JtMWkgY2FuIHNldCBhIHNhbXBsZXIgdW5pZm9ybSIpOworICBnbC51bmlmb3JtMWl2KHRleHR1
cmVMb2MsIFsxXSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsCisgICAgICAg
ICAgICAidW5pZm9ybTFpdiBjYW4gc2V0IGEgc2FtcGxlciB1bmlmb3JtIik7CisgIGdsLnVuaWZv
cm0xZih0ZXh0dXJlTG9jLCAxKTsKKyAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5JTlZBTElEX09Q
RVJBVElPTiwKKyAgICAgICAgICAgICJ1bmlmb3JtMWYgcmV0dXJucyBJTlZBTElEX09QRVJBVElP
TiBpZiBhdHRlbXB0aW5nIHRvIHNldCBhIHNhbXBsZXIgdW5pZm9ybSIpOworICBnbC51bmlmb3Jt
MWZ2KHRleHR1cmVMb2MsIFsxXSk7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuSU5WQUxJRF9P
UEVSQVRJT04sCisgICAgICAgICAgICAidW5pZm9ybTFmdiByZXR1cm5zIElOVkFMSURfT1BFUkFU
SU9OIGlmIGF0dGVtcHRpbmcgdG8gc2V0IGEgc2FtcGxlciB1bmlmb3JtIik7CisKKyAgdmFyIG1h
eFRleHR1cmVVbml0cyA9IGdsLmdldFBhcmFtZXRlcihnbC5NQVhfQ09NQklORURfVEVYVFVSRV9J
TUFHRV9VTklUUyk7CisKKyAgdmFyIHN1Y2Nlc3MgPSB0cnVlOworICBmb3IgKHZhciBpaSA9IDA7
IGlpIDwgbWF4VGV4dHVyZVVuaXRzOyArK2lpKSB7CisgICAgZ2wudW5pZm9ybTFpKHRleHR1cmVM
b2MsIGlpKTsKKyAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiAoZ2wuZ2V0RXJyb3IoKSA9PSBnbC5O
T19FUlJPUik7CisgIH0KKyAgZXhwZWN0VHJ1ZShzdWNjZXNzLCAidW5pZm9ybTFpIHdvcmtzIGZv
ciBhbnkgdmFsaWQgdGV4dHVyZSB1bml0Iik7CisKKyAgdmFyIHN1Y2Nlc3MgPSB0cnVlOworICBm
b3IgKHZhciBpaSA9IDA7IGlpIDwgbWF4VGV4dHVyZVVuaXRzOyArK2lpKSB7CisgICAgZ2wudW5p
Zm9ybTFpdih0ZXh0dXJlTG9jLCBbaWldKTsKKyAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiAoZ2wu
Z2V0RXJyb3IoKSA9PSBnbC5OT19FUlJPUik7CisgIH0KKyAgZXhwZWN0VHJ1ZShzdWNjZXNzLCAi
dW5pZm9ybTFpdiB3b3JrcyBmb3IgYW55IHZhbGlkIHRleHR1cmUgdW5pdCIpOworCisgIHZhciBz
dWNjZXNzID0gdHJ1ZTsKKyAgZm9yICh2YXIgaWkgPSBtYXhUZXh0dXJlVW5pdHM7IGlpIDwgMHgx
MDAwMDsgKytpaSkgeworICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCBpaSk7CisgICAgc3Vj
Y2VzcyA9IHN1Y2Nlc3MgJiYgKGdsLmdldEVycm9yKCkgPT0gZ2wuSU5WQUxJRF9WQUxVRSk7Cisg
IH0KKyAgZXhwZWN0VHJ1ZShzdWNjZXNzLCAidW5pZm9ybTFpIGdlbmVyYXRlcyBJTlZBTElEX1ZB
TFVFIGZvciBpbnZhbGlkIHRleHR1cmUgdW5pdHMiKTsKKworICB2YXIgc3VjY2VzcyA9IHRydWU7
CisgIGZvciAodmFyIGlpID0gbWF4VGV4dHVyZVVuaXRzOyBpaSA8IDB4MTAwMDA7ICsraWkpIHsK
KyAgICBnbC51bmlmb3JtMWl2KHRleHR1cmVMb2MsIFtpaV0pOworICAgIHN1Y2Nlc3MgPSBzdWNj
ZXNzICYmIChnbC5nZXRFcnJvcigpID09IGdsLklOVkFMSURfVkFMVUUpOworICB9CisgIGV4cGVj
dFRydWUoc3VjY2VzcywgInVuaWZvcm0xaXYgZ2VuZXJhdGVzIElOVkFMSURfVkFMVUUgZm9yIGlu
dmFsaWQgdGV4dHVyZSB1bml0cyIpOworCit9CisKK2luaXQoKTsKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>